Compartilhamento da internet, firewall



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

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

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

Prof. Samuel Henrique Bucke Brito

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

Oficina de ferramentas de Gerência para Redes em Linux

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

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

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

Tutorial configurando o dhcp no ubuntu ou debian.

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

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


Iptables. Adailton Saraiva Sérgio Nery Simões

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

Firewalls, um pouco sobre...

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

IPTABLES. Helder Nunes

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

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.

Linux Network Servers

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

Professor Claudio Silva

Segurança de Redes de Computadores

Segurança com Iptables

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

NAT com firewall - simples, rápido e funcional

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

Netfilter e Iptables

Firewall Iptables - Impasses

Segurança de Redes. Firewall. Filipe Raulino

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

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

Capítulo 4 TCP/IP FIREWALLS.

Orientador de Curso: Rodrigo Caetano Filgueira

BRUNO PEREIRA PONTES

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

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.

Configuração do Servidor Gateway Firewall e DHCP

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.

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

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

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

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

Administração de Sistemas Operacionais

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

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

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

REDES DE COMPUTADORES

Gestão de Sistemas e Redes

Trabalho 3 Firewalls

O que é uma rede de computadores?

Uso do iptables como ferramenta de firewall.

Sistemas Operacionais de Redes. Aula: Gerenciamento de rede Professor: Jefferson Igor D. Silva

Linux Network Servers

Redes de Computadores

Entendendo como funciona o NAT

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

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

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

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

Administração de Redes Redes e Sub-redes

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

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

Configurando um servidor DHCP

Segurança em Redes e Sistemas Operacionais

Firewall iptables e criação de regras.

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

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

SQUID Linux. Rodrigo Gentini

Laboratório. Assunto: endereçamento IP e roteamento.

Acesso Remoto Placas de captura

Balanceamento de links

Comandos importantes Virtual Box Linux Compartilhamento

Arquitectura de Redes

Configuração de Rede

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

SEGURANÇA DE REDES COM IPTABLES

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

Redes de Computadores. Guia de Laboratório Configuração de Redes

Firewalls. Firewalls

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

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

Criando um Servidor Proxy com o SQUID. Roitier Campos

Troubleshooting em rede básica

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

MINISTÉRIO DA EDUCAÇÃO

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

Manual ETHERNET - WIRELESS. Configuração de redes - wireless. Produzido por: Sergio Graças Giany Abreu Desenvolvedores do Projeto GNU/Linux VRlivre

Transcrição:

da internet, firewall João Medeiros (joao.fatern@gmail.com) 1 / 29

Exemplo de transmissão 2 / 29

Exemplo de transmissão Dados trafegam em pacotes com até 1460 bytes de dados e dois headers de 20 bytes cada (Header IP e Header TCP) Header IP - inclue o endereço IP de origem e destino. Se encarrega do endereçamento. Header TCP - inclue a porta de origem e destino, por exemplo. Se encarrega da verificação de erros, numeração das portas e outras funções. Existem 65536 portas TCP, numeradas de 0 a 65535 0 a 1023 são reservadas para serviços mais conhecidos Também existem 65536 portas UDP 3 / 29

Exemplo de transmissão Exemplo de transmissão Transmissão de mensagem de texto de 300 bytes vi TCP. Cliente : SYN (solicita abertura de conexão) Servidor: SYN (confirma o recebimento e avisa que a porta está disponível) Cliente : ACK (inicia a conexão) Servidor: ACK (confirma) Cliente : DATA (Envia o pacote com a mensagem de texto) Servidor: OK (a confirmação, depois de verificar a integridade do pacote) Cliente : FYN (solicita o fechamento da conexão) Servidor: FYN (confirma) Cliente : FYN (confirma que recebeu a confirmação) Truque comum ao configurar um firewall é bloquear o recebimento de pacotes SYN usados para iniciar uma conexão. Com isso o host deixa de aceitar a abertura de novas conexões, mas continua recebendo pacotes referentes a conexões iniciadas por ele. 4 / 29

Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Explicando as regras Reconfigurando o servidor DHCP 5 / 29

Compartilhando a conexão Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Explicando as regras Reconfigurando o servidor DHCP Um dos usos mais simples para um servidor Linux de rede local é compartilhar a conexão Vantagens em relação ao próprio modem ADSL: podemos incluir serviços cache de páginas (SQUID) Filtro de conteúdo (SquidGuard e DansGuardian) Servidor Samba Servidor de impressão Em uma rede pequena ou média (de 10 a 50 micros) é possível usar um servidor de configuração razoável 6 / 29

Topologia da rede com compartilhamento Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Normalmente o servidor do compartilhamento tem duas placas de redes. Uma para a rede interna e outra para a internet. Explicando as regras Reconfigurando o servidor DHCP 7 / 29

