Prof. Samuel Henrique Bucke Brito



Documentos relacionados
Elaboração de Script de Firewall de Fácil administração

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

IPTABLES. Helder Nunes

Iptables. Adailton Saraiva Sérgio Nery Simões

Firewall. Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta

Instalação e Configuração Iptables ( Firewall)

Segurança de Redes. Firewall. Filipe Raulino

Segurança em Sistemas de Informação

Firewalls, um pouco sobre...

Aula 08. Firewall. Prof. Roitier Campos Gonçalves

Firewalls em Linux. Tutorial Básico. André Luiz Rodrigues Ferreira

Orientador de Curso: Rodrigo Caetano Filgueira

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

01 - Entendendo um Firewall. Prof. Armando Martins de Souza armandomartins.souza@gmail.com

Obs: Endereços de Rede. Firewall em Linux Kernel 2.4 em diante. Obs: Padrões em Intranet. Instalando Interface de Rede.

Oficina de ferramentas de Gerência para Redes em Linux

ADMINISTRAÇÃO DE REDES I LINUX. Firewall. Frederico Madeira LPIC 1, CCNA fred@madeira.eng.br

Segurança de Redes de Computadores

Autor: Armando Martins de Souza <armandomartins.souza at gmail.com> Data: 12/04/2010

Firewall - IPTABLES. Conceitos e Prática. Tópicos em Sistemas de Computação Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.

Compartilhamento da internet, firewall

Tipos de Firewalls. porta de origem/destino, endereço de origem/destino, estado da conexão, e outros parâmetros do pacote.

Linux Network Servers

Uso do iptables como ferramenta de firewall.

Professor Claudio Silva

Firewall Iptables. Professor: João Paulo de Brito Gonçalves. Campus - Cachoeiro Curso Técnico de Informática

FIREWALL COM IPTABLES. by João Eriberto Mota Filho 3. TABELAS. Tabela Filter ESQUEMA DA TABELA FILTER

Curso Firewall. Sobre o Curso de Firewall. Conteúdo do Curso

III WTR do POP-BA III Workshop de Tecnologias de Redes Ponto de Presença da RNP na Bahia Instrutor: Ibirisol Fontes Monitor: Jundaí Abdon.


Projeto e Instalação de Servidores Servidores Linux Aula 6 Firewall e Proxy

Tema do Minicurso: Firewall IPTABLES. Carga horária 3h

Segurança com Iptables

FireWall no Linux FIREWALL COM IPTABLES. by João Eriberto Mota Filho

PROJETO DE IMPLEMENTAÇÃO DE UM SERVIDOR FIREWALL LIVRE UTILIZANDO IPTABLES

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Netfilter e Iptables

Administração de Sistemas Operacionais

Pós Graduação Tecnologia da Informação UNESP Firewall

Arquitectura de Redes

Administração de Redes Firewall IPTables

BRUNO PEREIRA PONTES

TuxFrw 3.0 MSPF Modular Stateful Packet Filter

Configurando Interface de Rede. IPTABLES Firewall em Linux Kernel 2.4 em diante. Regras do Iptables. Iptables. Regras do Iptables. Comandos Principais

EN-3611 Segurança de Redes Aula 07 Firewalls Prof. João Henrique Kleinschmidt

Segurança da Informação

Prática NAT/Proxy. Edgard Jamhour. Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.

Firewall IPTables e Exemplo de Implementação no Ambiente Corporativo.

Trabalho 3 Firewalls

Gestão de Sistemas e Redes

comando parâmetro alternativo parâmetro REGRA função iptables -t tabela -N --new chain cria uma nova chain. iptables -t tabela -E --rename-chain

Características de Firewalls

Entendendo como funciona o NAT

Prof. Samuel Henrique Bucke Brito

Capítulo 4 TCP/IP FIREWALLS.

Firewalls. A defesa básica e essencial. SO Linux Prof. Michel Moron Munhoz AES 1

Firewall iptables e criação de regras.

