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



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

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

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

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

Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

Administração de Sistemas Operacionais

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.

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

Entendendo como funciona o NAT

Prof. Samuel Henrique Bucke Brito

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

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

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

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

Trabalho 3 Firewalls

Firewalls, um pouco sobre...

Compartilhamento da internet, firewall

Prof. Samuel Henrique Bucke Brito

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

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

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

Depois que instalamos o Squid vamos renomear o arquivo de configuração para criarmos um do zero.

Linux Network Servers

SQUID Linux. Rodrigo Gentini

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

Relatório SQUID e SAMBA. Instalação e Configuração de Servidores de Rede

Iptables. Adailton Saraiva Sérgio Nery Simões

IPTABLES. Helder Nunes

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

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

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

Segurança em Sistemas de Informação

Disciplina: Fundamentos de serviços IP Alunos: Estevão Elias Barbosa Lopes e Leonardo de Azevedo Barbosa

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

Gestão de Sistemas e Redes

5/7/2010. Apresentação. Web Proxy. Proxies: Visão Geral. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

Instalação do Aparelho Virtual Bomgar. Base 3.2

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

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.

Administração de Redes Firewall IPTables

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

Segurança de Redes. Firewall. Filipe Raulino

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

Acessos Convergentes. Manual de Configuração e Utilização

SERVIDORES REDES E SR1

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Guia de iniciação Bomgar B400

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

Orientador de Curso: Rodrigo Caetano Filgueira

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

Licenciatura em Eng.ª Informática Redes de Computadores - 2º Ano - 2º Semestre. Trabalho Nº 1 - Ethereal

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Curso de extensão em Administração de redes com GNU/Linux

Manual de Introdução da Bomgar B100

Uso do iptables como ferramenta de firewall.

Departamento de Informática

Diagrama lógico da rede da empresa Fácil Credito

Manual de introdução de Bomgar B300v

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

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

Segurança de Redes. Aula extra - Squid. Filipe Raulino filipe.raulino@ifrn.edu.br

Segurança de Redes de Computadores

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

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

Professor Claudio Silva

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

Office Telefone com fios

Manual do Teclado de Satisfação Online WebOpinião

Segurança em Redes e Sistemas Operacionais

Oficina de ferramentas de Gerência para Redes em Linux

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

NAT com firewall - simples, rápido e funcional

O Manual do ssc. Peter H. Grasch

Capítulo 4 TCP/IP FIREWALLS.

cio Roteamento Linux

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

Telefone com fios Manual de configuração Office

Trabalho de laboratório sobre ARP

Gestor de Janelas Gnome

1. O DHCP Dynamic Host Configuration Protocol

Segurança com Iptables

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

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

Otimização da prestação de serviços e minimização de indisponibilidade através do uso de sistemas Linux customizados. Resumo

Camada de Aplicação. Prof. Eduardo

LOADBALANCE DEBIAN LENNY.

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

Usando o Conference Manager do Microsoft Outlook

ZSRest e ZSPos Multiposto

Componentes de um sistema de firewall - II. Segurança de redes

Central Inteligente Manual de utilização

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

Arquitectura de Redes

BRUNO PEREIRA PONTES

Pontes. Aula 14. VLANs. Pontes (bridges) Virtual LANs (VLANs)

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

Transcrição:

Segurança Informática e nas Organizações Guiões das Aulas Práticas João Paulo Barraca 1 e Hélder Gomes 2 1 Departamento de Eletrónica, Telecomunicações e Informática 2 Escola Superior de Tecnologia e Gestão de Águeda Universidade de Aveiro 2015 2016

Conteúdo 2 Firewalls com iptables em Linux 2-1 2.1 Introdução............................. 2-2 2.2 Montagem da rede........................ 2-2 2.2.1 Salvaguarda das regras do iptables.......... 2-4 2.2.2 Configuração das máquinas da rede interna....... 2-4 2.3 Controlo de tráfego........................ 2-5 2.3.1 Filtragem de tráfego com destino a certas máquinas.. 2-5 2.3.2 Decisões DROP vs. REJECT.............. 2-5 2.3.3 Registo de tráfego..................... 2-5 2.3.4 Filtragem de tráfego consoante os serviços acedidos.. 2-6 2.4 Encaminhamento de tráfego do exterior para a rede interior. 2-6 2.5 Servidor Squid........................... 2-7 2.5.1 Instalação e configuração base.............. 2-7 2.5.2 Filtragem de acessos HTTP via Squid.......... 2-7 2.5.3 Filtragem de conteúdos HTTP via Squid........ 2-8 2.5.4 Controlo de horários de acesso.............. 2-8 2.5.5 Modo transparente.................... 2-9 2.6 Bibliografia............................ 2-9 1-2

