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

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

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

IPTABLES. Helder Nunes

Iptables. Adailton Saraiva Sérgio Nery Simões

Prof. Samuel Henrique Bucke Brito

Segurança de Redes. Firewall. Filipe Raulino

Administração de Redes Firewall IPTables

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

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

Firewalls, um pouco sobre...

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

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

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

Orientador de Curso: Rodrigo Caetano Filgueira

Uso do iptables como ferramenta de firewall.

Entendendo como funciona o NAT

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

Professor Claudio Silva

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

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

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

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

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.

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


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

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

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

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

Segurança de Redes de Computadores

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

Oficina de ferramentas de Gerência para Redes em Linux

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

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

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

Segurança com Iptables

Segurança da Informação

Linux Network Servers

TuxFrw 3.0 MSPF Modular Stateful Packet Filter

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

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

Netfilter e Iptables

Firewall. Qual a utilidade em instalar um firewall pessoal?

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

Objetivos: i) Verificar o impacto de loops em redes locais ii) Configurar o protocolo STP para remover loops da rede

Compartilhamento da internet, firewall

Administração de Sistemas Operacionais

Capítulo 4 TCP/IP FIREWALLS.

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

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

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

Firewalls. Firewalls

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

Objetivo: Criar redes locais virtuais (VLANs) usando switches e computadores

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

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

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

Trabalho 3 Firewalls

VPN entre Unimed Federação do Paraná e Singulares do Paraná. Gustavo Kochan Nunes dos Santos. Curso de Especialização em Redes e Segurança de Sistemas

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

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

Firewall. Alunos: Hélio Cândido Andersson Sales

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

Como liberar acesso ao Skype utilizando Proxy Socks.

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

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

Capítulo 11: NAT para IPv4

Acesso Remoto Placas de captura

NAT com firewall - simples, rápido e funcional

Conexão rápida entre dois computadores em uma plataforma Linux

Omega Tecnologia Manual Omega Hosting

Atualizado em 9 de outubro de 2007

Arquitectura de Redes

Características de Firewalls

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

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

18/05/2014. Problemas atuais com o IPv4

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

Arquitetura de Rede de Computadores

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Curso de Instalação e Gestão de Redes Informáticas

Iniciando a configuração do BOT

Manual de Instalação e Operação RECIP

HOW TO. Solução. UDP portas 53, 69, passo. é criado duas HTTP, conectar e o tipo de. Liberando restante; Liberando todo o res Bloqueand.

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.

Máscaras de sub-rede. Fórmula

Curso de Linux Básico

Servidor, Proxy e Firewall. Professor Victor Sotero

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

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

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Projeto Integrador Projeto de Redes de Computadores

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Mecanismos de QoS em Linux Hierarchical Token Bucket (HTB)

Transcrição:

Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta Firewall Firewall é um quesito de segurança com cada vez mais importância no mundo da computação. À medida que o uso de informações e sistemas é cada vez maior, a proteção destes requer a aplicação de ferramentas e conceitos de segurança eficientes. O firewall é uma opção praticamente imprescindível. Firewall é o nome dado ao mecanismo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Seu objetivo é permitir somente a transmissão e a recepção de dados autorizados. Este mecanismo atua como uma defesa de um computador ou de uma rede, controlando o acesso ao sistema por meio de regras e a filtragem de dados. A vantagem do uso de firewalls em redes, é que somente um computador pode atuar como firewall, não sendo necessário instalá-lo em cada máquina conectada. A figura abaixo ilustra a idéia de Firewall. Funcionamento do Firewall Há varias formas de funcionamento de um firewall. Estas formas variam de acordo com o sistema, aplicação ou do desenvolvedor do programa. Entretanto, existem dois conceitos básicos de utilização de firewall: - Firewall em nível de Pacotes - Firewall em nível de Aplicação

