www.professorramos.com



Documentos relacionados
Uso do iptables como ferramenta de firewall.

Oficina de ferramentas de Gerência para Redes em Linux

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

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

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

Segurança com Iptables

Firewall Iptables - Impasses

IPTABLES. Helder Nunes

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

Segurança de Redes de Computadores

Firewalls, um pouco sobre...

Iptables. Adailton Saraiva Sérgio Nery Simões

Segurança de Redes. Firewall. Filipe Raulino

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

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

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

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

Linux Network Servers

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

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

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

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

Segurança em Sistemas de Informação

Prof. Samuel Henrique Bucke Brito

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

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.

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

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

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

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.

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

Netfilter e Iptables

Professor Claudio Silva

Orientador de Curso: Rodrigo Caetano Filgueira

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

Compartilhamento da internet, firewall

BRUNO PEREIRA PONTES

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

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

Capítulo 4 TCP/IP FIREWALLS.

Segurança em Sistemas de Informação Tecnologias associadas a Firewall

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

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

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

Trabalho 3 Firewalls

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

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

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

TuxFrw 3.0 MSPF Modular Stateful Packet Filter

Administração de Redes Firewall IPTables

Administração de Sistemas Operacionais

Execícios de Revisão Redes de Computadores Edgard Jamhour. Proxy, NAT Filtros de Pacotes

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

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

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

Configuração do Servidor Gateway Firewall e DHCP

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.

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

Entendendo como funciona o NAT

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação.

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

NAT com firewall - simples, rápido e funcional

Controlando o tráfego de saída no firewall Netdeep

Firewall iptables e criação de regras.

Iniciando a configuração do BOT

Uso de Bridges Linux no Controle de Tráfego entre Sub Redes em Uma Mesma Rede Lógica

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

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

Fundamentos dos protocolos internet

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

Firewalls. Firewalls

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

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

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

Nome do Curso: Técnico em Informática. Nome da Disciplina: Redes de Computadores. Número da Semana: 2. Nome do Professor: Dailson Fernandes

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

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

(In)segurança Utilizando Software Livre. Maycon Maia Vitali

Arquitectura de Redes

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

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

Gestão de Sistemas e Redes

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

DarkStat para BrazilFW

FIREWALL PROTEÇÃO EFICIENTE


Características de Firewalls

Segurança em Sistemas de 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.

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL

Capítulo 9: Listas de Controle de Acesso

Redes de Computadores II INF-3A

Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Transcrição:

Iptables www.professorramos.com leandro@professorramos.com

Introdução O netfilter é um módulo que fornece ao sistema operacional Linux as funções de firewall, NAT e log de utilização de rede de computadores. Iptables é o nome da ferramenta do espaço do usuário que permite a criação de regras de firewall e NATs. Apesar de, tecnicamente, o iptables ser apenas uma ferramenta que controla o módulo netfilter, o nome "iptables" é frequentemente utilizado como referência ao conjunto completo de funcionalidades do netfilter.

O Iptables é parte de todas as distribuições modernas do Linux.

Como funciona um firewall? O FILTRO DE PACOTES do Linux funciona mediante regras estabelecidas. Todos os pacotes entram no kernel para serem analisados. As CHAINS (correntes) são as situações possíveis dentro do kernel. Quando um pacote entra no kernel, este verifica o destino do pacote e decide qual chain irá tratar do pacote. Isso se chama roteamento interno. Os tipos de chains irão depender da tabela que estaremos utilizando no momento. Filter: é a tabela default. Quando não especificarmos a tabela, a filter será utilizada. Nat: utilizada quando há NAT. Exemplo: passagem de dados de uma rede privada para a Internet.

Regras de firewall As regras (rules) de firewall, geralmente, são compostas assim: #iptables [-t tabela] [opção] [chain] [parâmetros] -j [ação] Exemplo: #iptables -A FORWARD -d 192.168.1.1 -j DROP A linha acima determina que todos os pacotes destinados à máquina 192.168.1.1 devem ser descartados. No caso: tabela: filter (é a default) opção: -A chain: FORWARD dados: -d 192.168.1.1 ação: DROP

Chain -Filter INPUT: utilizada quando o destino final é a própria máquina firewall, consultado para dados que chegam ao computador. OUTPUT: qualquer pacote gerado na máquina firewall e que deva sair para a rede, consultado para dados que saem do computador FORWARD: qualquer pacote que atravessa o firewall, oriundo de uma máquina e direcionado a outra.

