Este guia tentará explicar como usar o iptables no linux em linguagem fácil de entender.
Conteúdo[ocultar]
|
visão global
O Iptables é um firewall baseado em regras, que processará cada regra em ordem até encontrar uma que corresponda.
Todo: inclua exemplo aqui
Uso
O utilitário iptables é tipicamente pré-instalado em sua distribuição linux, mas na verdade não está executando nenhuma regra. Você encontrará o utilitário aqui na maioria das distribuições:
/sbin/iptables
Bloqueio de um único endereço IP
Você pode bloquear um IP usando o parâmetro -s, substituindo 10.10.10.10 pelo endereço que você está tentando bloquear. Nesse exemplo, você observou que usamos o parâmetro -I (ou –insert funciona também) em vez do append, porque queremos garantir que essa regra apareça primeiro, antes de qualquer regra de permissão.
/sbin/iptables -I INPUT -s 10.10.10.10 -j DROP
Permitindo todo o tráfego de um endereço IP
Você pode alternadamente permitir todo o tráfego de um endereço IP usando o mesmo comando acima, mas substituindo DROP por ACCEPT. Você precisa se certificar de que esta regra apareça primeiro, antes de qualquer regra DROP.
/sbin/iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Bloqueando uma porta de todos os endereços
Você pode impedir que uma porta seja totalmente acessada pela rede usando a opção –dport e adicionando a porta do serviço que você deseja bloquear. Neste exemplo, bloquearemos a porta do mysql:
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
Permitindo uma porta única a partir de um único IP
Você pode adicionar o comando -s junto com o comando –dport para limitar ainda mais a regra a uma porta específica:
/sbin/iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Visualizando as regras atuais
Você pode ver as regras atuais usando o seguinte comando:
/sbin/iptables -L
Isso deve fornecer uma saída semelhante à seguinte:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.1.1/24 anywhere ACCEPT all -- 10.10.10.0/24 anywhere DROP tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpt:mysql
A saída real será um pouco mais longa, é claro.
Limpando as regras atuais
Você pode limpar todas as regras atuais usando o parâmetro flush. Isso é muito útil se você precisar colocar as regras na ordem correta ou quando estiver testando.
/sbin/iptables --flush
Distribuição específica
Embora a maioria das distribuições do Linux inclua uma forma de iptables, algumas delas também incluem wrappers que facilitam o gerenciamento. Na maioria das vezes, esses “addons” assumem a forma de scripts init, que cuidam da inicialização do iptables na inicialização, embora algumas distribuições também incluam aplicativos wrapper completos que tentam simplificar o caso comum.
Gentoo
o iptables O script de inicialização no Gentoo é capaz de lidar com muitos cenários comuns. Para começar, ele permite que você configure o iptables para carregar na inicialização (geralmente o que você quer):
rc-update add iptables default
Usando o script de inicialização, é possível carregar e limpar o firewall com um comando fácil de lembrar:
/etc/init.d/iptables start /etc/init.d/iptables stop
O script de inicialização manipula os detalhes de persistência da configuração atual do firewall no início / parada. Assim, o seu firewall está sempre no estado em que você o deixou. Se você precisar salvar manualmente uma nova regra, o script de inicialização também poderá lidar com isso:
/etc/init.d/iptables save
Além disso, você pode restaurar seu firewall para o estado salvo anteriormente (para o caso em que você estava experimentando regras e agora deseja restaurar a configuração de trabalho anterior):
/etc/init.d/iptables reload
Finalmente, o script de inicialização pode colocar o iptables em um modo de “pânico”, onde todo o tráfego de entrada e saída é bloqueado. Não sei por que esse modo é útil, mas todos os firewalls do Linux parecem ter isso.
/etc/init.d/iptables panic
Aviso: Não inicie o modo de pânico se estiver conectado ao seu servidor via SSH; vocêvai ser desconectado! A única vez que você deve colocar o iptables no modo de pânico é enquanto estiverfisicamente na frente do computador.