iptables: permite determinados ips e bloqueia todas as outras conexões

19

Como faço para permitir certos ips e bloquear todas as outras conexões no iptables?

    
por David 23.04.2011 / 00:40

3 respostas

23

Eu escrevi uma postagem no blog sobre as regras básicas do Iptables para o usuário de área de trabalho Design de firewall com estado . Mas pre kernel 2.6.39 (que inclui ipset e você pode querer usar isso para whitelisting IP's se você tiver mais de 10 para whitelist (onde 10 é arbitrário)).

Primeiro, identifique o estado que sabemos que queremos aceitar ou descartar e interfaces.

iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept

Se você quiser apenas fazer uma permissão apenas por IP, sem estado

iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP

é provável que você tenha problemas ao fazer isso, e sugiro usar o estado para facilitar sua vida. Por exemplo, não permitir -i lo e -o lo certamente causará problemas para certas aplicações.

    
por 23.04.2011 / 11:41
9

Aqui está um exemplo (não testado!) que bloqueia apenas as conexões recebidas . Conexões através da interface de loopback, vindas de 192.168.3.x, ICMP ou da porta SSH são permitidas. Todas as outras conexões são rejeitadas.

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.3.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT
    
por 23.04.2011 / 01:18
6

A regra abaixo permitirá apenas o seu IP e Bloquear todos os outros IPs pela porta 22 ou ssh. Teste com um novo terminal antes de desconectar.

iptables -I INPUT -p tcp ! -s yourIPaddress --dport 22 -j DROP
    
por 20.05.2016 / 09:20