Linux como um roteador doméstico

Slides:



Advertisements
Apresentações semelhantes
Disciplina deTópicos em Engenharia de Computação
Advertisements

Instalação e Configuração
Administração de sistemas operacionais
Bruno Rafael de Oliveira Rodrigues
Configuração de um servidor FTP
Firewall Campus Cachoeiro Curso Técnico em Informática
Configuração de um servidor DHCP
Professor: João Paulo de Brito Gonçalves Curso Técnico de Informática
Proxy SQUID Campus Cachoeiro Curso Técnico em Informática
Conceitos Relacionados a Internet
Estudo de Caso – VPN + Firewall (Avaliação)
Segurança de Perímetro
Formação de Administradores de Redes Linux LPI – level 1
GERENCIAMENTO DE REDES
Firewall.
A grande rede mundial de computadores
TCP/IP básico e outros protocolos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
Perguntas.
Modelo de Segurança para Ambientes Cooperativos
Execícios de Revisão Redes e Sistemas Distribuídos II Edgard Jamhour
Segurança na Internet e
Administração de Servidores de Rede
Servidor HTTP (Apache)
BLOQUEANDO comunicação entre clientes de uma rede local
Utilitários de Redes Prof. Andréa Chicri Torga Adaptações
Linux Instalação – debian 6.0.2
Painel de controle > Ferramentas administrativas > Serviços
Netfilter/Iptables Cenário 2.
Aula 9 - Camada de aplicação
Firewall – Segurança nas redes
Execícios de Revisão Redes de Computadores Edgard Jamhour
Endereçamento Privado Proxy e NAT
Infra-estrutura de TI Redes de Computadores
Sistemas Operacionais
Gerencia de Redes Redes de Computadores II
Protocolo DHCP Willamys Araújo.
Curso: Segurança da Informação
Roteadores Roteadores são pontes que operam na camada de Rede do modelo OSI. Tomando como base o protocolo mais usado hoje em dia, o TCP/IP, o protocolo.
07/04/2017 Linux Ubuntu 2.
Introdução a IPTables Resumo da apresentação efectuada na aula de ASI2
Segurança e Auditoria de Sistemas
PROF PAULO MAXIMO, MSc Network.
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio.
Iptables Netfilter ≠ Iptables Diferenciação »NETFILTER [módulo do kernel] »IPTABLES [ferramenta usuário]
Índice Arquitetura TCP/IP Quatro camadas do TCP/IP DHCP
REDES DE COMPUTADORES CONCEITOS E TÓPICOS RELACIONADOS A REDES DE COMPUTADORES ________________________________________________ Redes – Prof. Roni Márcio.
Firewalls usando Linux. 1 IPChainsIPChains Sucessor do ipfwadmSucessor do ipfwadm Presente no Linux a partir do kernel Presente no Linux a partir.
2008, Edgard Jamhour Endereçamento Privado Proxy e NAT.
Execícios de Revisão Redes de Computadores Edgard Jamhour
Redes Configurações e teste.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Introdução ao Roteamento e ao Encaminhamento de Pacotes Protocolos.
Firewall INPUT FORWARD Internet.
Netfilter/Iptables Introdução e Cenário 1.
Execícios de Revisão Redes de Computadores Edgard Jamhour
Escola Secundaria Sebastião da gama Comunicação de dados Prof: Carlos Pereira Nome :André Santos Ano/Turma:12ºL Nº:2 IP Dinâmico, IP Fixo e DNS.
Arquitetura de segurança – Redes
FIREWALL.
SERVIDOR PROXY - SQUID.
REDES DE COMPUTADORES II
Firewalls NAT Proxy Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Dr. João Bosco M. Sobral – UFSC e também do Prof.
Gerencia de Redes Redes de Computadores II
Squid com IPv TCP_MISS/200 CONNECT - DIRECT/2a03:2880:f005:101:face:b00c:0:1.
Escola de Ciência e Tecnologia Curso: Bacharelado SI Disciplina: Segurança em Redes 1 Firewall e Proxy.
Segurança Perimetral - Firewall
Escola de Ciência e Tecnologia Curso: Bacharelado SI Disciplina: Segurança em Redes 1 IPTABLES Teórico e Prático.
Firewall – Introdução ao Netfilter
DNS, IP e GATEWAY Os componentes de rede citados anteriormente servem, basicamente, para permitir acesso à rede e à Internet, seja em ambiente doméstico.
Projeto Integrador I Implementação de Servidor de Arquivos Eliane Linhares Mota 1.
Curso Superior em Redes de Computadores Roteamento IP ACL – Access Control List Prof. Sales Filho.
Transcrição da apresentação:

Linux como um roteador doméstico Netfilter/Iptables Linux como um roteador doméstico

Cenário 2 Linux como um roteador SOHO (Stands Offices and Home Offices). A máquina Linux irá atuar como um roteador semelhante ao que temos em nossas residências. Provendo a conexão ao Provedor Internet. Compartilhando este acesso com as máquinas da LAN. Normalmente os roteadores SOHO possuem uma porta WAN e portas LAN. Equipamento local do usuário (Modem DSL). Geralmente o provedor nos fornece um endereço IP público via DHCP. PPPoE. Conexões Ethernet. Conexões sem fio.

Topologia

Endereços O Roteador Linux tem: O endereço público na interface eth0, fornecido dinamicamente pelo provedor de acesso (modo NAT). O endereço privado 192.168.1.1/24 na interface eth1, configurado por você. O Laptop possui o endereço 192.168.1.2. O Desktop possui o endereço 192.168.1.11. O PC das crianças possui o endereço 192.168.1.55.

Configurando a rede Configure as interfaces de rede e os nomes dos hosts conforme o slide anterior. É interessante criar configurações que se mantenham após a reinicialização das máquinas.

Definindo a política de segurança (1) As crianças precisam: Usar o navegador para pesquisar na Internet. Não queremos que elas acessem sites pornográficos. Não queremos que elas façam download de vírus. Também não queremos que elas acessem conteúdos P2P. O Laptop pode: Acessar qualquer coisa.

Definindo a política de segurança (2) O Desktop pode: Acessar qualquer coisa. Conectar-se à LAN a partir da Internet, via VNC. O Roteador Linux precisa: Rodar SSH a partir da rede interna.

Construindo o proxy Inicialmente precisamos instalar em nossa máquina firewall, o proxy server Squid. www.squid-cache.org. ./configure --prefix=/squid make all make install

Configurando o Squid (1) Adicione as linhas abaixo no arquivo /etc/squid.conf. As entradas se referem ao usuário que irá inicializar o Squid. cache_effective_user Manager cache_effective_group Manager

Configurando o Squid (2) Para ser capaz de usar o Squid como um Transparente Proxy, temos que adicionar a seguinte informação no arquivo de configuração em /squid/etc/squid.conf. http_port 3128 transparent

Criando lista de acesso no Squid Agora, precisamos definir listas de acesso para a rede interna acessar o Squid e para proibir o acesso a sites pornográficos e a arquivos perigosos. Faremos isso para a rede inteira, mas nós usaremos o Transparente Proxy somente para o computador das crianças. Qualquer arquivo pode ser um vírus. O que se segue é apenas um exemplo.

Criando lista de acesso no Squid (2) Insira em squid.conf as linhas abaixo: acl all src 0.0.0.0/0.0.0.0 (pré-definida) acl porn url_regex –i sex adult porn hardcore fetish acl downloads urlpath_regex\.exe$\.rar$\.zip$\. pif$ \.src$ acl nossa_rede src 192.168.0.0/24 http_access deny porn http_access deny downloads http_access allow nossa_rede http_access deny all

ACLs A ACL chamada porn contém a lista de nomes que não são permitidas na URL. Você não conseguirá acessar sites que possuem estas palavras na URL, via proxy. A ACL chamada downloads contém a lista de tipos de arquivos não permitidos. Não será possível fazer download de arquivos com estas extensões.

Próximos passos Agora que já configuramos o proxy, vamos configurar o firewall cujas regras devem casar com as políticas de segurança que nós acabamos de construir.

Computador das crianças Para o computador das crianças nós executaremos o Transparent Proxy. Significa que o computador acessará o proxy sem precisar configurar o navegador. Nós já configuramos o proxy server. Agora, nós precisamos que todo o tráfego para a porta 80 TCP seja redirecionado para o proxy server. Nós também queremos que o computador das crianças acesse a porta 443 TCP (HTTPS).