2 Firewalls com iptables em Linux Resumo: - Configuração de uma rede privada com uma gateway com NAT. - Filtragem de pacotes com iptables. - Mecanismos de encaminhamento de tráfego de entrada na rede privada. - Configuração e exploração de um proxy HTTP (Squid). 2-1

2.1 Introdução Neste trabalho pretende-se realizar uma demonstração prática dos conteúdos aprendidos acerca de firewalls. Comece por configurar a rede ilustrada na Fig. 2.1 e siga o guião. Figura 2.1: Arquitetura da rede para a demonstração da atuação de uma firewall. Para implementar a rede da figura 2.1 pode usar as duas máquinas virtuais que criou e usou no guião 1. Tal como fez no referido guião, interligue as duas máquinas vituais usando interfaces de rede configuradas como interfaces de rede interna do Virtual Box. Quanto à interface que liga a máquina Gateway à rede externa, no VirtualBox configure-a como NAT. Como todas as operações que serão realizadas neste guião carecem de privilégios de administração, para simplificar, considere o uso de uma consola de administração, que pode ser criada a partir de uma consola normal executando o comando sudo bash 2.2 Montagem da rede A firewall/gateway deverá esconder a existência de um rede interna privada perante a rede exterior. Nesse sentido, deverá realizar NAT relativamente ao tráfego que a atravessa, entre a rede interna e a exterior. Para que a gateway se comporte como tal é preciso que seja ativado o encaminhamento de tráfego IP através de si, porque tal não o está por omissão. Para além disso, o encaminhamento deverá ser acompanhada pela devida tradução de endereços IP e seletores de transporte inerente ao funcionamento do NAT. Em primeiro lugar é necessário configurar o Linux para fazer encaminhamento IP (routing), o que pode ser feito de três maneiras: 2-2

