Segurança em Servidores Linux
Baseado na Norma ISO 27002
Cesar Domingos
Especialista atuante há mais de 11 anos em projetos de redes corporativas e
administração de redes.

Hoje atuando como Consultor de Business Intelligence com Software Livre na Smart.

Atuou por 4 anos como Líder de Treinamentos da Empresa 4Linux, lançando novos
cursos e metodologias de ensino.

Desenvolvimento de soluções para reduções de custos em TI, projetos de Redes e
treinamentos especializados utilizando Software Livre Pentaho para Business
Intelligence, Sistemas Linux para Segurança de Redes como Firewall, Pen-Test e
seguranças baseadas na norma BS7799(ISO 27002).

Como instrutor ministrou mais de 100 turmas, sendo elas de Linux, Segurança em
Software Livre e Business Intelligence com Pentaho.

Graduado na Faculdade de Tecnologia em Redes de Computadores pela USCS.

Certificado LPIC-3(Linux Professional Institute nível 3).

Um dos autores do livro BS7799 – Da tática a prática em servidores Linux.
O que é Software Livre?
●   Segundo definição da FSF (Free Software
    Fundation), Software Livre é qualquer programa de
    computador que pode ser usado, copiado, estudado
    e redistribuído sem restrições.
Software Livre não quer dizer
     trabalho de graça
Software Livre. Onde encontro?
Softwares Livres mais poulares
Sistema Operacional: GNU/Linux
Servidor Web: Apache
Servidor de E-mail: Postfix
Servidor de Arquivos: Samba
Servidor de DNS: BIND
Servidor de Aplicação: TomCat, Jboss
Servidor de Banco de Dados: MySQL, PostgreSQL
Navegadores: Firefox, Chrome
Pacote de Escritório: OpenOffice
Educação a distância: Moodle
Softwares Livres mais poulares
Sistema Wiki: MediaWiki
Telefonia: Asterisk
Teleconferência: BBB, Open Meetings
Business Intelligence: Pentaho, SpagoBI
BPM: Bonita
Virtualização: Xen, KVM, OpenVZ
Linguagens de Programação: Python, Java, Perl, PHP, LUA,
Ruby, Gambas e Tcl.
Solução de Gruopware: Zimbra, Expresso
E Muito, muito mais......
Linux em diversos sabores
Segurança da Informação
   A segurança da informação está relacionada com proteção
de um conjunto de dados, no sentido de preservar o valor que
possuem para um indivíduo ou uma organização.
    São características básicas da segurança da informação os
atributos de confidencialidade, integridade, disponibilidade
e autenticidade, não estando esta segurança restrita somente
a sistemas computacionais, informações eletrônicas ou
sistemas de armazenamento. O conceito se aplica a todos os
aspectos de proteção de informações e dados.
Sobre a Norma ISO 27002
- Baseada na norma BS7799 - British Standard
7799 é uma norma padrão de segurança da
informação.             Foi              desenvolvida
em 1995 na Inglaterra pela British Standard.


- E qual o objetivo da Norma ISO 27002?
Mostra o que fazer, mas não como
•   Como todas as normas, ela dita boas práticas que
    devem ser adotadas para aplicar a segurança da
    informação em diversas áreas. Mas não diz como
    deve ser feito.


•   Com isso em mente, o objetivo dessa palestra é
    mostrar como aplicar essas boas práticas em
    servidores GNU/Linux.
Meu Sistema Operacional é seguro?
Resposta:
Segurança Fail
Motivo de não ser seguro



Instalei. Tá funcionando. Então TÁ BOM!!!
Segurança vs Flexibilidade


Flexibilidade        Risco           Segurança




         Segurança           Risco   Flexibilidade
Preciso proteger os meus
     servidores Linux. O que fazer?
•   Aplicar Técnicas de Hardening.
•   Criar políticas de acessos.
•   Ter todos os eventos registrados.
•   Servidores Monitorados.
•   Cuidado com acesso físico.
•   Muitos outros.
Técnicas de Hardening
•   Um sistema operacional, é 100%?


