Segurança Linux

  • View
    2.759

  • Download
    10

Embed Size (px)

Text of Segurança Linux

  • 1. BEM-VINDO DISCIPLINA DE:Segurana LinuxProf: Cssio Alexandre Ramoscassioaramos (at) gmail (dot) comhttp://cassioaramos.blogspot.comhttp://www.facebook.com/cassioaramos Ps-Graduao - lato Sensu

2. Segurana Linux Introduo Hardening de SO Hardening de Rede Tunning de Kernel Criptograa Hardening de Servios FTP e SSH Ps-Graduao - lato Sensu 3. Introduo Hardening Endurecimento Fortalecimento Tipos S.O AplicaHvos Ps-Graduao - lato Sensu 4. Hardening de SO Instalao UHlizar distribuio Convel, com atualizaes regulares, bom suporte a disposiHvos, possibilidade de suporte tcnico etc Reduzir o nmero de pacotes ao estritamente necessrio ParHcionamento de disco Diminui tempo de acesso ao dado ParHo separada para o sistema, facilita recuperao de desastres, reinstalao etc Evita a parada do sistema (parHo / cheia) Segurana extra contra o consumo e disco Isolar parHo /tmp e usar atributos nosuid e noexec Ps-Graduao - lato Sensu 5. Hardening de SO ParHcionamento de disco hYp://www.vivaolinux.com.br/arHgos/impressora.php?codigo=5116 Ps-Graduao - lato Sensu 6. Hardening de SO Vericao de pacotes instalados no Sistema dpkg -l dpkg -l | awk {print $2,$3} | sed 1,5d > /root/aula_linux/pacotes.txt segunda e terceira coluna ($2,$3) - nomes dos programas e suas verses. sed remove 5 primeiras linhas - info no relevantes. Direciona o resultado para o arquivo pacotes.txt dentro de /root/aula_linux. Desinstalao de pacotes apHtude purge wget Ps-Graduao - lato Sensu 7. Hardening de SO Permisso Suid Suid Bit (4): Quando setada, permite que qualquer usurio execute determinado binrio ou programa, como se fosse o usurio dono Sgid Bit (2): Quando setada, permite manter padres de criao de arquivos e diretrios, possibilitando que qualquer arquivo ou diretrio criado assuma o grupo dono do diretrio pai como grupo padro. SHcky Bit (1): Quando setada, impede que um usurio apague o arquivo ou diretrio do outro, mesmo que o diretrio pai tenha permisses que permitam a excluso. Ps-Graduao - lato Sensu 8. Hardening de SO Permisso Suid Encontrar arquivos com permisso nd / -perm -4000 > /root/aula_linux/suid.txt Remover permisso chmod -s Ps-Graduao - lato Sensu 9. Hardening de SO Sugesto Ps-Graduao - lato Sensu 10. Hardening de SO Lab Permisso Suid Como root #cp /bin/*sh* /tmp ## /tmp em parHo separada #chmod 4755 /tmp/*sh* Como usurio comum (em outro terminal) $ cd /tmp $ ./sh # whoami # exit Ps-Graduao - lato Sensu 11. Hardening de SO Lab Permisso Suid Resolvendo o problema # mount -o remount,rw,nosuid /tmp RepeHr procedimento como usurio comum $ cd /tmp $ ./sh $ whoami $ exit Ps-Graduao - lato Sensu 12. Hardening de SO chaYr e lsaYr Comandos servem para incrementar segurana em arquivos Usa atributos e no permisses hYp://www.vivaolinux.com.br/dicas/impressora.php?codigo=11152 # chaYr +ia arquivo # rm rf arquivo # lsaYr arquivo Ps-Graduao - lato Sensu 13. Hardening de SO Permisses de Arquivos e DiretHos Leitura (r) Escrita (w) Execuo (x) ubuntu$ ls -l passwd shadow -rw-r--r-- 1 root root 5244 Jan 26 10:24passwd -rw-r----- 1 root shadow 5244 Jan 26 10:24shadow Ps-Graduao - lato Sensu 14. Hardening de SO Usurios e Grupos Useradd, userdel, usermod, passwd, groupadd,groupdel, groupmod # groupadd adm-teste # adduser user1; adduser user1 adm-teste # adduser user2; adduser user2 adm-teste # mkdir comparHlhado # chown root:adm-teste comparHlhado # chmod 750 comparHlhado Ps-Graduao - lato Sensu 15. Hardening de SO Desabilitando ctrl+alt+del /etc/iniYab #ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now ca:12345:ctrlaltdel:/bin/echo Recurso desabilitado # init q ### atualiza o iniYab Default runlevel /etc/iniYab # The default runlevel. id:2:initdefault: Ps-Graduao - lato Sensu 16. Hardening de SO Bloqueio de Terminal Administrador sai da sesso sem logout congurar a varivel chamada "TMOUT" com um tempo (em segundos Manual TMOUT=10 No login (vi /etc/prole) - TMOUT=10 Por usurio - Congurar varivel no .bashrc Ps-Graduao - lato Sensu 17. Hardening de SO Bloqueio de Console para o root Impede que o root faa login nos terminais Yy1 a Yy6 (vinculado ao PAM) /etc/secureYy #Yy1 #Yy2 #Yy3 #Yy4 #Yy5 #Yy6 Ps-Graduao - lato Sensu 18. Hardening de SO PAM Mdulos de autenHcao Plugveis trazer novas funcionalidades para um programa Ex. Login. A funo dele somente checar usurio e senha, vericar se esto cadastrados no sistema E se desejarmos que, para o login de um usurio,alm da senha seja checado se naquele dia e horrio ele pode logar denir somente alguns grupos que podem fazer su Ps-Graduao - lato Sensu 19. Hardening de SO PAM Mdulos de autenHcao Plugveis Mdulos podem ser usados para qualquer aplicao com suporte a PAM root@debian:/# ldd /bin/login linux-gate.so.1 => (0xb7745000) libpam.so.0 => /lib/libpam.so.0 (0xb7728000) libpam_misc.so.0 => /lib/libpam_misc.so.0 (0xb7725000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75de000) Ps-Graduao - lato Sensu 20. Hardening de SO PAM Mdulos disponveis # ls l /lib/security PAM arquivos de congurao # ls l /etc/pam.d Ps-Graduao - lato Sensu 21. Hardening de SO PAM UHlizao Mdulos Account Auth Password Session Ps-Graduao - lato Sensu 22. Hardening de SO PAM UHlizao Controle Required Requisite Sucient OpHonal Ps-Graduao - lato Sensu 23. Hardening de SO PAM Limitar horrios de login AHvar mdulo na aplicao # vim /etc/pam.d/login account requisite pam_Hme.so Ps-Graduao - lato Sensu 24. Hardening de SO PAM Limitar horrios de login # vi /etc/security/Hme.conf login;*;usuario;Al0800-1800 login;*;usuario;!SaSu0000-240 login: o nome do servio onde o pam_Hme.so est aHvado *: Indica os terminais texto (Yy) onde a polHca ser aplicada. Nesse caso so todos os terminais Usurio usurio onde a polHca ser aplicada Ps-Graduao - lato Sensu 25. Hardening de SO PAM Limitar horrios de login # vi /etc/security/Hme.conf login;*;usuario;Al0800-1800 login;*;usuario;!SaSu0000-240 Al0800-1800: Indica os dias que o usurio poder logar. Todos os dias (Al) das 8 s 18 horas (0800-1800) !SaSu0000-2400: todos os dias com exceo (!) dos sbados e domingos (SaSu) o dia inteiro (0000-2400) Ps-Graduao - lato Sensu 26. Hardening de SO PAM Limitar logins consecuHvos # vi /pam.d/login Session required pam_limits.so # vi /etc/security/limits.conf usuario hard maxlogins 2 Ps-Graduao - lato Sensu 27. Hardening de SO PAM Limitar su # groupadd adm-teste # adduser cassio adm-teste # passwd cassio # vi /pam.d/su auth required pam_wheel.so group=adm-teste Habilitar log # vim /etc/login.defs SULOG_FILE /var/log/sulog Ps-Graduao - lato Sensu 28. Hardening de SO PAM segurana de senhas # apHtude install libpam-cracklib # vim /etc/pam.d/common-password Comentar # password required pam_unix.sonullok obscure min=4 max=8 md5 Descomentar password required pam_cracklib.so retry=3 minlen=8 difok=3 password required pam_unix.so use_authok nullok md5 retry=3 (tentaHvas de mudana de senha), minlen=8 (no mnimo 8 caracteres) difok=3: (diferena de pelo menos 3 letras da anHga) Ps-Graduao - lato Sensu 29. Hardening de SO Vericar senhas fracas # apHtude install john # cd /usr/share/john # cat password.lst (arquivo de senhas) # cp /etc/shadow /root/senhas UHlizao # ./john /root/senhas (ou) # john --wordlist:/root/meu_dicionario /root/ senhas Ps-Graduao - lato Sensu 30. Hardening de SO Segurana Fsica - Gerenciador de boot No prompt do grub, e (edit) Subs0tuir ro quiet Por rw init=/bin/bash Para reiniciar contrl + x Ps-Graduao - lato Sensu 31. Hardening de SO Gerenciador de boot Correo h4p://ubuntuforum-br.org/index.php?topic=65572.0 Editar o arquivo /etc/grub.d/00_header e colocar no nal do mesmo cat > /var/log/vsp.log (/etc/hosts.deny) Lab servidor ubuntu, cliente BT novo log /var/log/auth.log hYp://segurancalinux.com/arHgos/impressora.php?codigo=10311 Ps-Graduao - lato Sensu 48. Criptograa Tipos De SO De ParHo De arquivos e pastas Criptograa Assinatura digital Ps-Graduao - lato Sensu 49. Criptograa Openssl Criptografar # openssl enc -e -aes256 -in arq1.txt -out arq1_cripto.txt Decriptografar # openssl enc -aes256 d -in arq1_cripto.txt -out arq1.txt Ps-Graduao - lato Sensu 50. Criptograa Openssl script para criptografar (ext .enc) #!/bin/bash if [ $# -lt 1 ] then echo "UHlizao: $0 arquivo-a-ser-criptografado exit 1 openssl enc -e -aes256 -in "$1" -out "$1".enc U0lizaao: ./script arq_a_ser_cripto Ps-Graduao - lato Sensu 51. Criptograa Openssl script para decriptografar #!/bin/bash if [ $# -lt 2 ] then echo "UHlizao: $0 novo-nome-do-arquivo-criptografado exit 1 openssl enc -d -aes256 -in "$1" -out $2 U0lizaao: ./script arq_cripto novo_nome_de_arquivo Ps-Graduao - lato Sensu 52. Criptograa EncFs # apt-get install encfs fuse-uHls libfuse2 # adduser fuse $ mkdir ~/.criptografado ~/texto_claro /.criptografado - dados criptografados, /texto_claro - dados em claro Para aHvar a criptograa: $ encfs ~/.criptografado/ ~/texto_claro/ ?>p Ps-Graduao - lato Sensu 53. Criptograa EncFs Para desmontar: $ fusermount -u ~/texto_claro Enviar para host remoto $ rsync -av /home/cassio/.criptografado/ cassio@172.16.49.137:/home/cassio/ Lab Debian e Ubuntu rsync cliente debian e server Ubuntu hYp://www.vivaolinux.com.br/arHgos/impressora.php?codigo=6642 Ps-Graduao - lato Sensu 54. Escondendo Banner Ps-Graduao - lato Sensu 55. Escondendo Banner http://www.vivaolinux.com.br/artigos/impressora.php?codigo=985 Ps-Graduao - lato Sensu 56. Descobrindo OS Banners - OsGuessing /proc/sys/net/ipv4/ip_de