Transcript

Securing Debian ManualJavier Fernndez-Sanguino Pea Autores on this page

v3.1, Sun, 09 Oct 2011 13:15:17 +0000

ResumoEste documento descreve a segurana no sistema Debian. Iniciando com o processo de tornar mais seguro e fortalecer a instalao padro da distribuio Debian GNU/Linux. Ele tambm cobre algumas das tarefas mais comuns para congurar um ambiente de rede seguro usando a Debian GNU/Linux, oferece informaes adicionais sobre as ferramentas de segurana disponveis e fala sobre como a segurana fornecida na Debian pelo time de segurana .

Nota de CopyrightCopyright 2002, 2003, 2004, 2005 Javier Fernndez-Sanguino Pea Copyright 2001 Alexander Reelsen, Javier Fernndez-Sanguino Pea Copyright 2000 Alexander Reelsen permitido copiar, distribuir e/ou modicar este documento desde que sob os termos da GNU General Public License, Version 2 (http://www.gnu.org/copyleft/gpl.html) ou qualquer verso posterior publicada pela Free Software Foundation. Ele distribudo na esperana de ser til, porm SEM NENHUMA GARANTIA. permitido fazer e distribuir cpias em disquetes deste documento desde que a nota de copyright e esta nota de permisso estejam em todas as cpias. permitido copiar e distribuir verses modicadas deste documento desde que o documento resultante seja distribudo sob os mesmos termos de distribuio deste documento. permitido copiar e distribuir tradues deste documento em outro idioma desde que o documento resultante seja distribudo sob os mesmos termos de distribuio deste documento e que a traduo deste nota de permisso seja autorizada pela Free Software Foundation. Obs: A traduo do copyleft somente de carter informativo e no tem nenhum vnculo legal. Neste caso veja a verso original abaixo: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 (http://www.gnu.org/copyleft/gpl.html) or any later version published by the Free Software Foundation. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modied versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modied versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

i

Sumrio1 Introduo 1.1 1.2 1.3 1.4 1.5 1.6 Autores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como obter o manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notas de organizao/Retorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conhecimento necessrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coisas que precisam ser escritas (FIXME/TODO) . . . . . . . . . . . . . . . . . . . Alteraes/Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 Verso 3.1 (Janeiro de 2005) . . . . . . . . . . . . . . . . . . . . . . . . . . . Verso 3.0 (Dezembro de 2004) . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.99 (Maro de 2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.98 (Dezembro de 2003) . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.97 (Setembro de 2003) . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.96 (Agosto de 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.95 (Junho de 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.94 (Abril de 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . Verso 2.93 (Maro de 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 3 3 6 6 7 7 8 8 8 9 9 9 9

1.6.10 Verso 2.92 (Fevereiro de 2003) . . . . . . . . . . . . . . . . . . . . . . . . .

1.6.11 Verso 2.91 (Janeiro/Fevereiro de 2003) . . . . . . . . . . . . . . . . . . . . 10 1.6.12 Verso 2.9 (Dezembro de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.6.13 Verso 2.8 (Novembro de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6.14 Verso 2.7 (Outubro de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6.15 Verso 2.6 (Setembro de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6.16 Verso 2.5 (Setembro de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . 12

SUMRIO

ii

1.6.17 Verso 2.5 (Agosto de 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.6.18 Verso 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.19 Verso 2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.20 Verso 2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.21 Verso 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6.22 Verso 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6.23 Verso 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6.24 Verso 1.99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6.25 Verso 1.98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6.26 Verso 1.97 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6.27 Verso 1.96 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6.28 Verso 1.95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.6.29 Verso 1.94 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.6.30 Verso 1.93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.6.31 Verso 1.92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.6.32 Verso 1.91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.6.33 Verso 1.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.6.34 Verso 1.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.6.35 Verso 1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6.36 Verso 1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6.37 Verso 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6.38 Verso 1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.39 Verso 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.40 Verso 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.41 Verso 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.42 Verso 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.7 2 Crditos e Agradecimentos! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 25

Antes de voc iniciar 2.1 2.2 2.3

Para que nalidade voc quer este sistema? . . . . . . . . . . . . . . . . . . . . . . 25 Esteja ciente dos problemas gerais de segurana . . . . . . . . . . . . . . . . . . . 25 Como o Debian controla a segurana do sistema? . . . . . . . . . . . . . . . . . . . 28

SUMRIO

iii

3

Antes e durante a instalao 3.1 3.2

29

Escolha uma senha para a BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Particionando o sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1 Escolha um esquema de partio inteligente . . . . . . . . . . . . . . . . . 29

3.3 3.4 3.5 3.6

No conecte-se a internet at estar pronto . . . . . . . . . . . . . . . . . . . . . . . 31 Congure a senha do root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Ative os recursos senhas shadow e senhas MD5 . . . . . . . . . . . . . . . . . . . 32 Rode o mnimo de servios necessrios . . . . . . . . . . . . . . . . . . . . . . . . 33 3.6.1 3.6.2 Desabilitando daemons de servio . . . . . . . . . . . . . . . . . . . . . . . 33 Desabilitando o inetd ou seus servios . . . . . . . . . . . . . . . . . . . . 34

3.7

Instale o mnimo de software necessrio . . . . . . . . . . . . . . . . . . . . . . . . 35 3.7.1 Removendo Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.8 4

Leia as listas de segurana do Debian (security mailing lists) . . . . . . . . . . . . 37 39

Aps a instalao 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9

Inscreva-se na lista de discusso Anncios de Segurana do Debian . . . . . . 39 Executar uma atualizao de segurana . . . . . . . . . . . . . . . . . . . . . . . . 40 Altere a BIOS (de novo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Congurar a senha do LILO ou GRUB . . . . . . . . . . . . . . . . . . . . . . . . . 41 Remover o aviso de root do kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Desativando a inicializao atravs de disquetes . . . . . . . . . . . . . . . . . . . 43 Restringindo o acesso de login no console . . . . . . . . . . . . . . . . . . . . . . . 43 Restringindo reinicializaes do sistema atravs da console . . . . . . . . . . . . . 44 Montando parties do jeito certo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.9.1 4.9.2 Ajustando a opo noexec em /tmp . . . . . . . . . . . . . . . . . . . . . . 46 Denindo o /usr como somente-leitura . . . . . . . . . . . . . . . . . . . . 46

4.10 Fornecendo acesso seguro ao usurio . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.10.1 Autenticao do Usurio: PAM . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.10.2 Limitando o uso de recursos: o arquivo limits.conf . . . . . . . . . . . 50 4.10.3 Aes de login do usurio: edite o /etc/login.defs . . . . . . . . . . . 50 4.10.4 Restringindo o ftp: editando o /etc/ftpusers . . . . . . . . . . . . . . . 51

SUMRIO

iv

4.10.5 Usando su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.10.6 Usando o sudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.10.7 Desativao de acesso administrativo remoto . . . . . . . . . . . . . . . . . 52 4.10.8 Restringindo acessos de usurios . . . . . . . . . . . . . . . . . . . . . . . . 52 4.10.9 Auditoria do usurio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.10.10 Revisando pers de usurios . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.10.11 Ajustando a umask dos usurios . . . . . . . . . . . . . . . . . . . . . . . . 55 4.10.12 Limitando o que os usurios podem ver/acessar . . . . . . . . . . . . . . . 56 4.10.13 Gerando senhas de usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.10.14 Vericando senhas de usurios . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.10.15 Logout de usurios ociosos . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.11 Usando os tcpwrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.12 A importncia dos logs e alertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.12.1 Usando e personalizando o logcheck . . . . . . . . . . . . . . . . . . . . 61 4.12.2 Congurando para onde os alertas so enviados . . . . . . . . . . . . . . . 62 4.12.3 Usando um servidor de logs . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.12.4 Permisses dos arquivos de log . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.13 Adicionando patches no kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.14 Protegendo-se contra estouros de buffer . . . . . . . . . . . . . . . . . . . . . . . . 66 4.14.1 Patches de kernel para proteo contra estouros de buffer . . . . . . . . . 67 4.14.2 Proteo da Libsafe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.14.3 Testando problemas de estouro em programas . . . . . . . . . . . . . . . . 68 4.15 Transferncia segura de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.16 Limitaes e controle do sistema de arquivos . . . . . . . . . . . . . . . . . . . . . 68 4.16.1 Usando quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.16.2 Os atributos especcos do sistema de arquivos ext2 (chattr/lsattr) . . . . 69 4.16.3 Vericando a integridade do sistema de arquivos . . . . . . . . . . . . . . 71 4.16.4 Congurando vericao de setuid . . . . . . . . . . . . . . . . . . . . . . 72 4.17 Tornando o acesso a rede mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.17.1 Congurando caractersticas de rede do kernel . . . . . . . . . . . . . . . . 72 4.17.2 Congurando Syncookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

SUMRIO

v

4.17.3 Tornando a rede segura em tempo de inicializao . . . . . . . . . . . . . . 73 4.17.4 Congurando caractersticas do rewall . . . . . . . . . . . . . . . . . . . . 75 4.17.5 Desativando assuntos relacionados a weak-end de mquinas . . . . . . . 75 4.17.6 Protegendo-se contra ataques ARP . . . . . . . . . . . . . . . . . . . . . . . 76 4.18 Fazendo um snapshot do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.19 Outras recomendaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.19.1 No use programas que dependem da svgalib . . . . . . . . . . . . . . . . 78 5 Tornando os servios em execuo do seu sistema mais seguros 5.1 79

Tornando o ssh mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.1.1 5.1.2 5.1.3 Executando o ssh em uma jaula chroot . . . . . . . . . . . . . . . . . . . . . 81 Clientes do ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Desativando transferncias de arquivos . . . . . . . . . . . . . . . . . . . . 82

5.2 5.3 5.4

Tornando o Squid mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Tornando o FTP mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Tornando o acesso ao sistema X Window mais seguro . . . . . . . . . . . . . . . . 85 5.4.1 Verique seu gerenciador de tela . . . . . . . . . . . . . . . . . . . . . . . . 86

5.5 5.6

Tornando o servidor de impresso mais seguro (sobre o lpd e lprng) . . . . . . . 86 Tornando o servio de e-mails seguro . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.6.1 5.6.2 5.6.3 Congurando um programa de e-mails nulo . . . . . . . . . . . . . . . . . 88 Fornecendo acesso seguro s caixas de mensagens . . . . . . . . . . . . . . 89 Recebendo mensagens de forma segura . . . . . . . . . . . . . . . . . . . . 90

5.7

Tornando o BIND mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.7.1 5.7.2 5.7.3 Congurao do Bind para evitar m utilizao . . . . . . . . . . . . . . . 91 Alterando o usurio do BIND . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Executando o servidor de nomes em uma jaula chroot . . . . . . . . . . . 95

5.8

Tornando o Apache mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.8.1 5.8.2 5.8.3 Proibindo a publicao de contedo dos usurios . . . . . . . . . . . . . . 98 Permisses de arquivos de log . . . . . . . . . . . . . . . . . . . . . . . . . 99 Arquivos da Web Publicados . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5.9

Tornando o nger mais seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

SUMRIO

vi

5.10 Parania geral do chroot e suid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.10.1 Criando automaticamente ambientes chroots . . . . . . . . . . . . . . . . . 100 5.11 Parania geral sobre senhas em texto puro . . . . . . . . . . . . . . . . . . . . . . . 101 5.12 Desativando o NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.13 Tornando servios RPC mais seguros . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.13.1 Desativando completamente os servios RPC . . . . . . . . . . . . . . . . . 102 5.13.2 Limitando o acesso a servios RPC . . . . . . . . . . . . . . . . . . . . . . . 102 5.14 Adicionando capacidades de rewall . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.14.1 Fazendo um rewall no sistema local . . . . . . . . . . . . . . . . . . . . . 103 5.14.2 Usando um rewall para proteger outros sistemas . . . . . . . . . . . . . . 104 5.14.3 Congurando o rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6 Fortalecimento automtico de sistemas Debian 6.1 6.2 7 109

Harden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Bastille Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 113

Infraestrutura do Debian Security 7.1 7.2

O time Debian Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Debian Security Advisories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.1 7.2.2 Referncias sobre vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . 114 Compatibilidade CVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.3

Infraestrutura da segurana Debian . . . . . . . . . . . . . . . . . . . . . . . . . . 116 7.3.1 Guia dos desenvolvedores de atualizaes de seguranaa . . . . . . . . . 117

7.4

Assinatura de pacote no Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 7.4.1 7.4.2 7.4.3 7.4.4 O esquema proposto para checagem de assinatura dos pacotes . . . . . . 120 Checando releases das distribuies . . . . . . . . . . . . . . . . . . . . . . 121 Esquema alternativo de assinatura per-package . . . . . . . . . . . . . . . 128 Pacotes experimentais apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 131

8

Ferramentas de segurana no Debian 8.1 8.2

Ferramentas de vericao remota de vulnerabilidades . . . . . . . . . . . . . . . 131 Ferramentas de varredura de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

SUMRIO

vii

8.3 8.4 8.5

Auditoria Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Auditoria de cdigo fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Redes Privadas Virtuais (VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 8.5.1 Tunelamento ponto a ponto . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

8.6 8.7 8.8 8.9 9

Infra-estrutura de Chave Pblica (PKI) . . . . . . . . . . . . . . . . . . . . . . . . . 135 Infra-estrutura SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Ferramentas Anti-vrus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Agentes GPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 141

Antes do comprometimento do sistema 9.1

Atualizando continuamente o sistema . . . . . . . . . . . . . . . . . . . . . . . . . 141 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.1.7 Vericando manualmente quais atualizaes de segurana esto disponveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Vericando automaticamente por atualizaes com o cron-apt . . . . . . . 142 Usando o Tiger para vericar automaticamente atualizaes de segurana 142 Outros mtodos para atualizaes de segurana . . . . . . . . . . . . . . . 144 Evite usar verses instveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Evite usar verses em teste . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Atualizaes automticas no sistema Debian GNU/Linux . . . . . . . . . 145

9.2 9.3

Faa vericaes de integridade peridicas . . . . . . . . . . . . . . . . . . . . . . 146 Congure um sistema de Deteco de Intruso . . . . . . . . . . . . . . . . . . . . 147 9.3.1 9.3.2 Deteco de intruso baseada em rede . . . . . . . . . . . . . . . . . . . . . 147 Deteco de intruso baseada em host . . . . . . . . . . . . . . . . . . . . . 148

9.4

Evitando os rootkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.4.1 9.4.2 Loadable Kernel Modules (LKM) . . . . . . . . . . . . . . . . . . . . . . . . 149 Detectando rootkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

9.5

Idias Geniais/Paranicas o que voc pode fazer . . . . . . . . . . . . . . . . . 150 9.5.1 Construindo um honeypot . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 155

10 Depois do comprometimento do sistema (resposta a incidentes)

10.1 Comportamento comum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.2 Efetuando backup do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.3 Contate seu CERT local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.4 Anlise forense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

SUMRIO

viii

11 Questes feitas com freqncia (FAQ)

159

11.1 Tornando o sistema operacional Debian mais seguro . . . . . . . . . . . . . . . . . 159 11.1.1 A Debian mais segura que X? . . . . . . . . . . . . . . . . . . . . . . . . . 159 11.1.2 Existem muitas falhas no sistema de tratamento de falhas da Debian. Isto signica que muito vulnervel? . . . . . . . . . . . . . . . . . . . . . . . . 160 11.1.3 A Debian possui qualquer certicao relacionada a segurana? . . . . . . 161 11.1.4 Existe algum programa de fortalecimento para a Debian? . . . . . . . . . . 161 11.1.5 Eu desejo executar o servio XYZ, qual eu devo escolher? . . . . . . . . . . 161 11.1.6 Como eu posso tornar o servio XYZ mais seguro na Debian? . . . . . . . 162 11.1.7 Como posso remover todos os banners de servios? . . . . . . . . . . . . . 162 11.1.8 Todos os pacotes da Debian so seguros? . . . . . . . . . . . . . . . . . . . 162 11.1.9 Porque alguns arquivos de logs/congurao tem permisso de leitura para qualquer um, isto no inseguro? . . . . . . . . . . . . . . . . . . . . 163 11.1.10 Porque o /root/ (ou UsuarioX) tem permisses 755? . . . . . . . . . . . . 163 11.1.11 Aps instalar o grsec/rewall, comecei a receber muitas mensagens de console! como remov-las? . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 11.1.12 Usurios e grupos do sistema operacional . . . . . . . . . . . . . . . . . . . 164 11.1.13 Porque existe um novo grupo quando adiciono um novo usurio? (ou porque a Debian cria um novo grupo para cada usurio?) . . . . . . . . . 167 11.1.14 Questes relacionadas a servios e portas abertas . . . . . . . . . . . . . . 168 11.1.15 Assuntos comuns relacionados a segurana . . . . . . . . . . . . . . . . . . 170 11.1.16 Como posso congurar um servio para meus usurios sem lhes dar uma conta de acesso ao shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.2 Meu sistema vulnervel! (Voc tem certeza?) . . . . . . . . . . . . . . . . . . . . 172 11.2.1 O scanner de vulnerabilidade X diz que meu sistema Debian vulnervel! 172 11.2.2 Eu vi um ataque em meus logs de sistema. Meu sistema foi comprometido?172 11.2.3 Eu vi algumas linhas estranhas MARK em meus logs: Eu fui comprometido? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 11.2.4 Encontrei usurios usando o su em meus logs: Eu fui comprometido? . 173 11.2.5 Encontrei um possvel SYN ooding em meus logs: Estou sob um ataque? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 11.2.6 Encontrei sees de root estranhas em meus logs: Eu fui comprometido? . 174 11.2.7 Sofri uma invaso, o que fao? . . . . . . . . . . . . . . . . . . . . . . . . . 174

SUMRIO

ix

11.2.8 Como posso rastrear um ataque? . . . . . . . . . . . . . . . . . . . . . . . . 175 11.2.9 O programa X na Debian vulnervel, o que fazer? . . . . . . . . . . . . . 175 11.2.10 O nmero de verso de um pacote indica que eu ainda estou usando uma verso vulnervel! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 11.2.11 Programas especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.3 Questes relacionadas ao time de segurana da Debian . . . . . . . . . . . . . . . 176 11.3.1 O que um Aviso de Segurana da Debian (Debian Security Advisory DSA)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.3.2 As assinaturas nos avisos de segurana da Debian no so vericados corretamente! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.3.3 Como a segurana tratada na Debian? . . . . . . . . . . . . . . . . . . . . 177 11.3.4 Porque vocs esto trabalhando em uma verso antiga daquele pacote? . 177 11.3.5 Qual a poltica para um pacote corrigido aparecer em security.debian.org?177 11.3.6 O nmero de verso de um pacote indica que eu ainda estou usando uma verso vulnervel! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 11.3.7 Como a segurana tratada na testing e unstable? . . . . . . . . . . . 178 11.3.8 Eu uso uma verso antiga da Debian, ela suportada pelo time de segurana? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 11.3.9 Porque no existem mirrors ociais de security.debian.org? . . . . . . . . 178 11.3.10 Eu vi o DSA 100 e DSA 102, o que aconteceu com o DSA 101? . . . . . . . 178 11.3.11 Como posso contactar o time de segurana? . . . . . . . . . . . . . . . . . 179 11.3.12 Qual a diferena entre [email protected] e [email protected]? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 11.3.13 Como posso contribuir com o time de segurana da Debian? . . . . . . . . 179 11.3.14 quem compe o time de segurana? . . . . . . . . . . . . . . . . . . . . . . 180 11.3.15 O time de segurana verica cada novo pacote que entra na Debian? . . . 180 11.3.16 Quanto tempo a Debian levar para resolver a vulnerabilidade XXXX? . . 180 A Passo-a-passo do processo de fortalecimento B Checklist de congurao C Congurando um IDS stand-alone 183 187 191

SUMRIO

x

D Congurando uma ponte rewall

195

D.1 Uma ponte fornecendo capacidades de NAT e rewall . . . . . . . . . . . . . . . . 195 D.2 Uma ponte fornecendo capacidades de rewall . . . . . . . . . . . . . . . . . . . . 196 D.3 Regras bsicas do IPtables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 E Exemplo de script para alterar a instalao padro do Bind. F Atualizao de segurana protegida por um rewall G Ambiente chroot para SSH 199 205 207

G.1 Congurando automaticamente o ambiente (a maneira fcil) . . . . . . . . . . . . 207 G.2 Aplicando patch no SSH para ativar a funcionalidade do chroot . . . . . . . . . 212 G.3 Ambiente feito a mo (a maneira difcil) . . . . . . . . . . . . . . . . . . . . . . . . 214 H Ambiente chroot para Apache 221

H.1 Introduao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 H.1.1 Licena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 H.2 Instalando o servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 H.3 Veja tambm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

1

Captulo 1

IntroduoUma das coisas mais difceis sobre escrever documentos relacionado a segurana que cada caso nico. Duas coisas que deve prestar ateno so o ambiente e as necessidades de segurana de um site, mquina ou rede. Por exemplo, a segurana necessria para um usurio domstico completamente diferente de uma rede em um banco. Enquanto a principal preocupao que um usurio domstico tem confrontar o tipo de cracker script kiddie, uma rede de banco tem preocupao com ataques diretos. Adicionalmente, o banco tem que proteger os dados de seus consumidores com preciso aritmtica. Em resumo, cada usurio deve considerar o trajeto entre a usabilidade e parania/segurana. Note que este manual somente cobre assuntos relacionados a software. O melhor software do mundo no pode te proteger se algum puder ter acesso fsico a mquina. Voc pode colocala sob sua mesa, ou voc pode coloca-la em um cofre fechado com uma arma de frente para ela. No obstante a computao desktop pode ser muito mais segura (do ponto de vista do software) que uma sicamente protegida caso o desktop seja congurado adequadamente e o programa na mquina protegida esteja cheio de buracos de segurana. Obviamente, voc dever considerar ambos os casos. Este documento apenas lhe dar uma viso do que pode aumentar em segurana no sistema Debian GNU/Linux. Se ler outros documentos relacionados a segurana em Linux, voc ver que existem assuntos comuns que se cruzaro com os citados neste documento. No entanto, este documento no tentar ser a ltima fonte de informaes que dever estar usando, ele tentar adaptar esta mesma informao de forma que seja til no sistema Debian GNU/Linux. Distribuies diferentes fazem coisas de forma diferente (inicializao de daemons um exemplo); aqui, voc encontrar materiais que so apropriados para os procedimentos e ferramentas da Debian.

1.1

Autores

O mantenedor atual deste documento Javier Fernndez-Sanguino Pea (mailto:jfs@ debian.org). Por favor encaminhe a ele quaisquer comentrios, adies e sugestes, e ele considerar a incluso em lanamentos futuros deste manual.

Captulo 1. Introduo

2

Este manual foi iniciado como um HOWTO por Alexander Reelsen (mailto:ar@rhwd. de). Aps ter sido publicado na Internet, Javier Fernndez-Sanguino Pea (mailto:jfs@ debian.org) o incorporou no Projeto de Documentao da Debian (http://www.debian. org/doc). Um nmero de pessoas tem contribudo com este manual (todos os contribuidores esto listados no changelog) mas os seguintes merecem especial meno pois zeram contribuies signicantes, sees completas, captulos ou apndices):

Stefano Canepa Era Eriksson Carlo Perassi Alexandre Ratti Jaime Robles Yotam Rubin Frederic Schutz Pedro Zorzenon Neto Oohara Yuuma Davor Ocelic

1.2

Como obter o manual

Voc poder baixar ou ver a verso mais nova do Manual Como Tornar a Debian mais Segura no Projeto de Documentao da Debian (http://www.debian.org/doc/manuals/ securing-debian-howto/). Sinta-se l livre para checar o sistema de controle de verses atravs do endereo servidor CVS (http://cvs.debian.org/ddp/manuals.sgml/ securing-howto/?cvsroot=debian-doc). Voc poder tambm baixar uma verso texto (http://www.debian.org/doc/manuals/ securing-debian-howto/securing-debian-howto.ptbr.txt) do site do projeto de Documentao da Debian. Outros formatos, com o PDF, (ainda) no esto disponveis. No entanto, voc poder baixar ou instalar o pacote harden-doc (http://packages.debian. org/harden-doc) que contm o mesmo documento em formatos HTML, txt e PDF. Note no entanto, que o pacote pode no estar completamente atualizado com o documento fornecido pela Internet (mas voc sempre poder usar o pacote fonte para construir voc mesmo uma verso atualizada).

Captulo 1. Introduo

3

1.3

Notas de organizao/Retorno

Agora a parte ocial. No momento, eu (Alexandre Reelsen) escrevi a maioria dos pargrafos deste manual, mas em minha opinio este no deve ser o caso. Eu cresci e vivi com software livre, ele parte do meu dia a dia e eu acho que do seu tambm. Eu encorajo a qualquer um para me enviar retorno, dicas, adies ou qualquer outra sugesto que possa ter. Se achar que pode manter melhor uma certa seo ou pargrafo, ento escreva um documento ao maintainer (mantenedor) e voc ser bem vindo a faze-lo. Especialmente se voc encontrar uma seo marcada como FIXME, que signica que os autores no tem tempo ainda ou precisam de conhecimento sobre o tpico, envie um e-mail para eles imediatamente. O tpico deste manual torna isto bastante claro que importante mant-lo atualizado, e voc pode fazer sua parte. Por favor contribua.

1.4

Conhecimento necessrio

A instalao do sistema Debian GNU/Linux no muito difcil e voc dever ser capaz de instala-lo. Se voc j tem algum conhecimento sobre o Linux ou outros tipo de Unix e voc est um pouco familiar com a segurana bsica, ser fcil entender este manual, como este documento no explicar cada detalhe pequeno de caractersticas (caso contrrio voc ter um livro ao invs de um manual). Se no estiver familiar, no entanto, voc poder dar uma olhada em Esteja ciente dos problemas gerais de segurana on page 25 para ver onde achar informaes atualizadas.

1.5

Coisas que precisam ser escritas (FIXME/TODO)

Esta seo descreve todas as coisas que precisam ser corrigidas neste manual. Alguns pargrafos incluem as tags FIXME ou TODO descrevendo qual contedo esta faltando (ou que tipo de trabalho precisa ser feito). O propsito desta seo descrever todas as coisas que precisam ser includas em um lanamento futuro do Manual, ou melhorias que precisam ser feitas (ou que so interessantes de serem adicionadas). Se sente que pode fornecer ajuda contribuindo com a correo de contedo em qualquer elemento desta lista (ou anotaes inline), contacte o autor principal (Autores on page 1 Expanda informaes de resposta a incidentes, talvez adicione algumas idias vindas do guia de segurana da Red Hat captulo sobre resposta a incidentes (http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ security-guide/ch-response.html). Escreva sobre ferramentas de monitoramento remoto (para vericar a disponibilidade do sistema) tal como monit, daemontools e mon. Veja http://linux.oreillynet. com/pub/a/linux/2002/05/09/sysadminguide.html.

Captulo 1. Introduo

4

Considere escrever uma seo sobre como fazer operaes em rede com redes baseadas em sistemas Debian (com informaes tal como o sistema bsico, equivs e FAI). Verique se http://www.giac.org/practical/gsec/Chris_Koutras_GSEC. pdf tem informaes relevantes ainda no cobertas aqui. Adicione informaes sobre como congurar um notebook com a Debian http://www. giac.org/practical/gcux/Stephanie_Thomas_GCUX.pdf Adicione informaes sobre como fazer um rewall usando o sistema Debian GNU/Linux. A seo relacionada a rewall orientada atualmente sobre um sistema simples (no protegendo outros. . . ) tambm fale sobre como testar a congurao. Adicionar informaes sobre como congurar um rewall proxy com a Debian GNU/Linux iniciando especicamente com pacotes fornecendo servios proxy (como xfwp, xproxy, ftp-proxy, redir, smtpd, nntp-cache, dnrd, jftpgw, oops, pdnsd, perdition, transproxy, tsocks). Dever ser apontado para um manual com mais informaes. Note que o zorp esta agora disponvel como um pacote da Debian e um rewall proxy (ele tambm fornece pacotes upstream da Debian). Informaes sobre a congurao de servios com o le-rc Verique todas as URLs de referncia e remova/corrija as que no esto mais disponveis. Adicione informaes sobre as substituies disponveis (na Debian) para servios padres que so teis para funcionalidades limitadas. Exemplos: lpr local com o cups (pacote)? lpr remota com o lpr bind com dnrd/maradns apache com dhttpd/thttpd/wn (tux?) exim/sendmail com ssmtpd/smtpd/postx squid com tinyproxy ftpd com oftpd/vsftp ... Mais informaes sobre patches do kernel relacionadas a segurana, incluindo os acima e informaes especcas de como ativar estes patches em um sistema Debian. Deteco de Intruso do Linux (lids-2.2.19) Linux Trustees (no pacote trustees) NSA Enhanced Linux (http://www.coker.com.au/selinux/) kernel-patch-2.2.18-openwall kernel-patch-2.2.18-openwall) kernel-patch-2.2.19-harden (http://packages.debian.org/

Captulo 1. Introduo

5

kernel-patch-freeswan, kernel-patch-int Detalhes sobre como desligar servios desnecessrios (como o inetd), parte do procedimento de fortalecimento mas pode ser um pouco mais abrangente. Informaes relacionadas a rotacionamento de senhas que diretamente relacionada a poltica. Policy, e educao de usurios sobre a poltica. Mais sobre tcpwrappers, e wrappers em geral? O arquivo hosts.equiv e outros maiores buracos de segurana. Assuntos relacionados a servios de compartilhamento de arquivos tais como Samba e NFS? suidmanager/dpkg-statoverrides. lpr e lprng. Desligar os tens do gnome relacionados a IP Falar sobre o pam_chroot (ver http://lists.debian.org/debian-security/ 2002/debian-security-200205/msg00011.html) e como ele til para limitao de usurios. Introduzir informaes relacionadas ao http://online. securityfocus.com/infocus/1575. Pdmenu, por exemplo est disponvel na Debian (enquanto o ash no). Falar sobre como executar servios em ambiente chroot, mais informaes em http://www.linuxfocus.org/English/January2002/article225.shtml, http://www.nuclearelephant.com/papers/chroot.html e http://www. linuxsecurity.com/feature_stories/feature_story-99.html Fale sobre programas para fazer jaulas chroot. Compartment e chrootuid esto aguardando na incoming. Alguns outros como o (makejail, jailer) podem tambm serem introduzidos. Adicionar informaes fornecidas por Pedro Zorzenon sobre como fazer chroot do Bind 8 somente para a :(, veja http://people.debian.org/~pzn/howto/chroot-bind. sh.txt ( incluir todo o roteiro?). Mais informaes relacionadas a programas de anlise de logs (i.e. logcheck e logcolorise). roteamento avanado (policiamento de trfego relacionado a segurana) limitando o acesso do ssh a executar somente certos comandos. usando o dpkg-statoverride. mtodos seguros de compartilhar um gravador de CD entre usurios.

Captulo 1. Introduo

6

mtodos seguros de fornecer som em rede em adio a caractersticas display (assim o som de clientes X so enviados para o hardware de som do servidor X). tornando navegadores mais seguros. congurando ftp sobre ssh. usando sistemas de arquivos loopback criptogrcos. encriptando todo o sistema de arquivos. ferramentas de steganograa. ajustando um PKA para uma empresa. usando o LDAP para gerenciar usurios. Existe um howto do ldap+kerberos para o Debian em www.bayour.com escrito por Turbo Fredrikson. Como remover informaes de utilidade reduzida em sistemas de produo tal como /usr/share/doc, /usr/share/man (sim, segurana pela obscuridade). Mais informaes baseadas em ldap dos pacotes contendo os arquivos README (bem, no ainda, mas veja Bug #169465 (http://bugs.debian.org/cgi-bin/ bugreport.cgi?bug=169465)) e a partir do artigo LWN: desenvolvimento do Kernel (http://lwn.net/1999/1202/kernel.php3). Adicionar o artigo do Colin sober como congurar um ambiente chroot para um sistema sid completo (http://people.debian.org/~walters/chroot.html) Adicionar informaes sobre como executar mltiplos sensores do snort em um determinado sistema (checar pelos relatrios de falhas enviados para o snort) Adicionar informaes sobre como congurar um honeypot (honeyd) Descrever situaes sobre o (orphaned) e OpenSwan. A seo sobre VPN precisa ser reescrita.

1.61.6.1

Alteraes/HistricoVerso 3.1 (Janeiro de 2005)

Alteraes feitas por Javier Fernndez-Sanguino Pea Adicionado esclarecimentos a /usr somente leitura com o patch de Joost van Baal Aplicao do do patch de Jens Seidel corrigindo alguns erros. FreeSWAN est morto, longa vida ao OpenSWAN.

Captulo 1. Introduo

7

Adicionadas informaes sobre a restrio de acessos a servios RPC (quando no podem ser desativados) includo tambm o patch fornecido por Aarre Laakso. Atualizao do script apt-check-sigs do aj. Aplicao do patch de Carlo Perassi corrigindo URLs. Aplicao do patch de Davor Ocelic corrigindo muitos erros, enganos, urls, gramtica e FIXMEs. Tambm adicionadas mais informaes adicionais a respeito de algumas sees. Reescrita a seo sobre auditoria do usurio, destacando o uso do script que no tem as mesmas restries associadas ao histrico do shell.

1.6.2

Verso 3.0 (Dezembro de 2004)

Alteraes feitas por Javier Fernndez-Sanguino Pea Reescrita as informaes sobre auditoria de usurio incluindo exemplos de como usar o script.

1.6.3

Verso 2.99 (Maro de 2004)

Alteraes feitas por Javier Fernndez-Sanguino Pea Adicionadas informaes sobre referncias nos DSAs e compatibilidade com o CVE. Adicionadas informaes a respeito do apt 0.6 (apt-secure colocado na experimental) Corrigida a localizao do HOWTO sobre como executar daemons em ambiente chroot como sugerido por Shuying Wang. Alterada a linha do APACHECTL no exemplo de chroot do Apache (at se no for usado) como sugerido por Leonard Norrgard. Adicionada uma nota de rodap a respeito de ataques usando hardlinks caso as parties no fossem conguradas adequadamente. Adicionada passos faltantes para executar o bind como named como descrito por Jeffrey Prosa. Adicionada notas sobre o Nessus e Snort desatualizados na woody e disponibilidade de pacotes portados para esta verso. Adicionado um captulo a respeito da checagem de integridade peridica. Esclarecido o estado de testes a respeito de atualizaes de segurana. (Debian bug 233955)

Captulo 1. Introduo

8

Adicionadas mais informaes a respeito de contedo esperado em securetty (pois especcas de kernel). Adicionadas referncias ao snoopylogger (bug da Debian 179409) Adicionadas referncias ao guarddog (bug da Debian 170710) Apt-ftparchive est no pacote apt-utils, no no apt (obrigado por Emmanuel Chantreau apontar isto) Removido o jvirus da lista AV.

1.6.4

Verso 2.98 (Dezembro de 2003)

Alteraes por Javier Fernndez-Sanguino Pea Corrigidas URLs como sugerido por Frank Lichtenheld. Corrigido o erro PermitRootLogin como sugerido por Stefan Lindenau.

1.6.5

Verso 2.97 (Setembro de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea Adicionadas as pessoas que zeram as contribuies mais signicantes a este manual (por favor, envie um e-mail se achar que deveria estar nesta lista e no est). Adicionadas algumas notas a respeito de FIXME/TODOs Movidas informaes a respeito de atualizaes de segurana para o inicio da seo como sugerido por Elliott Mitchell. Adicionado o grsecurity a lista de patches do kernel para segurana, mas adicionada uma nota de rodap sobre situaes atuais como sugerido por Elliott Mitchell. Removidos os loops (echo para todos) no script de segurana de rede do kernel, como sugerido por Elliott Mitchell. Adicionadas informaes (atualizadas) na seo sobre antivirus. Reescrita da seo de proteo contra buffer overows e adicionadas mais informaes sobre patches no compilador para ativar este tipo de proteo.

1.6.6

Verso 2.96 (Agosto de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea Removido (e ento novamente adicionado) apndice sobre como rodar o Apache em ambiente chroot. O apndice agora tem dupla licena.

Captulo 1. Introduo

9

1.6.7

Verso 2.95 (Junho de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea Corrigido erros enviados por Leonard Norrgard. Adicionada uma seo sobre como contactar o CERT para manipulao de incidentes (#after-compromise) Mais informaes sobre como tornar um proxy mais seguro. Adicionada uma referncia e removido um FIXME. Agradecimentos a Helge H. F. Corrigido um erro (save_inactive) observado por Philippe Faes. Corrigido diversos erros descobertos por Jaime Robles.

1.6.8

Verso 2.94 (Abril de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea Segundo as sugestes de Maciej Stachuras, expandi a seo sobre limitao de usurios. Corrigidos erros relatados por Wolfgang Nolte. Corrigidos os links com o patch contribudo por Ruben Leote Mendes. Adicionado um link para o excelente documento de David Wheeler na footnote sobre a contagem de vulnerabilidade de segurana.

1.6.9

Verso 2.93 (Maro de 2003)

Alteraes feitas por Frdric Schtz. reescrita toda a seo sobre atributos ext2 (lsattr/chattr)

1.6.10

Verso 2.92 (Fevereiro de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea e Frdric Schtz. Unio da seo 9.3 (patches teis do kernel) na seo 4.13 (Adicionando patches no kernel), e adicionado algum contedo. Adicionados alguns TODOs adicionais

Captulo 1. Introduo

10

Adicionadas informaes sobre como checar manualmente por atualizaes e tambm sobre o cron-apt. Desta forma, o Tiger no declarado como o nico mtodo de vericao de atualizaes. Regravao da seo sobre a execuo de atualizaes de segurana devido aos comentrios de Jean-Marc Ranger. Adicionada uma nota sobre a instalao da Debian (que sugere que o usurio execute uma atualizao de segurana aps a instalao).

1.6.11

Verso 2.91 (Janeiro/Fevereiro de 2003)

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionado um patch contribudo por Frdric Schtz. Adicionadas algumas referncias sobre capacidades. Agradecimentos a Frdric. Pequenas alteraes na seo sobre o bind adicionando uma referncia sobre a documentao on-line do BIND9 e referncias apropriadas na primeira rea (oi Pedro!) Corrigida a data do changelog - ano novo :-) Adicionada uma referncia sobre o artigo do Colins para os TODOs. Removida a referncia para o antigo patch ssh+chroot Mais patches de Carlo Perassi. Correo de enganos (recursivo no Bind recurso), apontados por Maik Holtkamp.

1.6.12

Verso 2.9 (Dezembro de 2002)

Alteraes feitas por Javier Fernndez-Sanguino Pea (me). Reorganizadas informaes sobre o chroot (unidas duas sees, no tem muito sentido t-las em separado) Adicionada as notas sober como executar o Apache em ambiente chroot por Alexandre Ratti. Aplicao de patches contribudos por Guillermo Jover.

Captulo 1. Introduo

11

1.6.13

Verso 2.8 (Novembro de 2002)

Alteraes feitas por Javier Fernndez-Sanguino Pea (me). Aplicados patches de Carlo Perassi, as correes incluem: nova quebra de linhas, correes de URL, e corrigidos alguns FIXMEs. Atualizado o contedo da FAQ do time de segurana da Debian. Adicionado um link para a FAQ do time de segurana da Debian e da referncia do desenvolvedor da Debian, as sees duplicadas podem (apenas podem) serem removidas no futuro. Corrigida a seo sobre auditoria manual com comentrios de Michal Zielinski. Adicionado links para lista de palavras (contribudos por Carlo Perassi) Corrigidos alguns enganos (outros mais esto por vir). Corrigidos links TCP como sugerido por John Summereld.

1.6.14

Verso 2.7 (Outubro de 2002)

Alteraes feitas por Javier Fernndez-Sanguino Pea (me). Nota: Eu ainda tenho vrias correes pendentes em minha caixa postal (que tem atualmente o tamanho de 5MB). Algumas correes de erros contribudas por Tuyen Dinh, Bartek Golenko e Daniel K. Gebhart. Nota sobre rootkits relacionados com /dev/kmem contribudo por Laurent Bonnaud Corrigidos enganos e FIXMEs contribudos por Carlo Perassi.

1.6.15

Verso 2.6 (Setembro de 2002)

Alteraes feitas por Chris Tillman, [email protected]. Alteraes para melhorar a gramtica/ortograa. s/host.deny/hosts.deny/ (1 local) Aplicado o patch de Larry Holishs (um pouco grande, corrige diversos FIXMEs)

Captulo 1. Introduo

12

1.6.16

Verso 2.5 (Setembro de 2002)

Alteraes feitas por Javier Fernndez-Sanguino Pea (me). Corrigidos alguns pequenos erros enviados por Thiemo Nagel. Adicionada uma footnote sugerida por Thiemo Nagel. Corrigido um link de URL.

1.6.17

Verso 2.5 (Agosto de 2002)

Alteraes feitas por Javier Fernndez-Sanguino Pea (me). Existem muitas coisas aguardando em minha caixa postal para serem includos. assim estarei fazendo isso no lanamento de volta da lua de mel :) Aplicado um patch enviado por Philipe Gaspar com relao ao Squid que tambm fecha um FIXME. Sim, outro item da FAQ com relao a banners de servios pego da lista de segurana debian-security (thread Telnet information iniciada em 26 de Julho de 2002). Adicionada uma note com relao a referncias cruzadas do CVE no item da FAQ Quanto tempo o time de segurana da Debian. . . . Adicionada uma nova seo relacionada a ataques ARP contribuda por Arnaud Arhuman Assad. Novo item da FAQ com relao ao dmesg e logind e console pelo kernel. Pequenos detalhes de informaes relacionadas a checagem de assinaturas em pacotes (ele parecia no ter uma verso beta passada). Novo item da FAQ com relao a falso positivo de ferramentas de checagem de vulnerabilidades. Adicionadas nova sees ao captulo que contm informaes sobre assinatura de pacotes e reorganizando-as como um novo captulo sobre Infraestrutura de Segurana na Debian. Novo tem da FAQ com uma comparao da Debian com outras distribuies Linux. Nova seo sobre agentes de mensagem de usurios com funcionalidade GPG/PGP no captulo ferramentas de segurana. Esclarecimentos de como ativa senhas MD5 na woody, adicionadas referncias PAM assim tambm como uma nota relacionada a denio de max na PAM. Adicionado um novo apndice sobre como criar um ambiente chroot (aps brigar um pouco com makejail e corrigindo, tambm, alguns de seus bugs), integradas informaes duplicadas em todo o apndice.

Captulo 1. Introduo

13

Adicionadas mais informaes relacionadas ao chroot de SSH e seu impacto na transferncia segura de arquivos. Algumas informaes que foram pegas da lista de discusso debian-security (da thread de Junho de 2002: transferncias de arquivos seguras). Novas sees sobre como fazer atualizaes automticas em sistemas Debian assim tambm como dicas de uso de testing ou unstable relacionadas com atualizaes de segurana. Nova seo relacionada sobre como manter-se atualizado com patches de segurana na seo Antes do comprometimento assim como uma nova seo sobre a lista de discusso debian-security-announce mailing. Adicionadas informaes sobre como gerar automaticamente senhas fortes. Nova seo com relao a usurios inativos. Reorganizao da seo sobre como tornar um servidor de mensagens mais seguro com base na discusso sobre instalao Segura/fortalecida/mnima da Debian (Ou Porque o sistema bsico do jeito que ?) que ocorreu na lista debian-security (em Maio de 2002). Reorganizao da seo sobre parmetros de rede do kernel, com dados fornecidos pela lista de discusso debian-security (em Maio de 2002, syn ood attacked?) e tambm adicionado um novo tem da FAQ. Nova seo sobre com vericar senhas de usuarios e que pacotes instalar para fazer isto. Nova seo sobre a criptograa PPTP com clientes Microsoft discutido na lista debiansecurity (em Abril de 2002). Adicionada uma nova seo descrevendo que problemas existem quando direciona um servio a um endereo IP especco, esta informao foi escrita baseada em uma lista de discusso da bugtraq com a thread: Linux kernel 2.4 weak end host (anteriormente discutida na debian-security como problema no) (iniciada em 9 de Maio de 2002 por Felix von Leitner). Adicionadas informaes sobre o protocolo verso 2 do ssh. Adicionadas duas sub-sees relacionadas a conguraes seguras do Apache (coisas especcas a Debian, claro). Adicionada uma nova FAQ relacionada a soquetes simples, um relacionado a /root, um tem relacionado ao grupo users e outra relacionada a log e permisses de arquivos de congurao. Adicionada uma referncia ao problem na libpam-cracklib que ainda pode estar aberto. . . (precisa ser vericado) Adicionadas mais informaes com relao a anlise forense (pendente mais informaes sobre ferramentas de inspeo de pacotes como tcpflow). Alterado o tem o que posso fazer com relao a comprometimento na listagem e adicionado mais contedo.

Captulo 1. Introduo

14

Adicionadas mais informaes sobre como congurar o Xscreensaver para bloquear a tela automaticamente aps um tempo limite estabelecido. Adicionada uma nota relacionada a utilitrios que no deve instalar no sistema. Inclui uma nota relacionada ao Perl e porque ele no pode ser facilmente removido da Debian. A idia veio aps ler documentos do Intersects relacionado com o fortalecimento do Linux. Adicionadas informaes sobre o lvm e sistemas de arquivos com journaling, o ext3 recomendado. No entanto, as informaes l devem ser muito genrica. Adicionado um link para a verso texto on-line (vericar). Adicionados mais alguns materiais com relao a informaes sobre como fazer um rewall em um sistema local, levado por um comentrio feito por Huber Chan na lista de discusso. Adicionadas mais informaes sobre a limitao do PAM e ponteiros aos documentos de Kurt Seifrieds (relacionada a uma postagem por ele na bugtrack em 4 de Abril de 2002 respondendo a uma pessoa que descobriu uma vulnerabilidade na Debian GNU/Linux relacionada a esgotamento de recursos). Como sugerido por Julin Muoz, fornecidas mais informaes sobre a umask padro da Debian e o que um usurio pode acessar se tiver um shell em um sistema (provided more information on the default Debian umask and what a user can access if he has been given a shell in the system Incluir uma nota na seo sobre senha de BIOS devido a um comentrio de Andreas Wohlfeld. Incluir patches fornecido por Alfred E. Heggestad corrigindo muitos dos erros ainda presentes no documento. Adicionada uma referncia ao changelog na seo crditos, pois muitas pessoas que contribuem esto listadas aqui (e no l). Adicionadas algumas notas a mais sobre a seo chattr e uma nova seo aps a instalao falando sobre snapshots do sistema. Ambas idias foram contribudas por Kurt Pomeroy. Adicionada uma nova seo aps a instalao apenas para lembrar os usurios de alterar a seqncia de partida. Adicionados alguns itens a mais no TODO, fornecidos por Korn Andras. Adicionado uma referncia as regras do NIST sobre como tornar o DNS mais seguro, fornecidas por Daniel Quinlan. Adicionado um pequeno pargrafo relacionado com a infraestrutura de certicados SSL da Debian.

Captulo 1. Introduo

15

Adicionadas sugestes de Daniel Quinlans com relao a autenticao ssh e congurao de relay do exim. Adicionadas mais informaes sobre como tornar o bind mais seguro incluindo alteraes propostas por Daniel Quinlan e um apndice com um script para fazer algumas das alteraes comentadas naquela seo. Adicionado um ponteiro a outro tem relacionado a fazer chroot do Bind (precisam ser unidas). Adicionada uma linha contribuda por Cristian Ionescu-Idbohrn para pegar pacotes com o suporte a tcpwrappers. Adicionada um pouco mais de informaes sobre a congurao padro de PAM da Debian. Includa uma questo da FAQ sobre o uso de PAM para fornecer servios sem contas shell. movidos dois itens da FAQ para outra seo e adicionada uma nova FAQ relacionada com deteco de ataques (e sistemas comprometidos). Includas informaes sobre como congurar uma rewall ponte (incluindo um Apndice modelo). Obrigado a Francois Bayart quem enviou isto para mim em Maro. Adicionada uma FAQ relacionada com o syslogd MARK heartbeat de uma questo respondida por Noah Meyerhans e Alain Tesio em Dezembro de 2001. Includas informaes sobre proteo contra buffer overow assim como mais informaes sobre patches de kernel. Adicionadas mais informaes e reorganizao da seo sobre rewall. Atualizao da informao com relao ao pacote iptables e geradores de rewall disponveis. Reorganizao das informaes disponveis sobre checagem de logs, movidas as informaes sobre checagem de logs de deteco de intruso de mquinas para aquela seo. Adicionadas mais informaes sobre como preparar um pacote esttico para o bind em chroot (no testado). Adicionado um tem da FAQ relacionado com servidores/servios mais especcos (podem ser expandidos com algumas das recomendaes da lista debian-security). Adicionadas mais informaes sobre os servios RPC (e quando so necessrios). Adicionadas mais informaes sobre capacidades (e o que o lcap faz). Existe alguma boa documentao sobre isto? e no encontrei qualquer documentao em meu kernel 2.4 Corrigidos alguns enganos.

Captulo 1. Introduo

16

1.6.18

Verso 2.4

Alteraes feitas por Javier Fernndez-Sanguino Pea. Parte da seo sobre BIOS foi reescrita

1.6.19

Verso 2.3

Alteraes feitas por Javier Fernndez-Sanguino Pea. Trocadas algumas localizaes de arquivos com a tage de arquivo. Corrigido problema noticado por Edi Stojicevi. Leve alterao na seo sobre ferramentas de auditoria remota. Adicionados alguns itens para fazer. Adicionadas mais informaes com relao a impressoras e o arquivo de congurao do cups (pego de uma thread na debian-security). Adicionado um patch enviado por Jesus Climent com relao ao acesso de usurios vlidos ao sistema no proftpd quando se est congurando um servidor annimo. Pequena alterao nos esquemas de partio para o caso especial de servidores de mensagens. Adicionado uma referncia do livro Hacking Linux Exposed na seo livros. Corrigido um erro de diretrio noticado por Eduardo Prez Ureta. Corrigido um erro na checklist do /etc/ssh observado por Edi Stojicevi.

1.6.20

Verso 2.3

Alteraes feitas por Javier Fernndez-Sanguino Pea. Corrigida a localizao do arquivo de congurao do dpkg. Remoo do Alexander das informaes de contato. Adicionado um endereo alternativo de e-mails. Corrigido o endereo de e-mail do Alexander Corrigida a localizao das chaves de lanamento (agradecimentos a Pedro Zorzenon por nos apontar isto).

Captulo 1. Introduo

17

1.6.21

Verso 2.2

Alteraes feitas por Javier Fernndez-Sanguino Pea. Corrigidos problemas, agradecimentos a Jamin W. Collins. Adicionada uma referncia a pgina de manual do apt-extracttemplate (documenta a congurao do APT::ExtractTemplate). Adicionada uma seo sobre o SSH restrito. Informaes baseadas naquilo postadas por Mark Janssen, Christian G. Warden e Emmanuel Lacour na lista de segurana debiansecurity. Adicionadas informaes sobre programas de anti-vrus. Adicionada uma FAQ: logs do su devido a execuo do cron como usurio root.

1.6.22

Verso 2.1

Alteraes feitas por Javier Fernndez-Sanguino Pea. Alterado o FIXME a partir do lshell agradecimentos a Oohara Yuuma. Adicionados pacote a sXid e removido comentrio pois ele *est* disponvel. Corrigido um nmero de erros descobertos por Oohara Yuuma. ACID est agora disponvel na Debian (a partir do pacote acidlab) obrigado a Oohara Yuuma por noticar isto. Correo dos links da LinuxSecurity (agradecimentos a Dave Wreski pelo aviso).

1.6.23

Verso 2.0

Alteraes feitas por Javier Fernndez-Sanguino Pea. Eu queria altera-la para 2.0 quanto todos os FIXMEs estivessem corrigidos, mas esgotei os nmeros 1.9x :( Converso do HOWTO em um Manual (agora eu poderei propriamente dizer RTFM) Adicionadas mais informaes com relao ao tcp wrappers e a Debian (agora mutos servios so compilados com suporte a eles assim no ser mais um assunto relacionado ao inetd). Esclarecidas informaes sobre a desativao de servios para torna-lo mais consistente (informaes sobre o rpc ainda referenciadas ao update-rc.d) Adicionada uma pequena nota sobre o lprng.

Captulo 1. Introduo

18

Adicionadas ainda mais informaes sobre servidores comprometidos (ainda de uma forma grossa), Corrigidos problemas reportados por Mark Bucciarelli. Adicionados mais alguns passos sobre a recuperao de senhas para cobrir os casos onde o administrador tem a opo paranoid-mode=on ativada. Adicionadas mais informaes sobre como denir paranoid-mode=on quando executa o logon em um console. Novo pargrafo para introduzir congurao de servios. Reorganizao da seo Aps a instalao assim ela ser quebradas em diversos assuntos e ser facilmente lida. Escrever informaes sobre como congurar rewalls com a congurao padro da Debian 3.0 (pacote iptables). Pequeno pargrafo explicando porque a instalao conectada a Internet no uma boa idia e como evitar isto usando ferramentas da Debian. Pequeno pargrafo sobre patching referenciando um paper do IEEE. Apndice de como congurar uma mquina Debian com o snort, baseada no que Vladimir enviou para a lista de segurana debian-security (em 3 de Setembro de 2001) Informaes sobre como o logcheck congurado na Debian e como ele pode ser congurado para realizar HIDS. Informaes sobre contabilizao de usurios e anlise de pers. Includa a congurao do apt.conf para /usr somente leitura copiada da postagem de Olaf Meeuwissens para a lista de discusso debian-security. Nova seo sobre VPN com alguns ponteiros e pacotes disponveis na Debian (precisa contedo sobre como congurar VPNs e assuntos especcos da Debian), baseada na postagem de Jaroslaw Tabors e Samuli Suonpaas post na lista debian-security. Pequena nota com relao a alguns programas que podem construir automaticamente jaulas chroot. Novo tem da FAQ relacionado a ident, baseado em uma discusso na lista de discusso debian-security (em Fevereiro de 2002, iniciada por Johannes Weiss). Novo tem da FAQ com relao ao inetd baseada em uma discusso da lista de discusso debian-security (em Fevereiro de 2002). Introduzida uma nota ao rcconf na seo desabilitando servios. Variao da abordagem com relao a LKM, agradecimentos a Philipe Gaspar Adicionado ponteiros a documentos do CERT e recursos

Captulo 1. Introduo

19

1.6.24

Verso 1.99

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionado um novo tem da FAQ com relao ao tempo para se corrigir vulnerabilidades de segurana. Reorganizada as sees da FAQ. Iniciada a escrita de uma seo com relao a rewall na Debian GNU/Linux (pode ser um pouco alterada). Corrigidos problemas enviados por Matt Kraai Corrigidas informaes relacionadas a DNS Adicionadas informaes sobre o whisker e nbtscan na seo auditoria. Corrigidas algumas URLs incorretas

1.6.25

Verso 1.98

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionada uma nova seo sobre auditoria usando Debian GNU/Linux. Adicionadas informaes relacionadas ao daemon do nger a partir da lista de segurana.

1.6.26

Verso 1.97

Alteraes feitas por Javier Fernndez-Sanguino Pea. Corrigido o link para o Linux trustees Corrigidos problemas (patches de Oohara Yuuma e Pedro Zorzenon)

1.6.27

Verso 1.96

Alteraes feitas por Javier Fernndez-Sanguino Pea. Reorganizada a instalao e remoo de servios e adicionadas algumas novas notas. Adicionadas algumas notas com relao ao uso de vericadores de integridade como ferramentas de deteco de intruso. Adicionado um captulo com relao a assinatura de pacotes.

Captulo 1. Introduo

20

1.6.28

Verso 1.95

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionadas notas com relao a segurana no Squid enviada por Philipe Gaspar. Corrigido os links sobre rootkit agradecimentos a Philipe Gaspar.

1.6.29

Verso 1.94

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionadas algumas notas com relao ao Apache e o Lpr/lprng. Adicionadas mais informaes com relao as parties noexec e read-only. Reescrita a parte sobre como os usurios podem ajudar a Debian em assuntos relacionados a segurana (item da FAQ).

1.6.30

Verso 1.93

Alteraes feitas por Javier Fernndez-Sanguino Pea. Corrigida a localizao do programa mail. Adicionados alguns novos itens na FAQ.

1.6.31

Verso 1.92

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionada uma pequena seo sobre como a Debian trabalha com a segurana Esclarecimentos sobre as senhas MD5 (agradecimentos a rocky) Adicionadas mais informaes com relao ao harden-X de Stephen van Egmond Adicionados alguns novos itens a FAQ

Captulo 1. Introduo

21

1.6.32

Verso 1.91

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionadas mais informaes de forense enviadas por Yotam Rubin. Adicionadas informaes sobre como construir um honeypot usando a Debian GNU/Linux. Adicionados alguns TODOS a mais. Corrigidos mais problemas (agradecimentos a Yotam!)

1.6.33

Verso 1.9

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionado um patch para corrigir problemas de escrita e algumas informaes novas (contribudas por Yotam Rubin) Adicionadas referncias a outras documentaes online (e ofine) ambas na seo (veja Esteja ciente dos problemas gerais de segurana on page 25) e junto com o texto em outra sees. Adicionadas algumas informaes sobre a congurao de opes do Bind para restringir o acesso ao servidor DNS. Adicionadas informaes sobre como fortalecer automaticamente um sistema Debian (com relao ao pacote harden e o bastille). Removido alguns TODOs fechados e adicionados alguns novos.

1.6.34

Verso 1.8

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionada a lista padro de usurios/grupos fornecidas por Joey Hess a lista de discusso debian-security. Adicionadas informaes a respeito de root-kits LKM (Loadable Kernel Modules (LKM) on page 149) contribudo por Philipe Gaspar. Adicionada informao a respeito do Proftp contribudo por Emmanuel Lacour. Apndice de checklist recuperado de Era Eriksson. Adicionados alguns novos itens na lista TODO e removidos outros. Incluir manualmente os patches e Era pois nem todos foram includos na seo anterior.

Captulo 1. Introduo

22

1.6.35

Verso 1.7

Alteraes feitas por Era Eriksson. Correo de erros e alteraes de palavras Alteraes feitas por Javier Fernndez-Sanguino Pea. Pequenas mudanas em tags para manter a remoo de tags tt e sua substituio por tags prgn/package.

1.6.36

Verso 1.6

Alteraes feitas por Javier Fernndez-Sanguino Pea. Adicionado ponteiro para documentos como publicado na DDP (dever substituir o original em um futuro prximo). Iniciada uma mini-FAQ (dever ser expandida) com algumas questes recuperadas de minha caixa de mensagens. Adicionadas informaes gerais que devem ser consideradas durante a segurana. Adicionado um pargrafo relacionado a entrega de mensagens locais (entrada). Adicionadas algumas referncias a mais informaes. Adicionadas informaes com relao ao servio de impresso. Adicionada uma lista de checagem de fortalecimento de segurana. Reorganizadas as informaes a respeito de NIS e RPC. Adicionadas mais novas notas durante a leitura deste documento em meu novo visor :-) Corrigidas algumas linhas mal formatadas. Corrigidos alguns problemas. Adicionada a idia do Genus/Parania contribuda por Gaby Schilders.

1.6.37

Verso 1.5

Alteraes feitas por Josip Rodin e Javier Fernndez-Sanguino Pea. Adicionados pargrafos relacionados ao BIND e alguns FIXMEs.

Captulo 1. Introduo

23

1.6.38

Verso 1.4

Pequeno pargrafo sobre checagem de setuid Vrias pequenas limpezas Encontrado como usar o sgml2txt -f para fazer a verso texto

1.6.39

Verso 1.3

Adicionada uma atualizao de segurana aps o pargrafo de instalao Adicionado um pargrafo relacionado ao proftpd Agora realmente escrevia algo sobre o XDM, desculpe pelo atraso

1.6.40

Verso 1.2

Vrias correes gramaticais feitas por James Treacy, novo pargrafo sobre o XDM

1.6.41

Verso 1.1

Correo de erros, adies diversas

1.6.42

Verso 1.0

Lanamento inicial

1.7

Crditos e Agradecimentos!

Alexander Reelsen escreveu o documento original. Javier Fernndez-Sanguino adicionou mais informaes ao documento original. Robert van der Meulen forneceu pargrafos relacionados a quota e muitas boas idias. Ethan Benson corrigiu o pargrafo sobre PAM e adicionou boas idias. Dariusz Puchalak contribuiu com algumas informaes para vrios captulos. Gaby Schilders contribuiu com uma bela idia geniosa/paranica. Era Eriksson suavizou idiomas em vrios lugares e contribuiu com o apndice com a lista de checagens.

Captulo 1. Introduo

24

Philipe Gaspar escreveu detalhes sobre LKM. Yotam Rubin contribuiu com correes para muitos erros assim como com informaes relacionadas a verses do bind e senhas md5. Todas as pessoas que zeram sugestes para melhorias que (eventualmente) sero includas aqui (veja Alteraes/Histrico on page 6) (Alexander) todas as pessoas que me encorajaram a escrever este HOWTO (que mais adiante se tornou em um Manual). A todo o projeto Debian.

25

Captulo 2

Antes de voc iniciar2.1 Para que nalidade voc quer este sistema?

A segurana no Debian no to diferente da segurana em qualquer outro sistema; para implementar a segurana de maneira adequada, voc deve primeiro decidir o que voc pretende fazer com seu sistema. Aps isto, voc ter que considerar que as seguintes tarefas precisam ser executadas com cuidado se voc realmente quer ter um sistema seguro. Durante a leitura deste manual voc ver tarefas para fazer antes, durante e aps voc instalar seu sistema Debian. As tarefas so aes como: Decidir quais servios voc necessita e limitar o sistema a eles. Isto inclui desativar/desinstalar servios desnecessrios e adicionar ltros como rewall ou tcpwrappers. Limitar usurios e permisses em seu sistema. Proteger os servios oferecidos de modo que, em caso de problemas com um servio, o impacto em seu sistema seja minimizado. Utilizar ferramentas apropriadas para garantir que o uso desautorizado seja detectado, de modo que voc possa tomar as medidas apropriadas.

2.2

Esteja ciente dos problemas gerais de segurana

Este manual normalmente no entra em detalhes do porque algumas coisas so consideradas risco de segurana. Porm, voc deve procurar algum conhecimento a mais sobre segurana em sistemas UNIX e em sistemas Linux especicamente. Reserve algum tempo para ler alguns documentos sobre segurana, de modo que voc decida conscientemente quando se deparar com diferentes escolhas. O Debian baseado no kernel do Linux, ento voc deve procurar muita informao sobre kernel Linux, Debian, outras distribuies e sobre segurana UNIX (mesmo que as ferramentas usadas ou os programas disponveis sejam diferentes). Alguns documentos teis incluem:

Captulo 2. Antes de voc iniciar

26

O Linux Security HOWTO (http://www.tldp.org/HOWTO/Security-HOWTO/) (tambm disponvel em LinuxSecurity (http://www.linuxsecurity.com/docs/ LDP/Security-HOWTO.html)) uma das melhores referncias sobre Segurana Linux. O Security Quick-Start HOWTO for Linux (http://www.tldp.org/HOWTO/ Security-Quickstart-HOWTO/) tambm um excelente ponto de partida para usurios novos em Linux e em segurana. O Linux Security Administrators Guide (http://seifried.org/lasg/) (fornecido no Debian atravs do pacote lasg) um guia completo que aborda tudo relacionado a segurana Linux, da segurana do kernel at VPNs. importante observar que este guia no atualizado desde 2001, mas algumas informaes ainda so relevantes. 1 O Securing Linux Step by Step (http://seifried.org/security/os/linux/ 20020324-securing-linux-step-by-step.html) de Kurt Seifried. Em Securing and Optimizing Linux: RedHat Edition (http://www.tldp.org/ links/p_books.html#securing_linux) voc pode encontrar uma documentao similar a este manual mas relacionada ao Red Hat, alguns assuntos no so especcos de distribuio e podem ser aplicados tambm ao Debian. IntersectAlliance publicou alguns documentos que podem ser usados como referncia para reforar a segurana em servidores linux (e seus servios), os documentos esto disponveis em their site (http://www.intersectalliance.com/projects/index. html). Para administradores de rede, uma boa referncia para construir uma rede segura o Securing your Domain HOWTO (http://www.linuxsecurity.com/docs/LDP/ Securing-Domain-HOWTO/). Se voc quer avaliar os programas que pretende usar (ou quer construir seus prprios programas) voc deve ler o Secure Programs HOWTO (http://www.tldp.org/ HOWTO/Secure-Programs-HOWTO/) (uma cpia est disponvel em http://www. dwheeler.com/secure-programs/, ela inclui slides e comentrios do autor, David Wheeler) Se voc est considerando instalar um rewall, voc deve ler o Firewall HOWTO (http: //www.tldp.org/HOWTO/Firewall-HOWTO.html) e o IPCHAINS HOWTO (http: //www.tldp.org/HOWTO/IPCHAINS-HOWTO.html) (para kernels anteriores ao 2.4). Finalmente, uma boa fonte de consulta para manter em mos o Linux Security ReferenceCard (http://www.linuxsecurity.com/docs/QuickRefCard.pdf) Em qualquer caso, existe mais informao sobre os servios explanados aqui (NFS, NIS, SMB. . . ) em muitos HOWTOs de The Linux Documentation Project (http://www.tldp. org/). Alguns destes documentos falam em segurana relacionada a um determinado servio, ento certique-se de procurar com cuidado.1 Por um tempo ele foi substitudo pelo Linux Security Knowledge Base. Esta documentao era fornecida no Debian atravs do pacote lskb. Agora ela voltou ao pacote Lasg novamente.

Captulo 2. Antes de voc iniciar

27

Os documentos HOWTO do Projeto de Documentao do Linux (Linux Documentation Project) esto disponveis no Debian GNU/Linux atravs dos pacotes doc-linux-text (verso texto) ou doc-linux-html (verso html). Aps a instalao estes documetnos estaro disponveis em /usr/share/doc/HOWTO/en-txt e /usr/share/doc/HOWTO/en-html, respectivamente. Outros livros sobre Linux recomendados:

Maximum Linux Security : A Hackers Guide to Protecting Your Linux Server and Network. Annimo. Paperback - 829 pginas. Sams Publishing. ISBN: 0672313413. Julho 1999. Linux Security By John S. Flowers. New Riders; ISBN: 0735700354. Maro 1999 Hacking Linux Exposed (http://www.linux.org/books/ISBN_0072127732. html) de Brian Hatch. McGraw-Hill Higher Education. ISBN 0072127732. Abril, 2001.

Outros livros (que podem ser relacionados a assuntos sobre UNIX e segurana e no especicamente sobre Linux):

Practical Unix and Internet Security (2nd Edition) (http://www.ora.com/catalog/ puis/noframes.html) Garnkel, Simpson, and Spafford, Gene; OReilly Associates; ISBN 0-56592-148-8; 1004pp; 1996. Firewalls and Internet Security Cheswick, William R. and Bellovin, Steven M.; AddisonWesley; 1994; ISBN 0-201-63357-4; 320pp.

Alguns Web sites teis sobre segurana para manter-se atualizado:

NIST Security Guidelines (http://csrc.nist.gov/fasp/index.html). Security Focus (http://www.securityfocus.com) o servidor que hospeda o banco de dados e a lista do Bugtraq e fornece informaes gerais, notcias e relatrios sobre segurana. Linux Security (http://www.linuxsecurity.com/). Informaes gerais sobre segurana(ferramentas, notcias,. . . ). A pgina mais til main documentation (http: //www.linuxsecurity.com/resources/documentation-1.html) . Linux rewall and security site (http://www.linux-firewall-tools.com/ linux/). Informaes gerais sobre rewalls Linux e ferramentas para control-los e administr-los.

Captulo 2. Antes de voc iniciar

28

2.3

Como o Debian controla a segurana do sistema?

Agora que voc tem uma viso geral da segurana no Debian GNU/Linux observe mais algumas consideraes para construir um sistema seguro: Problemas do Debian so sempre discutidos abertamente, mesmo os relacionados a segurana. Problemas relacionados a segurana so discutidos abertamente na lista debian-security e so publicados no servidor como prev o Debian Social Contract (http://www.debian.org/social_contract): Ns no esconderemos problemas Ns manteremos nosso banco de dados de bugs e relatrios abertos ao pblico durante todo o tempo. Relatrios que os usurios enviarem estaro imediatamente on-line para que os outros tenham acesso. O Debian sempre procura corrigir os problemas de segurana. A equipe de segurana verica muitas fontes relacionadas a segurana, a mais importante sendo Bugtraq (http://www.securityfocus.com/cgi-bin/vulns.pl), sempre a procura de pacotes que aumentem a segurana e que possam ser includos. Atualizaes de seguranaa esto em primeira prioridade. Quando um problema aparece em um pacote Debian, a atualizao de segurana preparada o mais rpido possvel e includa nas distribuies estvel e instvel para todas as arquiteturas. Informaes sobre segurana esto centralizadas em http://security.debian. org/. O Debian est sempre tentando aumentar sua segurana atravs de novos projetos como o mecanismo automtico de vericao de assinatura dos pacotes. O Debian fornece um grande nmero de ferramentas de segurana para administrao de monitoramento do sistema. Desenvolvedores tentam integrar estas ferramentas com a distribuio para fazer um sistema opeacional cada vez mais seguro. Estas ferramentas incluem: vericao da integridade do sistema, rewall, deteco de intrusos, etc. Mantenedores de pacote esto cientes dos problemas de segurana. Isto leva a pensar que algumas restries poderiam ser impostas para alguns servios em seu uso normal. O Debian, porm, tenta balancear segurana e facilidade de administrao - os programas no so desativados quando voc os instala (como o caso nas distribuies da famlia BSD). Em qualquer caso, implementaes de segurana tipo programas setuid so parte da poltica Debian Policy (http://www.debian.org/doc/debian-policy/). Publicando informaes de segurana especca para o Debian e complementando outros documentos relacionados a segurana (veja Esteja ciente dos problemas gerais de segurana on page 25), este documento ajuda a produzir sistemas mais seguros.

29

Captulo 3

Antes e durante a instalao3.1 Escolha uma senha para a BIOS

Antes de instalar qualquer sistema operacional em seu computador, congure uma senha para a BIOS. Aps a instalao (uma vez que voc tenha habilitado o boot a partir do HD) voc deve voltar a BIOS e alterar a sequncia de boot desabilitando o boot a partir do disquete (oppy), cdrom e outros dispositivos. Se voc no zer assim, um cracker s precisar de acesso fsico e um disco de boot para acessar o sistema inteiro. Desabilitar o boot a menos que uma senha seja fornecida bem melhor. Isto pode ser muito ecaz num servidor, porque ele no reiniciado constantemente. A desvantagem desta ttica que o reincio exige interveno humana, o que pode causar problemas se a mquina no for facilmente acessvel. Observao: muitas BIOS vem de fbrica com senhas padro bem conhecidas e existem programas que recuperam estas senhas, ou seja, alteram a senha atual para a senha original, para o caso de uma perda da senha pelo administrador. Assim, no dependa desta medida para proteger o acesso ao sistema.

3.23.2.1

Particionando o sistemaEscolha um esquema de partio inteligente

Um esquema de partio inteligente depende de como a mquina ser usada. Uma boa regra ser razoavelmente generoso com suas parties e prestar ateno aos seguintes fatores: Qualquer diretrio que um usurio tenha permisses de escrita, como o /home, /tmp e o /var/tmp/, devem estar separados em uma partio. Isto reduz o risco de um usurio malicioso utilizar o DoS (Denial of Service) para encher seu diretrio raiz ( / ) e tornar o sistema inutilizvel (Observao: isto no totalmente verdade uma vez que

Captulo 3. Antes e durante a instalao

30

sempre existe algum espao reservado para o usurio root que o usurio normal no pode preencher), e tambm previne ataques tipo hardlink. 1 Qualquer partio com dados variveis, isto , /var (especialmente /var/log) tambm deve estar numa partio separada. Em um sistema Debian voc deve criar /var um pouco maior que em outros sistemas porque o download de pacotes (cache do apt) armazenado em /var/cache/apt/archives. Qualquer partio onde voc queira instalar software que no padro da distribuio deve estar separada. De acordo com a Hierarquia Padro do Sistema de Arquivos, estas so /opt ou /usr/local. Se estas parties esto separadas, elas no sero apagadas se voc (tiver que) reinstalar o Debian. Do ponto de vista da segurana, sensato tentar mover os dados estticos para sua prpria partio e ento montar esta partio somente para leitura. Melhor ainda ser colocar os dados numa mdia somenta para leitura. Veja abaixo para mais detalhes. No caso de um servidor de email importante ter uma partio separada para o spool de email. Usurios remotos (conhecidos ou no) podem encher o spool de email (/var/mail e/ou /var/spool/mail). Se o spool est em uma partio separada, esta situao no tornar o sistema inutilizvel. Porm (se o diretrio de spool est na mesma partio que /var) o sistema pode ter srios problemas: log no sero criados, pacotes podem no ser instalados e alguns programas podem ter problemas ao iniciar (se eles usam /var/run). Para parties que voc no tem certeza do espao necesrio, voc pode instalar o Logical Volume Manager (lvm-common e os binrios necessrio para o kernel, estes podem ser lvm10, lvm6, ou lvm5). Usando lvm, voc pode criar grupos de volume que expandem mltiplos volumes fsicos. Escolhendo o sistema de arquivos apropriado Durante o particionamento do sistema voc tambm tem que decidir qual sistema de arquivos usar. O sistema de arquivos padro em uma instalao Debian para parties Linux o ext2. Porm recomendado alterar para um sistema de arquivos journalling como ext3, reiserfs, jfs ou xfs, para minimizar os problemas derivados de uma quebra do sistema nos seguintes casos: Para laptops em todos os sistemas de arquivos instalados. Assim se acabar a bateria inesperadamente ou o sistema congelar voc correr menos risco de perda de dados durante a reinicializao do sistema.Um bom exemplo deste tipo de ataque usando /tmp detalhado em The mysteriously persistently exploitable program (contest) (http://www.hackinglinuxexposed.com/articles/20031111.html) e The mysteriously persistently exploitable program explained (http://www.hackinglinuxexposed.com/articles/ 20031214.html) (Observe que o incidente um relato Debian) Ele basicamente um ataque no qual um usurio local usa uma aplicao setuid vulnervel atravs de um hard link para ela analisando qualque atualizao (ou remoo) do prprio binrio feita pelo administrador do sistema. Dpkg foi recentemente corrigido para prevenir isto (veja 225692 (http://bugs.debian.org/225692)) mas outros binrios setuid (no controlados pelo gerenciador de pacotes) correm o risco se as parties no estiverem conguradas corretamente.1

Captulo 3. Antes e durante a instalao

31

para sistemas que armazenam grande quantidade de dados (como servidores de email, servidores ftp, sistemas de arquivos de rede . . . .). Assim, em caso de queda, menos tempo ser gasto para o servidor checar o sistema de arquivos e a probabilidade da perda de dados ser menor.

Deixando de lado a performance dos sistemas journalling (uma vez que isto pode iniciar uma verdadeira guerra), normalmente melhor usar o ext3. A razo para isto que ele compatvel com o antigo ext2, assim se existe alguma parte do seu sistema com journalling voc pode desabilitar este recurso e ainda ter um sistema em condies de trabalhar. Tambm, se voc precisar recuperar o sistema com um disco de boot (ou CDROM) voc no precisa personalizar o kernel. Se o kernel 2.4, o suporte a ext3 j est disponvel, se um kernel 2.2 voc ser capaz de iniciar o sistema de arquivos mesmo se perder as capacidades journalling. Se voc estiver usando outro sisteama journalling diferente do ext3, voc pode no ser capaz de recuperar o sistema a menos que voc tenha um kernal 2.4 com os mdulos necessrios instalados. Se seu disco de resgate tem o kernel 2.2 pode ser mais difcil acessar sistemas reiserfs ou xfs. Em qualquer caso, a integridade dos dados pode ser melhor usando ext3 uma vez que ele usa le-data journalling enquanto outros usam apenas meta-data journalling, veja http://lwn. net/2001/0802/a/ext3-modes.php3.

3.3

No conecte-se a internet at estar pronto

O sistema no deve ser imediatamente conectado a internet durante a instalao. Isto pode parecer estpido mas intalao via internet um mtodo comum. Uma vez que o sistema instalar e ativar servios imediatamente, se o sistema estiver conectado a internet e os servios no estiverem adequadamente congurados, voc estar abrindo brechas para ataques. Observe tambm que alguns servios podem ter vulnerabilidades de segurana no corrigidas nos pacotes que voc estiver usando para a instalao. Isto normalmente ser verdade se voc estiver instalando a partir de mdia antiga (como CD-ROMs). Neste caso, o sistema poderia estar comprometido antes de terminar a instalao! Uma vez que a instalao e atualizaes do Debian podem ser feitas pela internet voc pode pensar que uma boa idia usar este recurso na instalao. Se o sistema est diretamente conectado (e no est protegido por um rewall ou NAT), melhor instalar sem conexo com a grande rede usando um mirror local com os pacotes do Debian e as atualizaes de segurana. Voc pode congurar mirrors de pacotes usando outro sistema conectado com ferramentas especcas do Debian (se ele um sistema tipo Debian) como apt-move ou apt-proxy, ou outras, para fornecer os arquivos para o sistema instalado. Se no puder fazer isto, voc pode congurar regras de rewall para limitar o acesso ao sistema enquanto estiver atualizando (veja Atualizao de segurana protegida por um rewall on page 205).

Captulo 3. Antes e durante a instalao

32

3.4

Congure a senha do root

Congurar uma boa senha para o root o requerimento mais bsico para ter um sistema seguro. Veja passwd(1) para mais dicas de como criar boas senhas. Voc tambm pode usar um programa gerador de senhas para fazer isto para voc (veja Gerando senhas de usurios on page 57). Muita informao sobre a escolha de boas senhas pode ser encontrada na internet; dois locais que fornecem um sumrio decente e racional so How to: Pick a Safe Password (http:// wolfram.org/writing/howto/password.html) do Eric Wolfram e Unix Password Security (http://www.ja.net/CERT/Belgers/UNIX-password-security.html) do Walter Belgers.

3.5

Ative os recursos senhas shadow e senhas MD5

No nal da instalao, voc ser perguntado se senhas shadow deve ser habilitada. Responda sim (yes), ento as senhas sero mantidas no arquivo /etc/shadow. Apenas o root e o grupo shadow ter acesso de leitura a estes arquivo, assim nenhum usurio ser capaz de pegar uma cpia deste arquivo para rodar um cracker de senhas nele. Voc pode alternar entre senhas shadows e senhas normais a qualquer hora usando shadowconfig. Leia mais sobre senhas Shadow em Shadow Password (http://www.tldp.org/ HOWTO/Shadow-Password-HOWTO.html) (/usr/share/doc/HOWTO/en-txt /Shadow-Password.txt.gz). Alm disso, voc perguntado durante a insatalao se quer usar senhas MD5 .. Isto geralmente uma boa idia uma vez que permite senhas longas e melhor encriptao. MD5 permite o uso de senhas com mais de 8 caracteres. Isto, se usado sabiamente, pode tornar mais difcil ataques as senhas do sistema. MD5 a opo padro quando instalando a ltima verso do pacote password. Voc pode alterar isto a qualquer hora aps a instalao executando dpkg-reconfigure -priority=low passwd. Voc pode reconhecer senhas md5 no arquivo /etc/shadow pelo prexo $1$. Isto modica todos arquivos sob /etc/pam.d pela substituio da linha de senha e incluso do md5 nela:

password requer pam_unix.so md5 nullok obscure min=6 max=16

Se max no est congurado para mais de 8 a alterao no ser til. Para mais informaes leia Autenticao do Usurio: PAM on page 47. Observao: o padro de congurao do Debian, mesmo quando ativada a senha MD5, no modica o valor max previamente congurado.

Captulo 3. Antes e durante a instalao

33

3.6

Rode o mnimo de servios necessrios

Servios so programas como servidores ftp e servidores web. Uma vez que eles tem que estar escutando por conexes que requisitem o servio, computadores externos podem conectar-se a eles. Servios algumas vezes so vulnerveis (i.e. podem estar comprometidos sobre um certo ataque) e oferecem risco a segurana. Voc no deve instalar servios que no so necessrios em sua mquina. Todo servio instalado pode introduzir novos, talvez no bvios ou conhecidos, buracos de segurana em seu computador. Como voc j deve saber, quando voc instala um servio o padro ele ser ativado. Em uma instalao Debian padro, sem nenhum servio a mais instalado, o footprint de servios rodando baixo mesmo quando falamos de servios oferecidos para a rede. o footprint no Debian 2.1 no to rme quanto no Debian 2.2 (alguns servios do inetd foram habilitados por padro) e no Debian 2.2 o rpc portmapper habilitado logo aps a installation. Rpc instalado por padro porque ele necessrio para muitos servios, NFS por exemplo. Ele pode ser facilmente removido, porm, veja Desabilitando daemons de servio on this page como desabilit-lo. Quando voc instala um novo servio de rede (daemon) em seu sistema Debian GNU/Linux ele pode ser habilitado de duas maneiras: atravs do superdaemon inetd (uma linha ser adicionada ao /etc/inetd.conf) ou atravs de um programa que serve de interface. Estes programas so controlados pelos arquivos /etc/init.d, que so chamados no momento da inicializao atravs do mecanismo SysV (ou outro alternativo) pelo uso de symlinks em /etc /rc?.d/* (para mais informaes de como isto feito leia /usr/share/doc/sysvinit /README.runlevels.gz). Se voc quer manter algum servio, mas que ser usado raramente, use os comandos update, isto , update-inetd e update-rc.d para remov-los do processo de inicializao.

3.6.1

Desabilitando daemons de servio

Desabilitar um daemon de servio simples. Existem vrios mtodos: remover ou renomear os links de /etc/rc${runlevel}.d/ de modo que eles no iniciem com a letra S mover ou renomear o script /etc/init.d/_service_name_ pra outro nome, por exemplo /etc/init.d/OFF._service_name_ remover a permisso de execuo do arquivo /etc/init.d/_service_name_. editar o script /etc/init.d/_service_name_ para parar o servio imediatamente. Voc pode remover os links de /etc/rc${runlevel}.d/ manualmente ou usando update-rc.d (veja update-rc.d(8)). Por exemplo, voc pode desabilitar um servio do runlevel multiusurio executando:

Captulo 3. Antes e durante a instalao

34

update-rc.d stop XX 2 3 4 5 . Observe que, se voc no


Recommended