Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Autenticação 2FA para Usuário Root no WSL

--- # naldodj-wsl-2FA ## Autenticação 2FA para Usuário Root no WSL ### Introdução O Windows Subsystem for Linux (WSL) é uma ferramenta poderosa que permite aos desenvolvedores executar um ambiente Linux diretamente no Windows. No entanto, a segurança é uma preocupação importante, especialmente quando se trata de acessar o usuário root. Neste post, vamos mostrar como configurar a autenticação de dois fatores (2FA) para o usuário root ao acessar o WSL, garantindo uma camada adicional de segurança. ### Objetivo Vamos configurar um script de login que valida a senha do root e usa autenticação 2FA baseada em Time-based One-Time Password (TOTP), usando ferramentas comuns como `openssl`, `oathtool`, e `perl`. ### Passo 1: Instalar as Ferramentas Necessárias Primeiro, precisamos garantir que temos todas as ferramentas necessárias instaladas. Isso inclui `openssl`, `oathtool`, e `perl`. ```bash sudo apt-get update sudo apt-get install openssl oathtool perl ``` Para os scripts em Lua.

BlackTDN :: Como Forçar a Solicitação da Senha ao Acessar o WSL como Root

---
# Como Forçar a Solicitação da Senha ao Acessar o WSL como Root

O Windows Subsystem for Linux (WSL) é uma ferramenta poderosa que permite executar um ambiente Linux diretamente no Windows. No entanto, por padrão, o WSL não solicita a senha ao acessar o terminal como root. Neste post, vamos mostrar como configurar o WSL para solicitar a senha ao iniciar como root ou qualquer outro usuário.

## Passos para Configurar a Solicitação de Senha

### 1. Crie um Script de Login Personalizado

Primeiro, vamos criar um script que solicitará a senha ao iniciar o terminal como root.

```bash
# No terminal WSL, crie um arquivo chamado login.sh no diretório /root
nano /root/login.sh
```

Adicione o seguinte conteúdo ao script:

```bash
#!/bin/bash

# Função para validar a senha do root usando Perl
validar_senha_root() {
    # Solicita a senha de forma segura e armazena em uma variável
    read -s -p "Digite a senha do root: " senha

    # Executa a validação da senha usando Perl
    perl -e '
        use strict;
        use warnings;
        my @pwent = getpwnam("root");
        if (!@pwent) {die "Invalid username: root\n";}
        if (crypt($ARGV[0], $pwent[1]) eq $pwent[1]) {
            exit(0);
        } else {
            print STDERR "Invalid password for root\n";
            exit(1);
        }
    ' "$senha"
}

# Captura do sinal SIGINT (Ctrl+C)
trap '' INT

# Loop principal para autenticação
while true; do
    if validar_senha_root; then
        echo "Senha correta. Bem-vindo ao terminal."
        exit 0
    else
        echo "Senha incorreta. Tente novamente."
    fi
done

```

### 2. Torne o Script Executável

Para garantir que o script possa ser executado, torne-o executável:

```bash
chmod +x /root/login.sh
```

### 3. Configure o Script para Ser Executado no Login

Agora, precisamos configurar o script para ser executado sempre que o terminal for iniciado como root. Para isso, vamos editar o arquivo `.bashrc` do root:

```bash
nano /root/.bashrc
```

Adicione a seguinte linha ao final do arquivo:

```bash
/root/login.sh
```

### 4. Teste a Configuração

Feche o terminal WSL e abra novamente com o comando:

```bash
wsl --user root
```

O terminal deve solicitar a senha do root ao iniciar.

## Conclusão

Com essa configuração, você garante que o WSL solicitará a senha ao iniciar como root, aumentando a segurança do seu ambiente Linux no Windows. Essa abordagem pode ser adaptada para outros usuários, modificando o script conforme necessário.

Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo. Feliz hacking! 🚀

---

## Referência:
[How to check password with Linux?](https://unix.stackexchange.com/questions/21705/how-to-check-password-with-linux)

---



Comentários

Postagens mais visitadas