Feeds:
Posts
Comentários

Módulo string

Bloqueando conteúdo de sites com iptables

iptables -A FORWARD -m string –algo bm –string facebook -j DROP

IP da Página de login: 66.35.250.203
IP da Página pós login: 66.35.250.204

# Quando o destino for 66.35.250.204 na porta 80 tcp o IP de origem será adicionado a lista IPS_LIBERADOS

[root]# iptables -t nat -A PREROUTING -d 66.35.250.204 -p tcp –dport 80 -m recent –set –name IPS_LIBERADOS –rsource

# Quando o destino for diferente de 66.35.250.203 na porta 80 tcp e o IP de origem não estiver em IPS_LIBERADOS o endereço de destino será modificado para 66.35.250.203

[root]# iptables -t nat -A PREROUTING -d ! 66.35.250.203 -p tcp –dport 80 -m recent ! –rcheck –name IPS_LIBERADOS –rsource -j DNAT –to-destination 66.35.250.203

ATENÇÃO: Não se esqueça de fazer SNAT e habilitar o repasse de pacote.

Stateless

iptables -A INPUT -i eth0 -d 192.168.0.0/24 -p tcp -m multiport –sports 20,21,22,25,80,110,443 -m tcp –tcp-flags ACK ACK -j ACCEPT

iptables -A OUTPUT -o eth0 -s 192.168.0.0/24 -p tcp -m multiport –dports 20,21,22,25,80,110,443 -m tcp –tcp-flags SYN SYN -j ACCEPT

iptables -A OUTPUT -o eth0 -s 192.168.0.0/24 -p tcp -m multiport –dports 20,21,22,25,80,110,443 -m tcp –tcp-flags ACK ACK -j ACCEPT

Statefull

iptables -A FORWARD -s 192.160.0.0/24 -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -d 192.160.0.0/24 -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -m state –state INVALID -j DROP

MSN

Bloquear MSN via Firewall

iptables -I FORWARD -p tcp –dport 1863 -j DROP

ATENÇÃO: Ao fazer isso o MSN tentará se conectar pela porta 80, você então deverá bloquea-lo através do squid.

REDIRECT

Redirecionar trafego da porta 80 para a porta 3128 ( squid )

iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128

FTP

Liberando conexões FTP para as máquinas da rede

iptables -A FORWARD -s 192.168.0.0/24 -p tcp –dport 20 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -p tcp –dport 21 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -m state –state RELATED,ESTABLISHED -j ACCEPT

Carregue os módulos de acompanhamento de conexão para o serviço FTP

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp

Limitando o tamanho de pacotes IP com tamanho MSS

iptables -A FORWARD -p tcp -m tcp –tcp-flags SYN,RST SYN -m tcpmss –mss 1400:1536 -j TCPMSS –clamp-mss-to-pmtu

Mascarando a conexão

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE

Habilitando o repasse de pacotes

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

ATENÇÃO: Para as máquinas da rede acessarem servidores FTP através de SNAT/MASQUERADE é necessário carregar alguns módulos.

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp

Bloqueando as máquinas da rede para acessarem servidores do Brasil

iptables -A FORWARD -m geoip –dst-cc BR -j DROP

Bloqueando o acesso a servidores do Estados Unidos, França e Canadá

iptables -A FORWARD -m geoip –dst-cc US,FR,CA -j DROP

Fazendo o servidor recusar conexões vindas do Afeganistão e Argentina

iptables -A INPUT -m geoip –src-cc AF,AR -j DROP

IMPORTÂNTE: A lista de países usadas pelo geoip segue a ISO3166

Liberando acesso a porta 80 para as máquinas 192.168.0.131 até 192.168.0.140

iptables -A FORWARD -p tcp –dport 80 -m iprange –src-range 192.168.0.131-192.168.0.140 -j ACCEPT

iptables -A FORWARD -p tcp –dport 80 -m condition –condition internet -j DROP

echo 1 > /proc/net/nf_condition/internet

Liberando acesso ao msn para uma máquina da rede

iptables -A FORWARD -s 192.168.0.3 -m layer7 –l7proto msnmessenger -j ACCEPT

Liberando acesso para as máquinas da rede na porta 80 de 8 ás 9 da manhã

iptables -A FORWARD -p tcp –dport 80 -m time –timestart 8:00 –timestop 9:00 -j ACCEPT

Limitando número de conexões a um serviço por host

iptables -A INPUT -p tcp –dport 21 -m connlimit –connlimit-above 1 -j DROP

Comentando uma regra

iptables -A INPUT -m comment –comment “Fazendo teste” -j ACCEPT

iptables -A FORWARD -p tcp –dport 80 -m quota –quota 3000 -j ACCEPT

iptables -t nat -A PREROUTING -d 200.157.231.195 -p tcp –dport 5900 -j DNAT –to-destination 192.168.0.253

iptables -t nat -A POSTROUTING -s 192.168.0.253 -p tcp –dport 5900 -j SNAT –to-source 200.157.231.195

iptables -A FORWARD -d 192.168.0.253 -p tcp –dport 5900 -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp –dport 2221 -m recent –set –name SSH –rsource -j DROP

iptables -A INPUT -p tcp –dport 22 -m recent –rcheck –name SSH –rsource -j ACCEPT

Liberando acesso a serviços específicos da máquina de firewall

iptables -A INPUT -p tcp -m multiport –dports 21,25,80,110 -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p ! icmp -m state –state ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -p ! icmp -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -d 192.168.0.0/24 -p ! icmp -m state –state ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p ! icmp -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp –icmp-type 0 -m limit –limit 1/sec -j ACCEPT

iptables -A FORWARD -p icmp –icmp-type 8 -m limit –limit 1/sec -j ACCEPT

iptables -A FORWARD -p icmp –icmp-type 0 -m limit –limit 1/sec -j ACCEPT

iptables -A OUTPUT -p icmp –icmp-type 8 -m limit –limit 1/sec -j ACCEPT

Proteção contra “port scanner”

iptables -A INPUT -p tcp -m multiport –dports 1,5,10 -m recent –set –name DENY –rsource -j DROP

iptables -A INPUT -m recent –rcheck –name DENY –rsource -j DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.