Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Segurança em
em Servidores
Servidores Linux
Linux
Por Alessandro Silva
@alessssilva
Segurança em Servidores Linux
Sobre o palestrante
● Bacharel em Informática e Especialista em TI Aplicada a Educação pelo NCE/UFRJ.
● Pós-graduando em Gerência de Segurança da Informação – NCE/UFRJ
● Mais de 10 anos na indústria de TI e 7 somente com Linux.
● Certificações: LPIC-3, Red Hat Certified System Administrator, Novell CLA e DCTS,
Zabbix Certified Specialist e Zabbix for Large Enviroments.
● Desde 2011 trabalhando com projetos de monitoração com Zabbix.
● Principais interesses:
● Linux e Certificações
● Segurança
● Zabbix
● Drupal
@alessssilva
Segurança em Servidores Linux
Agenda
● Hardening da Instalação
● Mecanismos de proteção
● Controle de acessos
● Fortalecendo serviços
● Soluções de segurança para Linux
● Planejamento do ambiente seguro
● Hardening de Kernel
● Monitoramento
● Planos de Contingência e Recuperação de Desastres
● Certificações em Segurança para Linux
@alessssilva
Segurança em Servidores Linux
Disponibilidade
Confidencialidade Integridade
@alessssilva
Segurança em Servidores Linux
Segurança na Instalação
@alessssilva
Segurança em Servidores Linux
Instalação
@alessssilva
Segurança em Servidores Linux
Instalação
@alessssilva
Segurança em Servidores Linux
Instalação
@alessssilva
Segurança em Servidores Linux
Instalação
root@myserver [~]# df -h
Sist. Arq. Tam Usad Disp Uso% Montado em
/dev/sda5 7,8G 1,1G 6,4G 14% /
/dev/sda8 383G 82G 282G 23% /home
/dev/sda6 4,9G 139M 4,5G 3% /tmp
/dev/sda3 25G 7,6G 16G 34% /usr
/dev/sda2 30G 4,5G 24G 17% /var
/dev/sda1 996M 51M 894M 6% /boot
tmpfs 1009M 0 1009M 0% /dev/shm
/dev/sdb1 459G 360G 76G 83% /backup
@alessssilva
Segurança em Servidores Linux
Instalação
@alessssilva
Segurança em Servidores Linux
Instalação
@alessssilva
Segurança em Servidores Linux
@alessssilva
Segurança em Servidores Linux
Fortalecimento pós-instalação
@alessssilva
Segurança em Servidores Linux
Configurações Pós-instalação
INITTAB
● Controlando terminais
– 1:2345:respawn:/sbin/getty 38400 tty1
– 2:23:respawn:/sbin/getty 38400 tty2
– 3:23:respawn:/sbin/getty 38400 tty3
– 4:23:respawn:/sbin/getty 38400 tty4
– 5:23:respawn:/sbin/getty 38400 tty5
– 6:23:respawn:/sbin/getty 38400 tty6
● Alterando comportamento
– ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
● Definir o RunLevel default
@alessssilva
Segurança em Servidores Linux
● Debian
– rcconf
– chkconfig
● Red Hat
– ntsysv
– chkconfig
@alessssilva
Segurança em Servidores Linux
● netstat
● ps
● top, htop, nmon
● lsof, pgrep
@alessssilva
Segurança em Servidores Linux
TCP
root@myserver [~]# netstat -tnap
Conexões Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:40001 0.0.0.0:* OUÇA 6041/java
tcp 0 0 0.0.0.0:1 0.0.0.0:* OUÇA 4904/portsentry
tcp 0 0 0.0.0.0:993 0.0.0.0:* OUÇA 4332/dovecot
tcp 0 0 0.0.0.0:10050 0.0.0.0:* OUÇA 4017/zabbix_agentd
tcp 0 0 0.0.0.0:80 0.0.0.0:* OUÇA 2412/httpd
tcp 0 0 0.0.0.0:995 0.0.0.0:* OUÇA 4332/dovecot
UDP
root@myserver [~]# netstat -napu
Conexões Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 184.172.190.78:53 0.0.0.0:* 3561/named
udp 0 0 184.172.190.79:53 0.0.0.0:* 3561/named
udp 0 0 184.172.190.80:53 0.0.0.0:* 3561/named
@alessssilva
Segurança em Servidores Linux
Limitando os recursos
@alessssilva
Segurança em Servidores Linux
Limitando os recursos
@alessssilva
Segurança em Servidores Linux
Firewalls e Filtros
@alessssilva
Segurança em Servidores Linux
Firewalls e Filtros
@alessssilva
Segurança em Servidores Linux
Firewalls e Filtros
● Endian ● ClearOS
● Smoothwall ● Untangle
● BrasilFW ● PFSense (Free BSD)
● Vyatta
@alessssilva
Segurança em Servidores Linux
Firewalls e Filtros
● Utilização de Proxy
– Performance
– Controle de acesso
● Autenticação e autorização
● Filtro de conteúdo (por página, por usuário...)
● Relatórios de acessos com SARG
@alessssilva
Segurança em Servidores Linux
TCP Wrappers
● TCP Wrapers
– Ferramenta para autorizar ou negar acesso aos serviços.
– Utiliza a biblioteca Libwrap
– Para fins de controle utiliza os arquivos:
● /etc/hosts.allow
● /etc/hosts.deny
– Pode ser utilizada em conjunto com firewall
@alessssilva
Segurança em Servidores Linux
Controle de Acessos
@alessssilva
Segurança em Servidores Linux
Controle de Acessos
● Permissões
● Permissões especiais
– SUID, SGID e Stick bit
● Atributos
– chattr, lsattr
● Revisão nos controles de acesso
root@thinktoy:/home/alessandro# find / -type d -perm -1000 -ls
6422529 4 drwxrwxrwt 20 root root 4096 Jun 13 12:20 /tmp
6438915 4 drwxrwxrwt 2 root root 4096 Jun 13 12:19 /tmp/.ICE-unix
● SUDO
@alessssilva
Segurança em Servidores Linux
Auditoria
● Visualizando os últimos comandos
– apt-get install Acct
– lastcomm
● Registrando todos os comandos
– apt-get install snoopy
– tail -f /var/log/auth
@alessssilva
Segurança em Servidores Linux
Auditoria
Política de senhas
root@thinktoy:/home/alessandro# chage -l alessandro
/etc/login.defs
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
LOGIN_RETRIES 5
LOGIN_TIMEOUT 60
LOGIN_TIMEOUT 60
@alessssilva
Segurança em Servidores Linux
Auditoria
Who
root@espiritolivre [~]# who
root pts/0 2013-06-29 12:53 (186.241.100.67)
root pts/1 2013-06-29 12:08 (200.97.200.182)
Last
root@espiritolivre [~]# last
root pts/0 186.241.219.201 Sat Jun 29 12:53 still logged in
root pts/1 200.97.237.48 Sat Jun 29 12:08 still logged in
root pts/0 146.164.2.145 Wed Jun 26 10:37 - 11:45 (01:07)
root pts/0 173.193.65.163 Tue Jun 25 16:23 - 16:26 (00:03)
@alessssilva
Segurança em Servidores Linux
● OpenSSL
● GPG
– Útil para validar a autenticidade e integridade dos pacotes
● Criptografia do Filesystem
– Um notebook do EB foi esquecido em um taxi com informações
confidenciais. E agora?
@alessssilva
Segurança em Servidores Linux
● Backup
● Estratégia de backup
– Storage, fita …
– Rotina de backup
– Software para backup
● Bacula
● Amanda
@alessssilva
Segurança em Servidores Linux
● PAM
● OpenLDAP
● Politica de controle de acesso
– Existe processo para desabilitar um usuário desligado da empresa?
● Política de senhas
– Senhas seguras com letras, números e caracteres especiais
– Evitar senhas do tipo: empresa@2013, 123qwe, 123456, etc.
– Senhas conhecidas por constarem em wordlists
● Engenharia social
@alessssilva
Segurança em Servidores Linux
● Serviços inseguros
– Denial of Service Attack (DoS)
– Distributed Denial of Service Attack (DDoS)
– Script Vunerability Attacks
– Buffer Overflow Attacks
@alessssilva
Segurança em Servidores Linux
Serviços – SSH
● Manter atualizado!
● Acesso remoto ao shell dos servidores
● Tráfego criptografado
● Faz tunelamento com segurança
● Autenticação por senha ou certificado
● Indispensável para SysAdmins Linux
@alessssilva
Segurança em Servidores Linux
Serviços – SSH
● /etc/ssh/sshd_config
Port 22
Protocol 2
PermitRootLogin yes
LoginGraceTime 60
PermitEmptyPasswords no
Allow users tux linus
Banner /etc/issue
● USE CHAVES!!!
@alessssilva
Segurança em Servidores Linux
Serviços – SSH
● Banner de boas-vindas
– /etc/issue e /etc/issue.net
root@APPTDO43SPOAS:~# cat /etc/issue.net
Debian GNU/Linux 6.0
● Configure no SSH
– /etc/ssh/sshd_config
Banner /etc/issue
@alessssilva
Segurança em Servidores Linux
FTP - VSFTPD
@alessssilva
Segurança em Servidores Linux
FTP - VSFTPD
● ftpd_banner=FTP Server
– Esconder banner
● anonymous_enable=NO
– Desabilita o login anônimo
● write_enable=YES
– Permite que o usuário grave informações
● userlist_enable=YES
– userlist_file=/etc/vsftpd.allowed_users
● chroot_local_user=YES
– Enjaule usuários
@alessssilva
Segurança em Servidores Linux
FTP - VSFTPD
● Controle de acesso
– /etc/ftpusers
@alessssilva
Segurança em Servidores Linux
Web Server
● Manter o software atualizado!
● Adicionar suporte a conexões criptografadas
● Observar os módulos de segurança disponíveis
– Mod_security, mod_evasive, mod_access, mod_authz
● Ajuste das configurações adequadamente
● Diretórios restritos
– .htaccess e htpasswd
● Testar as configurações antes de aplicar em produção
– apachectl configtest
– apachectl graceful!
@alessssilva
Segurança em Servidores Linux
Syslog Centralizado
@alessssilva
Segurança em Servidores Linux
Tunando o Kernel
● /proc/sys/net/ipv4/tcp_syncookies
– Tenta evitar SYN ATACK que causa uma negação de serviço
● /proc/sys/net/ipv4/ip_default_ttl
– Engana o “OS guessing” em scans
● /proc/sys/net/ipv4/icmp_echo_ignore_all
– Bloqueio de pacotes ICMP
● /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
– Ignora mensagens enviadas para brodcast
● /proc/sys/net/ipv6/conf/all/disable_ipv6
– Desabilita IPV6
@alessssilva
Segurança em Servidores Linux
● Fortalecimento da instalação
– Bastile
– Harden
@alessssilva
Segurança em Servidores Linux
Gestão de Atualizações
● Aplicar atualizações
– A maior parte dos ataques bem-sucedidos ocorrem em softwares não
atualizados
● Monitoramento após a aplicação
● Gestão de mudanças
● Viabilidade
@alessssilva
Segurança em Servidores Linux
Monitoramento da Infraestrutura
● Possíveis Modelos
- Versões enterprise e community
- Tudo incluído
@alessssilva
Segurança em Servidores Linux
Monitoramento
Dispositivos monitorados
Notificações
SNMP
ração Dispositivos de rede
Monito
Configuração
Status Servidores sem
Agente Zabbix
Checagens
@alessssilva
Segurança em Servidores Linux
● TCPDUMP ● Netcat
● Wireshark ● Nmap
● Ngrep ● John the Ripper
● Ethereal ● OpenVAS
● Snort ● CHKRootkit
● Tripwire ● OpenVPN
● Aide ● Backtrack Linux
@alessssilva
Segurança em Servidores Linux
@alessssilva
Segurança em Servidores Linux
Planejamento do ambiente
@alessssilva
Segurança em Servidores Linux
@alessssilva
Segurança em Servidores Linux
● Aplicado ao componente
● Construir ou não um kernel personalizado?
● Kickstart
● Clonezilla
@alessssilva
Segurança em Servidores Linux
Security Speciaslist
LPIC-3
(Especialização)
Prova 303
@alessssilva
Segurança em Servidores Linux
Network Services
RH333
Directory Services
RH423
SELINUX
RH429
RHCE
RHCSA
@alessssilva
Segurança em Servidores Linux
Referências
@alessssilva
Segurança em Servidores Linux
Obrigado!
Alessandro Silva
E-mail: contato@alessandrosilva.info
Facebook: http://alessandrosillva.info/facebook
Twitter: http://alessandrosilva.info/twitter
Linkedin: http://alessandrosilva.info/linkedin
@alessssilva