Exemplo de configuração das placas de redes Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Explicando as regras Reconfigurando o servidor DHCP # cat /etc/network/interfaces auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 iface eth1 inet dhcp A placa eth0 está ligada na rede interna e a eth1 está ligada no modem para a internet 8 / 29

compartilhamento No Linux usamos o iptables (firewall integrado ao kernel) Podemos executar os comandos para ativar o compartilhamento # modprobe iptable_nat # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE O primeiro comando ativa o módulo iptable nat O segundo comando ativa o ip forward, responsável pelo encaminhamentos dos pacotes O terceiro cria uma regra de roteamento Em algumas distribuições com o kernel 2.6, é necessário incluir um quarto comando # iptables -A FORWARD -p tcp tcp-flags SYN,RST SYN -m tcpmss mss 1400:1536 -j TCPMSS clamp-mss-to-pmtu Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU usado na rede local. 9 / 29

Arquivo /etc/init.d/compartilhar #!/bin/bash # variaveis que definem as placas de redes ifinternet="eth1" # placa de rede para a internet iflocal="eth0" # placa de rede para a rede interna iniciar(){ # Ativa o compartilhamento e o roteamento modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE # configura o servidor para nao responder a pings da internet iptables -A INPUT -p icmp --icmp-type echo-request -j DROP # os dois comandos seguintes protegem contra IP spoofing echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter iptables -A INPUT -m state --state INVALID -j DROP 10 / 29

Arquivo /etc/init.d/compartilhar # os dois comandos abaixo autorizam pacotes provenientes # da interface loopback e da rede interna iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i $iflocal -j ACCEPT # Abre a porta de conex~ao ssh iptables -A INPUT -p tcp --dport 22 -j ACCEPT bloqueia as outras tentativas de conex~ao provenientes da internet iptables -A INPUT -p tcp --syn -j DROP } 11 / 29

Arquivo /etc/init.d/compartilhar parar(){ iptables -F iptables -F -t nat } case "$1" in "start") iniciar ;; "stop") parar ;; "restart") parar; iniciar ;; *) echo "Use os par^ametros start ou stop" esac Para ativar o script, execute o comando # update-rc.d compartilhar start 98 2 3 4 5. stop 98 0 1 6. O comando acima iniciar o script nos runlevels 2, 3, 4 e 5 e para nos runlevels 0, 1 e 6 12 / 29

Explicando as regras Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Explicando as regras Reconfigurando o servidor DHCP A sintaxe das regras segue um padrão lógico Você especifica uma determinada condição e diz o que o firewall deve fazer com os pacotes que se enquadram nela. Por exemplo, na regra iptables -A INPUT -i eth0 -j ACCEPT usamos os parâmetros -A INPUT (pacotes de entrada) e -i eth0 (recebidos na interface eth0) seguidos da regra -j ACCEPT, que diz que os pacotes dever ser aceitos sem checagem adicional. 13 / 29

Reconfigurando o servidor DHCP Compartilhando a conexão Topologia da rede com compartilhamento Exemplo de configuração das placas de redes compartilhamento Adicione as informações de sua rede para que os clientes possam ser configurados corretamente, informado o ip do roteador e ips dos DNS. No arquivo /etc/dhcp3/dhcpd.conf, acrescente a linha abaixo na seção subnet option routers 192.168.0.103; } Explicando as regras Reconfigurando o servidor DHCP 14 / 29

s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo 15 / 29

s s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Existem muitos firewall gráficos em Linux (Shorewall, Firestarter, etc) Oferecem interface amigável e geram regras do iptables de acordo com a configuração feita Vamos examinar algumas regras diretamente 16 / 29

Alguns comandos úteis s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo iptables -F: Limpa a tabela principal do iptables iptables -t nat -F: Limpa a tabela nat, que é usada por regras que compartilham a conexão e fazer forwarding das portas iptables -L: Lista a configuração atual, sem alterar nada iptables -t nat -L: Lista as regras de forwarding e compartilhamento 17 / 29

s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT Aceita todos os protocolos (TCP, UDP, IMCP) vindos da rede 192.168.0.0 com máscara 255.255.255.0 iptables -A INPUT -s 192.168.0.101 -j REJECT Bloqueia o acesso apenas para um determinado ip. O iptables processa as regras de forma sequencial Se uma determinada regra aceita pacotes e outra rejeita os mesmos pacotes, vale a primeira iptables -A INPUT -s 192.168.0.101 -j ACCEPT iptables -A INPUT -s 192.168.0.101 -j REJECT Ao configurar regras, coloque as mais específicas primeiro, deixando as mais gerais por último. Ex: permitir todos os pacotes da rede local e proibir apenas um endereço iptables -A INPUT -s 192.168.0.101 -j REJECT iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT 18 / 29

