Firewall sur debian 4

Bonjour à tous ,

Je viens de faire l’installation d’un serveur web (chez un hébergeur) sous Debian 4.

Ce serveur va héberger 3 sites web .
Les composants installés sont (apache2 /php5/mysql/bind/postfix/vsftpd).
Les accès au site web se feront en http (port :80)
L’administration du serveur en ssh.

Le script (trouvé sur le net) ci-dessous peut-il convenir à ma config ?

#!/bin/bash
echo Setting firewall rules…

config de base dedibox

Florian Cristina

Debut Initialisation

Interdire toute connexion entrante

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
echo - Interdire toute connexion entrante : [OK]

Interdire toute connexion sortante

iptables -t filter -P OUTPUT DROP
echo - Interdire toute connexion sortante : [OK]

Vider les tables actuelles

iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]

Autoriser SSH

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
echo - Autoriser SSH : [OK]

Ne pas casser les connexions etablies

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]

Fin Inialisation
Debut Regles

Autoriser les requetes DNS, FTP, HTTP, NTP

iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo - Autoriser les requetes DNS, FTP, HTTP, NTP : [OK]

Autoriser loopback

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo - Autoriser loopback : [OK]

Autoriser ping

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo - Autoriser ping : [OK]

HTTP

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
echo - Autoriser serveur Apache : [OK]

FTP

modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo - Autoriser serveur FTP : [OK]

Mail

iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
echo - Autoriser serveur Mail : [OK]

Fin Regles

echo Firewall mis a jour avec succes !

Merci …

oui et non: il contient plusieurs ouvertures de ports inutiles pour toi, et ça ne gère pas le dns.
Il vaut mieux (tout en t’inspirant de ce script) comprendre ce dont tu as besoin, et mettre en place toi même les règles au fur et à mesure que tu installes les services.
Commences par une règle d’ouverture de ssh, PUIS fermes tout comme c’est fait dans l’initialisation, puis installes un à un les services en ouvrant à chaque fois juste ce qu’il faut pour que ça marche.
Et surtout, ne mets pas ton script en activation auto au boot avant d’être sûr qu’il soit correct. Ca serait trop con que tu ne puisse plus accèder à ta machine (c’est pour ça qu’il vaut toujours mieux ouvrir le ssh avant de mettre une règle de bloquage par defaut).