Chain - NAT PREROUTING - consultado para os dados que precisam ser modificados logo que chegam (Quando os pacotes entram para sofrerem NAT.) POSTROUTING - consultado para dados que precisam ser modificados após o tratamento de roteamento (Quando os pacotes estão saindo após sofrerem NAT) OUTPUT - consultado quando os dados gerados localmente precisam ser modificados antes de serem roteados (Pacotes que são gerados na própria máquina e que sofrerão NAT).

Análise de regras - Tabela Filter Opções: Representada por uma letra sempre escrita em maiúscula. * -P = define uma regra padrão; * -A = acrescenta uma nova regra às existentes; * -D = apaga uma regra; * -L = lista as regras existentes; * -F = apaga todas as regras; * -I = insere uma nova regra; * -h = mostra a ajuda; * -R = substitui uma regra; * -C = chega as regras existentes; * -Z = zera uma regra especifica; * -N = cria uma nova regra com um nome; * -X = exclui uma regra específica pelo seu nome.

Análise de regras - Tabela Filter -A --> Append (anexar). Acresce uma nova regra à chain. Tem prioridade. Exemplos: #iptables -A OUTPUT -d 172.20.5.10 -j ACCEPT #iptables -A FORWARD -s 10.0.0.1 -j DROP #iptables -A FORWARD -d www.chat.com.br -j DROP

Parâmetros -s --> Source (origem). Estabelece a origem do pacote. Geralmente é uma combinação do endereço IP com a máscara de sub-rede, separados por uma barra. Exemplo: -s 172.20.0.0/255.255.0.0 ou -s 172.20.0.0/16 No caso, vimos a sub-rede 172.20.0.0. Para hosts, a máscara sempre será 255.255.255.255. Exemplo: -s 172.20.5.10/255.255.255.255 ou -s 172.20.5.10 Agora vimos o host 172.20.5.10. Ainda no caso de hosts, a máscara pode ser omitida. Outra possibilidade é a designação de hosts pelo nome. Exemplo: -s www.chat.com.br Para especificar qualquer origem, utilize a rota default, ou seja, 0.0.0.0/0.0.0.0, também admitindo 0/0.

Parâmetros -d --> Destination (destino). Estabelece o destino do pacote. Funciona exatamente como o -s, incluindo a sintaxe. -p --> Protocol (protocolo). Especifica o protocolo a ser filtrado. O protocolo IP pode ser especificado pelo seu número ou pelo nome. Os protocolos mais utilizados são udp, tcp e icmp.exemplo: -p icmp -i --> In-Interface (interface de entrada). Especifica a interface de entrada. As interfaces existentes podem ser vistas com o comando #ifconfig. O -i não pode ser utilizado com a chain OUTPUT. Exemplo: -i ppp0 O sinal + pode ser utilizado para simbolizar várias interfaces. Exemplo: -i eth+ eth+ refere-se à eth0, eth1, eth2 etc.

Parâmetros -o --> Out-Interface (interface de saída). Especifica a interface de saída. Similar a -i, inclusive nas Flexibilidades.O -o não pode ser utilizado com a chain INPUT.! --> Exclusão. Utilizado com -s, -d, -p, -i, -o e outros, para excluir o argumento. Exemplo: -s! 10.0.0.1 Isso refere-se a qualquer endereço de entrada, exceto o 10.0.0.1. -p! tcp Todos os protocolos, exceto o TCP. --sport ou --dport --> Source Port ou Destination Port. Porta de origem. Só funciona com as opções -p udp e -p tcp. Exemplo: -p tcp --sport 80 ou -p tcp --dport 80 Refere-se à porta 80 sobre protocolo TCP.

Ações ACCEPT --> Aceitar. Permite a passagem do pacote. DROP --> Abandonar. Não permite a passagem do pacote, descartando-o. Não avisa a origem sobre o ocorrido. REJECT --> Igual ao DROP, mas avisa a origem sobre o ocorrido (envia pacote icmp unreachable). LOG --> Cria um log referente à regra, em /var/log/messages. Usar antes de outras ações.

