1 / 30

Hardening No ambiente GNU/Linux

Alberto Viegas alberto.viegas@l7consult.com.br. Hardening No ambiente GNU/Linux. Processo de fortificação do sistema operacional, aplicando técnicas especificas de controle. Definição de “Hardening”. Não adianta confiar na técnica: Next > Next > Finish. O pós instalação é fundamental.

ksena
Download Presentation

Hardening No ambiente GNU/Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alberto Viegas alberto.viegas@l7consult.com.br HardeningNo ambiente GNU/Linux

  2. Processo de fortificação do sistema operacional, aplicando técnicas especificas de controle Definição de “Hardening”

  3. Não adianta confiar na técnica: Next > Next > Finish O pós instalação é fundamental.

  4. Ajuste Fino Blindar o Sistema Operacional Sistema à prova de Balas ! Lembre-se: É fundamental conhecer o Sistema Operacional. Objetivo

  5. Importante • Seguir as normas (ISO17799 e ISO 27001)‏ • Guia de referência para boas práticas dos processos e gestão da Segurança da Informação Corporativa. • Controle de acesso (Físico e Lógico)‏ • Políticas • Processos (gestão da continuidade de negócio)‏

  6. Mas o Linux não é Seguro ?

  7. Qual distribuição devemos usar ?

  8. As boas práticas de instalações aconselham a particionar  o  disco  e  colocar  os  principais diretórios nestas partições.  Planejamento do Esquema de particionamento

  9. Planejamento da partição • Padronização dos pontos de montagens no /etc/fstab • [dispositivo] /boot ext3 defaults,nosuid,nodev 0 2 • [dispositivo] / ext3 defaults 0 1 • [dispositivo] /home ext3 defaults,nosuid,nodev,noexec,usrquota,grpquota 0 2 • [dispositivo] /tmp ext3 defaults,nosuid,nodev,noexec 0 2 • [dispositivo] /usr ext3 defaults,nosuid 0 2 • [dispositivo] /var ext3 defaults,nosuid,noexec 0 2 • [dispositivo] /var/log ext3 defaults,nosuid,noexec,noatime 0 2

  10. Algumas práticas necessárias, pós-instalação. Práticas

  11. Passo 1 • Atualização e adequação dos pacotes instalados no Linux • Implementar e documentar procedimentos de gerenciamento de patchs. • Garantir a autenticidade dos pacotes a serem atualizados. • Levantar pacotes e remover os desnecessários • # dpkg –get-selections > Pacotes_base_Debian.txt • # rpm -qa > Pacotes_base_RedHat.txt

  12. Passo 2 • Serviços na Inicialização • Avaliar quais serviços são necessários para o funcionamento do sistema • Para a inicialização automática dos serviços desnecessários. • Obs:Cuidado com serviços essenciais, como por exemplo: ssh, cron, syslog, network, etc.

  13. Passo 2 • Serviços na Inicialização • Baseados em RedHat • Chkconfig servico off • Baseados em Debian • update-rc.d -f servico remove • Lista portas, serviços • Independente de plataforma • Netstat -tupan • lsof

  14. Passo 3 • Acesso remoto para administrar • TELNET (Nem por cross-over)‏ • Inseguro, não garante confidencialidade • Usar o OpenSSH • Protocolo mais seguro • Devemos realizar um “hardening” próprio.

  15. Passo 4 • Para transferência de arquivos • FTP (No último caso)‏ • Inseguro, não garante confidencialidade • Colocar em modo CHROOT • Usar o OpenSSH (scp)‏ • Protocolo mais seguro • Devemos realizar um “hardening” próprio.

  16. Passo 5 • Desabilitar a ré-inicialização do sistema operacional através do teclado • Junção das teclas CTRL+ALT+DEL • Elimina a probabilidade de indisponibilidade do serviço de atacantes com acesso físico ao servidor • Comentar no /etc/inittab • # ca::crtlaltdel:/bin/shutdown -r -t 4 now

  17. Passo 6 • Obrigar a autenticação em modo mono-usuário (linux single)‏ • No /etc/inittab • ~~:S:respawn:/sbin/sulogin

  18. Passo 7 • Aumento do tempo de espera após tentativa fracassada de autenticação • No /etc/login.defs • FAIL_DELAY 15

  19. Passo 8 • Habilitar registro de logins e tentativas de logins fracassadas • Auxilia na detecção de ataquesde força bruta; • Habilita registro de tentativas fracassadas em login em /var/log/faillog • FAILLOG_ENAB yes • Habilita registro de login utilizando usuários inexistentes • LOG_UNFAIL_ENAB yes

  20. Passo 8 • Habilitar registro de logins e tentativas de logins fracassadas • Habilita registro de logins no sistema juntamente com data/hora associada (lastlog), em /etc/pam.d/login • Session option pam_lastlog.so

  21. Passo 9 • Adequação do acesso SSH • Desabilitar login como root • PermitRootLogin no • Usar a versão 2 do protocolo que é mais segura • Protocol 2 • Desabilitar o forward de portas • AllowTcpForwarding no • X11Forwarding no

  22. Passo 10 • Desabilitar as autenticações baseadas em confiança entre os hosts • IgnoreRhosts yes • HostbasedAuthentication no • RhostsRSAAuthentication no

  23. Passo 11 • Limitar acesso do root nas consoles virtuais • Alterar no /etc/securetty • Variáveis de Ambiente • Configuração de algumas variáveis de ambiente especiais, declara no arquivos (/etc/profile)‏ • HISTSIZE=10 • TMOUT=3600 • export TMOUT • HISTSIZE • #source /etc/profile

  24. Passo 11 • Remoção dos Bits Especiais • Removendo os SUIDs e GIDs do sistema ... • Mantendo o SU e passwd . • Lista dos arquivos atuais com os SUIDs e SGIDs do sistema, depois remove as BITs especiais e habilita para o SU e o PASSWD • find / -type f -perm -4000 -o -perm -2000 > /tmp/suids_gids.log • chmod a-s `find / -type f -perm -4000 -o -perm -2000` • chmod a+s /usr/bin/passwd • chmod a+s /bin/su

  25. Passo 12 • Configuração de limite máximo de processos criados por usuários: • Evita ataques de exaustão de recursos; • Paradas inesperadas; • Em /etc/security/limits.conf • @usuarios hard nproc 200 Comando que derruba mesmo:

  26. Passo 13 • Alteração no Banner de apresentação do Sistema, altere os arquivo: • /etc/issue • /etc/issue.net • /etc/motd • /etc/motd.tail (Nas distros baseadas em Debian)‏

  27. Hardening no Kernel • Security-Enhanced Linux (SELinux)‏ • http://selinux.sourceforge.net • GRSecurity • http://www.grsecurity.net • Pax Project • http://pax.grsecurity.net

  28. É um completo sistema de segurança para Linux 2.4.x e 2.6.x, possuindo como características: GRSecurity • Proteção a buffer over flow • Auditoria de Kernel • Controle de Acesso (ACL)‏ • Proteção sobre qualquer forma de modificar bugs de endereço de memórias

  29. Administradores de rede sabem que qualquer software ou tecnologia está passível a ter falhas de segurança. Sempre vai existir uma brecha que poderá ser explorada por criminosos digitais.

  30. A batalha começou !

More Related