através do comando echo 1 > /proc/sys/net/ipv4/ip_forward ou através do comando sysctl -w net.ipv4.ip_forward=1 ou através da alteração do ficheiro /etc/sysctl.conf de modo a remover o comentário (#) da linha #net.ipv4.ip_forward=1 a que se deve seguir a execução do comando sysctl -p para que a alteração seja aplicada. A configuração do NAT é feita no iptables com o comando, assumindo que a rede interna usa endereços na gama 10.0.0.0/8, e que a interface para a rede externa é a eth1. iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth1 -j MASQUERADE Este comando indica à tabela de NAT da cadeia de POSTROUTING (a última aplicada ao pacotes IP antes de o mesmo ser enviado para a rede) que todos os pacotes cujo endereço IP de origem pertença à rede 10.X.X.X e que se destinem à rede exterior sejam transformados via NAT dinâmico (masquerading), i.e., que os seus endereços IP de origem sejam subsituidos pelo endereço IP da interface para a rede externa (eth1). A listagem das regras NAT atuais do iptables é realizada com o comando iptables -t nat -n -L onde a opção -n, não sendo fundamental, evita traduções, que neste caso são indesejadas, entre endereços IP e nomes DNS. Há uma decisão semelhante à MASQUERADE, que é a SNAT (de Source NAT). Consulte o manual do iptables com o comando man iptables para perceber as diferença entre essas decisões e conclua sobre qual a mais adequada neste caso. 2-3

2.2.1 Salvaguarda das regras do iptables O iptables não salvaguarda as regras com as quais foi configurado, o que faz com que as regras se percam sempre que o sistema se desliga. É no entanto possível salvaguardar as regras para um ficheiro e posteriormente recarregá-las sempre que for necessário. Salvaguarde as regras do iptables num ficheiro, apague-as integralmente e reponha a configuração do iptables anteriormente salvaguardada com os seguintes comandos: iptables-save > /etc/iptables.save iptables -F iptables-restore < /etc/iptables.save 2.2.2 Configuração das máquinas da rede interna Para simplificar a configuração da máquina interna, vamos instalar um servidor dnsmasq na máquina Gateway, com o comando apt-get install dnsmasq Este servidor possui um serviço de DHCP que é útil para configurar a rede interior (endereços IP, máscara de rede e servidor DNS) e para fazer o reencaminhamento de pedidos DNS através de um gateway com NAT. Para este fim, altere o respetivo ficheiro de configuração /etc/dnsmasq.conf para definir a interface da gateway que liga à rede interna, que aqui assumimos que é a interface eth0 interface=eth0 indicar o endereço IP do servidor de DHCP dhcp-host=10.0.0.1 e definir a gama de endereços IP fornecidos pelo DHCP para as máquinas da rede interna. dhcp-range=10.0.0.2,10.0.0.254,255.0.0.0 Feitas estas configurações, reinicie o serviço com o comando service dnsmasq restart No final desta configuração qualquer máquina que se ligar na rede interna deverá obter automaticamente a sua configuração de rede e conseguir ligar-se à rede exterior através do gateway. Verifique este facto antes de prosseguir! 2-4

2.3 Controlo de tráfego 2.3.1 Filtragem de tráfego com destino a certas máquinas Nesta secção vamos exemplificar a aplicação de regras de filtragem de tréfego da rede interna para o exterior. Em particular, iremos configurar a firewall de tal forma que as máquinas da rede interior não consigam aceder ao servidor www.youtube.com, o que se consegue com o comando iptables -A FORWARD -d www.youtube.com -j DROP Experimente a sua eficácia tentando aceder ao servidor bloqueado a partir de uma máquina da rede interna. Remova esse regra (usando a opção -D em vez da -A), e instale uma nova onde limita a filtragem à maquina cliente que possui na rede interna (vamos assumir que o seu endereço de rede é 10.0.0.2): iptables -A FORWARD -s 10.0.0.2 -d www.youtube.com -j DROP Experimente novamente a sua eficácia tentando aceder ao servidor bloqueado a partir da máquina cujo endereço IP é 10.0.0.2. 2.3.2 Decisões DROP vs. REJECT Altere as regras anteriores substituindo a decisão DROP por uma decisão REJECT. Verifique o resultado prático dessa decisão. 2.3.3 Registo de tráfego Nesta secção vamos exemplificar a aplicação de regras que criam registos de atividade de rede, os quais poderão ser úteis para analisar à posterior que tráfego foi efetivamente processo pela firewall e por uma regra em particular. No seguimento da secção anterior, vamos configurar o iptables para que os pacotes rejeitados devido aos comandos da alínea anterior apareçam evidenciados num registo: iptables -I FORWARD -s 10.0.0.2 -d www.youtube.com -j LOG --log-prefix "DROP " Este comando faz com que os pacotes rejeitados em consequência da regra da alínea anterior apareçam evidenciados num log. Note-se que ele só funcionará se a regra for colocada (processada) antes das regras da alínea anterior, 2-5

o que não aconteceria se tivéssemos usado a opção -A (append, ou seja, colocar no fim). Por isso, neste caso usou-se a opção -I (insert, sem número de ordem), o que coloca a regra no início de todas as demais na cadeia FORWARD. Use o seguinte comando para listar todas as regras de filtragem após a instalação desta última regra: iptables -L 2.3.4 Filtragem de tráfego consoante os serviços acedidos Use o seguinte comando para que não seja possível à máquina da rede interna aceder a qualquer serviço exterior excepto HTTP: iptables -I FORWARD -s 10.0.0.2 -p tcp! --dport 80 -j DROP Explique os parâmetros usados recorrendo para esse efeito ao manual interativo do iptables. 2.4 Encaminhamento de tráfego do exterior para a rede interior Deviso à existência de NAT, não é possível da rede exterior aceder a serviços da rede interior sem realizar alguma configuração que torne tal possível. Essa configuração designa-se por port forwarding. Admitamos que existe um servidor Web na máquina 10.0.0.2 que quer tornar acessível a partir da rede exterior. Neste caso, precisa de realizar uma operação de port forwarding na gateway que encaminhe um porto TCP/IP da interface exterior para o porto TCP/IP do servidor, na rede interna. O seguinte comando faz essa operação para um servidor Web padrão, ou seja, que usa o porto TCP 80, usando para o efeito um porto TCP exterior com o mesmo valor: iptables -t nat -A PREROUTING -p tcp --dport 80 -d X.X.X.X \ -j DNAT --to 10.0.0.2 onde X.X.X.X representa o endereço IP da interface exterior do gateway. 2-6

2.5 Servidor Squid O servidor Squid é dos mais famosos proxies HTTP para ambientes Linux, devido à sua facilidade de utilização e flexibilidade. Este servidor permite fazer vários tipos de filtragens e operações ao nível aplicacional, as quais iremos exercitar neste trabalho. Para realizar o trabalho reutilize a rede anterior e configure o navegador na máquina 10.0.0.2 para usar o proxy HTTP que irá instalar na máquina gateway. Esta configuração é feita no navegador (configuração de rede), e deve ser feita para o proxy HTTP no endereço 10.0.0.1 e porto 3128. 2.5.1 Instalação e configuração base Instale o Squid na máquina gateway com o comando apt-get install squid3 Uma vez instalado, é preciso configurar o Squid para permitir o acesso a páginas Web a partir das máquinas da rede interna. Para isso, edite o ficheiro /etc/squid3/squid.conf e introduza a linha acl rede_interna src 10.0.0.0/24 na secção ACL (TAG: acl), e a linha http_access allow rede_interna na secção http_access (TAG: http_access), a seguir à linha que começa com #INSERT YOUR OWN RULES(S) HERE... Nota: não esquecer que é necessário reiniciar o Squid para que as novas regras tenham efeito. Para isso deverá ser usado o comando service squid restart 2.5.2 Filtragem de acessos HTTP via Squid Vamos agora bloquear todos os acessos ao servidor www.abola.pt via Squid. Para isso, no ficheiro de configuração do mesmo deverá introduzir a seguinte linha na secção ACL (TAG: acl) acl bloqueados dstdomain "/etc/squid3/bloq.conf" e no ficheiro /etc/squid3/bloq.conf deverá colocar a lista de destinos proibidos, um por linha. Por fim, no ficheiro de configuração do Squid deverá colocar a linha 2-7

http_access deny bloqueados na secção http_access (TAG: http_access), imediatamente antes da linha antes adicionada para permitir o acesso das máquinas da rede interna. Verifique na prática a eficácia da configuração realizada, antes e depois da mesma entrar em efeito. 2.5.3 Filtragem de conteúdos HTTP via Squid Vamos agora bloquear todos os acessos via Squid a URLs com determinadas palavras (por exemplo, facebook). Para isso, no ficheiro de configuração do mesmo deverá introduzir a seguinte linha na secção ACL (TAG: acl) acl palavras url_regex "/etc/squid3/palavras.conf" e no ficheiro /etc/squid3/palavras.conf deverá colocar a lista de padrões proibidos nos URL, um por linha. Por fim, no ficheiro de configuração do Squid deverá colocar a linha http_access deny palavras na secção http_access (TAG: http_access). Verifique na prática a eficácia da configuração realizada, antes e depois da mesma entrar em efeito. 2.5.4 Controlo de horários de acesso Vamos agora bloquear todos os acessos aos servidores www.abola.pt e www. record.xl.pt via Squid durante o intervalo 9h00-18h00 dos dias úteis. Para isso, no ficheiro de configuração do mesmo deverá colocar as linhas acl horario_trabalho time M T W H F 9:00-18:00 acl desportivos dstdomain.abola.pt.record.lx.pt na secção http_access (TAG: http_access) e a linha http_access deny horario_trabalho desportivos na secção http_access (TAG: http_access). Verifique na prática a eficácia da configuração realizada, antes e depois da mesma entrar em efeito. 2-8

2.5.5 Modo transparente O Squid poderá ser usado em modo transparente, que consiste na sua utilização pelas aplicações clientes (navegadores) sem que estes tenham sido configurados para o usar (daí a noção de exploração transparente para os clientes). Para testar esta funcionalidade, remova a configuração do proxy que anteriormente realizou no navegador cliente. Para funcionar neste modo, o ficheiro de configuração do Squid deverá conter a linha http_port 3128 transparent na secção http_port (TAG: http_port). Feita esta configuração do Squid, é preciso que todo o tráfego HTTP iniciado pela rede interna e com destino (direto) à rede exterior. Para isso, deverá ser usadas a seguinte regra do iptables: iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \ -j REDIRECT --to-ports 3128 Com esta regra, todo o tráfego HTTP vindo da rede interior não é simplesmente reencaminhado para a rede exterior, mas sim reencaminhado para para o porto TCP 3128 da máquina local, que não é mais do que o porto de transporte do proxy Squid local. 2.6 Bibliografia Network Address Translation (NAT), http://en.wikipedia.org/wiki/ Network_address_translation dnsmasq, http://en.wikipedia.org/wiki/dnsmasq iptables, http://en.wikipedia.org/wiki/iptables Squid, http://en.wikipedia.org/wiki/squid_%28software%29 2-9