A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Hardening Linux Introdução Introdução Removendo softwares desnecessários Removendo softwares desnecessários Detectando portas.

Apresentações semelhantes


Apresentação em tema: "Hardening Linux Introdução Introdução Removendo softwares desnecessários Removendo softwares desnecessários Detectando portas."— Transcrição da apresentação:

1 Hardening Linux

2 Introdução Introdução Removendo softwares desnecessários Removendo softwares desnecessários Detectando portas Detectando portas Fechando portas Fechando portas Inittab e Scripts de Boot Inittab e Scripts de Boot Tcp Wrappers Tcp Wrappers OpenSSH OpenSSH Kernel Tunning Kernel Tunning Grsecurity - PAX Grsecurity - PAX Permissões de Arquivos Permissões de Arquivos Contas desnecessárias Contas desnecessárias Password Aging Password Aging Senhas Fortes Senhas Fortes Logins Inválidos Logins Inválidos Denial off Service Denial off Service Login Banners Login Banners

3 Hardening Linux Permissões de Arquivos Defino o umask como uma máscara padrão de permissão de acesso ao arquivo de sistema (File System) do GNU/Linux. Defino o umask como uma máscara padrão de permissão de acesso ao arquivo de sistema (File System) do GNU/Linux.

4 Hardening Linux Permissões de Arquivos $ umask 0022 O resultado acima é o seguinte: $ umask 0022 O resultado acima é o seguinte: 0 : Este só indica que é o valor de uma umask; 0 : Este só indica que é o valor de uma umask; 0 : Dá acesso total ao arquivo criado pelo usuário; 0 : Dá acesso total ao arquivo criado pelo usuário; 2 : Dá acesso de Leitura e execução do arquivo, no caso de um diretório permiti que este seja acessado através do comando \"cd \"; 2 : Dá acesso de Leitura e execução do arquivo, no caso de um diretório permiti que este seja acessado através do comando \"cd \"; 2 : O Mesmo direitos acima, só que para os outros usuários do sistema. 2 : O Mesmo direitos acima, só que para os outros usuários do sistema.

5 Hardening Linux Desabilite programas SUID/SGID não utilizados Um usuário comum será apto a executar um programa como root se o mesmo for setado como SUID root. Um administrador de sistemas deve minimizar a utilização desses programas SUID/SGID e desabilitar os progtamas que não sejam necessários. Um usuário comum será apto a executar um programa como root se o mesmo for setado como SUID root. Um administrador de sistemas deve minimizar a utilização desses programas SUID/SGID e desabilitar os progtamas que não sejam necessários. Primeiro Passo Para localizar todos os arquivos com o bit `s' de arquivos que tenham o root como dono, utilize o comando: find / -type f ( -perm o -perm ) -exec ls ­lg {} ; Primeiro Passo Para localizar todos os arquivos com o bit `s' de arquivos que tenham o root como dono, utilize o comando: find / -type f ( -perm o -perm ) -exec ls ­lg {} ; Para desabilitar os bits suid dos programas selecionados acima, digites o seguinte comando: Para desabilitar os bits suid dos programas selecionados acima, digites o seguinte comando: /]# chmod a-s [programa] /]# chmod a-s [programa]

6 Hardening Linux Word Writable Files Word Writable Files Utilize o seguinte comando para procurar diretórios e arquivos com permissão de leitura e escrita para todos: Permite que os arquivos e diretórios sejam alterados apenas se o usuário for o dono do arquivo ou do diretorio.

7 Hardening Linux Unowned Files

8 Hardening Linux Unlocked Accounts passwd –l (lock) passwd –l (lock)

9 Hardening Linux Checking for Unused Accounts Apagar a conta:

10 Hardening Linux Password Aging Não recomendado para servidores com contas compartilhadas.

11 Hardening Linux Password Aging Não recomendado para servidores com contas compartilhadas.

12 Hardening Linux Password Aging Quando uma conta e criada no linux os seguintes campos são passados ao arquivo /etc/shadow:

13 Hardening Linux Password Aging Adicionamos um novo usuário: Verificamos o usuário: Formato do /etc/shadow para o usuario test: Desativar expiração de uma determinada conta:

14 Hardening Linux Password Aging Exibir Informações sobre expiração de uma determinada conta: Exemplo:

15 Hardening Linux Contas Especiais Desabilite todas as contas especiais Voce deve apagar todas os usuários padrões e contas de grupo que você não utilize em seu sistema com: lp, sync, shutdown, halt, news, uucp, operator, games, gopher etc rfdslabs Para apagar uma conta de usuário: /]# userdel LP rfdslabs Para apagar um grupo: /]# groupdel LP DICA: Backdoor do Sync.

16 Hardening Linux A conta root A conta "root" é a conta com mais privilégios em um sistema Unix. Quando o administrador se esquece de sair de sua sessão no prompt root do sistema antes de sair então o sistema deve automaticamente deslogá-lo da shell. A conta "root" é a conta com mais privilégios em um sistema Unix. Quando o administrador se esquece de sair de sua sessão no prompt root do sistema antes de sair então o sistema deve automaticamente deslogá-lo da shell. Para que isso seja feito, você deve configurar a variável especial do Linux chamada "TMOUT" com um tempo (em segundos). Edite seu arquivo profile "vi /etc/profile" e adicione a seguinte linha em algum lugar após a linha: "HISTFILESIZE=" TMOUT=3600 O valor que atribuímos à variável "TMOUT=" é dado em segundos e representa 1 hora (60*60 = 3600 segundos).

