[Gitec] Lista de segurança em servidores Linux

Luciano De Fázio luciano at camaracatanduva.sp.gov.br
Tue Nov 16 09:17:34 BRST 2004


A seguinte lista tem por objetivo auxiliar os adminstradores de sistema 
a manter a segurança de suas instalações em um nível aceitável. Ela se 
propõe a servir como base para o adminstrador montar sua própria lista.

** Planejamento:*

o Identifique o que você precisa protejer
o Escolha as prioridades pra segurança
o Especifique normas para emergencias
o Eduque seus usuários

* * Usuários/Senhas*
o Certifique-se que cada usuário tenha uma conta individual
o Confirme se cada usuário possui senha
o Verifique se sua instalação pode rejeitar senhas com menos de 6 caracteres
o Consiga e rode programas que tentam achar senhas frágeis. (Crack, 
Cracklib)
o Considere a possibilidade de usar programas que geram senhas.
o Nunca transmita senhas por telefone ou e-mail.
o Certifique-se que o arquivo de senhas só pode ser lido pelo "root".
o Considere a possibilidade de trocar as senhas em intervalos regulares.

* * Root*
o Iniba a entrada do "root" de qualquer terminal (deixe, no máximo, a 
console).
o Entre com sua conta comum e então use "su" para tornar-se "root".

* * Sistema de Arquivos*
o Procure por programas que tenham SUID/SGID ligados.
o Procure por arquivos com permissão para gravação, que são disparados 
por alguma ferramenta específica (.exrc, .profile, .pinerc, .kshrc, 
.login, /etc/sendmail.cf, /etc/profile, etc)

* * Contas de Usuários*
o Remova contas inativas.
o Use rksh ou rsh quando necessário.
o Certifique-se que todas as contas tem senha.
o Evite criar contas pra rodar um único programa.
o Jamais crie outras contas com id 0 (mesmo do root).

* * Dados*
o Faça cópias de segurança regularmente.
o Certifique-se que as cópias poderão ser recuperadas numa emergência.
o Use mecanismos de veficação de integridade de programas e arquivos. 
(por exemplo checksum md4/5 ou pdf)
o Certifique-se que os sistemas de arquivos tem as permissões corretas.
o Não habilite SUID/SGID em scripts (shell ou perl)
o Elimine as permissões de gravação nos "devices" dos terminais, "pseudo 
terminais" principalmente.

o Certifique-se que os arquivos começados com "." não tem permissão pra 
gravação por ninguem.
o Remova todos os shells (csh, zsh, ash, etcsh) que não estiver usando.
o Considere rodar regularmente programas que identificam falhas de 
segurança no Unix, tais como COPS, Tiger, Medusa, etc.
o Guarde uma listagem dos programas que tem SUID/SGID e compare-a com 
cada nova verificação.
o Remova TODOS os utilitários que não forem necessários na máquina, tais 
como: cc, perl, awk, etc.

* * Arquivos de Logs*
o Rode o comando "last" e "who /var/adm/wtmp" regularmente.
o Verifique os arquivos de auditoria regularmente
o Verifique o arquivo sulog.
o Verifique os arquivo gerados pelos Daemos com:
xferlog (ftpd) syslog (syslogd) messages (syslogd) access_log (httpd) 

*OBS:* o /etc/syslog.conf permite uma grande varideade de possibilidades 
de log, e de arquivos para contê-los

* * Ameaças*
o Nunca instale software desconhecido, sem os fontes para exame.
o Evite usar scripts com SUID/SGID, examine data e permissões.
o Jamais coloque "." na variável de ambiente PATH do "root".
o Vefique periodicamente os arquivos de rc e data de modificação de 
programas.
o Examine a variável de ambiente PATH de todos os scripts que for executar.
o Garanta que nenhum programa com SUID/SGID permita saída para o shell.
o Examine os programas que permitem passar o usuário com parâmetro.

* * Ameaças via Rede*
o Examine o /etc/hosts.equiv e todos os .rhosts, caso você deseje usar 
os comandos "r" (rlogin, remsh (rsh), rexec, rcp, retc :-)).
NOTA: este recurso é altamente condenado, no aspecto segurança.
o Desabilite TODOS os recursos de rede que NÃO estiver usando.
o Substitua (se quiser manter habilitado) o fingerd, por uma versão segura.
o Verifique (e instale) a versão mais recente do Sendmail.
o Desabilite, se possível, o serviço de TFTP. (Candidato a serviço mais 
inseguro)
o Certifique-se que a versão do FTP anonymous é segura.
o Jamais coloque o mesmo arquivo /etc/passwd no diretório do ftp anonymous.
o Jamais crie diretórios cujo dono seja o usuário "ftp" (serviço FTP).
o Desabilite o serviço de NFS para maquinas remotas.
o Desabilite os servicos internos (chargen, echo, etc).
o Use um POPD que tenha arquivo de senhas próprio, ou ao menos permita 
desconexào após n (poucas) tentativas.
o Remova o programa phf do diretório .../httpd/cgi-bin. (serviço http).
o Remova também os programas test-cgi e nph-test-cgi diretório 
.../httpd/cgi-bin. (serviço http).
o Jamais coloque algum interpretador (perl, csh, ksh, etc) no diretório 
.../httpd/cgi-bin (serviço http).
o Não crie links que usem o perl ou shell para disparar programas.

* * Segurança em Roteadores*
o Troque ou cadastre uma senha no roteador antes de ligado 
definitivamente `a Internet, seguindo as mesmas regras para senhas de 
usuário.
o Desabilite, se possível, o acesso remoto ao 'login' do roteador.
o Desabilite os servicos internos (chargen, echo, etc).
o No caso de roteadores Cyclades, troque não só a senha de fábrica como 
também o nome do superusuário.
o Desabilite todos os protocolos desnecessários (RIP, BGP, etc).


Origem : http://www.labbas.eng.uerj.br/links/linux/pg84.html


-- 
Luciano De Fázio
Coordenador de Informática e Tecnologia
Câmara Municipal de Catanduva - SP 



Mais detalhes sobre a lista de discussão Gitec