slide1
Download
Skip this Video
Download Presentation
Campus - Cachoeiro Curso Técnico de Informática

Loading in 2 Seconds...

play fullscreen
1 / 22

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


  • 100 Views
  • Uploaded on

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.

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 ' Campus - Cachoeiro Curso Técnico de Informática' - ermin


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
slide1

Firewall Iptables

Professor: João Paulo de Brito Gonçalves

Campus - Cachoeiro

Curso Técnico de Informática

slide2

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.
slide3

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.

slide4

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.
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.
ad