•   O Linux por ser mais robusto, é 100%?


•   Podemos deixar um sistema operacional 100%
    seguro?


•   O que é Hardening?
Técnicas de Hardening
•   Remover programas desnecessários
•   Ajustar permissões especiais
•   Aplicar segurança no sistema de arquivos
•   Gerenciar acessos locais e remotos
•   Ajustar privilégios de usuários
•   Procurar por senhas fracas
•   Outros
Proteção ao Sistema de Arquivos
•   As boas práticas do FHS (Filesytem Hierarchy
    Standard) é particionar o disco rígido para
    alocar os principais pontos de montagem do
    sistema, que são:
    ▫   /
    ▫   /usr
    ▫   /var
    ▫   /home
    ▫   /tmp
Separar o /tmp? Qual o motivo?
•   Além dos motivos tradicionais, existe a questão
    das permissões.
•   O diretório /tmp é um diretório que permite
    tudo:
    ▫   # ls –l /tmp
    ▫   drwxrwxrwt     7 root root 4096 /tmp/
•   Por isso ele é um dos principais alvos de injeção
    de códigos maliciosos no sistema.
Como proteger
•   O sistema de montagem do Linux, permite que
    seja passados alguns parâmetros quando a
    partição é montada, e dois deles são bem úteis
    para esse caso:
    ▫   noexec – Não permite a execução na partição,
        mesmo que o arquivo tenha essa permissão.
    ▫   nosuid – Não permite que o arquivo seja
        executada com a permissão de Suid Bit.
Políticas de Acesso
•   Fechar toas as portas de serviços que não estão
    sendo utilizados.
•   Tirar acesso direto do usuário root local e
    remoto
•   Fazer restrições de acesso ao SSH
•   Controlar horários de acesso
•   Limitar quantidade de execução de processos
    por usuário comuns
Restrições no SSH
•   Mudar a portão padrão 22 para outra porta.
•   Restringir o IP por ListenAddress
•   Bloquear o root com PermiteRootLogin no
•   Definir grupos de acesso com AllowGroups
•   SSH com autenticação por chaves.
•   Restringir horários de acesso em conjunto com
    o módulo pam_time.so do PAM
     ●   /etc/security/time.conf
           sshd:*:*:Al0800-1800
Quando acontece algo no servidor.
     Onde devo procurar?
Nos Logs do Sistema
•   Diretório dos Logs:
     ●   /var/log
          –   wtmp (Comando last)
          –   btmp (Comando lastb)
          –   utmp (Comandos w e who)
          –   lastlog (Comando lastlog)
          –   E todos os logs que são gravados no formato
              texto
Registrar é preciso
• Identificação dos usuários;
• Datas e horários de entrada (login, logout);
• Identidade do terminal, nome da máquina ou IP;
• Registro das tentativas de acesso aos aceitos e
rejeitados;
• Registro das tentativas de acesso a outros recursos
e dados aceitos e rejeitados;
• Alteração de arquivos;
• Uso de privilégios, aplicativos e utilitários do sistema.
Como Registrar
●   Padrões:
    ●   Syslog e Rsyslog
●   Para personalizar
    ●   Syslog-NG (Com estrutura Cliente-Servidor)
●   Auxiliares
    ●   Lastcomm
    ●   Snoop
Monitorando a Segurança dos
                 Servidores
●   HIDS (Host Intrusion Detection System)
    ●   OSSEC (Active-Response)


●   NIDS (Network Intrusion Detection System)
    ●   Snort com MySQL e AIDE


●   Nessus (Análise de Vulnerabilidades)
Active-Response
O que mais pode ser feito?
●   Criar boas regras de Firewall com Iptables


●   Ajustes de segurança em cada aplicação instalada
    (Ex: Apache, Postfix, Bind, etc)


●   Trabalhar com ambientes enjaulados (chroot)


●   Conexões seguras entre redes com VPN