Exemplos comentados de regras de firewall #iptables -A FORWARD -j DROP Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede deverão ser descartados. --------------------------------------- #iptables -A FORWARD -j ACCEPT Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede deverão ser aceitos. --------------------------------------- #iptables -A FORWARD -s 10.0.0.0/8 -d www.porno.com.br -j DROP Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e destinados ao host www.porno.com.br deverão ser descartados. --------------------------------------- #iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j REJECT Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e destinados ao host www.chat.com.br deverão ser descartados. Deverá ser enviado um ICMP avisando à origem.

Exemplos comentados de regras de firewall #iptables -A FORWARD -d www.chat.com.br -j DROP Os pacotes oriundos de qualquer lugar e destinados ao host www.chat.com.br deverão ser descartados. --------------------------------------- #iptables -A FORWARD -d 192.168.1.0/24 -s www.orkut.com. -j DROP Os pacotes destinados à sub-rede 192.168.1.0 (máscara 255.255.255.0) e oriundos do host www.orkut.com deverão ser descartados. --------------------------------------- #iptables -A FORWARD -s www.playboi.com.br -j DROP Os pacotes oriundos do host www.playboi.com.br e destinados a qualquer lugar deverão ser descartados. --------------------------------------- #iptables -A FORWARD -s 200.221.20.0/24 -j DROP Os pacotes oriundos da sub-rede 200.221.20.0 (máscara 255.255.255.0) e destinados a qualquer lugar deverão ser descartados. --------------------------------------- #iptables -A FORWARD -s 10.0.0.5 -p icmp -j DROP Os pacotes icmp (PING) oriundos do host 10.0.0.5 e destinados a qualquer lugar deverão ser descartados.

Exemplos comentados de regras de firewall #iptables -A FORWARD -i eth0 -j ACCEPT Os pacotes que entrarem pela interface eth0 serão aceitos. --------------------------------------- #iptables -A FORWARD -i! eth0 -j ACCEPT Os pacotes que entrarem por qualquer interface, exceto a eth0, serão aceitos. --------------------------------------- #iptables -A FORWARD -s 10.0.0.5 -p tcp --sport 80 -j LOG O tráfego de pacotes TCP oriundos da porta 80 do host 10.0.0.5 e destinados a qualquer lugar deverá ser gravado em log. No caso, /var/log/messages. --------------------------------------- #iptables -A FORWARD -p tcp --dport 25 -j ACCEPT Os pacotes TCP destinados à porta 25 de qualquer host deverão ser aceitos.

Exemplos comentados de regras de firewall # Liberando os serviços # 22 - ssh (necessário para acessar o servidor) # 25 - smtp (envio de email) # 110 - pop3 (recebimento de email) # 80 - http (páginas web) # 443 - https (páginas seguras) # 21 - ftp (transferências de arquivos) # 3128 - proxy (necessário para as estações navegarem na internet) #53 DNS (Servidor DNS) iptables -A FORWARD -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -p tcp --dport 25 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -p tcp --dport 110 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -p udp --dport 53 -j ACCEPT # Liberando tudo (eu disse tudinho!) para o Chefão iptables -A FORWARD -s 10.0.0.10 -j ACCEPT # Bloqueando acessos suspeitos iptables -A FORWARD -d 212.211.132.32 -p tcp --dport 80 -j DROP iptables -A FORWARD -d 199.239.233.9 -p tcp --dport 80 -j DROP

Exemplos comentados de regras de firewall #Bloqueio do Msn iptables -A FORWARD -s -i eth+ -p tcp --dport 1863 -j REJECT iptables -A FORWARD -s i eth+ -d loginnet.passport.com -j REJECT # Liberando o acesso ao site da Debian para o servidor de arquivos iptables -A FORWARD -s 10.0.0.2 -d 200.211.132.32 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.2 -d 128.101.240.212 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.2 -d 128.135.136.147 -p tcp --dport 80 -j ACCEPT # Liberando o site de atualização do antivírus/ad-ware iptables -A FORWARD -s 10.0.0.0/24 -d 193.86.3.38/29 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 200.204.102.154/31 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 193.86.103.18 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 207.46.225.221 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 206.154.203.13 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 82.99.19.14/28 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 207.44.136.40 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 72.246.49.42/27 -p tcp --dport 80 -j ACCEPT # Liberando acesso ao Windows Update iptables -A FORWARD -s 10.0.0.0/24 -d 207.46.209.122 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 64.4.21.91 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 200.171.222.93 -p tcp --dport 86 -j ACCEPT

