Ne poussons pas pépère dans les orties
Le fichier que je t'ai mis en pièce jointe est à renommer et à copier
dans /etc/init.d
Ensuite faire pointer des liens symbolique dessus, à partir
de /etc/rc.xx selon ce que  tu veux au démarrage.
Je peux te donner + de détails si nécessaire
L'article de Léa était à adapter, vu que la page concerne la Slackware
Ce script fonctionne parfaitement et je l'ai testé sur des sites de test
où ce firewall a obtenu la meilleure note.

Jer




Le mercredi 28 février 2007 à 19:57 +0100, jeriop a écrit :

> Ceci marche bien chez moi
> Tout est expliqué là :
> 
> http://lea-linux.org/pho/read/3/227949/228105/quote
> 
> 
> #!/bin/sh 
> # firewall v1.0.1 Oct 13 09:48:57 PDT 2003 written by : Kernel
> <[EMAIL PROTECTED]> 
> # this script is free software according to the GNU General Public
> License (see [www.gnu.org]) 
> # Start/stop/restart/status firewall: 
> 
> firewall_start() { 
> 
> echo "[Démarrage du firewall]" 
> 
> ############################### REGLES PAR DEFAUT
> ########################### 
> 
> echo "[Initialisation de la table filter]" 
> iptables -F 
> iptables -X 
> 
> echo "[Politique par défaut de la table filter]" 
> 
> # On ignore tout ce qui entre ou transite par la passerelle 
> iptables -P INPUT DROP 
> iptables -P FORWARD DROP 
> 
> # On accepte, ce qui sort 
> iptables -P OUTPUT ACCEPT 
> 
> # Pour éviter les mauvaises suprises, on va autoriser l'accès à la
> loopback : 
> iptables -A INPUT -i lo -j ACCEPT 
> iptables -A OUTPUT -o lo -j ACCEPT 
> 
> ############################### LOCAL-INTERNET
> ########################### 
> 
> echo "[On autorise les clients à accéder à internet]" 
> 
> #On créé une nouvelle chaîne, le nom est indifférent 
> # appelons-la "local-internet" 
> iptables -N local-internet 
> 
> # On définit le profil de ceux qui appartiendront à "local-internet" 
> # "local-internet" concerne toutes les connections sauf celles venant
> d'internet ( ! = non) 
> # En gros avec ça, vous rendez, vos serveurs inaccessibles depuis
> internet. 
> # Pas de panique, certains serveurs seront autorisés explicitement
> dans la suite. 
> iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT 
> 
> #Evidemment, une fois acceptées comme "local-internet", les
> connections peuvent continuer 
> # et faire des petits image : content
> iptables -A local-internet -m state --state ESTABLISHED,RELATED -j
> ACCEPT 
> 
> # On termine en indiquant que les connections appartenant à
> "local-internet" 
> # accèdent à internet de manière transparente. 
> iptables -A INPUT -j local-internet 
> iptables -A FORWARD -j local-internet 
> 
> ############################### LES TABLES NAT ET MANGLE
> ############################# 
> 
> echo "[Initialisation des tables nat et mangle]" 
> 
> iptables -t nat -F 
> iptables -t nat -X 
> iptables -t nat -P PREROUTING ACCEPT 
> iptables -t nat -P POSTROUTING ACCEPT 
> iptables -t nat -P OUTPUT ACCEPT 
> 
> iptables -t mangle -F 
> iptables -t mangle -X 
> iptables -t mangle -P PREROUTING ACCEPT 
> iptables -t mangle -P OUTPUT ACCEPT 
> 
> #################################### LE MASQUERADING
> ######################################## 
> 
> # Commentez ces 2 lignes, si vous ne faîtes pas du masquerading (nat) 
> echo "[Mise en place du masquerading]" 
> iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j
> MASQUERADE 
> 
> ################################# ACTIVATION DE LA PASSERELLE
> ################## 
> 
> echo "[Activation de la passerelle]" 
> echo 1 > /proc/sys/net/ipv4/ip_forward 
> 
> ################################# PAS DE SPOOFING
> ############################ 
> 
> echo "[Pas de spoofing]" 
> if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then 
> for filtre in /proc/sys/net/ipv4/conf/*/rp_filter 
> do 
> echo 1 > $filtre 
> done 
> fi 
> 
> ########################## PAS DE SYNFLOOD #################### 
> 
> echo "[Pas de synflood]" 
> if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then 
> echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
> fi 
> 
> ################################## PAS DE PING
> ############################### 
> 
> # commentez ces 6 lignes, si vous autorisez les pings sur votre
> passerelle 
> echo "[Pas ping]" 
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
> if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then 
> echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
> fi 
> 
> ############# Priorisation de la bande passante et des connections -
> QoS ############ 
> image : rireroll// ça, tu n'en auras pas forcément besoin (d'ailleurs,
> ici c'est encore incomplet, la priorisation (QoS) ne fonctionne que
> pour les données que j'envoie (upload) mais pas pour le
> download.)image : rireroll
> 
> echo "[priorisation des connections ssh ...]"; 
> iptables -A PREROUTING -t mangle -p tcp --sport 443 -j TOS --set-tos
> Minimize-Delay 
> 
> echo "[priorisation des connections http ...]"; 
> iptables -A PREROUTING -t mangle -p tcp --sport http -j TOS --set-tos
> Maximize-throughput 
> iptables -A PREROUTING -t mangle -p tcp --sport 3129 -j TOS --set-tos
> Maximize-throughput 
> 
> echo "[priorisation des connections Diablo 2 ...]"; 
> iptables -A PREROUTING -t mangle -p tcp --sport 6112:6119 -j TOS
> --set-tos Minimize-Delay 
> iptables -A PREROUTING -t mangle -p udp --sport 6112:6119 -j TOS
> --set-tos Minimize-Delay 
> iptables -A PREROUTING -t mangle -p tcp --sport 4000 -j TOS --set-tos
> Minimize-Delay 
> iptables -A PREROUTING -t mangle -p udp --sport 4000 -j TOS --set-tos
> Minimize-Delay 
> 
> # Maximum de débit à Diablo 2 
> iptables -A PREROUTING -t mangle -p tcp --sport 6112:6119 -j TOS
> --set-tos Maximize-Throughput 
> iptables -A PREROUTING -t mangle -p udp --sport 6112:6119 -j TOS
> --set-tos Maximize-Throughput 
> iptables -A PREROUTING -t mangle -p tcp --sport 4000 -j TOS --set-tos
> Maximize-Throughput 
> iptables -A PREROUTING -t mangle -p udp --sport 4000 -j TOS --set-tos
> Maximize-Throughput 
> 
> ############################ Fonctionnalités serveurs
> ##################################### 
> 
> echo "[Etude des fonctionalités serveurs, visibles depuis internet]" 
> 
> # A ce stade, tous vos clients du réseau local et de la passerelle ont
> accès à internet. Mieux, 
> # vos clients du réseau local, ont accès à vos serveurs apache,
> proftp ... localement. Mais personne 
> # depuis internet ne peux accéder à l'un des serveurs que vous
> hébergez. 
> 
> # Il est bien-sûr possible de dévérrouiller pontuellement l'accès à un
> serveur depuis internet, 
> # en décommentant les 2 ou 3 lignes correspondantes. 
> 
> #echo "[autorisation du serveur ssh(22) ...]" 
> #iptables -A INPUT -p tcp --dport ssh -j ACCEPT 
> 
> #echo "[autorisation du serveur smtp(25) ...]" 
> #iptables -A INPUT -p tcp --dport smtp -j ACCEPT 
> 
> echo "[autorisation du serveur http(80) ...]" 
> iptables -A INPUT -p tcp --dport www -j ACCEPT 
> 
> echo "[autorisation du serveur https(443) ...]" 
> iptables -A INPUT -p tcp --dport 443 -j ACCEPT 
> 
> #echo "[autorisation du serveur DNS(53) ...]" 
> #iptables -A INPUT -p udp --dport domain -j ACCEPT 
> #iptables -A INPUT -p tcp --dport domain -j ACCEPT 
> 
> #echo "[autorisation du serveur irc(6667) ...]" 
> #iptables -A INPUT -p tcp --dport ircd -j ACCEPT 
> 
> #echo "[autorisation du serveur cvs (2401) ...]" 
> #iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT 
> 
> #echo "[autorisation du serveur FTP(21 et 20) ...]" 
> #iptables -A INPUT -p tcp --dport ftp -j ACCEPT 
> #iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT 
> 
> # Ne pas décommenter les 3 lignes qui suivent. 
> # Plus généralement : 
> #echo "[autorisation du serveur Mon_truc(10584) ...]" 
> #iptables -A INPUT -p tcp --dport 10584 -j ACCEPT 
> 
> # Ports visibles depuis l'extérieur pour Freenet : 
> echo "[autorisation du serveur Freenet (23050/tcp) ...]" 
> iptables -A INPUT -p tcp --dport 23050 -j ACCEPT 
> 
> echo "[autorisation du serveur aMule (4662/tcp) ...]" 
> iptables -A INPUT -p tcp --dport 4662 -j ACCEPT 
> 
> echo "[autorisation du serveur BitTorrent (6881-6889/tcp) ...]" 
> iptables -A INPUT -p tcp --dport 6881:6889 -j ACCEPT 
> 
> echo "[firewall activé !]" 
> } 
> 
> firewall_stop() { 
> 
> 
> iptables -F 
> iptables -X 
> iptables -P INPUT ACCEPT 
> iptables -P FORWARD ACCEPT 
> iptables -P OUTPUT ACCEPT 
> 
> iptables -t nat -F 
> iptables -t nat -X 
> iptables -t nat -P PREROUTING ACCEPT 
> iptables -t nat -P POSTROUTING ACCEPT 
> iptables -t nat -P OUTPUT ACCEPT 
> 
> iptables -t mangle -F 
> iptables -t mangle -X 
> iptables -t mangle -P PREROUTING ACCEPT 
> iptables -t mangle -P OUTPUT ACCEPT 
> 
> echo " [firewall descativé!]" 
> } 
> 
> firewall_restart() { 
> firewall_stop 
> sleep 2 
> firewall_start 
> } 
> 
> case "$1" in 
> 'start') 
> firewall_start 
> ;; 
> 'stop') 
> firewall_stop 
> ;; 
> 'restart') 
> firewall_restart 
> ;; 
> 'status') 
> iptables -L 
> iptables -t nat -L 
> iptables -t mangle -L 
> ;; 
> *) 
> echo "Usage: firewall {start|stop|restart|status}" 
> esac 
> 
> Le mercredi 28 février 2007 à 18:30 +0100, Jean-Yves F. Barbier a
> écrit : 
> 
> > Le mercredi 28 février 2007 17:57, mess-mate a écrit :
> > > Bonjour,
> > > le firewall de mon routeur(debian) est le 'arno-iptables-firewall'
> > > qui jusqu'à présent donnait pleine satisfaction.
> > >
> > > Ayant maintenant installé un dmz, celui-ci n'a pas l'air d'être à la
> > > page ou c'est moi qui n'arrive pas à le configurer à ce niveau.
> > >
> > > Quoi qu'il en soit j'adopterais volontiers pour un autre firewall
> > > pas trop compliqué (disons facile) car il faut qu'il marche au plus
> > > vite afin de remettre mes pages sur le net.
> > > De préférence un firewall en mode console.
> > > Que me conseillez-vous ?
> > > cordialement
> > > mess-mate
> > 
> > shorewall (pas mal de HOWTOs, même en fr sur le net)
> > 
> > 

Attachment: firewall_lea.txt
Description: application/shellscript

Répondre à