Iniciar sessão no sistema
Introduza a password criptografada;
Insira o username e a password;
Verificar a versão do sudo
Verifique a versão com o seguinte comando:
Note
Este comando apresenta a versão atual do sudo
Configurar users e grupos
Note
Se ja existir, passe ao proximo passo
Criar um novo grupo user42
Adicionar o user aos grupos user42
e sudo
sudo adduser < user> < groupname>
Verficiar os grupos e seus users:
getent group
# ou
getent group < group_name>
Atualize o system package manager:
sudo apt install openssh-server
Note
Quando pedir confirmação escreva Y
Verifique o estado do serviço SSH do sistema
Note
O serviço deve ser exibido como Ativo
Note
Se não estiver em root , mude com o comando su
* Mude Port 22
para Port 4242
* Mude PermitRootLogin
para PermitRootLogin no
* Salve e feche o arquivo;
Defina a Porta como Port 4242
Reinicie para atualizar o serviço SSH
Verifique o estado do serviço
Note
O serviço deve ser exibido como Ativo
Instale os pacotes do UFW
Configure o firewall para aceitar conexões na porta 4242
Verifique o estado atual do firewall
Feche a Máquina Virtual e vá para Configurações
Rede > Mude de NAT para Adaptador Bridged
Obtenha o IP da Máquina Virtual
Abra um terminal fora da VM e conecte-se à VM:
ssh < username> @< IP_Maquina_Virtual> -p 4242
Note
Quando perguntar por YES/NO
digite Yes
, e depois coloque a password
do usuário
Deve exibir a seguinte mensagem:
Configurando políticas e log do sudo
touch /etc/sudoers.d/sudo_config
Retorne ao terminal fora da VM.
Conecte-se novamente via SSH
ssh < username> @< IP_Maquina_Virtual> -p 4242
Abra o sudo_config
para o configurar
vim /etc/sudoers.d/sudo_config
` `
Adicione o seguinte comando ao arquivo e salve-o
Defaults passwd_tries=3
Defaults badpass_message=" Wrong password bruh, try again:"
Defaults logfile=" /var/log/sudo/sudo_config"
Defaults log_input, log_output
Defaults iolog_dir=" /var/log/sudo"
Defaults requiretty
Defaults secure_path=" /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Então digite exit
> exit
para fechar a conexão
Retorne à VM e crie o seguinte diretório
Configurando a Política de Password
Atualize a política de passwords do usuário já criado
Note
Os usuários existentes não receberam as alterações. Para confirmar, escreva o seguinte comando:
Para atualizar a política de senhas, digite os seguintes comandos:
chage -m < time> < username>
# e
chage -M < time> < username>
Note
-m
para mínimo de dias e -M
para máximo de dias
Instale o libpam-pwquality
sudo apt install libpam-pwquality
Note
Quando perguntar para digitar Y/N
, digite Y
Configure o libpam-pwquality
sudo vim /etc/pam.d/common-password
Na seção per-package modules
, após retry=3
adicione o seguinte como opções inline
minlen=10
ucredit=-1
dcredit=-1
lcredit=-1
maxrepeat=3
reject_username
difok=7
enforce_for_root
Para obter precisão nos 10minutos, adicione o seguinte comando:
* /10 * * * * sh /usr/local/bin/sleep.sh; sh /usr/local/bin/monitoring.sh
touch /usr/local/bin/sleep.sh
vim /usr/local/bin/sleep.sh
Adicionar o seguinte comando:
#! /bin/bash
sleep $( who -b | awk ' { split($4, time, ":"); print time[2]%10 }' ) m
Criar o script monitoring.sh
touch /usr/local/bin/monitoring.sh
Retorne ao terminal fora da VM.
Conecte-se novamente via SSH
ssh < username> @localhost -p 4242
Abra monitoring.sh
com o vim
vim /usr/local/bin/monitoring.sh
Adicione o codigo do script monitoring
Note
Você pode encontrar o script aqui
Salve o arquivo e feche a conexão
Está feito. Agora o terminal deve exibir esta mensagem a cada 10 minutos
Para obter a assinatura, siga o guia seguinte
Obter signature.txt