Você não está autenticado.

Anúncio

Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal.

Para mais informações: contato at archlinux-br.org.

#1 21/12/2009 13:55:40

sistematico
Admin
De: Campo Grande / MS
Registrado: 13/06/2008
Mensagens: 1.022
Website

[DICA] Script bem simples para o iptables

Pessoal, meses a fio, noites sem dormir, catando um trecho aqui e ali, lendo um pouco, fiz esse script que talvez sirva para alguem.

Quem tiver interesse, teste, comente, aponte erros.

Foi feito pro Debian, mas acho que funciona em qualquer sistema(ou quase).

#!/bin/sh
# Um script IPtables / Netfilter muito simples.
# por Lucas Saliés Brum, <[email protected]>
# Original em: http://wiki.debian.org/DebianFirewall

PATH='/sbin' # Caminho do Iptables
INET='wlan0' # Interface conectada a um router, ou diretamente a Internet
LOCAL='10.0.0.0/24' # Faixa de IPs locais, você pode usar o formato 10.0.0.0/24 ou 10.0.0.2
LOOP='127.0.0.0/8' # Faixa de IPs de loopback, você pode usar o formato 127.0.0.0/8 ou 127.0.0.1

# Limpa as regras para aplicar mudanças
iptables -F
iptables -X
iptables -Z

# Política padrão, dropar tudo, exceto o tráfego de saída
iptables -P FORWARD DROP
iptables -P INPUT   DROP
iptables -P OUTPUT  ACCEPT

# Permite conexões estabilizadas(que respondem ao tráfego de saída)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Permite que programas locais usem o loopback(soquetes Unix)
iptables -A INPUT -s $LOOP -d $LOOP -i lo -j ACCEPT

# Comente/Descomente para proibir/permitir conexões de entrada
# Locais
iptables -A INPUT -s $LOCAL -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -s $LOCAL -p tcp --dport 5900 -m state --state NEW -j ACCEPT
# Internet
iptables -A INPUT -i $INET -p tcp --dport 80 -m state --state NEW -j ACCEPT

Um abraço.

Última edição por sistematico (29/03/2011 03:02:20)

Offline

#2 21/12/2009 18:19:06

Corleone
Membro
De: Minas Gerais
Registrado: 14/11/2007
Mensagens: 104

Re: [DICA] Script bem simples para o iptables

Cara, uma boa opção também, são as regras que estão no wiki ( http://wiki.archlinux.org/index.php/Sim … wall_HOWTO )


No Arch (não sei nas outras distros se isso se aplica), você pode simplesmente passar as regras que quiser pela linha de comando e depois comandar um #/etc/rc.d/iptables save, que as regras serão salvas em /etc/iptables/iptables.rules.


Seguindo o wiki e fazendo um conjunto de regras para um computador único, você ficaria com algo parecido a isso em seu iptables.rules:

# Generated by iptables-save v1.4.0 on Sat Aug  2 11:09:56 2008
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [23538:1278927]
:interfaces - [0:0]
:open - [0:0]
-A INPUT -p icmp -m icmp --icmp-type 18 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 10 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 9 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 5 -j DROP
-A INPUT -s 127.0.0.0/8 -i eth0 -j DROP
-A INPUT -s 192.168.0.0/16 -i eth0 -j DROP
-A INPUT -s 172.16.0.0/12 -i eth0 -j DROP
-A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j interfaces
-A INPUT -j open
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -f -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP
-A interfaces -i lo -j ACCEPT
-A open -p tcp -m tcp --dport (portas que deseja abrir) -j ACCEPT
-A open -p udp -m udp --dport (portas que deseja abrir) -j ACCEPT
-A INPUT -p tcp -j DROP
-A INPUT -p udp -j DROP
COMMIT
# Completed on Sat Aug  2 11:09:56 2008


Essas regras, basicamente, bloqueiam todas as conexões de entrada (exceto as permitidas explicitamente), filtra os pacotes, "dropa" ping, spoofing attack, força a checagem de SYN packet e de pacotes fragmentados e "dropa" NULL packets, tudo conforme bem explicado no howto.

Mas isso é apenas mais uma opção. Abraços.

Offline

#3 21/12/2009 20:08:49

bino28
Membro
Registrado: 27/08/2009
Mensagens: 253

Re: [DICA] Script bem simples para o iptables

Valeu Sistematico.

[]'s

Offline

#4 22/12/2009 15:16:33

sistematico
Admin
De: Campo Grande / MS
Registrado: 13/06/2008
Mensagens: 1.022
Website

Re: [DICA] Script bem simples para o iptables

Corleone escreveu:

Cara, uma boa opção também, são as regras que estão no wiki ( http://wiki.archlinux.org/index.php/Sim … wall_HOWTO )

Pois é Corleone, essa é uma boa dica, porem esse script é bem grande né smile

bino28 escreveu:

Valeu Sistematico.

Valeu bino!

Offline

#5 28/12/2009 14:32:56

Corleone
Membro
De: Minas Gerais
Registrado: 14/11/2007
Mensagens: 104

Re: [DICA] Script bem simples para o iptables

sistemático,

Grande, porém muito funcional.

Não quis desmerecer seu script, apenas postei mais uma opção.

Abs.

Offline

Rodapé do site