Orientador de Curso: Rodrigo Caetano Filgueira



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

Segurança em Sistemas de Informação

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

Prof. Samuel Henrique Bucke Brito

IPTABLES. Helder Nunes

Iptables. Adailton Saraiva Sérgio Nery Simões

Segurança de Redes. Firewall. Filipe Raulino

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

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

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

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

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

Firewalls, um pouco sobre...

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

Administração de Redes Firewall IPTables


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

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

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.

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

Segurança com Iptables

Oficina de ferramentas de Gerência para Redes em Linux

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

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

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

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

Uso do iptables como ferramenta de firewall.

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

Professor Claudio Silva

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

Linux Network Servers

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

Entendendo como funciona o NAT

Segurança de Redes de Computadores

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

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

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

Administração de Sistemas Operacionais

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

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

Compartilhamento da internet, firewall

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

TuxFrw 3.0 MSPF Modular Stateful Packet Filter

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

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

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

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

Netfilter e Iptables

Firewall Iptables - Impasses

Capítulo 4 TCP/IP FIREWALLS.

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

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

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

Capítulo 5 Métodos de Defesa

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

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

Características de Firewalls

Gestão de Sistemas e Redes

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

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

NAT com firewall - simples, rápido e funcional

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

BRUNO PEREIRA PONTES

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.

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

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

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

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

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

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

Guia Foca GNU/Linux - Firewall iptables

Firewalls. Firewalls

Acesso Remoto Placas de captura

Passo a Passo da instalação da VPN

SQUID Linux. Rodrigo Gentini

DarkStat para BrazilFW

Arquitectura de Redes

Segurança em Sistemas de Informação

Edital 012/PROAD/SGP/2012

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Firewall iptables e criação de regras.

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

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Firewall. Qual a utilidade em instalar um firewall pessoal?

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

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

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

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

Guia de Prática. Windows 7 Ubuntu 12.04

Configurando um Servidor de Arquivos SAMBA. Prof. Armando Martins de Souza

UNIVERSIDADE FEDERAL DE PELOTAS

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

Administração do Windows Server 2003

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

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

O B J E T T I I V V O O S

Transcrição:

Orientador de Curso: Rodrigo Caetano Filgueira

Definição O Firewal é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua segura rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais).

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.

Ele 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 seu sistema, contagem de bytes, dividir tráfego entre máquinas, criar proteções anti-spoofing, contra syn flood, DoS, etc.

As possibilidades oferecidas pelos recursos de filtragem iptables como todas as ferramentas UNIX maduras dependem de sua imaginação.

Um firewall não funciona de forma automática (instalando e esperar que ele faça as coisas por você), é necessário pelo menos conhecimentos básicos de rede tcp/ip, roteamento e portas para criar as regras que farão a segurança de seu sistema. A segurança do sistema depende do controle das regras que serão criadas por você, as falhas humanas são garantia de mais de 95% de sucesso nas invasões.

