SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
Customizando Slackware
PPTX
Kubuntu filipe simao n11 12 l
PDF
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
ODP
Linux4all#1
PDF
Minicurso Slackware - Alexsandro Henrique
KEY
Mini-curso de linux básico
PPTX
Sistemas operativos - Arch Linux
PDF
E no Sétimo dia ele escreveu testes - Seminario PHP
Customizando Slackware
Kubuntu filipe simao n11 12 l
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Linux4all#1
Minicurso Slackware - Alexsandro Henrique
Mini-curso de linux básico
Sistemas operativos - Arch Linux
E no Sétimo dia ele escreveu testes - Seminario PHP

Mais procurados (6)

PDF
Administração de servidores Linux
PDF
Lab ect 02 pt
PPT
Permissão de Acesso - Sistema de Arquivos Linux
PDF
Criando pacotes para o Arch Linux
PDF
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
PDF
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
Administração de servidores Linux
Lab ect 02 pt
Permissão de Acesso - Sistema de Arquivos Linux
Criando pacotes para o Arch Linux
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
Anúncio

Destaque (6)

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

Último (9)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Manejo integrado de pragas na cultura do algodão
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Eng. Software - pontos essenciais para o início
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Manejo integrado de pragas na cultura do algodão
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Eng. Software - pontos essenciais para o início
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia

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