LABORATÓRIO V. NAT E FIREWALL Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Firewall Iptables - Impasses

NAT com firewall - simples, rápido e funcional

Firewall e Proxy. Relatório do Trabalho Prático nº 2. Segurança em Sistemas de Comunicação

O que é uma firewall? É um router entre uma rede privada e uma rede pública que filtra o tráfego com base num conjunto de regras.

Preparação de um Firewall / IDS com Linux Professor: José Ricardo Ferreira de Almeida

Firewalls. Firewalls

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Componentes de um sistema de firewall - I

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Introdução a Firewalls no Linux (Netfilter/Iptables)

IPTABLES. Universidade Federal de Minas Gerais Departamento de Ciência da Computação Laboratório de Software Livre. 4 de fevereiro de 2010

Redes de Computadores. Laboratório de Interconexão de Redes e Serviços - 4º Período

I Workshop do POP MG. Firewall IPTABLES. Fernando Resende Coelho mg.rnp.br

Proxyarp O Shorewall não exige qualquer configuração

Conhecendo as Ameaças para Criar um Ambiente Seguro. Humberto Caetano Diretor Técnico

Configuração do Servidor Gateway Firewall e DHCP

Administração de Redes 2014/15. Network Address Translation (NAT)

Redes de Computadores

SQUID Linux. Rodrigo Gentini

Trabalhando com NAT no PFSense


Ilustração 1: Componentes do controle de acesso IEEE 802.1x

Firewalls. Prática de Laboratório. Maxwell Anderson INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA

Balanceamento de links

2 A Avaliação de RMU 20/12/2012. Nome:

FIREWALL. Redes Erika Hoyer Pedro Henrique B. Meirelles Renan Protector

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Linux Controle de Redes

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Instituto de Ciências Sociais do Paraná Fundação de Estudos Sociais do Paraná Bacharelado em Sistemas de Informação FIREWALL

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso.

Componentes de um sistema de firewall - II. Segurança de redes

Transcrição:

Sistema Operacional Linux > Firewall NetFilter (iptables) www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito

Introdução O firewall é um programa que tem como objetivo proteger a máquina contra acessos indesejados, através da filtragem e controle de todo o tráfego de dados nas interfaces de rede. No Linux, as funções de firewall são agregadas à própria arquitetura do kernel. Isso significa que todo o tráfego que chega (input), sai (output) ou atravessa (forward) um host é processado diretamente no núcleo do SO. 2

Introdução 3

Firewall Basicamente, existem dois tipos de firewalls: Nível de Aplicação Ex.: Proxy Squid Esse tipo de firewall é bastante intrusivo porque analisa o conteúdo do pacote para tomar suas decisões de filtragem. Nível de Rede Ex.: NetFilter (iptables) Esse tipo de firewall toma as decisões baseadas nos parâmetros contidos nos cabeçalhos dos pacotes, em nível de rede. 4

Firewall Firewalls têm duas naturezas de operação: Stateless Consome menos recursos da máquina porque o firewall não armazena nenhum registro das conexões, sendo mais difícil de escrever - é baseado em regras explícitas. Stateful Consome mais recursos da máquina porque o firewall armazena registro das conexões, o que facilita a escrita de regras. 5

Netfilter O Netfilter (iptables) é um firewall de filtragem que opera na camada de rede, ou seja, funciona com base nos parâmetros dos cabeçalhos dos pacotes - endereço, porta, protocolos, etc... Ele funciona através da comparação de regras previamente escritas pelo administrador para saber se um pacote tem ou não permissão para passar. Outra característica interessante é que ele também pode ser usado para permitir o compartilhamento da conexão de Internet, através de técnicas de NAT (masquerading). 6

iptables: Tabelas Todas as regras escritas pelo administrador são armazenadas em tabelas disponíveis no iptables. Existem 3 tabelas disponíveis: filter nat mangle 7

