no save
Assistance
Achat
News

Forum | Linux/Unix
Une petite aide iptables...
Fredish, le mer. 02 juin 2004 à 15:11:10
C'est un script simple, que j'ai pu faire grâce à pas mal de docs sur le net, et qui pourra, je pense, servir de base à tous les newbies d'iptables, qui, comme moi, on galeré au début. Donc, voilà:
#!/bin/sh

#Clean des règles de filtrage
iptables -F
iptables -X

#Connexions entrantes ignorées
iptables -P INPUT DROP

#Forward ignoré
iptables -P FORWARD DROP

#Connexions sortantes ignorées
iptables -P OUTPUT DROP

#Tout accepter en local
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#Accepter le DNS
iptables -A INPUT -i ppp0 --protocol udp -s 195.170.0.2 --source-port 53 -j ACCEPT
iptables -A INPUT -i ppp0 --protocol udp -s 195.170.2.1 --source-port 53 -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.0.2 --destination-port 53 -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.2.1 --destination-port 53 -j ACCEPT

#Accepter le protocole ICMP
iptables -N ICMP
iptables -A ICMP -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A ICMP -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A ICMP -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
iptables -A ICMP -p icmp --icmp-type echo-reply -m limit --limit 1/second -j ACCEPT

#Virer le reste
iptables -A ICMP -j DROP
iptables -A INPUT -p icmp -j ICMP

#Mais accepter le ping sortant
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

#Ignorer le protocole IGMP
iptables -A INPUT -p igmp -j DROP

#Ignorer le protocole PIM
iptables -A INPUT -p pim -j DROP

#Scan furtif
iptables -A INPUT -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/second -j ACCEPT

#msn
iptables -A OUTPUT --protocol tcp --dport 1863 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 1863 -m state --state ESTABLISHED -j ACCEPT

#jabber
iptables -A OUTPUT --protocol tcp --dport 5222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 5222 -m state --state ESTABLISHED -j ACCEPT

#icq
iptables -A OUTPUT --protocol tcp --dport 5190 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 5190 -m state --state ESTABLISHED -j ACCEPT

#irc
iptables -A OUTPUT --protocol tcp --dport 6667 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 6667 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT

#http
iptables -A INPUT --protocol tcp -m multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#ftp
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT

#Mode passif
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Mail
iptables -A OUTPUT -o ppp0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT

#Log des paquets refusés
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES:tout:IGNORE] : '
iptables -A LOG_DROP -j DROP
iptables -A INPUT -p tcp -j LOG_DROP
iptables -A OUTPUT -p tcp -j LOG_DROP

Noter, qu'il faut quand même mettre ses propres serveurs dns, pas les miens... lol, et qu'il y a trois rêgles un peu trop permissives, pour l'irc/dcc et le ftp, donc, perso, je conseille de les commenter quand on n'utilise pas ces types de connexions. Voilà, tout conseil ou commentaire est le bienvenu, bien entendu . :)


jipicy
juin 04
Suivant
REPONSES
jipicy
juin 04
KKN
juin 04
Fredish
juin 04
Fredish
juin 04
Fredish
juin 04
sidarus
juin 04
kelux
juin 04
kelux
juin 04
Version Web
Réalisé par RedShift
no save