domingo, dezembro 11, 2005

Prevenindo ataques ao seu servidor Linux

Hoje cheguei para trabalhar um pouco e meu Subversion estava fora do ar. Fui verificar no servidor (um Fedora Core 3), e o Apache2 estava "caído".

Fui ressucitá-lo, e vi que era uma falha minha numa recente atualização (do Trac). Por via das dúvidas, resolvi dar uma olhadinha nos logs de segurança do sistema, em /var/log/secure.

E não é que encontrei diversas tentativas de "brute force" no meu Linux... Então, resolvi tomar umas medidazinhas drásticas, já que não tenho um grande costume de trocar senhas, nem minhas senhas são muito mirabolantes. Seguindo alguns conselhos deste link, e lendo um pouco a documentação do SSH (man 5 sshd_config), resolvi fazer as seguintes modificações no meu /etc/ssh/sshd_config:

PermitRootLogin without-password
Desta forma, o usuário root não pode autenticar digitando senha. Só pode autenticar utilizando troca de chaves SSH. Como é o método que eu utilizo de dentro da empresa, e não costumo acessar o Linux como root de fora da empresa, achei que seria uma boa adição.

MaxAuthTries 4
É o número máximo de tentativas de login incorreto, antes do SSHD "travar". O padrão é 6, achei por bem trocar pra 4. Além disso, tentativas de login inválidas só são "logadas" se ultrapassarem a metade deste número. Então, logar depois de 2 é melhor que logar depois de 3.


Optei por não obrigar o uso de chaves para todos os usuários, uma vez que utilizo autenticação por senha quando estou fora da empresa, ou em algum cliente. Mas quando eu comprar meu pen-drive, vou levar junto com ele minha chave privada e uma cópia do PuTTY, daí posso forçar a autenticação sempre com chaves para todos os usuários.

Era isso. Espero que sirva de dica para mais alguns "programadores que administram servidores", como eu.

Nenhum comentário: