SlideShare una empresa de Scribd logo
1 de 41
Hardening Linux
                          Práticas para manter um servidor seguro




                                      Hugo Doria
                                        @hdoria
                                   http://hdoria.com
                                    hdoria@me.com
sábado, 29 de outubro de 11
HUGO QUEM?
                     • Administrador de Sistemas
                     • Desenvolvedor do Arch Linux
                     • Criador do HnTool, PacUpdate e outras
                              ferramentas
                     • POGamador nas horas vagas
                     • Pai coruja
sábado, 29 de outubro de 11
sábado, 29 de outubro de 11
sábado, 29 de outubro de 11
sábado, 29 de outubro de 11
Incidentes Reportados ao CERT




                                  Fonte: cert.org, 2010
sábado, 29 de outubro de 11
Incidentes Reportados ao CERT

                                                                                            400000



                                                                                           300000



                                                                                           200000



                                                                                       100000

                       1999 2000
                                   2001 2002
                                               2003 2004                               0
                                                         2005 2006
                                                                   2007 2008
                                                                             2009 2010

                                                   Fonte: cert.org, 2010
sábado, 29 de outubro de 11
Hardening é o mapeamento de ameaças e
                  execução de atividades corretivas com o
               objetivo de fortalecer o sistema operacional.




sábado, 29 de outubro de 11
Mas amor, como eu
                               posso fazer esse
                              fortalecimento? :B




sábado, 29 de outubro de 11
Planejamento

                     • Quais serviços serão instalados?
                     • Qual a disponibilidade necessária?
                     • Qual a carga que devo suportar?
                     • Quem deve ter acesso?
                     • E se algo der errado?

