netfilter iptables n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Netfilter / Iptables PowerPoint Presentation
Download Presentation
Netfilter / Iptables

Loading in 2 Seconds...

play fullscreen
1 / 26

Netfilter / Iptables - PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Netfilter / Iptables' - nicole


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
netfilter iptables

Netfilter/Iptables

Linux como um roteador doméstico

cen rio 2
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.
endere os
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
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
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
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
Construindo o proxy
  • Inicialmente precisamos instalar em nossa máquina firewall, o proxy server Squid.
  • www.squid-cache.org.
    • ./configure --prefix=/squid
    • makeall
    • makeinstall
configurando o squid 1
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
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
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
Criando lista de acesso no Squid (2)
  • Insira em squid.conf as linhas abaixo:

aclallsrc 0.0.0.0/0.0.0.0 (pré-definida)

aclpornurl_regex –i sex adultpornhardcorefetish

acl downloads urlpath_regex\.exe$\.rar$\.zip$\.

pif$ \.src$

aclnossa_redesrc 192.168.0.0/24

http_accessdenyporn

http_accessdeny downloads

http_accessallownossa_rede

http_accessdenyall

slide13
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
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
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
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 – -dport443 –j MASQUERADE

computador das crian as masquerade
Computador das criançasMasquerade
  • 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
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 InstantMesseger são: scs.msg.yahoo.com, scsa.msg.yahoo.com, scsb.msg.yahoo.com e scs.cmsg.yahoo.com.
masquerade
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
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

laptops e desktop
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
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.
criando a chain 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
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
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
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