●   Criar regras de acessos com SELinux
Logo...

Instalei. Tá funcionando. Então TÁ BOM!!!
Outro lado da segurança: Pentest
Perguntas?

Segurança em servidores Linux

  • 1.
    Segurança em ServidoresLinux Baseado na Norma ISO 27002
  • 2.
    Cesar Domingos Especialista atuantehá mais de 11 anos em projetos de redes corporativas e administração de redes. Hoje atuando como Consultor de Business Intelligence com Software Livre na Smart. Atuou por 4 anos como Líder de Treinamentos da Empresa 4Linux, lançando novos cursos e metodologias de ensino. Desenvolvimento de soluções para reduções de custos em TI, projetos de Redes e treinamentos especializados utilizando Software Livre Pentaho para Business Intelligence, Sistemas Linux para Segurança de Redes como Firewall, Pen-Test e seguranças baseadas na norma BS7799(ISO 27002). Como instrutor ministrou mais de 100 turmas, sendo elas de Linux, Segurança em Software Livre e Business Intelligence com Pentaho. Graduado na Faculdade de Tecnologia em Redes de Computadores pela USCS. Certificado LPIC-3(Linux Professional Institute nível 3). Um dos autores do livro BS7799 – Da tática a prática em servidores Linux.
  • 3.
    O que éSoftware Livre? ● Segundo definição da FSF (Free Software Fundation), Software Livre é qualquer programa de computador que pode ser usado, copiado, estudado e redistribuído sem restrições.
  • 4.
    Software Livre nãoquer dizer trabalho de graça
  • 5.
  • 6.
    Softwares Livres maispoulares Sistema Operacional: GNU/Linux Servidor Web: Apache Servidor de E-mail: Postfix Servidor de Arquivos: Samba Servidor de DNS: BIND Servidor de Aplicação: TomCat, Jboss Servidor de Banco de Dados: MySQL, PostgreSQL Navegadores: Firefox, Chrome Pacote de Escritório: OpenOffice Educação a distância: Moodle
  • 7.
    Softwares Livres maispoulares Sistema Wiki: MediaWiki Telefonia: Asterisk Teleconferência: BBB, Open Meetings Business Intelligence: Pentaho, SpagoBI BPM: Bonita Virtualização: Xen, KVM, OpenVZ Linguagens de Programação: Python, Java, Perl, PHP, LUA, Ruby, Gambas e Tcl. Solução de Gruopware: Zimbra, Expresso E Muito, muito mais......
  • 8.
  • 9.
    Segurança da Informação A segurança da informação está relacionada com proteção de um conjunto de dados, no sentido de preservar o valor que possuem para um indivíduo ou uma organização. São características básicas da segurança da informação os atributos de confidencialidade, integridade, disponibilidade e autenticidade, não estando esta segurança restrita somente a sistemas computacionais, informações eletrônicas ou sistemas de armazenamento. O conceito se aplica a todos os aspectos de proteção de informações e dados.
  • 10.
    Sobre a NormaISO 27002 - Baseada na norma BS7799 - British Standard 7799 é uma norma padrão de segurança da informação. Foi desenvolvida em 1995 na Inglaterra pela British Standard. - E qual o objetivo da Norma ISO 27002?
  • 11.
    Mostra o quefazer, mas não como • Como todas as normas, ela dita boas práticas que devem ser adotadas para aplicar a segurança da informação em diversas áreas. Mas não diz como deve ser feito. • Com isso em mente, o objetivo dessa palestra é mostrar como aplicar essas boas práticas em servidores GNU/Linux.
  • 12.
  • 13.
  • 14.
  • 15.
    Motivo de nãoser seguro Instalei. Tá funcionando. Então TÁ BOM!!!
  • 16.
    Segurança vs Flexibilidade Flexibilidade Risco Segurança Segurança Risco Flexibilidade
  • 17.
    Preciso proteger osmeus servidores Linux. O que fazer? • Aplicar Técnicas de Hardening. • Criar políticas de acessos. • Ter todos os eventos registrados. • Servidores Monitorados. • Cuidado com acesso físico. • Muitos outros.
  • 18.
    Técnicas de Hardening • Um sistema operacional, é 100%? • O Linux por ser mais robusto, é 100%? • Podemos deixar um sistema operacional 100% seguro? • O que é Hardening?
  • 19.
    Técnicas de Hardening • Remover programas desnecessários • Ajustar permissões especiais • Aplicar segurança no sistema de arquivos • Gerenciar acessos locais e remotos • Ajustar privilégios de usuários • Procurar por senhas fracas • Outros
  • 20.
    Proteção ao Sistemade Arquivos • As boas práticas do FHS (Filesytem Hierarchy Standard) é particionar o disco rígido para alocar os principais pontos de montagem do sistema, que são: ▫ / ▫ /usr ▫ /var ▫ /home ▫ /tmp
  • 21.
    Separar o /tmp?Qual o motivo? • Além dos motivos tradicionais, existe a questão das permissões. • O diretório /tmp é um diretório que permite tudo: ▫ # ls –l /tmp ▫ drwxrwxrwt 7 root root 4096 /tmp/ • Por isso ele é um dos principais alvos de injeção de códigos maliciosos no sistema.
  • 22.
    Como proteger • O sistema de montagem do Linux, permite que seja passados alguns parâmetros quando a partição é montada, e dois deles são bem úteis para esse caso: ▫ noexec – Não permite a execução na partição, mesmo que o arquivo tenha essa permissão. ▫ nosuid – Não permite que o arquivo seja executada com a permissão de Suid Bit.
  • 23.
    Políticas de Acesso • Fechar toas as portas de serviços que não estão sendo utilizados. • Tirar acesso direto do usuário root local e remoto • Fazer restrições de acesso ao SSH • Controlar horários de acesso • Limitar quantidade de execução de processos por usuário comuns
  • 24.
    Restrições no SSH • Mudar a portão padrão 22 para outra porta. • Restringir o IP por ListenAddress • Bloquear o root com PermiteRootLogin no • Definir grupos de acesso com AllowGroups • SSH com autenticação por chaves. • Restringir horários de acesso em conjunto com o módulo pam_time.so do PAM ● /etc/security/time.conf sshd:*:*:Al0800-1800
  • 25.
    Quando acontece algono servidor. Onde devo procurar?
  • 26.
    Nos Logs doSistema • Diretório dos Logs: ● /var/log – wtmp (Comando last) – btmp (Comando lastb) – utmp (Comandos w e who) – lastlog (Comando lastlog) – E todos os logs que são gravados no formato texto
  • 27.
    Registrar é preciso •Identificação dos usuários; • Datas e horários de entrada (login, logout); • Identidade do terminal, nome da máquina ou IP; • Registro das tentativas de acesso aos aceitos e rejeitados; • Registro das tentativas de acesso a outros recursos e dados aceitos e rejeitados; • Alteração de arquivos; • Uso de privilégios, aplicativos e utilitários do sistema.
  • 28.
    Como Registrar ● Padrões: ● Syslog e Rsyslog ● Para personalizar ● Syslog-NG (Com estrutura Cliente-Servidor) ● Auxiliares ● Lastcomm ● Snoop
  • 29.
    Monitorando a Segurançados Servidores ● HIDS (Host Intrusion Detection System) ● OSSEC (Active-Response) ● NIDS (Network Intrusion Detection System) ● Snort com MySQL e AIDE ● Nessus (Análise de Vulnerabilidades)
  • 30.
  • 31.
    O que maispode ser feito? ● Criar boas regras de Firewall com Iptables ● Ajustes de segurança em cada aplicação instalada (Ex: Apache, Postfix, Bind, etc) ● Trabalhar com ambientes enjaulados (chroot) ● Conexões seguras entre redes com VPN ● Criar regras de acessos com SELinux
  • 32.
  • 33.
    Outro lado dasegurança: Pentest
  • 34.