sábado, 29 de outubro de 11
Princípios Básicos

                     • Desinstalar softwares desnecessários
                     • Desabilitar serviços (# netstat -nltup)
                     • Desabilitar o login remoto de root
                     • Manter o sistema sempre atualizado
                     • Política de senhas fortes

sábado, 29 de outubro de 11
acesso físico = problema




sábado, 29 de outubro de 11
Protegendo o GRUB
                    # grub
                    grub> md5crypt
                    Password: ******
                    Encrypted: $1$2FXKzQ0$I6k7iy22wB27CrkzdVPe70



               # vi /boot/grub/menu.lst
               passwd --md5 $1$2FXKzQ0$I6k7iy22wB27CrkzdVPe70


sábado, 29 de outubro de 11
SUID/SGID
                         SUID:
                                 # find / -perm -4000


                         SGID:
                                 # find / -perm -2000


sábado, 29 de outubro de 11
Sistemas de Arquivos


                              Retirar permissões no /etc/fstab




sábado, 29 de outubro de 11
Sistemas de Arquivos

                       OPÇÃO                      DESCRIÇÃO

                              nodev     não interpreta dispositivos físicos

                          noexec       não permite a execução de binários

                              nosuid      não é permitido setar o suid

                               ro       filesystem como somente leitura



sábado, 29 de outubro de 11
Sistemas de Arquivos

        Montando o /home com segurança:
          /dev/sda2 /home ext4 noexec,nodev,nosuid 0 2

        Montando o /tmp com segurança:
             /dev/sda3 /tmp ext4 noexec,nodev,nosuid 0 2



sábado, 29 de outubro de 11
SSH



sábado, 29 de outubro de 11
SSH

                              PermitRootLogin Yes




sábado, 29 de outubro de 11
SSH

                              PermitRootLogin No




sábado, 29 de outubro de 11
SSH

                                PermitRootLogin No

                              PermitEmptyPasswords Yes




sábado, 29 de outubro de 11
SSH

                                PermitRootLogin No

                              PermitEmptyPasswords No




sábado, 29 de outubro de 11
SSH

                                PermitRootLogin No

                              PermitEmptyPasswords No

                                    Protocol 1,2



sábado, 29 de outubro de 11
SSH

                                PermitRootLogin No

                              PermitEmptyPasswords No

                                    Protocol 2



sábado, 29 de outubro de 11
SSH

                                  PermitRootLogin No

                               PermitEmptyPasswords No

                                       Protocol 2

                              AllowUsers/AllowGroups a b c

sábado, 29 de outubro de 11
SSH
                                        Port 22

                                  PermitRootLogin No

                               PermitEmptyPasswords No

                                       Protocol 2

                              AllowUsers/AllowGroups a b c

sábado, 29 de outubro de 11
SSH
                                        Port 8022

                                  PermitRootLogin No

                               PermitEmptyPasswords No

                                       Protocol 2

                              AllowUsers/AllowGroups a b c

sábado, 29 de outubro de 11
SSH

                              Usar chave de autenticação!!!




sábado, 29 de outubro de 11
Logout automático

                              # vi /etc/profile
                              TMOUT=1200
                              HISTSIZE=100




sábado, 29 de outubro de 11
PROFTPD



sábado, 29 de outubro de 11
PROFTPD

                              MaxLoginAttemps 3

                                RootLogin No

                                ServerIdent No

                                DefaultRoot ˜



sábado, 29 de outubro de 11
Ferramentas
                               Auxiliares



sábado, 29 de outubro de 11
Ferramentas
                               Auxiliares
                     • SELinux
                      • http://selinux.sourceforge.net
                     • GrSecurity
                      • http://www.grsecurity.net
                     • PaX Project
                      • http://pax.grsecurity.net/
sábado, 29 de outubro de 11
Bastille




                              http://bastille-linux.sourceforge.net/
sábado, 29 de outubro de 11
Nessus




                              http://www.nessus.org/
sábado, 29 de outubro de 11
HnTool




                              http://hntool.net/
sábado, 29 de outubro de 11
Conclusão

                     • Má configuração = problema
                     • Necessidade de hardening
                     • Tarefa constante!
                     • Criação de uma nova ferramenta de
                              segurança!



sábado, 29 de outubro de 11
Referências




sábado, 29 de outubro de 11
Referências




sábado, 29 de outubro de 11
Referências




sábado, 29 de outubro de 11
sábado, 29 de outubro de 11

Más contenido relacionado

La actualidad más candente

La actualidad más candente (6)

Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Lab ect 02 pt
Lab ect 02 ptLab ect 02 pt
Lab ect 02 pt
 
Permissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos LinuxPermissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos Linux
 
Criando pacotes para o Arch Linux
Criando pacotes para o Arch LinuxCriando pacotes para o Arch Linux
Criando pacotes para o Arch Linux
 
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COMTutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
 
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
Tutorial: Instalação de Ubuntu em uma Gumstix OveroTutorial: Instalação de Ubuntu em uma Gumstix Overo
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
 

Destacado

Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Bruno Alexandre
 
ITEC Catálogo/Catalog 2013/2014 » PT EN ES
ITEC Catálogo/Catalog 2013/2014 » PT EN ESITEC Catálogo/Catalog 2013/2014 » PT EN ES
ITEC Catálogo/Catalog 2013/2014 » PT EN ESi-TEC
 
Unidade 5 hardening-linux
Unidade 5  hardening-linuxUnidade 5  hardening-linux
Unidade 5 hardening-linuxLeandro Almeida
 
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSLPalestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSLfgsl
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores LinuxAlessandro Silva
 

Destacado (6)

Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
 
ITEC Catálogo/Catalog 2013/2014 » PT EN ES
ITEC Catálogo/Catalog 2013/2014 » PT EN ESITEC Catálogo/Catalog 2013/2014 » PT EN ES
ITEC Catálogo/Catalog 2013/2014 » PT EN ES
 
Unidade 5 hardening-linux
Unidade 5  hardening-linuxUnidade 5  hardening-linux
Unidade 5 hardening-linux
 
Segurança Linux
Segurança LinuxSegurança Linux
Segurança Linux
 
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSLPalestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 

Similar a Hardening linux

PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e MemcacheAndre Golvea
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 
Introducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneIntroducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneFabiano Weimar
 
Desenvolvendo com Segurança em PHP
Desenvolvendo com Segurança em PHPDesenvolvendo com Segurança em PHP
Desenvolvendo com Segurança em PHPCampus Party Brasil
 
Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linuxhdoria
 
SELinux for Everyday SysAdmins - FISL 10
SELinux for Everyday SysAdmins - FISL 10SELinux for Everyday SysAdmins - FISL 10
SELinux for Everyday SysAdmins - FISL 10guest552ebe
 
SE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsSE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsUlisses Castro
 
E no Sétimo dia ele escreveu testes
E no Sétimo dia ele escreveu testesE no Sétimo dia ele escreveu testes
E no Sétimo dia ele escreveu testesRafael Dohms
 

Similar a Hardening linux (11)

PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e Memcache
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Introducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneIntroducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo Plone
 
Unidade5 roteiro
Unidade5 roteiroUnidade5 roteiro
Unidade5 roteiro
 
Unidade5 roteiro
Unidade5 roteiroUnidade5 roteiro
Unidade5 roteiro
 
Seguranca Em Php
Seguranca Em PhpSeguranca Em Php
Seguranca Em Php
 
Desenvolvendo com Segurança em PHP
Desenvolvendo com Segurança em PHPDesenvolvendo com Segurança em PHP
Desenvolvendo com Segurança em PHP
 
Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linux
 
SELinux for Everyday SysAdmins - FISL 10
SELinux for Everyday SysAdmins - FISL 10SELinux for Everyday SysAdmins - FISL 10
SELinux for Everyday SysAdmins - FISL 10
 
SE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsSE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdmins
 
E no Sétimo dia ele escreveu testes
E no Sétimo dia ele escreveu testesE no Sétimo dia ele escreveu testes
E no Sétimo dia ele escreveu testes
 

Hardening linux

  • 1. Hardening Linux Práticas para manter um servidor seguro Hugo Doria @hdoria http://hdoria.com hdoria@me.com sábado, 29 de outubro de 11
  • 2. HUGO QUEM? • Administrador de Sistemas • Desenvolvedor do Arch Linux • Criador do HnTool, PacUpdate e outras ferramentas • POGamador nas horas vagas • Pai coruja sábado, 29 de outubro de 11
  • 3. sábado, 29 de outubro de 11
  • 4. sábado, 29 de outubro de 11
  • 5. sábado, 29 de outubro de 11
  • 6. Incidentes Reportados ao CERT Fonte: cert.org, 2010 sábado, 29 de outubro de 11
  • 7. Incidentes Reportados ao CERT 400000 300000 200000 100000 1999 2000 2001 2002 2003 2004 0 2005 2006 2007 2008 2009 2010 Fonte: cert.org, 2010 sábado, 29 de outubro de 11
  • 8. Hardening é o mapeamento de ameaças e execução de atividades corretivas com o objetivo de fortalecer o sistema operacional. sábado, 29 de outubro de 11
  • 9. Mas amor, como eu posso fazer esse fortalecimento? :B sábado, 29 de outubro de 11
  • 10. Planejamento • Quais serviços serão instalados? • Qual a disponibilidade necessária? • Qual a carga que devo suportar? • Quem deve ter acesso? • E se algo der errado? sábado, 29 de outubro de 11
  • 11. Princípios Básicos • Desinstalar softwares desnecessários • Desabilitar serviços (# netstat -nltup) • Desabilitar o login remoto de root • Manter o sistema sempre atualizado • Política de senhas fortes sábado, 29 de outubro de 11
  • 12. acesso físico = problema sábado, 29 de outubro de 11
  • 13. Protegendo o GRUB # grub grub> md5crypt Password: ****** Encrypted: $1$2FXKzQ0$I6k7iy22wB27CrkzdVPe70 # vi /boot/grub/menu.lst passwd --md5 $1$2FXKzQ0$I6k7iy22wB27CrkzdVPe70 sábado, 29 de outubro de 11
  • 14. SUID/SGID SUID: # find / -perm -4000 SGID: # find / -perm -2000 sábado, 29 de outubro de 11
  • 15. Sistemas de Arquivos Retirar permissões no /etc/fstab sábado, 29 de outubro de 11
  • 16. Sistemas de Arquivos OPÇÃO DESCRIÇÃO nodev não interpreta dispositivos físicos noexec não permite a execução de binários nosuid não é permitido setar o suid ro filesystem como somente leitura sábado, 29 de outubro de 11
  • 17. Sistemas de Arquivos Montando o /home com segurança: /dev/sda2 /home ext4 noexec,nodev,nosuid 0 2 Montando o /tmp com segurança: /dev/sda3 /tmp ext4 noexec,nodev,nosuid 0 2 sábado, 29 de outubro de 11
  • 18. SSH sábado, 29 de outubro de 11
  • 19. SSH PermitRootLogin Yes sábado, 29 de outubro de 11
  • 20. SSH PermitRootLogin No sábado, 29 de outubro de 11
  • 21. SSH PermitRootLogin No PermitEmptyPasswords Yes sábado, 29 de outubro de 11
  • 22. SSH PermitRootLogin No PermitEmptyPasswords No sábado, 29 de outubro de 11
  • 23. SSH PermitRootLogin No PermitEmptyPasswords No Protocol 1,2 sábado, 29 de outubro de 11
  • 24. SSH PermitRootLogin No PermitEmptyPasswords No Protocol 2 sábado, 29 de outubro de 11
  • 25. SSH PermitRootLogin No PermitEmptyPasswords No Protocol 2 AllowUsers/AllowGroups a b c sábado, 29 de outubro de 11
  • 26. SSH Port 22 PermitRootLogin No PermitEmptyPasswords No Protocol 2 AllowUsers/AllowGroups a b c sábado, 29 de outubro de 11
  • 27. SSH Port 8022 PermitRootLogin No PermitEmptyPasswords No Protocol 2 AllowUsers/AllowGroups a b c sábado, 29 de outubro de 11
  • 28. SSH Usar chave de autenticação!!! sábado, 29 de outubro de 11
  • 29. Logout automático # vi /etc/profile TMOUT=1200 HISTSIZE=100 sábado, 29 de outubro de 11
  • 30. PROFTPD sábado, 29 de outubro de 11
  • 31. PROFTPD MaxLoginAttemps 3 RootLogin No ServerIdent No DefaultRoot ˜ sábado, 29 de outubro de 11
  • 32. Ferramentas Auxiliares sábado, 29 de outubro de 11
  • 33. Ferramentas Auxiliares • SELinux • http://selinux.sourceforge.net • GrSecurity • http://www.grsecurity.net • PaX Project • http://pax.grsecurity.net/ sábado, 29 de outubro de 11
  • 34. Bastille http://bastille-linux.sourceforge.net/ sábado, 29 de outubro de 11
  • 35. Nessus http://www.nessus.org/ sábado, 29 de outubro de 11
  • 36. HnTool http://hntool.net/ sábado, 29 de outubro de 11
  • 37. Conclusão • Má configuração = problema • Necessidade de hardening • Tarefa constante! • Criação de uma nova ferramenta de segurança! sábado, 29 de outubro de 11
  • 41. sábado, 29 de outubro de 11