SEGURANÇA
Lista
de itens de segurança que devem ser observados
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 propoe a servir como
base para o adminstrador montar sua própria lista.
Este documento pode ser distribuido
gratuitamente, desde que mantidos os devidos créditos.
[Planejamento] [Usuários/Senhas] [Root] [Sistema de Arquivos] [Contas de Usuários] [Dados]
[Arquivos de logs] [Ameaças] [Ameaças via Rede] [Segurança em Roteadores]
- Planejamento:
- Identifique
o que você precisa protejer
- Escolha
as prioridades pra segurança
- Especifique
normas para emergencias
- Eduque
seus usuários
- Usuários/Senhas
- Certifique-se
que cada usuário tenha uma conta individual
- Confirme
se cada usuário possui senha
- Verifique
se sua instalação pode rejeitar senhas com menos
de 6 caracteres
- Consiga
e rode programas que tentam achar senhas frágeis.
(Crack, Cracklib)
- Considere
a possibilidade de usar programas que geram
senhas.
- Nunca
transmita senhas por telefone ou e-mail.
- Certifique-se
que o arquivo de senhas só pode ser lido pelo
"root".
- Considere
a possibilidade de trocar as senhas em intervalos
regulares.
- Root
- Iniba
a entrada do "root" de qualquer terminal (deixe,
no máximo, a console).
- Entre
com sua conta comum e então use "su" para tornar-se
"root".
- Sistema
de Arquivos
- Procure
por programas que tenham SUID/SGID ligados.
- 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
- Remova
contas inativas.
- Use
rksh ou rsh quando necessário.
- Certifique-se
que todas as contas tem senha.
- Evite
criar contas pra rodar um único programa.
- Jamais
crie outras contas com id 0 (mesmo do root).
- Dados
- Faça
cópias de segurança regularmente.
- Certifique-se
que as cópias poderão ser recuperadas numa emergência.
- Use
mecanismos de veficação de integridade de programas
e arquivos. (por exemplo checksum md4/5 ou pdf)
- Certifique-se
que os sistemas de arquivos tem as permissões
corretas.
- Não
habilite SUID/SGID em scripts (shell ou perl)
- Elimine
as permissões de gravação nos "devices" dos
terminais, "pseudo terminais" principalmente.
- Certifique-se
que os arquivos começados com "." não tem permissão
pra gravação por ninguem.
- Remova
todos os shells (csh, zsh, ash, etcsh) que não
estiver usando.
- Considere
rodar regularmente programas que identificam
falhas de segurança no Unix, tais como COPS,
Tiger, Medusa, etc.
- Guarde
uma listagem dos programas que tem SUID/SGID
e compare-a com cada nova verificação.
- Remova
TODOS os utilitários que não forem necessários
na máquina, tais como: cc, perl, awk, etc.
- Arquivos
de Logs
- Rode
o comando "last" e "who /var/adm/wtmp" regularmente.
- Verifique
os arquivos de auditoria regularmente
- Verifique
o arquivo sulog.
- 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
- Nunca
instale software desconhecido, sem os fontes
para exame.
- Evite
usar scripts com SUID/SGID, examine data e permissões.
- Jamais
coloque "." na variável de ambiente PATH do
"root".
- Vefique
periodicamente os arquivos de rc e data de modificação
de programas.
- Examine
a variável de ambiente PATH de todos os scripts
que for executar.
- Garanta
que nenhum programa com SUID/SGID permita saída
para o shell.
- Examine
os programas que permitem passar o usuário com
parâmetro.
- Ameaças
via Rede
- 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.
- Desabilite
TODOS os recursos de rede que NÃO estiver usando.
- Substitua
(se quiser manter habilitado) o fingerd, por
uma versão segura.
- Verifique
(e instale) a versão mais recente do Sendmail.
- Desabilite,
se possível, o serviço de TFTP. (Candidato a
serviço mais inseguro)
- Certifique-se
que a versão do FTP anonymous é segura.
- Jamais
coloque o mesmo arquivo /etc/passwd no diretório
do ftp anonymous.
- Jamais
crie diretórios cujo dono seja o usuário "ftp"
(serviço FTP).
- Desabilite
o serviço de NFS para maquinas remotas.
- Desabilite
os servicos internos (chargen, echo, etc).
- Use
um POPD que tenha arquivo de senhas próprio,
ou ao menos permita desconexào após n (poucas)
tentativas.
- Remova
o programa phf do diretório .../httpd/cgi-bin.
(serviço http).
- Remova
também os programas test-cgi e nph-test-cgi
diretório .../httpd/cgi-bin. (serviço http).
- Jamais
coloque algum interpretador (perl, csh, ksh,
etc) no diretório .../httpd/cgi-bin (serviço
http).
- Não
crie links que usem o perl ou shell para disparar
programas.
- Segurança
em Roteadores
- Troque
ou cadastre uma senha no roteador antes de ligado
definitivamente `a Internet, seguindo as mesmas
regras para senhas de usuário.
- Desabilite,
se possível, o acesso remoto ao 'login' do roteador.
- Desabilite
os servicos internos (chargen, echo, etc).
- No
caso de roteadores Cyclades, troque não só a
senha de fábrica como também o nome do superusuário.
- Desabilite
todos os protocolos desnecessários (RIP, BGP,
etc).
Ultima Atualização 29/12/97 - Nelson Murilo (nelson@pangeia.com.br)
Comentários para suporte@pangeia.com.br
NOTA:
Possibilidades
como: criptografia, firewalls, autenticação e simulação
de ataques, não foram discutidas pois não podem ser
analisadas fora do contexto da instalação com um todo.
|