Neste tutorial o enfoque será dado ao conceito de Firewall em nível de pacotes com a utilização da Ferramenta Iptables em sistemas Linux. Iptables O Iptables é uma ferramenta de edição da tabela de filtragem de pacotes, ou seja, com ele você é capaz de analisar o cabeçalho e tomar decisões sobre os destinos destes pacotes. O iptables é um firewall com estado, ou seja, um firewall stateful. Os anteriores eram stateless. O modo de filtragem 'Stateless' tende a tratar cada pacote roteado pelo firewall como pacotes individuais, sendo mais simples de implementar e por terem uma resolução mais rápida que um do tipo stateful, podem ser usados para obterem um desempenho melhor em determinadas situações onde existem regras de nível de rede bem simples. Através destas regras poderemos fazer com que os pacotes possam ser ou não recebidos a rede toda, a determinada máquina, interface ou mesmo porta de conexão. O Iptables trabalha através de Tabelas, Chains e Regras: Instalação Iptables Os requerimentos básicos para o funcionamento do Iptables são um computador sobre a arquitetura 386 com, no mínimo, 4MB de RAM e um kernel da série 2.4 ou superior. Para a realização deste tutorial, fora utilizado a sistema operacional Linux, sendo a distribuição Debian. Como este experimento fora realizado na rede interna da Universidade Estadual do Oeste do Paraná, é necessário realizar a exportação do proxy utilizado pela faculdade, para que assim seja possível realizar o download do pacote de instalação do Iptables, lembrando que a maioria dos releases atuais do Linux já possui o Iptables no seu Kernel. export http_proxy=htpp://proxy.unioeste.br:8080 Para realizar a instalação de determinados programas, o Linux permite que o pacote de instalação destes sejam obtidos por download através do comando: apt-get install iptables Regras no Iptables 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. Exemplo de Regra: bloqueia qualquer acesso indo ao endereço 127.0.0.1 iptables -t filter -A INPUT -d 127.0.0.1 -j DROP Chains Os Chains são locais onde as regras do firewall são definidas pelo usuário e armazenadas para operação do firewall. 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). Tabelas As Tabelas armazenam os Chains e o conjunto de regras com uma determinada característica em comum. Existem 3 tabelas disponíveis no Iptables: Tabela Filter É a tabela padrão do Iptables, composto por 3 Chains: INPUT - Consultado para dados que chegam à 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. Tabela Nat Utilizada para dados que geram outra conexão (masquerading, source nat, destination nat, port forwarding, proxy transparente são alguns exemplos). Ela é composta por 3 Chains: 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.

Tabela Mangle A tabela MANGLE implementa alterações especiais em pacotes em um nível mais complexo. A tabela mangle é capaz, por exemplo, de alterar a prioridade de entrada e saída de um pacote baseado no tipo de serviço (TOS) o qual o pacote se destinava. Ela Possui 2 Chains padrões: OUTPUT - Altera pacotes de forma especial gerados localmente antes que os mesmo sejam roteados. PREROUTING Modifica pacotes dando-lhes um tratamento especial antes que os mesmos sejam roteados. * Neste tutorial o enfoque será dado à tabela padrão do Iptables, ou seja, a tabela Filter. Fazendo o IP Masquerading Antes de manipular as regras é necessário que o kernel tenha suporte ao iptables e ip_forward. Com os dois comandos abaixo é habilitado o masquerading para todas as máquinas da rede 192.168.1.*: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 j MASQUERADE echo "1" >/proc/sys/net/ipv4/ip_forward A configuração do servidor Linux está completa, agora os clientes da rede precisarão ser configurados para usar o endereço IP do servidor Linux como gateway Manipulação de Chains Nesta sessão serão mostrados alguns dos comandos mais utilizados para a manipulação de regras. Listar Regras L Utilizando a sintaxe abaixo é possível exibir todas as regras já criadas. iptables [-t tabela] -L [Chain] [opções] No exemplo abaixo o comando lista as regras do Chain INPUT iptables -t filter -L INPUT

