Pages : 1
#1 Le 22/01/2011, à 02:47
- debian_tux
script firewall basic
Un petit script pour s'habituer au firewall toujours avec iptables
si j'ai des petites erreurs, signaler le moi !
#1. Mettre à 0 le fw
for i in raw nat mangle filter
do
iptables -t $i -F
iptables -t $i -Z
done
#Boucle qui va aller dans toutes les tables, supprimer toutes les chaines (règle iptables)
#2. Stratégie par défaut
for j in INPUT OUTPUT FORWARD
do
iptables -P $j DROP
iptables -A $j -m state --state ESTABLISHED,RELATED -j ACCEPT
done
#Boucle qui va bloquer tout et va gérer les états de connexion.
-> Tout bloquer et débloqué un par un ensuite.
#3. Autoriser le ping depuis et vers réseau local et autoriser le traffic local
#-A -> déclaration d'une chaine
#INPUT : A destination d'un processus interne depuis une interface
#OUTPUT : A destination d'une interface depuis un processus interne
#-s -> source
#-d -> destination
#-j -> définir une règle (ACCEPT ou DROP)
#-p -> préciser le protocole
iptables -A INPUT -s 10.1.6.1 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 10.1.6.1 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
#Pourra pinger sa propre interface eth et lo
iptables -A INPUT -s 10.1.6.0/24 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -s 10.1.6.0/24 -p icmp --icmp-type echo-reply -j ACCEPT
#Pourra se faire pinger du réseau local (seulement pinger)
iptables -A OUTPUT -d 10.1.6.0/24 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -d 10.1.6.0/24 -p icmp --icmp-type echo-reply -j ACCEPT
#Pourra pinger le réseau local (seulement pinger)
#4. Autoriser le ping depuis et vers réseau local avec gestion de connexion
#/ !\ Au préalable avoir fait commande de gestion d'état de connexion.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s MonIPp -j ACCEPT
iptables -A INPUT -s 10.1.6.0/24 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -d MonIP -j ACCEPT
iptables -A OUTPUT -d 10.1.6.0/24 -p icmp --icmp-type echo-request -j ACCEPT
#5. Exécuter script iptables au démarrage de la machine
#root@ubuntu:/etc/init.d# chmod +x script.sh
#root@ubuntu:/etc/init.d# update-rc.d script.sh defaults
#Autre façon de mettre au démarrage :
#Edition de /etc/rc.local
#Mettre chemin du script avant « exit0 »
#Dans script.sh(/etc/init.d/) commencer par :
==> #!/bin/bash
#le '#' est compris dans la ligne !
#Utiliser variable :
#Ex :
Ip=10.1.6.0/24;
int=eth0;
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A OUTPUT -o $int -d $Ip -p ICMP -j ACCEPT
iptables -A INPUT -i $int -s $Ip -p ICMP -j ACCEPT
#6. Autoriser de surfer sur le net
#-m ajouter module
#--dport précisé protocole, vu que c'est pour internet, on veut http donc 80 du https 443 et on a #besoin du serveur DNS donc 53.
#/ !\ Tout en OUTPUT étant donné qu'on veut aller sur internet mais pas qu'on accède à la #machine d'Internet.
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
#Ouvrir les ports 80(http) et 443(https)
iptables -A OUTPUT -d 10.10.1.11 -p udp -m udp --dport 53 -j ACCEPT
iptables -A OUTPUT -d 10.10.1.10 -p udp -m udp --dport 53 -j ACCEPT
#Autoriser les serveurs DNS (Ici il y en à 2)
#7. Accepter les ping du local (donc du réseau)
iptables -A INPUT -s 10.1.6.0/24 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
#8. Pinger le monde (Local, réseau et internet)
#En OUTPUT car on veut pinger pas se faire pinger !
iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
#9. Administrer le voisin (SSH)
#Donc en OUTPUT et vers une ip de destination donc –d.
iptables -A OUTPUT -d 10.1.6.14 -p tcp -m tcp --dport 22 -j ACCEPT
#10. Être administré par prof & voisin (SSH)
#Vu qu'on se fait administrer, ce sera en INPUT.
iptables -A INPUT -s 10.1.6.14 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.1.6.1 -p tcp -m tcp --dport 22 -j ACCEPT
#11. Envoyé Mail, SMTP sortant, POP3 sortant, IMAP sortant
#Si à pas de serveur mail, ne pas préciser l'ip (retirer : -d 10.10.10.1.100)
iptables -A OUTPUT -d 10.10.1.100 -p tcp -m tcp --dport 25 -j ACCEPT
#SMTP sortant
iptables -A OUTPUT -d 10.10.1.100 -p tcp --dport 110 -j ACCEPT
#POP3 sortant
iptables -A OUTPUT -d 10.10.1.100 -p tcp --dport 143 -j ACCEPT
#IMAP sortant
12. Recevoir Mail, SMTP entrant
Si à pas de serveur mail, ne pas préciser l'ip (retirer : -d 10.10.10.1.100)
iptables -A INPUT -s 10.1.6.0 -p tcp -m tcp --dport 25 -j ACCEPT
13. Gestion par ftp de l'imprimante
modprobe ip_conntrack_ftp ajout d'en module (externe)
modprobe ip_conntrack_ftp
iptables -A OUTPUT -d 10.1.6.250 -p tcp -m tcp --dport 21 -j ACCEPT
dites-moi si ce code vous aura aider merci
Dernière modification par debian_tux (Le 22/01/2011, à 02:49)
Hors ligne
#2 Le 22/01/2011, à 03:14
- Pacifick_FR42
Re : script firewall basic
Merci, pile poil ce que je cherchais
Je me casse les dents depuis plusieurs jours, pour 2 machines, grâce à toi, ça va le faire
Dernière modification par Pacifick_FR42 (Le 22/01/2011, à 03:15)
Hors ligne
#3 Le 02/02/2011, à 14:12
- debian_tux
Re : script firewall basic
de rien c'est avec plaisir
si tu t'ennuie : http://forum.ubuntu-fr.org/viewtopic.php?id=440951
j'ai besoin d'un coup de main
merci
Dernière modification par debian_tux (Le 02/02/2011, à 14:13)
Hors ligne
Pages : 1