Eu sei que a senha do sudo protege meu computador de ser hackeado localmente por alguém que tenha acesso físico a ele (editar: na verdade, não). Minha senha é forte o suficiente para esse fim, mas sei que não é forte o suficiente se alguém puder forçá-la remotamente. Alguém pode acessar meu computador no modo raiz usando minha senha sudo sem acesso físico ao computador, em uma instalação padrão da área de trabalho do Ubuntu?
A senha do sudo não é apenas para proteção local, seu objetivo é adicionar uma camada extra de segurança ao uso de privilégios de root. Uma boa discussão pode ser encontrada aqui /superuser//a/771523/467316
Sua senha pode não ser tão forte quanto você pensa. No momento, estou decifrando de 20 a 40% dos hashes do Active Directory do meu cliente para aqueles que eu já vi antes, aqueles que têm regras de senha ruins estão ficando 70% decifrados. Eu recomendo senhas complexas de 16 caracteres. As placas gráficas oclHashcat e Radeon podem causar muitos danos. Adicione todos os arquivos de senhas de todas as violações nos últimos 5 anos e você terá um bom dicionário para trabalhar.
Se você estiver usando SSH, faça alguns ajustes no sshd_config
sudo nano /etc/ssh/sshd_config
Os MUSTS saindo do portão (o último a desativar o servidor ftp, se você não estiver usando).
Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server
Salve, reinicie o ssh
sudo service ssh restart
Use a criptografia de chave pública Comece criando uma chave na sua máquina remota (usando puttygen ou qualquer outro sabor que seu sistema operacional tenha disponível). Copie a chave pública para a sua máquina Ubuntu sob o usuário que você deseja fazer login como arquivo allowed_keys (você provavelmente precisará criá-la)
sudo nano /home/yourdumbusername/.ssh/authorized_keys
copie a chave pública neste formato
ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes
salve-o e configure seu sshd_config para permitir o login da chave pública
sudo nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
salve e reinicie o ssh
sudo service ssh restart
Experimente o SSHing no host do ubuntu a partir do seu computador com chave privada usando a criptografia de chave pública. Se tudo correu bem, volte ao host do ubuntu e desative a autenticação de senha.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
Salvar e reiniciar o ssh
sudo service ssh restart
Tente sshing do computador com chave privada novamente para confirmar.
Deseja adicionar mais? configure uma conta não privilegiada, ative PermitRootLogin no, reinicie o ssh, adicione sua chave pública às chaves_inicializadas da nova conta, efetue login como conta não privilegiada, su à sua conta raiz ou privilegiada quando precisar fazer o root ou privilegiar o seu caminho.