Um resumo da história do iptables O iptables é um código de firewall das versões 2.4 do kernel, que substituiu o ipchains (presente nas séries 2.2 do kernel). Ele foi incluído no kernel da série 2.4 em meados de Junho/ Julho de 1999. A história do desenvolvimento (desde o porte do ipfw do BSD para o Linux até o iptables (que é a quarta geração de firewalls do kernel) está disponível no documento,netfilter-howto.

Características do firewalliptables 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 Muito rápido, estável e seguro

Características do firewalliptables 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 completo a roteamento de pacotes, tratadas em uma área diferente de tráfegos padrões. Suporte a especificação de tipo de serviço para priorizar o tráfego de determinados tipos de pacotes. Permite especificar exceções para as regras ou parte das regras Suporte a detecção de fragmentos

Características do firewalliptables Permite enviar alertas personalizados ao syslog sobre o tráfego aceito/bloqueado. Redirecionamento de portas Masquerading Suporte a SNAT (modificação do endereço de origem das máquinas para um único IP ou faixa de IP s). Suporte a DNAT (modificação do endereço de destino das máquinas para um único IP ou fixa de IP s) Contagem de pacotes que atravessaram uma interface/regra Limitação de passagem de pacotes/conferência de regra (muito útil para criar proteções contra, syn flood, ping flood, DoS, etc).

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.

Requerimentos É necessário que o seu kernel tenha sido compilado com suporte ao iptables. O requerimento mínimo de memória necessária para a execução do iptables é o mesmo do kernel 2.4 (4MB). Dependendo do tráfego que será manipulado pela(s) interface(s) do firewall ele poderá ser executado com folga em uma máquina 386 SX com 4MB de RAM. Como as configurações residem no kernel não é necessário espaço extra em disco rígido para a execução deste utilitário.

Tipos de firewalls Existem basicamente dois tipos de firewalls: nível de aplicação - Este tipo de firewall analisam o conteúdo do pacote para tomar suas decisões de filtragem. Firewalls deste tipo são mais intrusivos (pois analisam o conteúdo de tudo que passa por ele) e permitem um controle relacionado com o conteúdo do tráfego. Alguns firewalls em nível de aplicação combinam recursos básicos existentes em firewalls em nível de pacotes combinando as funcionalidade de controle de tráfego/controle de acesso em uma só ferramenta. Servidores proxy, como o squid, são um exemplo deste tipo de firewall.

Tipos de firewalls nível de pacotes - Este tipo de firewall 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 iptables é um firewall que se encaixa nesta categoria. Os dois tipos de firewalls podem ser usados em conjunto para fornecer uma camada dupla de segurança no acesso as suas máquinas/máquinas clientes.

O que proteger? Antes de iniciar a construção do firewallébom pensar nos seguintes pontos: Quais serviços precisa proteger. Serviços que devem ter acesso garantido a usuários externos e quais serão. bloqueados a todas/determinadas máquinas É recomendável bloquear o acesso a todas portas menores que 1024 por executarem serviços que rodam com privilégio de usuário root, e autorizar somente o acesso as portas que realmente deseja (configuração restritiva nesta faixa de portas).

Que tipo de conexões eu posso deixar passar e quais bloquear. Serviços com autenticação em texto plano e potencialmente inseguros como rlogin, telnet, ftp, NFS, DNS, LDAP, SMTP RCP, X-Window são serviços que devem ser ter acesso garantido somente para máquinas/redes que você confia. Estes serviços podem não ser só usados para tentativa de acesso ao seu sistema, mas também como forma de atacar outras pessoas aproveitando-se de problemas de configuração. A configuração do firewall ajuda a prevenir isso, mesmo se um serviço estiver mal configurado e tentando enviar seus pacotes para fora, será impedido. Da mesma forma se uma máquina Windows de sua rede for infectada por um trojan não haverá pânico: o firewall poderá estar configurado para bloquear qualquer tentativa de conexão vinda da internet (cracker) para as máquinas de sua rede. Para cópia de arquivos via rede insegura (como através da Internet), é recomendado o uso de serviços que utilizam criptografia para login e transferência de arquivos ou a configuração de uma VPN.

Que máquinas terão acesso livre e quais serão restritas. Que serviços deverão ter prioridade no processamento. Que máquinas/redes NUNCA deverão ter acesso a certas/todas máquinas. O volume de tráfego que o servidor manipulará. Através disso você pode ter que balancear o tráfego entre outras máquinas, configurar proteções contra DoS, syn flood, etc. O que tem permissão de passar de uma rede para outra (em máquinas que atuam como roteadores/gateways de uma rede interna). Etc.

A análise destes pontos pode determinar a complexidade do firewall, custos de implementação, prazo de desenvolvimento e tempo de maturidade do código para implementação. Existem muitos outros pontos que podem entrar na questão de desenvolvimento de um sistema de firewall, eles dependem do tipo de firewall que está desenvolvendo e das políticas de segurança de sua rede.

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. Um exemplo de regra: 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 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 casesensitive, 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 conjunto de regras com uma determinada característica em comum. As tabelas podem ser referenciadas com a opção -t tabela e existem 3 tabelas disponíveis no iptables:

tabelas 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 chainsinput e OUTPUT são consultados na tabela filter.

tabelas 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

tabelas mangle - Utilizada para alterações especiais de pacotes (como modificar o tipo de serviço (TOS).Chains: INPUT -Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain INPUT da tabela filter. FORWARD -Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain FORWARD da tabela filter. PREROUTING -Consultado quando os pacotes precisam ser modificados antes de ser enviados para o chain PREROUTING da tabela nat. POSTROUTING -Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain POSTROUTING da tabela nat. OUTPUT -Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain OUTPUT da tabela nat.

Tabelas e ChainsIPTABLES

Tabelas MANGLE NAT FILTER Chains PREROUTING INPUT FORWARD OUTPUT POSTROUTING Target ACCEPT DROP REJECT REDIRECT MASQUERADE LOG

F Limpar regras; X Excluir regra; P Modificar Policy; t <tabela> Utilizar tabela; L Exibir regras; A acrescenta uma nova regra às existentes; N cria um novo CHAIN; s <ip ou rede> Origem d <ip ou rede> Destino p <tcp/udp/icmp> Protocolo --dport <porta> Porta de destino --sport <porta> Porta de origem i <placa> Placa de entrada; o <placa> placa de saída; m multiport múltiplas portas; j Ação executada;

Exemplo 1 Inicialmente Desligamos o roteamento: echo 0 > /proc/sys/net/ipv4/ip_forward Para depois que todas as regras de segurança forem aplicadas a carregadas no kernel possamos iniciá-lo novamente: echo 1 > /proc/sys/net/ipv4/ip_forward

Exemplo 2 Logo após limpamos todas as regras existentes (por via das dúvidas, para que alguma coisa antiga não venha a interferir na segurança) iptables -F (limpa regras) iptables -X (eclui regras) iptables -t nat -F (limpa regras para tabela nat) iptables -t nat -X (exclui regras para tabela nat) iptables -t mangle -F (limpa regras para tabela mangle) iptables -t mangle -X (exclui regras para tabela mangle)

Exemplo 3 Em seguida podemos criar novas regras: iptables -N PERMITIDO iptables -A PERMITIDO -p tcp--syn -m state --state NEW -j ACCEPT iptables -A PERMITIDO -p tcp-m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A PERMITIDO -p tcp--tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT iptables -A PERMITIDO -p tcp-j DROP

Exemplo 4 Deve-se também inicializar as regras, no caso tudo fica bloqueado, e conforme a necessidade são abertas. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

Exemplo 5 Inicializando loopback para acesso local iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -i lo -j ACCEPT

Exemplo 6 Liberar o ping(senão nem o ping local funcionará) iptables -A INPUT -p icmp -j ACCEPT

Exemplo 7 Liberar DNS iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT

Exemplo 8 Liberar http iptables -A INPUT -p tcp -m multiport --dport 80,8080 -j PERMITIDO iptables -A INPUT -p tcp -m multiport --sport 80,8080 -j PERMITIDO iptables -A FORWARD -p tcp --dport 80 -j PERMITIDO iptables -A FORWARD -p tcp --sport 80 -j PERMITIDO

Exemplo 9 Liberar acesso para VNC (Caso haja necessidade, prática comum em redes) iptables -A FORWARD -p tcp -m multiport --dport 5800,5900 -j PERMITIDO iptables -A FORWARD -p tcp -m multiport --sport 5800,5900 -j PERMITIDO iptables -A FORWARD -p udp -m multiport --dport 5800,5900 -j PERMITIDO iptables -A FORWARD -p udp -m multiport --sport 5800,5900 -j PERMITIDO

Exemplo 10 Já que o VNC está liberado, recomenda-se direcionar na rede interna uma máquina alvo que será a única a permitir o acesso remoto passando pelo firewall. iptables -t nat -A PREROUTING -s 0/0 -p tcp -m multiport --dport 5800,5900 -j DNAT --to-destination 192.168.204.2 iptables -t nat -A PREROUTING -s 0/0 -p udp -m multiport --dport 5800,5900 -j DNAT --to-destination 192.168.204.2

Exemplo 11 Caso exista um proxy transparente, deve-se redirecionar qualquer tentativa de saída pela porta 80 e apontar a porta do proxy. No caso 8080 poderia ser alterado para 3128, que é a porta padrão do squid. iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Exemplo 12 Ativar NAT (mascaramento) para que as máquinas da rede interna possa navegar na net. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Exemplo 13 Liberar saída: iptables -A OUTPUT -j ACCEPT

Exemplo 14 Como foi dito no início, o roteamento após o carregamento de todas as regras deve ser habilitado: echo 1 > /proc/sys/net/ipv4/ip_forward

O firewall exemplificado geraria um documento texto semelhante a este (http://www.andrecoimbra.xpg.com.br/meufirewall).