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

Documentos relacionados
Segurança em Sistemas de Informação

Orientador de Curso: Rodrigo Caetano Filgueira

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

Prof. Samuel Henrique Bucke Brito

IPTABLES. Helder Nunes

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

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

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

Segurança de Redes. Firewall. Filipe Raulino

Iptables. Adailton Saraiva Sérgio Nery Simões

Administração de Redes Firewall IPTables

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

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

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


Firewalls, um pouco sobre...

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

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

Projeto de Ensino. iptables. Grupo de Estudos em Tecnologia de Redes e Processamento Paralelo. Prof. Luiz Antonio Unioeste

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

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

Oficina de ferramentas de Gerência para Redes em Linux

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

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

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

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

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

Linux Network Servers

Uso do iptables como ferramenta de firewall.

Compartilhamento da internet, firewall

Professor Claudio Silva

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.

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

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

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

TuxFrw 3.0 MSPF Modular Stateful Packet Filter

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

Netfilter e Iptables

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

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

Segurança com Iptables

Segurança de Redes de Computadores

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

Arquitectura de Redes

Firewalls - IPTables. Carlos Gustavo A. da Rocha. ASSR

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

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

Administração de Sistemas Operacionais

BRUNO PEREIRA PONTES

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

Guia Foca GNU/Linux - Firewall iptables

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

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

Entendendo como funciona o NAT

Firewall Iptables - Impasses

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

Software de Telecomunicações. Firewalls

Firewall iptables. Capítulo Introdução

Tutorial configurando o dhcp no ubuntu ou debian.

Firewall iptables e criação de regras.

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

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

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

Balanceamento de links

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

Configuração do Servidor Gateway Firewall e DHCP

SQUID Linux. Rodrigo Gentini

Capítulo 4 TCP/IP FIREWALLS.

Endereçamento Privado Proxy e NAT. 2008, Edgard Jamhour

Gestão de Sistemas e Redes

Conteúdo do pacote de 05 cursos hands-on Linux

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO NUCLEO DE COMPUTAÇÃO ELETRÔNICA PÓS-GRADUAÇÃO EM GERÊNCIA DE SEGURANÇA DA INFORMAÇÃO (MSI) Felipe Martins Rôlla

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

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.

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

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

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

Trabalho 3 Firewalls

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

Linux Controle de Redes

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

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

SEGURANÇA INFORMÁTICA E DAS COMUNICAÇÕES - Ficha de Apoio Extra- CAPÍTULO 3. SEGURANÇA EM REDES E SISTEMAS

OpenVpn. Mauro Fernando Zirbes. Redes Virtuais Privadas. ( Palestrante )

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

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

Criptografia e Segurança das Comunicações. Firewalls

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

