Conceitos sobre Firewall
Transcrição
Conceitos sobre Firewall
Conceitos sobre Firewall Redes Multimı́dia Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina – IFSC campus São José [email protected] 1 de setembro de 2011 1 / 56 Sumário 1 Conceitos sobre Firewall Tipos de firewall 2 Projetos de firewall Estratégias de configuração Perı́metros de segurança Tradução de endereços de rede – NAT 3 Ferramentas iptables Laboratórios com iptables 2 / 56 Sumário 1 Conceitos sobre Firewall Tipos de firewall 2 Projetos de firewall Estratégias de configuração Perı́metros de segurança Tradução de endereços de rede – NAT 3 Ferramentas iptables Laboratórios com iptables 3 / 56 Firewall Definição convencional: Parede corta fogo Dispositivo feito de material a prova de fogo para evitar que o fogo se espalhe de uma parte do edifı́cio para outra 4 / 56 Firewall Definição convencional: Parede corta fogo Dispositivo feito de material a prova de fogo para evitar que o fogo se espalhe de uma parte do edifı́cio para outra Definição para sistemas computacionais Ponto de controle que mantém acessos não autorizados fora do perı́metro de segurança, ao mesmo tempo possibilita acesso aos sistemas externos Atua como uma barreira de segurança entre a rede interna e o mundo exterior Evita que potenciais vulnerabilidades de serviços sejam exploradas Nenhum software complexo é 100% seguro Pode ser classificado como firewall de máquina ou de rede 4 / 56 Firewall de máquina (ou Firewall pessoal) Perı́metro de segurança: A própria máquina Analisa todo o tráfego entrante e sainte Uma forma de proteção contra spywares, máquinas zombis As regras podem seguir uma polı́tica de segurança da organização (mais seguro) ou o próprio usuário pode definir suas regras (menos seguro) Exemplo: Firewall do Microsoft Windows 5 / 56 Firewall de máquina (ou Firewall pessoal) Perı́metro de segurança: A própria máquina Analisa todo o tráfego entrante e sainte Uma forma de proteção contra spywares, máquinas zombis As regras podem seguir uma polı́tica de segurança da organização (mais seguro) ou o próprio usuário pode definir suas regras (menos seguro) Exemplo: Firewall do Microsoft Windows 5 / 56 Firewall de rede Perı́metro de segurança: rede local da organização Todo o tráfego de dentro para fora, e vice-versa, deverá passar pelo Firewall Somente o tráfego autorizado, definido pela polı́tica de segurança local, deverá ter permissão para passar O próprio Firewall deverá ser imune a invasões Implica na utilização de um sistema confiável, com um sistema operacional seguro e rodando um conjunto mı́nimo de serviços Perímetro de segurança Internet Rede local Firewall 6 / 56 Caracterı́sticas de um firewall de rede Ponto único de controle garante uma maior segurança da rede Mesmo que máquinas de clientes não estejam plenamente seguras Um bom local para realizar Traduções de Endereços de Rede (NAT) e registro do tráfego Não protege contra ataques oriundos da rede interna Não evita que máquinas internas façam uso de modems (3G) e se conectem à rede externa 7 / 56 Caracterı́sticas de um firewall de rede Ponto único de controle garante uma maior segurança da rede Mesmo que máquinas de clientes não estejam plenamente seguras Um bom local para realizar Traduções de Endereços de Rede (NAT) e registro do tráfego Não protege contra ataques oriundos da rede interna Não evita que máquinas internas façam uso de modems (3G) e se conectem à rede externa Firewall pessoal + Firewall rede Se o firewall de rede protege contra ataques oriundos da rede externa, o firewall pessoal pode proteger contra ataques originados dentro da rede local 7 / 56 Tipos de Firewall Filtro de pacotes (camada de rede) Se preocupa com endereço IP de origem/destino, porta de origem/destino, protocolo utilizado Geralmente combinado com roteador Inspeção de estado (camada de transporte) Não filtram pacotes individuais, o filtro é baseado em regras de sessões Gateway no nı́vel de aplicação O tráfego é analisado na camada de aplicação Hı́bridos 8 / 56 Filtro de pacotes Atua na camada de rede e não se preocupa com o conteúdo dos pacotes Analisa todo datagrama que passa por este e decide se serão descartados ou encaminhados Endereço IP de origem e de destino Porta de origem e de destino Interface de entrada e de saı́da Protocolo TCP, UDP ou ICMP 9 / 56 Filtro de pacotes – Exemplos Polı́tica Configuração do firewall 10 / 56 Filtro de pacotes – Exemplos Polı́tica Máquinas de usuários não podem gerar SPAM Configuração do firewall Descarte todos pacotes saintes com destino a porta 25 10 / 56 Filtro de pacotes – Exemplos Polı́tica Máquinas de usuários não podem gerar SPAM Máquinas internas não podem ser acessadas remotamente Configuração do firewall Descarte todos pacotes saintes com destino a porta 25 Descarte pacotes destinados as portas do SSH, VNC, RDesktop 10 / 56 Filtro de pacotes – Exemplos Polı́tica Máquinas de usuários não podem gerar SPAM Máquinas internas não podem ser acessadas remotamente Usuários podem navegar na web Configuração do firewall Descarte todos pacotes saintes com destino a porta 25 Descarte pacotes destinados as portas do SSH, VNC, RDesktop Permita o tráfego sainte para as portas 80 e 443 10 / 56 Inspeção de estado 1 2 Atua na camada de transporte (camada 4) Não analisa pacotes individuais Mantém estado de todas as 3 4 5 6 7 8 9 10 conexões que passam por este Consegue determinar se um pacote faz parte de uma conexão existente ou de uma nova conexão 11 TCP Flags: SYN, ACK. . . 19 12 13 14 15 16 17 18 20 21 22 172.18.0.4 | | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) | |(41143) 172.18.0.10 | SYN | ------------------> (1234)| SYN, ACK | <------------------ (1234)| ACK | ------------------> (1234)| PSH, ACK - Len: 3 | ------------------> (1234)| ACK | <------------------ (1234)| PSH, ACK - Len: 6 | <------------------ (1234)| ACK | ------------------> (1234)| FIN, ACK | ------------------> (1234)| FIN, ACK | <------------------ (1234)| ACK | ------------------> (1234)| 11 / 56 Gateway no nı́vel de aplicação Atua na camada de aplicação (camada 7), examinando o conteúdo dos pacotes Permite um controle mais granular que aquele presente nos filtros de pacotes e de sessões Ex: Aos usuários internos não é permitido baixar arquivos .EXE Pode ser combinado com antivı́rus Consome uma carga maior de processamento se comparado a outros filtros A conexão entre clientes e servidores é sempre intermediada Pacotes originados pelos clientes param no gateway, onde são analisados 2 Se estiverem de acordo, o gateway inicia uma conexão com o servidor externo 1 12 / 56 Comparativo entre os tipos de firewall Filtro de pacotes Inspeção de estados Gateway de aplicação 13 / 56 Comparativo entre os tipos de firewall Filtro de pacotes Vantagens Com regras simples é possı́vel se proteger da maioria das ameaças de segurança Desvantagens Segurança vs facilidade para usuários Inspeção de estados Gateway de aplicação 13 / 56 Comparativo entre os tipos de firewall Filtro de pacotes Vantagens Com regras simples é possı́vel se proteger da maioria das ameaças de segurança Desvantagens Segurança vs facilidade para usuários Inspeção de estados Vantagens Evita ataques mais elaborados; facilidade para usuários Desvantagens Aplicações UDP não são atendidas Gateway de aplicação 13 / 56 Comparativo entre os tipos de firewall Filtro de pacotes Vantagens Com regras simples é possı́vel se proteger da maioria das ameaças de segurança Desvantagens Segurança vs facilidade para usuários Inspeção de estados Vantagens Evita ataques mais elaborados; facilidade para usuários Desvantagens Aplicações UDP não são atendidas Gateway de aplicação Vantagens Filtro granular baseado em conteúdo; cache; autenticação de usuários Desvantagens Nem todas aplicações funcionam com este; desempenho 13 / 56 Comparativo entre os tipos de firewall Filtro de pacotes Vantagens Com regras simples é possı́vel se proteger da maioria das ameaças de segurança Desvantagens Segurança vs facilidade para usuários Inspeção de estados Vantagens Evita ataques mais elaborados; facilidade para usuários Desvantagens Aplicações UDP não são atendidas Gateway de aplicação Vantagens Filtro granular baseado em conteúdo; cache; autenticação de usuários Desvantagens Nem todas aplicações funcionam com este; desempenho A combinação destes se mostra como uma boa solução 13 / 56 Sumário 1 Conceitos sobre Firewall Tipos de firewall 2 Projetos de firewall Estratégias de configuração Perı́metros de segurança Tradução de endereços de rede – NAT 3 Ferramentas iptables Laboratórios com iptables 14 / 56 Estratégias de configuração Estratégia Local Roteador/Firewall Firewall com 2 interfaces Firewall com subredes 2 Firewalls com subredes Descrição Instalado em cada máquina individual Uma única máquina para roteamento e filtragem de pacotes Intermedia a conexão entre a LAN e o roteador Máquinas da rede interna são alocadas em diferentes subredes Separação de tarefas por 2 firewalls 15 / 56 Estratégia: Local Rede local Internet 16 / 56 Estratégia: Local Agente Malicioso Rede local Internet 16 / 56 Estratégia: Local Agente Malicioso Rede local Internet 16 / 56 Estratégia: Roteador/Firewall Agente Malicioso Rede local Internet 17 / 56 Estratégia: Firewall com 2 interfaces Agente Malicioso Rede local Internet 18 / 56 Estratégia: Firewall com subredes Suporte Internet TI 19 / 56 Estratégia: 2 Firewalls com subredes Suporte FW2 Internet FW1 TI 20 / 56 Estratégia: Estação bastião Uma estação especial com poucas aplicações em execução, projetada e configurada para resistir a ataques Servidores proxy (SOCKS, HTTP, RTP, etc.) Somente pacotes oriundos e destinados a esta máquina podem passar pelo firewall Agente Malicioso Rede local Estação bastião Internet Proxy 21 / 56 Organização da rede 1 Somente com estações de trabalho Residencias e pequenas empresas 22 / 56 Organização da rede 1 Somente com estações de trabalho Residencias e pequenas empresas 2 Estações e servidores internos Servidor de impressão, arquivos, etc. 22 / 56 Organização da rede 1 Somente com estações de trabalho Residencias e pequenas empresas 2 Estações e servidores internos email www Servidor de impressão, arquivos, etc. 3 Estações, servidores internos e externos WWW, SMTP, DNS, POP, IMAP, etc. 22 / 56 Organização da rede 1 Somente com estações de trabalho Residencias e pequenas empresas 2 Estações e servidores internos email www Servidor de impressão, arquivos, etc. 3 Estações, servidores internos e externos WWW, SMTP, DNS, POP, IMAP, etc. Como oferecer serviços externos sem que isto resulte em ameaças para a rede interna? 22 / 56 DMZ – Zona desmilitarizada Segmento de rede tratado como zona neutra entre faixas em conflito (rede local e Internet) Local ideal para disponibilizar serviços que podem ser acessados tanto por máquinas da rede local como da rede externa (Internet) Exemplo: DNS, WWW, SMTP Parte-se do pressuposto que as máquinas ali presentes seguem a risca a polı́tica de segurança e estão sempre com as últimas atualizações de segurança Roda um conjunto mı́nimo de serviços Principal objetivo Proteger a rede interna contra ataques oriundos dos servidores externos, caso estes sejam comprometidos 23 / 56 DMZ – Zona desmilitarizada DMZ DNS WWW Internet email Rede local 24 / 56 Replicar serviços pela DMZ e rede local DMZ DNS WWW Internet email Rede local DNS Replicar serviços pela rede local e DMZ garante que se o servidor na DMZ for comprometido, isto não irá afetar os usuários da rede local Exemplo: Servidor de DNS apontando para máquinas maliciosas 25 / 56 Tradução de endereços de rede Network Address Translation – NAT Permite reescrever endereços de origem e destino, bem como portas de destino Solução prática para a exaustão dos endereços IPv4 Permite que múltiplas estações, com endereços IP privados, compartilhem um único endereço IP público Blocos de IPs privados: 192.168.X.X, 172.16-31.X.X e 10.X.X.X 26 / 56 Tradução de endereços de rede Network Address Translation – NAT Permite reescrever endereços de origem e destino, bem como portas de destino Solução prática para a exaustão dos endereços IPv4 Permite que múltiplas estações, com endereços IP privados, compartilhem um único endereço IP público Blocos de IPs privados: 192.168.X.X, 172.16-31.X.X e 10.X.X.X Funcionamento – Tráfego sainte da rede local 1 O roteador troca o endereço de origem e armazena dados referente a esta conexão de saı́da 2 Quando o roteador recebe a resposta, analisa a qual conexão pertence e encaminha para a máquina correspondente 26 / 56 Tipos de NAT Full cone Todos os pedidos de um mesmo endereço IP:PORTA interno são mapeados para um mesmo endereço IP:PORTA externo Máquinas externas podem iniciar conexão com a máquina interna Restricted cone Todos os pedidos de um mesmo endereço IP:PORTA são mapeados para um mesmo endereço IP:PORTA Uma máquina externa poderá enviar pacotes para a máquina interna somente se a máquina interna já tiver enviado previamente algum pacote a essa máquina externa 27 / 56 Tipos de NAT Port restricted cone Semelhante ao anterior, porém a restrição inclui também a porta de origem da máquina externa Symmetric O mais restritivo de todos, para cada conexão originada por uma máquina interna a uma máquina externa é gerado um mapeamento ligando IPs e portas (origem e destino) É reservada uma porta para cada máquina externa 28 / 56 Tipos de NAT Port restricted cone Semelhante ao anterior, porém a restrição inclui também a porta de origem da máquina externa Symmetric O mais restritivo de todos, para cada conexão originada por uma máquina interna a uma máquina externa é gerado um mapeamento ligando IPs e portas (origem e destino) É reservada uma porta para cada máquina externa JSTUN Ferramenta em Javaa que permite identificar o tipo de NAT que está sendo aplicado na rede a http://jstun.javawi.de 28 / 56 NAT: Full cone 10.1.1.2 10.1.1.1 Máquina interna 2.2.2.3 Full cone 2.2.2.4 Máquina externa A 2.2.2.5 Máquina externa B Pacote UDP s=10.1.1.1:2100 d=2.2.2.4:5060 s=2.2.2.3:4400 d=2.2.2.4:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=ANY s=2.2.2.4:5060 d=10.1.1.1:2100 s=2.2.2.4:5060 d=2.2.2.3:4400 s=2.2.2.4:1234 d=10.1.1.1:2100 s=2.2.2.4:1234 d=2.2.2.3:4400 s=2.2.2.5:5060 d=10.1.1.1:2100 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.5:4321 d=10.1.1.1:2100 s=2.2.2.5:4321 d=2.2.2.3:4400 29 / 56 NAT: Restricted cone 10.1.1.2 2.2.2.3 Restricted cone 10.1.1.1 Máquina interna 2.2.2.4 Máquina externa A 2.2.2.5 Máquina externa B Pacote UDP s=10.1.1.1:2100 d=2.2.2.4:5060 s=2.2.2.3:4400 d=2.2.2.4:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:ANY s=2.2.2.4:5060 d=10.1.1.1:2100 s=2.2.2.4:5060 d=2.2.2.3:4400 s=2.2.2.4:1234 d=10.1.1.1:2100 s=2.2.2.4:1234 d=2.2.2.3:4400 Inatingível Pacote UDP s=10.1.1.1:2100 d=2.2.2.5:5060 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.3:4400 d=2.2.2.5:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:ANY d=2.2.2.3:4400 <- s=2.2.2.5:ANY s=2.2.2.5:5060 d=10.1.1.1:2100 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.5:4321 d=10.1.1.1:2100 s=2.2.2.5:4321 d=2.2.2.3:4400 30 / 56 NAT: Port restricted cone 10.1.1.2 2.2.2.3 Port Restricted 10.1.1.1 Máquina interna 2.2.2.4 Máquina externa A 2.2.2.5 Máquina externa B Pacote UDP s=10.1.1.1:2100 d=2.2.2.4:5060 s=2.2.2.3:4400 d=2.2.2.4:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:5060 s=2.2.2.4:5060 d=2.2.2.3:4400 s=2.2.2.4:5060 d=10.1.1.1:2100 Inatingível s=2.2.2.4:1234 d=2.2.2.3:4400 Inatingível Pacote UDP s=10.1.1.1:2100 d=2.2.2.5:5060 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.3:4400 d=2.2.2.5:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:5060 d=2.2.2.3:4400 <- s=2.2.2.5:5060 s=2.2.2.5:5060 d=10.1.1.1:2100 Inatingível s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.5:4321 d=2.2.2.3:4400 31 / 56 NAT: Symmetric 10.1.1.2 2.2.2.3 Symmetric 10.1.1.1 Máquina interna 2.2.2.4 Máquina externa A 2.2.2.5 Máquina externa B Pacote UDP s=10.1.1.1:2100 d=2.2.2.4:5060 s=2.2.2.3:4400 d=2.2.2.4:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:5060 s=2.2.2.4:5060 d=2.2.2.3:4400 s=2.2.2.4:5060 d=10.1.1.1:2100 Inatingível s=2.2.2.4:1234 d=2.2.2.3:4400 Inatingível Pacote UDP s=10.1.1.1:2100 d=2.2.2.5:5060 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.3:5500 d=2.2.2.5:5060 10.1.1.1:2100 d=2.2.2.3:4400 <- s=2.2.2.4:5060 d=2.2.2.3:5500 <- s=2.2.2.5:5060 Inatingível s=2.2.2.5:5060 d=10.1.1.1:2100 s=2.2.2.5:5060 d=2.2.2.3:4400 s=2.2.2.5:5060 d=2.2.2.3:5500 32 / 56 Dificuldades com o NAT Não permite o funcionamento de alguns protocolos de rede Serviços que são iniciados fora da rede local não funcionam Exemplos de serviços que terão dificuldade: SIP e FTP Solução: FTP passivo Proxy de aplicações SOCKS STUN UPnP 33 / 56 Funcionamento FTP – modo ativo 34 / 56 Funcionamento FTP – modo ativo 34 / 56 Funcionamento FTP – modo ativo 34 / 56 Funcionamento FTP – modo passivo 35 / 56 Funcionamento FTP – modo passivo 35 / 56 Funcionamento FTP – modo passivo 35 / 56 Sumário 1 Conceitos sobre Firewall Tipos de firewall 2 Projetos de firewall Estratégias de configuração Perı́metros de segurança Tradução de endereços de rede – NAT 3 Ferramentas iptables Laboratórios com iptables 36 / 56 Ferramentas Ferramenta ipchains iptables ipfw pf Squid Sistema Operacional Linux 2.2 Linux 2.4, 2.6 FreeBSD OpenBSD Linux, BSDs Tipo Filtro de pacotes (sem estado) Filtro de pacotes (com estado) Filtro de pacotes (com estado) Filtro de pacotes (com estado) Gateway de aplicação 37 / 56 Ferramenta: iptables Iptables Ferramenta administrativa para filtragem de pacotes e para tradução de endereços de rede (IPv4) iptables (IPv4) e ip6tables (IPv6) Permite filtrar pacotes com base no endereço MAC ou ainda nas marcações do cabeçalho IP Proteção contra ataques que usam pacotes mal formados Permite limitar o tráfego como forma de proteção contra ataque de negação de serviço (Deny of Service – DoS) Permite marcar pacotes para trabalhar com QoS 38 / 56 Funcionamento do iptables Todos os pacotes que chegam a máquina são inspecionados e passam por um conjunto de tabelas filter – Usada para filtragem dos pacotes nat – Usada na tradução de endereços de rede mangle – Usada para alteração dos pacotes para QoS Cada tabela é composta por um conjunto cadeias (chains), as quais tratam os pacotes com uma maior granularidade Dentro das cadeias estão armazenadas regras para filtragem, tradução de endereços ou para alteração dos atributos dos pacotes Endereço de origem, destino, portas, etc. 39 / 56 Tabela filter INPUT – Filtra os pacotes que tem como destino o próprio firewall OUTPUT – Filtra os pacotes gerados pelo próprio firewall FORWARD – Filtra os pacotes que passam através do firewall Internet Rede local INPUT Internet Rede local OUTPUT Internet Rede local FORWARD 40 / 56 Tabela nat PREROUTING NAT ocorre antes do roteamento do pacote. Tradução do IP destino para ser compatı́vel com a tabela de roteamento do firewall (conhecido por DNAT) POSTROUTING NAT ocorre depois do roteamento do pacote. Tradução do IP origem permitindo que muitas máquinas sejam mapeadas para um único IP SNAT – Quando se conhece o endereço de origem para o qual será traduzido MASQUERADE – Deixa o firewall detectar automaticamente o endereço de origem OUTPUT Tradução dos pacotes gerados pelo próprio firewall 41 / 56 Tabela mangle mangle – modificação dos bits de QoS do cabeçalho dos pacotes PREROUTING, POSTROUTING, OUTPUT, INPUT, FORWARD Criação de cadeias personalizadas É possı́vel criar novas cadeias para qualquer uma das tabelas apresentadas. A criação de mais cadeias pode ser interessante para tornar o processamento de pacotes mais eficiente 42 / 56 Fluxo dos pacotes pelas tabelas e cadeias Mangle - Filter FORWARD Mangle - NAT POSTROUTING Pacote chegando Pacote saindo Não Mangle - NAT REDE A PREROUTING Mangle - NAT REDE B Sim Pacote saindo POSTROUTING É para o firewall? OUTPUT Mangle - NAT - Filter Processamento do pacote INPUT Mangle - Filter 43 / 56 Criação de regras com o iptables Cada regra deve indicar a qual tabela e a qual cadeia pertence Ex: tabela filter, cadeia INPUT A regra é composta ainda por outros parâmetros relacionados ao cabeçalho dos pacotes Ex: Destinados a porta 80 TCP Por fim, a regra deve indicar qual ação deverá ser tomada para os pacotes que “casarem” com esta Ex: descarte os pacotes 1 iptables -t filter -A INPUT -p TCP --dport 80 -j DROP 44 / 56 Criação de regras com o iptables Cada regra deve indicar a qual tabela e a qual cadeia pertence Ex: tabela filter, cadeia INPUT A regra é composta ainda por outros parâmetros relacionados ao cabeçalho dos pacotes Ex: Destinados a porta 80 TCP Por fim, a regra deve indicar qual ação deverá ser tomada para os pacotes que “casarem” com esta Ex: descarte os pacotes 1 iptables -t filter -A INPUT -p TCP --dport 80 -j DROP Nota As regras são analisadas em ordem, assim será executada a primeira regra que casar com o pacote 44 / 56 Alvos para as regras O parâmetro -j indica para qual alvo determinado pacote deverá ser enviado, quando este casar com a regra Os alvos também podem ser outras cadeias Alvo ACCEPT DROP REJECT REDIRECT LOG DNAT SNAT MASQUERADE Descrição O pacote tem seu percurso garantido O pacote é descartado Semelhante ao DROP, porém avisa o emissor Para redirecionar para outra porta Registra informações com o syslog NAT de destino NAT de origem NAT de origem 45 / 56 Outros parâmetros do iptables Parâmetro -A -D -L -P <polı́tica> -F -t <tabela> -j <alvo> -p <proto> −−sport <porta> −−dport <porta> -s <IP> -d <IP> -i <nome> -o <nome> Descrição Adiciona regra no final da cadeia Remove regra Lista todas as regras da tabela Indica a polı́tica padrão da tabela Limpa todas as regras da tabela Indica a tabela Indica o alvo Indica o protocolo (TCP, UDP, ICMP) Indica porta de origem Indica porta de destino Endereço de origem (rede ou máquina) Endereço de destino (rede ou máquina) Interface de entrada Interface de saı́da 46 / 56 Outros parâmetros do iptables Parâmetro -m multiport −−sports <port,port> -m multiport −−dports <port,port> -m multiport −−ports <port,port> -m state −−state <estado> Descrição Para indicar diversas portas de origem (TCP/UDP). As portas podem ser separadas por vı́rgula ou por dois pontos, caso deseje uma faixa de portas Para indicar diversas portas de destino. Ex: −−dports 80,443 Para indicar diversas portas de origem ou destino. Ex: −−ports 1024:65535 NEW - Inı́cio de conexão ESTABLISHED - Parte de uma conexão RELATED - Iniciando uma conexão secundária INVALID - Pacote não identificado 47 / 56 Algumas regras com iptables 1 2 # limpando todas as regras da tabela filter iptables -t filter -F 3 4 5 # Politica padrao de entrada: NEGAR TUDO iptables -t filter -P INPUT DROP 6 7 8 # Aceitar todo o trafego entrante para interface de loopback iptables -t filter -A INPUT -i lo -j ACCEPT 9 10 11 # Permite que a maquina 192.168.2.101 se conecte via SSH pela eth0 iptables -A INPUT -i eth0 -s 192.168.2.101 -p tcp --dport 22 -j ACCEPT 12 13 14 15 # Registrando quando acontece uma conexao na porta 22 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j LOG --log-prefix "Acesso SSH: " 16 17 18 # Permite a entrada de pacotes de conexoes que foram iniciadas pela maquina iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 19 20 21 # Listando as regras ativas na tabela filter iptables -t filter -L -n 48 / 56 Criando cadeias e limitando o número de pacotes 1 2 # Criando uma cadeia chamada 'pacotes_icmp' iptables -t filter -N pacotes_icmp 3 4 5 # Todo pacote ICMP deve ir para a cadeia pacotes_icmp iptables -A INPUT -i eth0 -p ICMP -j pacotes_icmp 6 7 8 9 # Limitando a entrada de 5 pings por minuto iptables -A pacotes_icmp -p ICMP --icmp-type echo-request -m limit --limit 5/min -j ACCEPT 10 11 12 # As respostas (pong) dos pings gerados pela maquina podem entrar iptables -A pacotes_icmp -p ICMP --icmp-type echo-reply -j ACCEPT 13 14 15 # Defesa contra ataques de SYN flood iptables -A INPUT -i eth0 -p TCP --syn -m limit --limit 5/s -j ACCEPT 49 / 56 Roteador com NAT para rede doméstica Roteador com NAT para rede doméstica 1 2 # ativando o roteamento echo 1 > /proc/sys/net/ipv4/ip_forward 3 4 5 # Politica padrao do roteamento: DROP iptables -t filter -P FORWARD DROP 6 7 8 9 # mascarando a saida de pacotes (eth1 ligada na rede externa) iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j MASQUERADE 10 11 12 13 14 # Permitindo rotear somente pacotes com destino a porta 80 na Internet, bem como suas respostas iptables -A FORWARD -i eth0 -o eth1 -p TCP --dport 80 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT 50 / 56 Serviços dentro da rede local com NAT e Proxy transparente Conexões que chegarem pela rede externa com destino a porta 8080 devem ser encaminhadas para a porta 80 da máquina 192.168.2.10 na rede local 1 2 # Trafego destinado a porta 80 pode ser roteado iptables -t filter -A FORWARD -p TCP --dport 80 -j ACCEPT 3 4 5 # Trafego que sair pela eth1 (rede externa) pode ser roteado iptables -t filter -A FORWARD -o eth1 -j ACCEPT 6 7 8 iptables -t nat -A PREROUTING -i eth1 -p TCP --dport 8080 -j DNAT --to-destination 192.168.2.10:80 Proxy transparente – Pacotes destinados a porta 80 devem ser redirecionados para porta 3128 1 iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 80 -j REDIRECT --to-port 3128 51 / 56 Shell script para ativar/desativar firewall 1 2 3 4 #!/bin/bash # Variaveis DEV_LAN=eth0 DEV_WAN=eth1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 fw_start(){ # Adicionando regras iptables -A INPUT -i $DEV_LAN -j ACCEPT } fw_stop(){ # Limpando as regras iptables -P INPUT ACCEPT iptables -t filter -F } fw_uso(){ # Mensagem de ajuda echo "Sintaxe errada..." echo "./$0 (start|stop)" } 25 26 27 28 29 30 case $1 in start) fw_start ;; stop) fw_stop ;; *) fw_uso ;; esac Iniciando o firewall ./firewall.sh start Parando o firewall ./firewall.sh stop Obtendo informações de uso ./firewall.sh 52 / 56 Laboratório 1 – Proteção da máquina local Polı́tica de padrão: negar tudo (entrada e saı́da) Usuário poderá navegar na web normalmente Aplicações rodando na máquina do usuário terão acesso irrestrito à interface lo para comunicação inter-processos Desenvolva um shell script que permita ativar e desativar o firewall 53 / 56 Laboratório 2 – Firewall/roteador para rede doméstica Polı́tica padrão: negar tudo (entrada e roteamento) Usuários da rede local só poderão navegar na web, acessar e-mail (POP, IMAP e SMTP) Firewall poderá ser administrado remotamente via SSH, não importando a origem da conexão Para evitar ataques de varredura de portas, o servidor SSH deverá ouvir em uma porta diferente da 22 Registrar todas conexões oriundas da rede externa Questão Aplicações como MSN, Gtalk e Skype funcionarão normalmente? Se sim, é possı́vel proibir? Se não, é possı́vel liberar? 54 / 56 Laboratório 3 – Serviço SMTP rodando em rede com NAT Polı́tica padrão: negar tudo (entrada e roteamento) Permitir que pings a uma taxa máxima de 10 pacotes por minuto Tráfego destinado à porta 25 deve ser encaminhado para a porta 25 da máquina M1 da rede local Impedir que máquinas da rede local gerem SPAM através de conexões diretas a servidores SMTP externos Tanto o firewall quanto a máquina M1 poderão ser administradas remotamente via SSH Monitorando o número de pacotes que estão casando com as regras watch iptables -t filter -L -v 55 / 56 Laboratório 4 – Cadeia personalizada para máquina M1 Refaça o Laboratório 3 criando uma cadeia especı́fica para a M1 Todos pacotes oriundos e destinados a máquina M1 devem estar na cadeia ’maquina m1’ Salvando e restaurando regras iptables-save > regras-salvas.txt iptables-restore < regras-salvas.txt 56 / 56
Documentos relacionados
Firewall - PoP-BA
roteamento de pacotes IP na rede. Alguns dos protocolos situados sobre esta camada incluem IP, ICMP e IGMP. Esta camada também é responsável por garantir que os pacotes IP alcancem seus
Leia mais