Firewall
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Campus - Cachoeiro Curso Técnico de Informática PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

Firewall Iptables Professor: João Paulo de Brito Gonçalves. Campus - Cachoeiro Curso Técnico de Informática. Iptables -Introdução. Os firewalls existem no Linux desde o kernel 1.1, com o ipfw , originário do BSD.

Download Presentation

Campus - Cachoeiro Curso Técnico de Informática

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


Campus cachoeiro curso t cnico de inform tica

Firewall Iptables

Professor: João Paulo de Brito Gonçalves

Campus - Cachoeiro

Curso Técnico de Informática


Campus cachoeiro curso t cnico de inform tica

Iptables -Introdução

  • Os firewalls existem no Linux desde o kernel 1.1, com o ipfw, originário do BSD.

  • Esse filtro era userspace, ou seja, rodava como um programa comum no sistema, similarmente ao BIND (servidor de nomes).

  • Com o kernel 2.0 veio o ipfwadm, que ainda era uma ferramenta userspace e controlava as regras de filtragem do kernel.

  • Na versão 2.2 do kernel, veio o ipchains (ainda presente em algumas distribuições) e em 1999, veio o iptables 2, presente a partir do kernel 2.3.15.


Campus cachoeiro curso t cnico de inform tica

Iptables -Introdução

O iptables é um firewall nativo do Linux e que faz parte do seu kernel e por isto tem um desempenho melhor que firewalls instalados como aplicações. Com isso, ele é bastante seguro e rápido.


Campus cachoeiro curso t cnico de inform tica

Cadeias e políticas-padrão

  • No iptables, existem tabelas de filtragem (chains), e três delas são básicas e não podem ser apagadas: INPUT, OUTPUT e FORWARD.

  • A chain INPUT trata dos pacotes de entrada, aqueles que chegam da rede.

  • A chain OUTPUT trata dos pacotes de saída, aqueles que vão para a rede.

  • E finalmente a chain FORWARD trata do encaminhamento de pacotes, ou seja, roteamento.


Campus cachoeiro curso t cnico de inform tica

Cadeias e políticas-padrão


Comandos do iptables

Comandos do Iptables

  • iptables -A  adiciona uma nova regra ao fim da lista de regras

  • iptables -P <nome-da-cadeia> <alvo> muda a política padrão de uma cadeia, de forma que todo pacote desta cadeia ficará sujeito a esta política, caso não exista nenhuma regra anterior que se aplique a mesma.

  • iptables -D  apaga uma regra específica da lista

  • iptables -L  lista as regras existentes na lista.

  • iptables -F remove todas as entradas adicionadas na lista de regras do iptables

Roteador


Alvos das regras

Alvos das regras

  • iptables -I  Insere uma nova regra ao início da lista de regras

  • -j – define o alvo do pacote caso o mesmo se encaixe em uma regra. As principais ações são ACCEPT, DROP, REJECT.

  • ACCEPT  aceita o pacote

  • REJECT  rejeita educadamente o pacote, enviando um pacote de resposta ao emissor.

  • DROP  o pacote simplesmente é descartado, sem aviso.

  • LOG  Permite fazer log dos pacotes que se encaixam

    na regra.

Roteador


Par metros para a filtragem de pacotes

Parâmetros para a filtragem de pacotes

  • -p – especifica o protocolo aplicado à regra. Se enquadra aos protocolos da camada de transporte, como tcp, udp e icmp

  • Ex: iptables - A INPUT –p tcp –j ACCEPT


Par metros para a filtragem de pacotes1

Parâmetros para a filtragem de pacotes

  • -s – especifica a origem (source) do pacote ao qual a regra deve ser aplicada. A origem pode ser um host ou uma rede. Nesta opção geralmente utilizamos o IP seguido de sua sub-rede:

  • Ex: iptables –A INPUT –s 172.16.53.1 –j DROP

  • iptables –A INPUT –s 172.16.53.1 –j ACCEPT

  • Este comando descarta todo pacote de entrada vindo da origem 172.16.53.1

  • O segundo comando aceita todo pacote de entrada vindo da origem 172.16.53.1


Par metros para a filtragem de pacotes2

Parâmetros para a filtragem de pacotes

  • -d – especifica o destino do pacote (destination) ao qual a regra deve ser aplicada. Sua utilização se dá da mesma maneira que a ação –s.

  • Ex: iptables –A OUTPUT –d 172.16.53.1 –j DROP

  • iptables –A OUTPUT –d 172.16.53.1 –j ACCEPT

  • Este comando descarta todo pacote de saída com destino à máquina 172.16.53.1

  • O segundo comando aceita todo pacote de saída com destino à máquina 172.16.53.1


Par metros para a filtragem de pacotes3

Parâmetros para a filtragem de pacotes

  • -i – especifica a interface de entrada a ser utilizada e como um Firewall possui mais de uma interface esta regra acaba sendo muito importante para distinguir a qual interface de rede o filtro deve ser aplicado.

  • Ex: iptables –A INPUT –i eth0 –j DROP

  • O comando permite que todo pacote que entra pela interface eth0 seja selecionado para ser descartado pelas regras do firewall.


Par metros para a filtragem de pacotes4

Parâmetros para a filtragem de pacotes

  • -o – especifica a interface de saída a ser utilizada e se aplica da mesma forma que a regra –i, mas este parâmetro é menos usado, pois normalmente nos preocupamos em impedir que o firewall aceite conexões em determinadas portas, ao invés de tentar interceptar as respostas.

  • Ex: iptables –A FORWARD –o eth0 –j DROP

  • O comando permite que todo pacote que sai pela interface eth0 seja selecionado para ser descartado pelas regras do firewall.