GTS-8. Implementação de uma solução baseada em Software Livre para o controle de tráfego P2P. Helder Jean Brito da Silva (helder@info.ufrn.

Servidor, Proxy e Firewall. Professor Victor Sotero

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

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

Iniciando a configuração do BOT

Transcrição:

Elaboração de Script de Firewall de Fácil administração Marcos Monteiro http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br

IPTables O iptables é um firewall em NÍVEL DE PACOTES e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da COMPARAÇÃO DE REGRAS para saber se um pacote tem ou não permissão para passar. Kernel do Linux 2.4 - firewall iptables (também chamado de netfilter) Tem a vantagem de ser modularizável, funções podem ser adicionadas ao firewall ampliando as possibilidades oferecidas.

IPTables Também pode ser usado para: Modificar e monitorar o tráfego da rede, Fazer NAT (masquerading, source nat, destination nat), Redirecionamento de pacotes, Marcação de pacotes, Modificar a prioridade de pacotes que chegam/saem do sistema, Contagem de bytes, Dividir tráfego entre máquinas, Criar proteções anti-spoofing, contra syn flood, DoS, etc. O tráfego vindo de máquinas desconhecidas da rede pode também ser bloqueado/registrado através do uso de simples regras.

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 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 Suporte a especificação de tipo de serviço para priorizar o tráfego de determinados tipos de pacotes.

IPTables Ficha Técnica Pacote: iptables iptables - Sistema de controle principal para protocolos IPv4 ip6tables - Sistema de controle principal para protocolos IPv6 iptables-save - Salva as regras atuais em um arquivo especificado como argumento. Este utilitário pode ser dispensado por um shell script contendo as regras executado na inicialização da máquina. iptables-restore - Restaura regras salvas pelo utilitário iptables-save.

Firewall O IPTables como firewall em nível de pacote toma as decisões baseadas nos parâmetros do pacote, como porta/endereço de origem/destino, estado da conexão, e outros parâmetros do pacote. O firewall então pode negar o pacote (DROP) ou deixar o pacote passar (ACCEPT).

O que são REGRAS? As regras são como comandos passados ao iptables para que ele realize uma determinada ação (como bloquear ou deixar passar um pacote) de acordo com o endereço/porta de origem/destino, interface de origem/destino, etc. As regras são armazenadas dentro dos CHAINS e processadas na ordem que são inseridas.

As regras são armazenadas no kernel, o que significa que quando o computador for reiniciado tudo o que fez será perdido. Por este motivo elas deverão ser gravadas em um arquivo para serem carregadas a cada inicialização. iptables -A INPUT -s 123.123.123.1 -j DROP

O que são CHAINS? Os CHAINS são locais onde as regras do firewall definidas pelo usuário são armazenadas. Existem dois tipos de chains: os embutidos (como os chains INPUT, OUTPUT e FORWARD) e os criados pelo usuário. Os nomes dos chains embutidos devem ser especificados sempre em maiúsculas (note que os nomes dos chains são case-sensitive, ou seja, o chain input é completamente diferente de INPUT).

O que são TABELAS? Tabelas são os locais usados para armazenar os chains e as regras que cada um possui. As tabelas podem ser referenciadas com a opção -t tabela. Existem 3 tabelas disponíveis no iptables: filter nat mangle

filter 1- filter - Esta é a tabela padrão, contém 3 chains padrões: INPUT - Consultado para dados que chegam a máquina OUTPUT - Consultado para dados que saem da máquina FORWARD - Consultado para dados que são redirecionados para outra interface de rede ou outra máquina. Os chains INPUT e OUTPUT somente são atravessados por conexões indo/se originando de localhost. OBS: Para conexões locais, somente os chains INPUT e OUTPUT são consultados na tabela filter.

filter Permitir porta 80 iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

nat Usada para dados que gera outra conexão (masquerading, source nat, destination nat, port forwarding, proxy transparente são alguns exemplos). Possui 3 chains padrões: PREROUTING - Consultado quando os pacotes precisam ser modificados logo que chegam. É o chain ideal para realização de DNAT e redirecionamento de portas. OUTPUT - Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados. Este chain somente é consultado para conexões que se originam de IPs de interfaces locais. POSTROUTING - Consultado quando os pacotes precisam ser modificados após o tratamento de roteamento. É o chain ideal para realização de SNAT e IP Masquerading.

nat compartilhamento de internet iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

mangle Utilizada para alterações especiais de pacotes, como modificar o tipo de serviço (TOS) ou outros detalhes. Possui 2 chains padrões: PREROUTING - Consultado quando os pacotes precisam ser modificados logo que chegam. OUTPUT - Consultado quando pacotes gerados localmente precisam ser modificados antes de serem roteados.

mangle - Priorizar o tráfego de http da rede: iptables -t mangle -A OUTPUT -o eth0 -p tcp dport 80 -j TOS --set-tos 16

Módulos O kernel precisa de módulos ativados para que o iptables funcione. O comando modprobe ativa cada um dos módulos listados a seguir. modprobe iptable_nat modprobe ip_tables modprobe ipt_state modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_multiport modprobe ip_nat_ftp modprobe iptable_mangle modprobe ipt_tos modprobe ipt_limit

Limpar as Tabelas Normalmente, antes de criar novas regras, o ideal é limpar todas as regras existentes. A opção F é responsável pela limpeza (FLUSH) das regras. Veja que são 3 comandos para limpar as 3 tabelas padrões do IPTABLES. iptables -F iptables -F -t nat iptables F t mangle

Listar Tabelas iptables -L iptables -L -t nat iptables L t mangle

Liberar algumas portas Para Liberar o HTTP, HTTPS, FTP, DNS, então fica: iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP

Brincando com o Shell oi.txt Congresso Estadual de Software Livre cat oi.txt cut -d -f5 Livre

Brincando de Shell for i in `cat oi.txt`; do echo $i; done Congresso Estadual de Software Livre

Então vamos Liberar algumas portas Para Liberar o HTTP, HTTPS, FTP, DNS, então fica: iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP

Para Liberar o HTTP, HTTPS, FTP, DNS, então fica: iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP

Criar arquivo /root/fw/libportas 80 443 20 21 Criar arquivo /root/fw/libportasudp 53

for i in `cat /root/fw/libportas cut -d" " -f1`; do iptables -A INPUT -p tcp --dport $i -j ACCEPT echo $i done for i in `cat /root/fw/libportasudp cut -d" " -f1`; do iptables -A INPUT -p udp --dport $i -j ACCEPT echo $i done iptables -A INPUT -p tcp --syn -j DROP

DNAT e SNAT iptables -t nat -A POSTROUTING -s 192.168.0.14 -j SNAT to 200.253.18.44 iptables -t nat -A PREROUTING -s 200.253.18.44 -j DNAT --to 192.168.0.14

DNAT e SNAT Criar o Arqvuivo /root/fw/natsvip 192.168.0.14 200.253.18.44 Computador do Financeiro 192.168.1.32 200.253.18.15 Computador do Adm Redes :)

