Curso de extensão em Administração de redes com...
Transcript of Curso de extensão em Administração de redes com...
Curso de extensão em Administração de redes com GNU/Linux
Eduardo Júnior - [email protected]
Gestores da Rede Acadêmica de ComputaçãoDepartamento de Ciência da Computação
Universidade Federal da Bahia
Eduardo Júnior Administração de redes com GNU/Linux
Assuntos abordados
Políticas de Segurança
Básico de Firewall (Iptables)
Análise de logs
Análise de tráfego
Políticas de Segurança
Importância:Importância:
- Provimento de segurança da informação
- Atribuição de direitos e responsabilidades
Políticas de Segurança
Objetivos:
- Manutenção da estabilidade do ambiente- Controle de acesso- Garantir integridade dos dados- Confiabilidades nas conexões- Disponibilidade dos serviços
Políticas de Segurança
Análise de riscos:Análise de riscos:
- recursos protegidos pela política- ameaças às quais estes recursos estão sujeitos- vulnerabilidades que podem viabilizar a concretização destas ameaças
Políticas de Segurança
Aspectos de uma Política de Segurança:Aspectos de uma Política de Segurança:
- aspectos preliminares- aspectos preliminares- política de senhas- política de senhas- direitos e responsabilidades dos usuários- direitos e responsabilidades dos usuários- direitos e responsabilidades do provedor dos recursos- direitos e responsabilidades do provedor dos recursos- ações previstas em caso de violação da política- ações previstas em caso de violação da política
Políticas de Segurança
Instalação do sistema de forma seguraInstalação do sistema de forma segura
- planeje a instalação - o propósito do sistema a ser instalado - os serviços que este sistema disponibilizará - configuração de hardware da máquina - particionamento do disco
- providencie manuais e mídias
- tornar acessível apenas pela rede interna
Políticas de Segurança
Instalação do sistema de forma segura:
- esquema de particionamento- instalação mínima- desativação de serviços não utilizados
Políticas de Segurança
Guia de Segurança:
- Login remoto- Memória compartilhada- Atualizações automáticas de segurança- Senhas
Políticas de Segurança
Guia de Segurança:Guia de Segurança:
Login remoto: Ssh ou telnetControle de acesso:
PermitRootLoginAllowUsersDenyUsers
Políticas de Segurança
Guia de SegurançaGuia de Segurança
Memória compartilhada:
tmpfs /dev/shm tmpfs defaults,ro 0 0
Políticas de Segurança
Guia de SegurançaGuia de Segurança
Senhas
Técnica de segurança utilizada para proteger informações sensíveis
Políticas de Segurança
Guia de SegurançaGuia de Segurança
Senhas fortes
- Pelo menos oito (8) caracteres de comprimento- Não contenha seu nome de usuário, nome real, ou o nome da organização- Não contenha uma palavra completa do dicionário- É significativamente diferente de sua senha anterior- Deve conter três (3) dos seguintes tipos de caracteres * Alfabético minúsculo (a, b, c, etc.) * Alfabético maiúsculo (A, B, C, etc.) * Numéricos (0, 1, 2, etc.) * Caracteres especiais (@, %! , etc.)
Políticas de Segurança
Guia de Segurança
Gerar senhas fortes automaticamente: APG
# apg -a 1# apg -s -a 1 -m 63 -n 4
Gerar senhas fortes manualmente:
- frase se fácil memorização- converter numa simples palavra- alterar maiúsculas e minúsculas- inserir números e caracteres especiais
Políticas de Segurança
- Firewall- Análise de logs e tráfego
- Filtro de Conteúdo- Monitoramento
- Backup
Firewall
Software cujo objetivo é proteger a máquina de acesso/tráfego indesejado, proteger serviços, evitar que dados sigilosos sejam acessados...
Firewall
Tipos de Firewall:
1. Filtro de pacote2. Gateway de aplicação3. Gateway a nível de circuito4. Proxy Server
Firewall
Iptables:
- Firewall em nível de pacotes- Baseado em porta e endereços de origem/destino, prioridade, etc- Comparação de regras- Modifica e monitora tráfego de rede- Redirecionamento de pacotes- Criação de proteção contra anti-spoofing, syn flood, DoS,etc
Firewall
Iptables
Características:
# Especificação de portas/endereço de origem/destino# Suporte a protocolos TCP/UDP/ICMP (incluindo tipos de mensagens icmp)# Suporte a interfaces de origem/destino de pacotes# Manipula serviços de proxy na rede# Tratamento de tráfego dividido em chains (para melhor controle do tráfego que entra/sai da máquina e tráfego redirecionado.# Permite um número ilimitado de regras por chain# Muito rápido, estável e seguro# Possui mecanismos internos para rejeitar automaticamente pacotes duvidosos ou mal formados.# Suporte a módulos externos para expansão das funcionalidades padrões oferecidas pelo código de firewall
Firewall
Iptables
Características:
# Suporte completo a roteamento de pacotes, tratadas em uma área diferente de tráfegos padrões.# Suporte a especificação de tipo de serviço para priorizar o tráfego de determinados tipos de pacotes.# Permite especificar exceções para as regras ou parte das regras# Suporte a detecção de fragmentos# Permite enviar alertas personalizados ao syslog sobre o tráfego aceito/bloqueado.# Redirecionamento de portas# Masquerading# Suporte a SNAT (modificação do endereço de origem das máquinas para um único IP ou faixa de IP's).# Suporte a DNAT (modificação do endereço de destino das máquinas para um único IP ou fixa de IP's)# Contagem de pacotes que atravessaram uma interface/regra# Limitação de passagem de pacotes/conferência de regra (muito útil para criar proteções contra, syn flood, ping flood, DoS, etc)
Firewall
- Quais serviços proteger?- Quais tipos de conexão permitir?- Máquinas com acesso irrestrito
- Serviços com prioridade do processamento- Volume de tráfego
- O que poderá trafegar entre redes- ...
Firewall
Iptables
Regras
- São como comandos passados ao iptables para que ele realize uma determinada ação.
- As regras são armazenadas dentro dos chains e processadas na ordem que são inseridas.
- As regras são armazenadas no kernel
Firewall
Iptables
Chains
- São locais onde as regras do firewall definidas pelo usuário são armazenadas para operação do firewall
- Embutidas e as definidas pelo usuário
INPUTOUTPUTFORWARDPREROUTINGPOSTROUTING
Firewall
Iptables
Tabelas
- São os locais usados para armazenar os chains e conjunto de regras com uma determinada característica em comum
filternatmangle
FirewallIptables
- filter- INPUT- OUTPUT- FORWARD
- nat- PREROUTING → Consultado quando os pacotes precisam ser modificados logo que chegam (DNAT)
- POSTROUTING → Consultado quando os pacotes precisam ser modificados após o tratamento de roteamento (SNAT)
- OUTPUT → Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados
- mangle- INPUT → Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain INPUT da
tabela filter.
- OUTPUT → Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain OUTPUT
da tabela nat. - FORWARD → Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain
FORWARD da tabela filter.
- PREROUTING → Consultado quando os pacotes precisam ser modificados antes de ser enviados para o chain PREROUTING da tabela nat.
- POSTROUTING → Consultado quando os pacotes precisam ser modificados antes de serem enviados para o
chain POSTROUTING da tabela nat.
Firewall
Adicionando regras:
# ping localhost
# iptables -t filter -A INPUT -d 127.0.0.1 -j DROP
# ping localhost
# iptables -t filter -I INPUT 1 -s 10.1.151.X -d 127.0.0.1 -j ACCEPT
Firewall
Removendo, refinando e listando a regra:
# iptables -t filter -D INPUT -d 127.0.0.1 -j DROP# iptables -t filter -A INPUT -d 127.0.0.1 -p tcp -j DROP
# iptables -t <tabela> -L <chain> [opcoes]
Opções:-v--line-numbers-n
Firewall
Especificando um endereço de origem/destino
# iptables -A INPUT -s 200.200.200.0/24 -j DROP
# iptables -A OUTPUT -d 10.1.2.3 -j DROP
# iptables -A INPUT -s www.dominio.teste.org -d 210.21.1.3 -j DROP
Firewall
Especificando a interface de origem/destino
# iptables -A INPUT -s 200.123.123.10 -i ppp0 -j DROP
# iptables -A INPUT -s 200.123.123.10 -i ppp+ -j DROP
# iptables -A OUTPUT -o ppp+ -j DROP
# iptables -A FORWARD -i ppp0 -o eth1 -j DROP
Firewall
Especificando um protocolo
# iptables -A INPUT -s 200.200.200.200 -p udp -j DROP
Especificando portas de origem/destino
# iptables -A OUTPUT -d 200.200.200.200 -p tcp --dport :1023 -j DROP
Firewall
Tabela NAT (Network Address Translation)
A tabela nat serve para controlar a tradução dos endereços que atravessam o código de
roteamento da máquina
Firewall
IP masquerading
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
# echo "1" >/proc/sys/net/ipv4/ip_forward
Firewall
Fazendo SNAT
Consiste em modificar o endereço de origem das máquinas clientes antes dos pacotes serem enviados. A máquina roteadora é inteligente o bastante para lembrar dos pacotes modificados e reescrever os endereços assim que obter a resposta da máquina de destino, direcionando os pacotes ao destino correto
Toda operação de SNAT é feita no chain POSTROUTING.
Firewall
Fazendo DNAT
iptables -t nat -A PREROUTING -s 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2
Redirecionamento de portas
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81
Firewall
Caminho percorrido pelos pacotes nas tabelas e chains
Nos exemplos foi assumida a seguinte configuração:
- A máquina do firewall com iptables possui o endereço IP 192.168.1.1 e conecta a rede interna ligada via interface eth0 a internet via a interface ppp0.
- Rede interna com a faixa de endereços 192.168.1.0 conectada ao firewall via interface eth0
- Interface ppp0 fazendo conexão com a Internet com o endereço IP 200.217.29.67.
- A conexão das máquinas da rede interna (eth0) com a rede externa (ppp0) é feita via Masquerading.
Firewall
1) Ping de 192.168.1.1 para 192.168.1.1
2) Conexão FTP de 192.168.1.1 para 192.168.1.1
3) Conexão FTP de 192.168.1.1 para 192.168.1.4
4) Conexão FTP de 200.217.29.67 para a máquina ftp.debian.org.br
5) Ping de 192.168.1.4 para 192.168.1.1
6) Conexão FTP de 192.168.1.4 para 192.168.1.1
7) Conexão FTP de 192.168.1.4 para ftp.debian.org.br
Firewall
Em duplas, fazer SNAT sendo:
Máquina A alterar o IP local (eth0) para algum da rede 10.5.151.0/24
Máquina B criar uma interface virtual eth0:0 com IP da rede 10.5.151.0/24
Máquina B definir uma rota para da rede 10.5.151.0/24 sendo o gateway o IP setado para eth0
Adicionar a rota default da máquina A o endereço IP da rede 10.5.151.0/24 da máquina B
Testar conectividade (ping externos, requisições http, traceroute)
Firewall
Ainda em duplas:
Máquina A deve bloquear o acesso ao SSH (porta 22) vindo da Máquina B
Máquina B deve bloquear ping para ela vindo da rede 10.5.151.0/24
Análise de Logs
Geração de registros de eventos ou estatísticas para prover informações sobre a utilização e
performace de um sistema
Análise de Logs
Auditoria de Logs
- Análise de logs, de forma a apresentar informações sobre um sistema de forma clara e compreensível
- Técnica para determinar a posteriori violações de segurança
Análise de Logs
Provêem mecanismos para:
- Analisar o estado de segurança de um sistema
- Determinar uma sequência de eventos que possa ter comprometido o sistema
Análise de Logs
Tipos de Logs:
- do sistema- dos aplicativos- de firewall- de Sistemas de Detecção de Intrusão
Análise de Logs
Sistema de auditoria de logs
logs -> analisador -> notificadorsyslogd -> swatch -> e-mail
Análise de Logs
Considerações:
- Que tipos de logs gerar? (políticas da empresa/instituição)- Objetivos dos logs sendo gerados- Volume de dados gerado pelos logs- Topologia a utilizar- Ferramentas
Análise de Logs
Informações contidas nos logs
- Horário sincronizado- Máximo de informações possível- Logs relativos a tráfego de rede (TTL, flags, protocolo, conteúdo do tráfego, etc)
Análise de Logs
Problemas na análise de logs
- Volume muito grande - servidores e hosts - roteadores - firewalls - IDSs- Tarefa tediosa
Análise de Logs
Estratégias
- Condensar linhas iguais- Filtrar eventos que não são de interesse- Uso de ferramentas especializadas - parser e sumário de logs de firewall (fwlogwatch, pixlog) - sumário de logs de e-mail (pflogsumm, smtpstats) - alertas (swatch) - integração com cron
Análise de Logs
Rotação e backups
- lotar filesystems (partições)- sobreescrita de logs- comprimir arquivos de logs grandes- fazer rotação por tamanho, idade, etc- newsyslog e logrotate Confidencialidade - Segurança física - Criptografar logs sensíveis
Análise de Logs
Fatos iniciais:
• Fulano acusado de ter tentado um defacement e, não conseguindo, ter apagado informações do sevidor; • Evidências: logs de IIS da empresa A e logs de acesso do provedor X; • Fulano confirma que estava conectado na data e hora apontadas pela empresa A, mas nega participação.
Análise de Logs
Logs do IIS:
• Logs de um defacement feito no dia 11; • Logs de ataques que envolviam o IP de Fulano são do dia 19; • os Logs indicavam um ataque vindo de uma pessoa usando Windows. Fulano é usuário de Mac.
Análise de Logs
Trechos dos logs com o IP de Fulano:
yyyy-mm-19 06:19:03 atacante - vitima 80 GET /msadc/../../../../../../../..//winnt/system32/cmd.exe/c%20 dir 200Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)yyyy-mm-19 06:19:05 atacante - vitima 80 GET /cgi-bin/../../../../../../../..//winnt/system32/cmd.exe/c%20 dir 200Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)yyyy-mm-19 06:26:30 atacante - vitima 80 GET /form.aspown=grupo 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+9+DigExt)
Informações não fornecidas pela empresa A:
• Timezone dos logs; • Confirmação sobre a sincronia do relógio da máquina comprometida.
Processo de identificação do usuário peloprovedor X:
• Assumiu todos os horários como localtime; • Não considerou atrasos de seu próprio servidor: - Fulano possuía NTP na máquina; - Horário do provedor X estava 12 minutos adiantado.
Logs do IIS da empresa A estavam em formato“W3C Extended”
.“W3C Extended format is a customizable ASCIIformat with a variety of different fields. You caninclude fields important to you, while limiting log
size by omitting unwanted fields. Fields areseparated by spaces. Time is recorded as UTC
(Greenwich Mean Time).”
http://www.iisfaq.com/default.aspx?View=A435
Provavelmente houve uma identificaçãoIncorreta:
• Não foi levado em conta o timezone; • Não havia evidências de sincronização de relógio no provedor X nem na empresa A; • O ataque deve ter ocorrido aproximadamente 2 horas antes do horário afirmado pela empresa A.
Resultados da investigação:
• Empresa A continuou afirmando que seus horários estavam em localtime; • Empresa A não se pronunciou sobre sincronia de relógio, nem o provedor X; • Juiz arquivou o caso por falta de evidências do crime; • Fulano, mesmo não sendo processado, ficou visto pelos conhecidos como alguém que já se envolveu com atividades ilícitas.
Análise de Logs
Problema:
• Instituição A não conseguia enviar emails para Instituição B; • Demais emails da Instituição A eram entregues sem problemas. (com algumas excessões sem diagnóstico claro. . . )
Análise de Logs
Considerações Finais:
- Logs precisam ter o mínimo de informações úteis- Confidencialidade dos logs; cuidado ao enviá-los para fora da rede- Ferrametnas são essenciais- Cruzar informações ao analisar logs
Análise de Logs
Logs gerados pela Inst. B:
Sep 18 23:27:06.465595 rule xx/xx(match): block in on int0x.x.x.x.56409 > smtp.25: SWE 2848068646:2848068646(0)
Sep 18 23:43:44.555285 rule xx/xx(match): block in on int0x.x.x.x.56726 > smtp.25: SWE 3898219082:3898219082(0)
Sep 19 00:00:33.508330 rule xx/xx(match): block in on int0x.x.x.x.56804 > smtp.25: SWE 650122741:650122741(0)
Análise de Logs
ECN (Explicit Congestion Notification):
[tcpdump/print-tcp.c]if (flags & TH_CWR) putchar(’W’); /* congestion _W_indow reduced (ECN) */if (flags & TH_ECNECHO) putchar(’E’); /* ecn _E_cho sent (ECN) */
Análise de Logs
Regra de firewall Inst. B:
block return-rst in log on $interface proto tcp allpass in quick on $interface proto tcpfrom any to $smtpserverport = smtp flags S keep state
Análise de Logs
Solução:
• Inst. A tinha ECN habilitado por default nesta máquina; • Inst. A desabilitou o uso de ECN; • Inst. B “flexibilizou” o seu filtro, deixando passar as flags de “WE”.
Análise de Tráfego
- Possibilidade de examinar e registrar cada pacote que circula na rede
- Detecção de intrusão
- Uso de filtros para coletar eventos de interesse
- Fornecimento de informações sobre a rede, aplicações e recursos utilizados (planejamento)
- Contabilização e gestão
- Produtividade da rede
- Impacto em alterações na rede
- Detecção de anomalias
- Análise de segurança, vulnerabilidades de segurança
Análise de Tráfego
Wireshark
Wireshark é um sniffer que permite capturar o tráfego da rede, para que voc possa ter o controle sobre o que entra e ẽsai da sua rede, sendo um forte aliado na detecção de trojan, spyware, acesso não autorizado, problemas nas rede, entender melhor o funcionamento de cada protocolo.
Referências
http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm
http://www.dicas-l.com.br/dicas-l/20070227.php
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables#Determining_The_Status_of_iptables
http://www.faqs.org/docs/iptables/traversingoftables.html
http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm
http://www.5dollarwhitebox.org/wiki/index.php/Howtos_Basic_IPTables
http://wiki.ubuntu-br.org/Seguranca
http://www.cert.br/docs/seg-adm-redes/seg-adm-redes.html#subsec2.1