Podem-se utilizar também algumas opções para pra listar o conteúdo dos Chains: -v - Exibe mais detalhes sobre as regras criadas nos Chains -n - Exibe endereços de máquinas/portas como números ao invés de tentar a resolução DNS e consulta ao /etc/services. A resolução de nomes pode tomar muito tempo dependendo da quantidade de regras que suas tabelas possuem e velocidade de sua conexão. -x - Exibe números exatos ao invés de números redondos. Também mostra a faixa de portas de uma regra de firewall. --line-numbers - Exibe o número da posição da regra na primeira coluna da listagem. Adicionando regras A Adiciona uma regra na Tabela e Chain determinados. Como exemplo será acrescentado uma regra no Chain INPUT (-A INPUT) que bloqueie (-j DROP) qualquer acesso indo ao endereço 127.0.0.1 (- d 127.0.0.1): iptables -t filter -A INPUT -d 127.0.0.1 -j DROP Apagando Regras D A exclusão de regras pode ser feita de duas formas, Quando sabemos qual é o número da regra no Chain (listado com a opção -L) podemos referenciar o número diretamente, como no exemplo abaixo: iptables -t filter -D INPUT 1 Porem, às vezes o conjunto de regras pode ser muito extenso, o que dificulta saber o numero da regra. Neste caso usamos a mesma sintaxe para criar a regra no Chain, mas trocamos -A por -D: iptables -t filter -D INPUT -d 127.0.0.1 -j DROP Inserindo Regra em uma Linha Especifica I Este comando é útil no caso do usuário necessitar inserir uma regra em uma determinada posição, pois quando é adicionada uma nova regra, ele sempre vai ter prioridade menor em relação às regras anteriores.

iptables -t filter -I INPUT 1 -s 192.168.1.15 -d 127.0.0.1 -j ACCEPT No exemplo acima o trafego vindo de 192.168.1.15 não será rejeitado porque está definido na primeira linha do Chain Input, e por isso tem prioridade em relação às outras regras. Substituir Regras R Existem duas alternativas: apagar a regra e inserir uma nova no lugar ou modificar diretamente a regra já criada sem afetar outras regras existentes e mantendo a sua ordem no Chain.Use o seguinte comando: iptables -R INPUT 2 -d 127.0.0.1 -p icmp -j DROP O número 2 é o número da regra que será substituída no Chain INPUT. Criando Novos Chains - N É importante ressaltar que em firewalls organizados com um grande número de regras, a criação de Chains individuais é primordial para organizar regras de um mesmo tipo ou que tenha por objetivo analisar um tráfego de uma mesma categoria (interface, endereço de origem, destino, protocolo, etc), pois podem consumir muitas linhas e tornar o gerenciamento do firewall confuso.a definição de novos Chains utiliza a seguinte sintaxe: iptables [-t tabela] [-N novochain] Como exemplo pode-se criar um Chain denominado Unioeste (que pode ser usado para agrupar as regras de internet da Universidade): iptables -t filter -N Unioeste Para inserir regras no Chain Unioeste basta especifica-lo após a opção -A: iptables -t filter -A Unioeste -s 200.152.161.132 -j DROP Logo, é necessário fazer uma ligação (-j) do Chain INPUT para o Chain Unioeste: iptables -t filter -A INPUT -j internet Esta ligação é necessária indicar que outro Chain foi criado possibilitando a leitura das novas regras do Chain Unioeste.

Especificando o Policiamento Padrão de um Chain P Quando um pacote chega ao fim das regras contidas em um Chain, o policiamento padrão determina se ele é ACCEPT ou DROP, ou seja, se o pacote é aceito ou rejeitado. Isto deve ser feito utilizando a seguinte sintaxe. iptables [-t tabela] [-P Chain] [ACCEPT/DROP] No exemplo abaixo, o pacote não será rejeitado após passar pelas regras. Obviamente se a regras anteriormente definidas não bloquearem ele. iptables -t filter -P INPUT ACCEPT Salvando e Restaurando regras As regras que estão sendo criadas pelo usuário enquanto manipula o iptables podem ser salvas usando as ferramentas iptables-save e iptablesrestore baseada na idéia do ipchains-save e ipchains-restore. O iptables-save deve ser usado sempre que modificar regras no firewall iptables da seguinte forma: iptables-save >/dir/iptables-regras Para restaurar as regras salvas, utilize o comando: iptables-restore </dir/iptables-regras