Par metros para a filtragem de pacotes5

Parâmetros para a filtragem de pacotes

  • --sport – porta de origem (source port). Com esta regra é possível aplicar filtros com base na porta de origem do pacote.

  • Ex: iptables –A INPUT –p tcp –-sport 22 –j DROP

  • O comando permite que todo pacote de entrada usando o protocolo TCP e com origem na porta 22 seja descartado.


Par metros para a filtragem de pacotes6

Parâmetros para a filtragem de pacotes

  • --dport – porta de destino (destination port) especifica a porta de destino do pacote e funciona de forma similar à regra sport.

    iptables –A OUTPUT –p tcp –-dport 22 –j DROP

  • O comando permite que todo pacote de saída usando o protocolo TCP e com destino na porta 22 seja descartado.


Par metros para a filtragem de pacotes7

Parâmetros para a filtragem de pacotes

  • -m mac --mac-source – é a regra que permite especificar endereços MAC dentro de regras do iptables. Ele é uma forma de dificultar o uso de endereços IP falseados para ganhar acesso ao servidor, pois permite relacionar o IP ao endereço MAC da placa instalada. Não é 100% eficaz pois o endereço MAC pode ser trocado via ifconfig e ele não é válido para a camada de rede, ou seja, quando sai da rede local, ele é descartado.

  • iptables -A INPUT –p tcp --dport 22 –m mac --mac-source 00:1B:24:46:29:88 –j DROP


Par metros para a filtragem de pacotes8

Parâmetros para a filtragem de pacotes

  • Comando faz com que qualquer pacote de entrada com destino na porta 22 advindo da máquina que possua MAC 00:1B:24:46:29:88 seja descartado.

  • iptables -A INPUT –p tcp --dport 22 –m mac --mac-source 00:1B:24:46:29:88 –j REJECT

  • Comando faz com que qualquer pacote de entrada com destino na porta 22 advindo da máquina que possua MAC 00:1B:24:46:29:88 seja rejeitado.


Par metros para a filtragem de pacotes9

Parâmetros para a filtragem de pacotes

  • multiport - com o modulo multiport é possível que especifiquemos múltiplas portas a serem afetadas pela regra, sob o limite máximo de 15.

  • EX:iptables –A INPUT –p tcp –i eth0 –m multiport –-dport 80,25,53,110 –j DROP

  • Este comando indica em uma só regra por via de multiport que o firewall descartará (-J DROP) qualquer pacote que entre pela interface eth0 (-i eth0) destinado às portas 80,25, 53, 110.


Bloqueando dom nios

Bloqueando domínios

  • É possível ainda permitir ou bloquear com base no domínio, tanto para entrada como para saída. Isto permite bloquear sites e programas diretamente a partir do firewall, sem precisar instalar um servidor Squid e configurá-lo.

  • Iptables –A OUTPUT –d www.orkut.com –j DROP

  • O comando impede que pacotes de saída destinados ao domínio sejam enviados, ou seja, impede que o domínio seja acessado a partir da própria máquina local.

  • Originalmente o iptables sabia trabalhar apenas com endereços IP. A possibilidade de criar regras baseadas em domínios são um recurso um pouco mais recente, onde o firewall faz um lookup no domínio, para saber qual o IP atual.


Salvando as regras criadas no firewall

Salvando as regras criadas no Firewall

  • Toda regra criada no Iptables fica gravada em memória RAM, sendo posteriormente apagada quando o sistema é ligado ou reiniciado.

  • Para que o administrador de redes não seja obrigado a ter que refazer todas as regras de firewall sempre que o sistema é ligado, existe um comando do iptables que possibilita que salvemos as regras criadas em um arquivo, que depois pode ser usado para restaurar as regras no firewall.

  • Para então salvar as regras criadas em um arquivo, devemos usar o comando:

  • iptables-save > nome_do_arquivo


Salvando as regras criadas no firewall1

Salvando as regras criadas no Firewall

  • Após isto, o arquivo criado terá todas as regras do firewall criadas.

  • Em uma próxima ocasião quando o sistema for reiniciado, as regras podem ser restauradas através do comando

  • iptables-restore < nome_do_arquivo

  • Este comando acessará o arquivo e colocará em memória todas as regras que estavam gravadas no arquivo.


Roteamento no linux

Roteamento no Linux

  • O roteamento em um sistema Linux é nativo do kernel, ou seja, ao iniciar o serviço de rede, o kernel já ativou o roteamento de pacotes. O serviço roda inicialmente de uma forma local, roteando apenas os pacotes da própria máquina. Para que o kernel possa rotear pacotes de outras máquinas é preciso dizer que ele deve fazer isso, que é feito inserindo o valor 1 no arquivo /proc/sys/net/ipv4/ip_forward.


Roteamento no linux1

Roteamento no Linux

  • Verificando o valor de ip_forward

    # cat /proc/sys/net/ipv4/ip_forward

  • Mudando o valor de ip_forward

    # echo 1 > /proc/sys/net/ipv4/ip_forward

  • Verificando o novo valor de ip_forward

    # cat /proc/sys/net/ipv4/ip_forward

  • Também é possível fazer isso, e de uma forma mais adequada, editando-se o arquivo /etc/sysctl.conf.


  • Login