iptables: Filter A tabela filter é a padrão do iptables e se refere às atividades normais de tráfego de dados (entrada, saída e encaminhamento) sem nenhuma ocorrência de NAT. Existem 3 chains disponíveis: INPUT OUTPUT FORWARD 8

iptables: NAT A tabela nat é utilizada para permitir que uma rede inteira possa compartilhar uma única conexão de Internet por meio de mascaramento (masquerading), para realizar o redirecionamento de portas (port forwarding), para fazer o balanceamento de carga (load balancing), etc... Existem 4 chains disponíveis: PREROUTING POSTROUTING INPUT OUTPUT 9

iptables: NAT Ação de NAT (-j) Chain Aplicação Típica DNAT PREROUTING Port-Forwarding Load-Balancing SNAT POSTROUTING Compartilhamento da Internet (IP Fixo) MASQUERADING POSTROUTING Compartilhamento da Internet (IP Dinâmico) 10

iptables: Esquema 11

iptables: Sintaxe A sintaxe dos comandos para inserção de novas regras no iptables é bastante lógica e intuitiva, conforme apresentado abaixo: iptables [tabela] [chain] [comando] [ação] Por exemplo, a seguinte regra: iptables t filter A INPUT p tcp -dport 22 j ACCEPT O argumento [-t filter] especifica o uso da tabela filter (padrão - poderia ser omitido) para fazer uma inserção na chain INPUT [-A INPUT], cujo comando busca pacotes tcp na camada de transporte endereçados para a porta 22 (SSH) [-p tcp --dport 22]. O último argumento indica uma ação [-j ACCEPT] que informa o que deve ser feito quando um pacote se enquadrar nessa regra. 12

Firewall NetFilter (iptables) > LABORATÓRIOS www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito

Lab1: Introdução Esse laboratório é apenas para introdução da sintaxe e funcionamento dos comandos básicos do iptables. Vamos criar uma regra para bloquear acesso a nossa própria máquina (127.0.0.1). [Obs.: Na prática, isso nunca deve ser feito!!!] ping 127.0.0.1 (haverá resposta de localhost) iptables t filter A INPUT d 127.0.0.1 j DROP ping 127.0.0.1 (não haverá resposta de localhost) iptables t filter F iptables t filter P INPUT DROP iptables t filter P OUTPUT DROP iptables t filter P FORWARD DROP iptables t filter A INPUT i lo j ACCEPT iptables t filter A OUTPUT o lo j ACCEPT iptables t filter -L 14

Lab2: Liberação do Serviço SSH Nesse laboratório a política padrão de entrada e saída de dados é rejeitada e, então, é liberado o acesso remoto seguro (via SSH) ao servidor firewall da rede. É importante lembrar que o serviço SSH deve estar habilitado na máquina para funcionar. iptables P INPUT DROP iptables P OUTPUT DROP iptables P FORWARD DROP iptables A INPUT p tcp -dport 22 j ACCEPT iptables A OUTPUT p tcp -sport 22 j ACCEPT 15

Lab3: Compartilhamento da Internet Nesse laboratório vamos permitir que a rede 172.17.X.X/16 navegue na Internet através de uma única conexão. eth1: 203.0.113.2 eth0: 172.17.0.254 16

Lab3: Compartilhamento da Internet Nesse laboratório vamos permitir que a rede 172.17.X.X/16 navegue na Internet através de uma única conexão. Política Padrão = ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A POSTROUTING s 172.17.0.0/16 o eth1 j MASQUERADE 17

Lab3: Compartilhamento da Internet Nesse laboratório vamos permitir que a rede 172.17.X.X/16 navegue na Internet através de uma única conexão. Política Padrão = DROP echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A POSTROUTING s 172.17.0.0/16 o eth1 j MASQUERADE iptables A FORWARD i eth0 o eth1 p tcp -dport 80 j ACCEPT iptables A FORWARD i eth1 o eth0 p tcp -sport 80 j ACCEPT iptables A FORWARD i eth0 o eth1 p udp -dport 53 j ACCEPT iptables A FORWARD -i eth1 o eth0 p udp -sport 53 j ACCEPT 18

