Curso de extensão em Administração de redes com...

81
Curso de extensão em Administração de redes com GNU/Linux Eduardo Júnior - [email protected] Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação Universidade Federal da Bahia Eduardo Júnior Administração de redes com GNU/Linux

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çaPolíticas de Segurança

Políticas de Segurança

Importância

Objetivos

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 Uso Aceitável - AUPPolíticas de Uso Aceitável - AUP

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

Políticas de Segurança

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ça:

Atualizações automáticas

Uso do cron ou atcront-apt

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

Chains

Tabelas

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

# iptables -t nat -A POSTROUTING -s 192.168.1.2 -o eth1 -j SNAT --to 200.200.217.40

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

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

Cenário 1

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

Cenário 2

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

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.

Análise de Tráfego

Ataque 1

ARP Poisoning

Análise de Tráfego

ARP poisoning

Análise de Tráfego

Ataque 2

MAC Flooding

Análise de Tráfego

MAC Flooding

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