17 Hardening Linux Desativar todo acesso ao console para usuários comuns Você deve desabilitar todo acesso via console de programas como shutdown, reboot, e halt para usuários comuns em seu servidor. Para fazer isso, execute o seguinte comando: /]# rm -f /etc/security/console.apps/ /]# rm -f /etc/security/console.apps/ Onde é o nome do programa o qual você deseja desabilitar acesso via console. Onde é o nome do programa o qual você deseja desabilitar acesso via console.

18 Hardening Linux Não permita login do root de diferentes consoles O arquivo "/etc/securetty" permite a você especificar em que dispositivos TTY o usuário "root" tem permissão para logar. O arquivo "/etc/securetty" permite a você especificar em que dispositivos TTY o usuário "root" tem permissão para logar. Edite o arquivo "/etc/securetty" para desabilitar qualquer tty que você não necessita comentando os mesmos (# no início da linha). Edite o arquivo "/etc/securetty" para desabilitar qualquer tty que você não necessita comentando os mesmos (# no início da linha).

19 Hardening Linux Shell logging O shell bash registra até 500 comandos antigos no arquivo "~/.bash_history" (onde "~/" é seu diretório home) para tornar fácil a você repetir longos comandos. O shell bash registra até 500 comandos antigos no arquivo "~/.bash_history" (onde "~/" é seu diretório home) para tornar fácil a você repetir longos comandos. Cada usuário que tenha uma conta no sistema terá seu arquivo bash_history" em seu diretório home. O shell bash deeve registrar um número menor de comandos e apagá-los quando o usuário sair do sistema. Cada usuário que tenha uma conta no sistema terá seu arquivo bash_history" em seu diretório home. O shell bash deeve registrar um número menor de comandos e apagá-los quando o usuário sair do sistema.

20 Hardening Linux Primeiro Passo As linhas HISTFILESIZE e HISTSIZE do arquivo "/etc/profile" determinam o tamanho de comandos antigos que o arquivo "Bash_history" para todos os usuários em seu sistema pode suportar. Primeiro Passo As linhas HISTFILESIZE e HISTSIZE do arquivo "/etc/profile" determinam o tamanho de comandos antigos que o arquivo "Bash_history" para todos os usuários em seu sistema pode suportar. Eu recomendo a configuração do HISTFILESIZE e HISTSIZE no arquivo "/etc/profile" para um valor menor como 30. Eu recomendo a configuração do HISTFILESIZE e HISTSIZE no arquivo "/etc/profile" para um valor menor como 30. Edite o arquivo profile (vi /etc/profile) e altere as linhas para: HISTFILESIZE=30 HISTSIZE=30 Edite o arquivo profile (vi /etc/profile) e altere as linhas para: HISTFILESIZE=30 HISTSIZE=30 Que significam, o arquivo "Bash_history" de cada diretório home de usuários pode rehistrar até 20 comandos antigos e não mais. Que significam, o arquivo "Bash_history" de cada diretório home de usuários pode rehistrar até 20 comandos antigos e não mais.

21 Hardening Linux Shell logging Segundo Passo O administrador deve também adiciona no arquivo "/etc/skel/.bash_logout" a linha: "rm -f $HOME/.bash_history", para que a cada vez que o usuário sair do sistema, seu arquivo bash_history" seja apagado. Segundo Passo O administrador deve também adiciona no arquivo "/etc/skel/.bash_logout" a linha: "rm -f $HOME/.bash_history", para que a cada vez que o usuário sair do sistema, seu arquivo bash_history" seja apagado. Edite o arquivo.bash_logout (vi /etc/skel/bash_logout) e adicione a seguinte linha: rm -f $HOME/.bash_history Edite o arquivo.bash_logout (vi /etc/skel/bash_logout) e adicione a seguinte linha: rm -f $HOME/.bash_history

22 Hardening Linux Banners

23 Banners

24 Banners - OsGuessing

25 Hardening Linux Kernel Tuning

26 Hardening Linux Kernel Tuning Os parâmetros do kernel são configurados no arquivo /etc/sysctl.conf O comand sysctl –p ativa os parâmetros configurados neste arquivo

27 Hardening Linux Kernel Tuning Sysctl –w (write) grava a alteração Sysctl –w (write) grava a alteração

28 Hardening Linux Kernel Tuning TCP SYN Cookie Protection Tenta evitar o SYN ATAQUE que causa uma negação de serviço net.ipv4.tcp_syncookies = 1

29 Hardening Linux Kernel Tuning Ignoring to ICMP Requests Maquinas param de responder a pacotes ICMP (ping). net.ipv4.icmp_echo_ignore_all = 1

30 Hardening Linux Kernel Tuning Ignoring Broadcasts Request Ignorar mensagens enviadas para broadcast net.ipv4.icmp_echo_ignore_broadcasts = 1

31 Hardening Linux Kernel Tuning Bad Error Message Protection Alertas sobre mensagens na rede net.ipv4.icmp_ignore_bogus_error_res ponses = 1

32 Hardening Linux Kernel Tuning Próxima aula…


Carregar ppt "Hardening Linux Introdução Introdução Removendo softwares desnecessários Removendo softwares desnecessários Detectando portas."

Apresentações semelhantes


Anúncios Google