Exemplos comentados de regras de firewall #liberando vnc iptables -A OUTPUT -p tcp -s 192.168.51.1 -d 0/0 --dport 5800 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 -d 192.168.51.1 --sport 5800 -j ACCEPT #liberando messenger iptables -A OUTPUT -p tcp -s 192.168.51.1 -d 0/0 --dport 1863 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 -d 192.168.51.1 --sport 1863 -j ACCEPT #Bloqueando uma máquina pelo endereço MAC iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP #Proteção contra IP Spoofing iptables -A INPUT -s 172.16.0.0/16 -i ext_face -j DROP iptables -A INPUT -s 192.168.0.0/24 -i ext_face -j DROP iptables -A INPUT -s 192.168.0.0/24 -i ext_face -j DROP #Bloqueando pacotes fragmentados iptables -A INPUT -i INTEXT -m unclean -j log_unclean iptables -A INPUT -f -i INTEXT -j log_fragment < ext_face = São as interfaces da internet como ppp e ethx > < INTEXT = São as interfaces da Rede Local como ethx >

Exemplos comentados de regras de firewall #Libera o apache pra web iptables -A INPUT -p tcp --destination-port 6080 -j ACCEPT iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT #Libera o loopback iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT #Bloqueando todos os pacotes originários da rede 10.0.0.0 para o host www.professorramos.com iptables -A FORWARD -s 10.0.0.0/8 -d www.leandro.com -j DROP #Liberando todos os pacotes originários da rede 10.0.0.0 para o host www.professorramos.com iptables -A FORWARD -s 10.0.0.0/8 -d www.leandro.com -j ACCEPT #Liberando acesso interno da rede iptables -A INPUT -p tcp --syn -s 192.168.1.0/24 -j ACCEPT iptables -A OUTPUT -p tcp --syn -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -p tcp --syn -s 192.168.1.0/24 -j ACCEPT #Libera Bittorrent iptables -A INPUT -p tcp --destination-port 6881:6889 -j ACCEPT

Exemplos comentados de regras de firewall # Liberando acesso ao Windows Update iptables -A FORWARD -s 10.0.0.0/24 -d 207.46.209.122 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 64.4.21.91 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.0.0.0/24 -d 200.171.222.93 -p tcp --dport 86 -j ACCEPT #Regras para liberar o outlook na rede interna: iptables -A FORWARD -p TCP -s ip_rede_interna/24 --dport 25 -j ACCEPT iptables -A FORWARD -p TCP -s ip_rede_interna/24 --dport 110 -j ACCEPT iptables -A FORWARD -p tcp --sport 25 -j ACCEPT iptables -A FORWARD -p tcp --sport 110 -j ACCEPT # Bloqueando tracertroute iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP #Protecoes contra ataques iptables -A INPUT -m state --state INVALID -j DROP # Bloqueando o restante iptables -A FORWARD -s 10.0.0.0/24 -j REJECT

Impasses e ordem de processamento Se houver impasse entre regras, sempre valerá a primeira. Assim, entre as regras: #iptables -A FORWARD -p icmp -j DROP #iptables -A FORWARD -p icmp -j ACCEPT Valerá: #iptables -A FORWARD -p icmp -j DROP Já entre as regras: #iptables -A FORWARD -p icmp -j ACCEPT #iptables -A FORWARD -p icmp -j DROP Valerá: #iptables -A FORWARD -p icmp -j ACCEPT Isso ocorre porque as regras são processadas na ordem em que aparecem. Depois do processamento da regra, pode haver continuidade de processamento ou não. Isso irá depender da ação: ACCEPT --> Pára de processar regras para o pacote atual; DROP --> Pára de processar regras para o pacote atual; REJECT --> Pára de processar regras para o pacote atual; LOG --> Continua a processar regras para o pacote atual;

Extensões As extensões permitem filtragens especiais, principalmente contra ataques de hackers. Quando necessárias, devem ser as primeiras linhas do firewall. As mais importantes são: Contra Ping #iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP Contra Ping of Death #iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT Contra ataques Syn-flood #iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT Contra Port scanners avançados (nmap) #iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST -m limit --limit 1/s -j ACCEPT

www.professorramos.com

www.professorramos.com leandro@professorramos.com