Fazendo DNAT e SNAT c=1 for i in `cat /root/fw/natsvip cut -d" " -f1`; do iy=`cat /root/fw/natsvip cut -d" " -f2` y=`echo $iy cut -d" " -f$c` c=$(($c+1)) iptables -t nat -A POSTROUTING -s $i -j SNAT --to $y iptables -t nat -A PREROUTING -s $y -j DNAT --to $i echo "De $i para $y" done

Redirecionamento de Porta iptables -t nat -A PREROUTING -d 200.253.0.14 -p tcp -- dport 21 -j DNAT --to 192.168.0.10 iptables -t nat -A PREROUTING -d 200.253.0.14 -p tcp -- dport 20 -j DNAT --to 192.168.0.10

Arquivo /root/fw/redirectip 20 192.168.0.253 ftp File Server 21 192.168.0.253 ftp File Server c=1 for i in `cat /root/fw/redirectip cut -d" " -f1`; do iy=`cat /root/fw/redirectip cut -d" " -f2` y=`echo $iy cut -d" " -f$c` c=$(($c+1)) iptables -t nat -A PREROUTING -d $IPNET -p tcp --dport $i -j DNAT --to $y done

Exemplos echo "Fazendo NAT" for i in `cat /root/fw/nats cut -d" " -f1`; do iptables -t nat -A POSTROUTING -s $i -o $ETHNPD -j MASQUERADE echo "$i" done echo 1 > /proc/sys/net/ipv4/ip_forward

Exemplos echo "Liberando acesso destes da LAN para outras redes" for i in `cat /root/fw/printers cut -d" " -f1`; do iptables -A FORWARD -s $WLAN -d $i -j ACCEPT echo "liberando $i" done

Exemplos # Liberar MAC da rede sem fio para rede interna for i in `cat /root/fw/libmacs cut -d" " -f1`; do iptables -A FORWARD -m mac --mac-source $i -d $REDEINTERNA -j ACCEPT done

Exemplos # Bloquear Computador para Internet por MAC for i in `cat /root/fw/bloqnetformac cut -d" " -f1`; do iptables -A FORWARD -m mac --mac-source $i -p tcp -m tcp --dport 0:65534 -j DROP done

fw.sh

Um muito Obrigado :) Marcos Monteiro http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br