Mini script para um Dektop que acessa a internet s Alguns comandos úteis #!/bin/bash iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo A primeira linha deixa passar os pacotes da inerface loopback. No linux a interface loopback é usada para comunicação entre diversos programas (ex: os programas a utilizam para se comunicar com o servidor X) A segunda linha bloqueia todas as conexões vindas de fora. O syn faz com que o firewall aplique as regras apenas para as tentativas de abrir novas conexões, sem impedir que servidores remotos respondam a conexões iniciadas pelo desktop. 19 / 29

s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Permitindo acesso a uma porta específica iptables -A INPUT -p tcp dport 22 -j ACCEPT Permitindo acesso a várias portas iptables -A INPUT -m multiport -p tcp dport 22,80,443 -j ACCEPT Abre portas para um ip específico iptables -A INPUT -p tcp -s 192.168.0.78 dport 22,80,443 -j ACCEPT Abre intervalo de portas iptables -A INPUT -p tcp dport 6881:6889 -j ACCEPT 20 / 29

Script de firewall Veja o arquivo 10-Script-firewall s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo 21 / 29

Forwarding de portas Micros que estão por trás do servidor NAT não recebem conexões diretas da internet Em algumas situações necessitamos que isso ocorra (algum servidor WEB na rede internai, por exemplo) Redireciona um porta para um micro local da rede echo 1 >/proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 22 -j DNAT --to 192.168.0.102 iptables -t nat -A POSROUTING -d 192.168.0.102 -j SNAT --to 192.168.0.1 Nas regras acima, 192.168.0.102 é o micro da rede interna para onde vão ser encaminhadas as conexões na porta 22 e 192.168.0.1 é o micro que está conectado na internet e está fazendo o redirecionamento de portas 22 / 29

Forwarding de portas - faixa de portas s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Para uma faixa de portas usamos echo 1 >/proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp -i eth1 dport 6881:6889 -j DNAT to 192.168.0.102 iptables -t nat -A POSROUTING -d 192.168.0.102 -j SNAT to 192.168.0.1 Para uma faixa de portas UDP echo 1 >/proc/sys/net/ipv4/ip\_forward iptables -t nat -A PREROUTING -p udp -i eth1 dport 53:55 -j DNAT to 192.168.0.102 iptables -t nat -A POSROUTING -d 192.168.0.102 -j SNAT to 192.168.0.1 23 / 29

Bloqueando portas de saída Existem duas opções s Alguns comandos úteis FORWARD - Impede o acesso o acesso a partir dos micros da rede local que acessam através da conexão compartilhada pelo servidor OUTPUT - A porta é bloqueada no próprio micro onde o firewall está ativo Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Bloqueando o acesso ao MSN iptables -A OUTPUT -p tcp dport 1863 -j REJECT iptables -A FORWARD -p tcp dport 1863 -j REJECT Bloqueando intervalos de portas iptables -A FORWARD -p tcp dport 1025:65536 -j REJECT Como estamos criando regras para micros da rede interna e não para invasores, é interessante usar REJECT ao invés de DROP. Caso contrário, os programas nos clientes sempre ficarão muito tempo parados, o que pode gerar reclamações. 24 / 29

Bloqueando domínios s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Para bloquear acessos ao Orkut iptables -A OUTPUT -d www.orkut.com -j REJECT iptables -A FORWARD -d www.orkut.com -j REJECT Se for paranóico, pode usar também iptables -A INPUT -d www.orkut.com -j DROP Esta regras impede que qualquer pacote proveniente do orkut.com chegue até a máquina 25 / 29

Resumo da internet - NAT Regras de firewall com iptables s Alguns comandos úteis Script de firewall Forwarding de portas Forwarding de portas - faixa de portas Bloqueando portas de saída Bloqueando domínios Resumo Regras diversas Redirecionando portas bloqueando portas bloqueando domínios 26 / 29

Referências 27 / 29

Referências Peça ao colega do lado para pingar seu IP, enquanto ele está pingando, configure o seu iptables para bloquear todas a conexões vindas do IP deles e observe o que acontece. Em seguida, ainda com ele pingando, limpe todas as regras do firewall e observe o resultado. Crie algumas regras e implemente-as no iptables e teste-as com seus colegas Acesse o site da referência [1] http://www.gdhpress.com.br/servidores/leia/index.php?p=cap2-1 e escreve um pequeno tutorial para a configuração de um servidor de compartilhamento da internet. Adicione os passos necessários para a configuração de um servidor proxy com Squid. 28 / 29

Referências [1] http://www.gdhpress.com.br/servidores/leia/index.php?p=cap2-1 [2] MORIMOTO, Carlos. Servidores Linux, Guia Prático. 1 a Ed. Editora: GDH Press e Sul Editores, 2008 29 / 29