Configurando iptables –t nat –A PREROUTING –s 192.168.1.55 –p tcp – -dport 80 –j REDIRECT - –to-port 3128 iptables –t nat –A POSROUTING –o eth0 -s 192.168.1.55 –p tcp – -dport 443 –j MASQUERADE

Computador das crianças Masquerade Agora, vamos mascarar o computador das crianças quando ele enviar requisições DNS para nosso provedor de acesso. iptables –t nat –A POSTROUTING –o eth0 –s 192.168.1.55 –p udp – -dport 53 –j MASQUERADE Requisições DNS usam a porta UDP 53.

Yahoo! Nós queremos que as crianças usem o “Yahoo!Messenger” somente para chat sem voz e sem transferência de arquivos. Lendo os manuais da ferramenta, vê-se que o Yahoo! Messeger usa as portas 20, 23, 25, 80, 119, 5050, 8001 e 8002. Também vê-se que os sites que o “Yahoo!Messenger” utiliza para Instant Messeger são: scs.msg.yahoo.com, scsa.msg.yahoo.com, scsb.msg.yahoo.com e scs.cmsg.yahoo.com.

MASQUERADE É melhor mascarar o computador das crianças quando ele acessa esses sites. Nós devemos fazer: iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.55 -d scs.msg.yahoo.com -j MASQUERADE NOTA: Ao inserir um nome de máquina ao invés do seu endereço IP, o DNS irá resolver este nome. Se um nome é resolvido para múltiplos endereços IP, o iptables irá inserir uma regra independente para cada endereço.

Proibindo o acesso aos demais hosts Agora que nós permitimos o acesso do computador das crianças a determinados sites, devemos agora proibir o acesso a outras portas e outros sites. iptables –t nat –A POSTROUTING –o eth0 –s 192.168.1.55 –j DROP

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE Laptops e Desktop O Laptop e o Desktop precisam ser capazes de acessar qualquer site, então nenhuma regra é necessária a não ser o MASQUERADE para a nossa rede. iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

Protegendo o firewall Já fizemos todas as configurações necessárias a proteção de nossa rede local. Agora vamos proteger o nosso firewall. Em primeiro lugar nós precisamos rodar o SSH em nosso firewall para que ele possa ser administrado remotamente. Para isto precisamos criar uma nova chain. Podemos chamá-la de SSH. Se uma vulnerabilidade for descoberta no SSH, rapidamente haverá scanners de worms na porta padrão do SSH. A porta 22. Então devemos alterar essa porta.

iptables –A INPUT –p tcp - -dport 1234 –j SSH Criando a chain SSH Criando a chain SSH. iptables –N SSH Agora, vamos inserir uma regra para pedir ao kernel para checar as regras na chain SSH, para toda conexão TCP na porta 1234. iptables –A INPUT –p tcp - -dport 1234 –j SSH

Inserindo regras na chain SSH Devemos inserir uma regra na chain SSH permitindo acesso somente para hosts confiáveis. Digamos que o endereço IP do PC do nosso escritório seja 1.2.3.4. iptables –A SSH –s 1.2.3.4 –j ACCEPT iptables –A SSH –s 192.168.1.0/27 –j ACCEPT iptables –A SSH –s 0/0 –j DROP

Significado das regras A primeira regra aceita conexões a partir do computador de nosso escritório. A segunda regra permite conexões SSH de entrada somente oriundas de computadores com endereços no intervalo de 192.168.1.1 à 192.168.1.32. A terceira regra descarta todos as demais conexões para a porta 1234.

Finalmente... O proxy Squid tem a sua própria segurança usando as Listas de Acesso. Mesmo assim vamos que pacotes TCP SYN, vindos da Internet estabeleçam conexão com nosso Squid/Router/Firewall, exceto na porta 1234 a partir de PC 1.2.3.4. Vamos também, liberar todos os pacotes vindos da interface loopback para IPC (processos internos de comunicação). iptables –A INPUT –i lo –j ACCEPT iptables –A INPUT –i eth0 –p tcp - –syn –j DROP