Curso Técnico de Manutenção e Suporte em Informática
                        Segurança da Informação
                         Prof. Leandro Almeida

                Roteiro – Hardening pós-instalação em Linux


   1 BIOS e Bootloader passwords
      1.1      Proteção contra alterações na BIOS
           No setup do computador, habilite a inicialização através de senha. Vale salientar
que nem todos os setups possuem essa funcionalidade.

       1.2      Proteger o GRUB contra edições
             Execute o comando para gerar o hash da senha:


         # /sbin/grub­md5­crypt

            Edite o arquivo de configuração do GRUB, /boot/grub/boot.conf. Após a linha
      timeout na seção principal do documento, adicione a seguinte linha:

          password ­ ­md5        <password­hash>

             Onde <password­hash> corresponde a saída do comando /sbin/grub­
md5­crypt

    2 Controles administrativos
      2.1       Desabilitar acesso com usuário root
          2.1.1    Local
             Remova o conteúdo do arquivo com o comando:

         # echo > /etc/securetty
Este arquivo possui uma lista de dispositivos onde o usuário root pode efetuar
login. Esta ação força ao usuário, após efetuar login, utilizar os comandos 'su' ou 'sudo'.
           2.1.2     SSH
              Edite o arquivo de configuração (/etc/ssh/sshd_config) e troque a linha

       # PermitRootLogin yes 

             para:

       PermitiRootLogin no 

             Esta ação força ao usuário, após efetuar login remoto, utilizar os comandos 'su'
ou 'sudo'.

    3 Serviços inseguros
             Utilizando o utilitário chkconfig, observe se os serviços abaixo estão em
execução:
                 • rlogin
                 • rsh
                 • telnet
                 • vsftpd
             Caso estejam, desabilite os serviços com o utilitário 'service'.

    4 Filtro de pacotes
       A ideia é criar uma configuração personalizada do filtro de pacotes. Inicialmente,
setaremos a política padrão das chains INPUT e FORWARD para rejeitar pacotes. A chain
OUTPUT será setada para aceitar pacotes. Adicionamos uma regra a chain INPUT para aceitar
conexões da interface de loopback(127.0.0.1), visto que alguns serviços, necessitam dessa
conexão.
       Adicionamos uma regra para rejeitar pacotes ICMP, ou seja, o servidor não aceitará
Linux. Adicionamos uma regra para aceitar direcionados a porte UDP/53, assim o servidor
poderá navegar utilizando o DNS. A última regra permite o trágefo de conexões
estabelecidas.

       #!/bin/bash 
       #assign variable $IPT with the iptables command 
       IPT=/sbin/iptables 
       #set policies on each chain 
       $IPT ­P INPUT DROP 
       $IPT ­P FORWARD DROP 
       $IPT ­P OUTPUT ACCEPT #default, but set it anyway 
       #flush all rules in the filter table 
       $IPT ­F 
       #allow traffic on the loopback interface 
       $IPT ­A INPUT ­i lo ­j ACCEPT 
       #deny icmp traffic 
       $IPT ­A INPUT ­p icmp ­j DROP 
       #allow incoming DNS traffic 
       $IPT ­A INPUT ­p udp ­­sport 53 ­j ACCEPT 
       #allow established TCP connections 
$IPT ­A INPUT ­p tcp ! ­­syn ­j ACCEPT 


   5 Atualizações de segurança
            Crie o hábito de manter seu sistema atualizado com o utilitário YUM:

      # yum update


              Procure sempre utilizar os repositórios oficiais do CentOS. Uma lista de
repositórios pode ser encontrada em:
 http://www.centos.org/modules/tinycontent/index.php?id=30

Unidade5 roteiro

  • 1.
    Curso Técnico deManutenção e Suporte em Informática Segurança da Informação Prof. Leandro Almeida Roteiro – Hardening pós-instalação em Linux 1 BIOS e Bootloader passwords 1.1 Proteção contra alterações na BIOS No setup do computador, habilite a inicialização através de senha. Vale salientar que nem todos os setups possuem essa funcionalidade. 1.2 Proteger o GRUB contra edições Execute o comando para gerar o hash da senha: # /sbin/grub­md5­crypt Edite o arquivo de configuração do GRUB, /boot/grub/boot.conf. Após a linha timeout na seção principal do documento, adicione a seguinte linha: password ­ ­md5 <password­hash> Onde <password­hash> corresponde a saída do comando /sbin/grub­ md5­crypt 2 Controles administrativos 2.1 Desabilitar acesso com usuário root 2.1.1 Local Remova o conteúdo do arquivo com o comando:    # echo > /etc/securetty
  • 2.
    Este arquivo possuiuma lista de dispositivos onde o usuário root pode efetuar login. Esta ação força ao usuário, após efetuar login, utilizar os comandos 'su' ou 'sudo'. 2.1.2 SSH Edite o arquivo de configuração (/etc/ssh/sshd_config) e troque a linha # PermitRootLogin yes  para: PermitiRootLogin no  Esta ação força ao usuário, após efetuar login remoto, utilizar os comandos 'su' ou 'sudo'. 3 Serviços inseguros Utilizando o utilitário chkconfig, observe se os serviços abaixo estão em execução: • rlogin • rsh • telnet • vsftpd Caso estejam, desabilite os serviços com o utilitário 'service'. 4 Filtro de pacotes A ideia é criar uma configuração personalizada do filtro de pacotes. Inicialmente, setaremos a política padrão das chains INPUT e FORWARD para rejeitar pacotes. A chain OUTPUT será setada para aceitar pacotes. Adicionamos uma regra a chain INPUT para aceitar conexões da interface de loopback(127.0.0.1), visto que alguns serviços, necessitam dessa conexão. Adicionamos uma regra para rejeitar pacotes ICMP, ou seja, o servidor não aceitará Linux. Adicionamos uma regra para aceitar direcionados a porte UDP/53, assim o servidor poderá navegar utilizando o DNS. A última regra permite o trágefo de conexões estabelecidas. #!/bin/bash  #assign variable $IPT with the iptables command  IPT=/sbin/iptables  #set policies on each chain  $IPT ­P INPUT DROP  $IPT ­P FORWARD DROP  $IPT ­P OUTPUT ACCEPT #default, but set it anyway  #flush all rules in the filter table  $IPT ­F  #allow traffic on the loopback interface  $IPT ­A INPUT ­i lo ­j ACCEPT  #deny icmp traffic  $IPT ­A INPUT ­p icmp ­j DROP  #allow incoming DNS traffic  $IPT ­A INPUT ­p udp ­­sport 53 ­j ACCEPT  #allow established TCP connections 
  • 3.
    $IPT ­A INPUT ­p tcp ! ­­syn ­j ACCEPT  5 Atualizações de segurança Crie o hábito de manter seu sistema atualizado com o utilitário YUM: # yum update Procure sempre utilizar os repositórios oficiais do CentOS. Uma lista de repositórios pode ser encontrada em: http://www.centos.org/modules/tinycontent/index.php?id=30