Lab4: Compartilhamento da Internet Nesse laboratório vamos permitir que somente algumas máquinas da rede 172.17.X.X/16 (172.17.1.1 e 172.17.1.3) naveguem na Internet através de uma única conexão. eth1: 203.0.113.2 eth0: 172.17.0.254 19

Lab4: Compartilhamento da Internet Nesse laboratório vamos permitir que somente algumas máquinas da rede 172.17.X.X/16 (172.17.1.1 e 172.17.1.3) naveguem na Internet através de uma única conexão. iptables P INPUT ACCEPT iptables P OUTPUT ACCEPT iptables P FORWARD ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A POSTROUTING s 172.17.1.1 -o eth1 j MASQUERADE iptables t nat A POSTROUTING s 172.17.1.3 o eth1 j SNAT -to $ipwan Obs.: Observem que o MASQUERADE é uma forma de SNAT. A diferença básica entre os dois é que o SNAT deve ser utilizado quando o IP da WAN é estático/fixo e previamente conhecido pelo administrador, enquanto que o MASQUERADE deve ser utilizado em conexões com IP dinâmico. 20

Lab5: Redirecionamento de Porta Nesse laboratório vamos fazer um redirecionamento de portas para que seja possível o acesso remoto (através da Internet) para um servidor (SSH) localizado na rede interna (atrás do firewall). 203.0.113.2:10001 SSH :22 21

Lab5: Redirecionamento de Porta Nesse laboratório vamos fazer um redirecionamento de portas para que seja possível o acesso remoto (através da Internet) para um servidor (SSH) localizado na rede interna (atrás do firewall). Policy = DROP 1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. iptables t nat A POSTROUTING s 172.17.1.1 o eth1 j MASQUERADE 3. iptables t nat A PREROUTING d $WAN p tcp -dport 10001 j DNAT - to 172.17.1.1:22 4. iptables -t filter -A FORWARD -s 172.17.1.1 -p tcp --sport 22 -o $ifwan -j ACCEPT 5. iptables -t filter -A FORWARD -i $ifwan -d 172.17.1.1 -p tcp --dport 22 -j ACCEPT Policy = ACCEPT 1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. iptables t nat A POSTROUTING s 172.17.1.1 o eth1 j MASQUERADE 3. iptables t nat A PREROUTING d $WAN p tcp -dport 10001 j DNAT - to 172.17.1.1:22 22

Lab6: Exemplo de Firewall Stateful Nesse laboratório vamos bloquear todo o tráfego vindo da Internet, exceto os pacotes de resposta de alguma sessão de comunicação originada pelas máquinas da rede 172.17.0.0/16. eth1: 203.0.113.2 eth0: 172.17.0.254 23

Lab6: Exemplo de Firewall Stateful Nesse laboratório vamos bloquear todo o tráfego vindo da Internet, exceto os pacotes de resposta de alguma sessão de comunicação originada pelas máquinas da rede 172.17.0.0/16. (Nesse exemplo vamos permitir apenas o retorno de tráfego do ICMP e de navegação...) 1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. iptables -t filter P INPUT DROP 3. iptables t filter P OUTPUT DROP 4. iptables t filter P FORWARD DROP Observem que o comportamento stateful facilita a escrita do firewall porque permite uma única regra de retorno (linha 9) relacionada às conexões estabelecidas. 5. iptables t nat A POSTROUTING s 172.17.0.0 o eth1 j SNAT to 203.0.113.2 6. iptables -A FORWARD i eth0 o eth1 p icmp j ACCEPT 7. iptables A FORWARD i eth0 o eth1 p udp -dport 53 j ACCEPT 8. iptables A FORWARD i eth0 o eth1 p tcp -dport 80 j ACCEPT 9. iptables A FORWARD i eth1 o eth0 m state - state ESTABLISHED,RELATED j ACCEPT 24

www.labcisco.com.br ::: shbbrito@labcisco.com.br