|
Configuration
de Shorewall
Shorewall est un firewall pour
linux
que j'ai connu parce qu'il est mentionné dans le panneau de
contrôle de Linux mandrake 9.
Le package est sur le troisième CD de mandrake 9.
Au départ, je n'y ai rien compris et ça m'a un peu
désarçonné. C'est pourquoi j'ai
décidé de faire une doc simple pour le configurer et en
français.
Tout d'abord, j'ai commencé par consulter chez www.linux-france.org
une documentation sur la sécurité sous Mandrake
disponible ICI.
Elle traite entre autres du firewall.
Je n'en suis pas l'auteur mais elle est vraiment accessible et elle
mérite de ce fait d'être lue!
La section sur shorewall m'a fort intéressé, car il y a
une explication qui permet d'appliquer le firewall à une
connection qui ne passe pas par ethernet. Comme j'ai freeadsl,
ça
tombe bien.
J'ai commencé par activer shorewall dans la section pare-feu du
panneau de contrôle mandrake.
Lorsqu'il demande quel ports laisser accessibles depuis internet, je
n'en choisis aucun, je les déselectionne.
Ensuite, lorsqu'enfin shorewall démarre au démarrage du
pc, la navigation n'est pas possible, aucun port ouvert en sortie.
Il faut ajouter des règles de filtrages dans le fichier
/etc/shorewall/rules :
Par exemple, je vous copie les miennes:
#********************************************************************
# commentaires:
# Accepter le trafic DNS, cette règle peut être
# affinée
#
en précisant l'adresse du DNS de votre FAI
#
cela la conversion des noms de domaines en IP. ex:
# www.pcastuces.com
#
212.27.32.177 : adresse de mon
dns primaire
#
212.27.32.177 : adresse de mon
dns primaire
# vous trouverez le votres dans /etc/resolv.conf
#*********************************************************************
ACCEPT fw
net:212.27.32.177 udp 53
ACCEPT fw
net:212.27.32.176 udp 53
#*********************************************************************
#
ICMP accepte le ping sortant, et sa réponse
#
et en entrée : destination unreachable et le
time exceed
# on n'autorise pas le ping en entrée
#*********************************************************************
ACCEPT
fw
net icmp 8
ACCEPT
net
fw icmp 0,3,11
#*********************************************************************
#
autorise http, https, ftp, mails, news, tous les
# ports utilisés
#
habituellement... seulement en sortie
# http, https, courrier, ftp
#*********************************************************************
ACCEPT
fw
net tcp 80,443,8080,110,25,20,21
Vous observez tous les
numéros de ports qui me sont utiles en tant que client. Mais la
liste peut être modifiée en fonction des logiciels qui
vous
sont utiles. De même si vous utilisez un logiciel travaillant sur
des ports UDP il faut une ligne du type:
ACCEPT
fw
net udp port1,port2, etc
Liste de quelques ports utiles :
20 et 21
|
FTP
|
TCP
|
Pour
transferer des fichiers sur un serveur FTP. |
25
|
SMTP
|
TCP
|
Pour
envoyer des mails avec un logiciel (comme K mail) |
| 53 |
DNS |
UDP
|
Indispensable
pour les adresses de sites dans un navigateur
|
| 80 |
http
|
TCP
|
Indispensable
pour surfer sur le web
|
8080
|
http
|
TCP
|
aussi
pour surfer sur le web
|
110
|
pop3
|
TCP
|
Pour
relever vos mails avec un logiciel (comme K mail) |
119
|
nntp
|
TCP
|
pour
lire les nouvelles avec un logiciel comme K node
|
443
|
https
|
TCP
|
Pour
surfer sur des sites sécurisés |
1863
|
msn
|
TCP
|
Pour
vous connecter avec k mess ou un autre client msn
|
6346
|
gnutella
|
TCP
|
Pour
utiliser le reseau de partages de fichiers de gnutella
utile pour transferer des fichiers sur internet
|
7070
|
realplayer
|
UDP
|
Pour
lire des videos sur le net.
|
Cette liste est bien sûr incomplète, il y a tant de
logiciels utilisant chacun un port spécifique...
Si vous souhaitez à l'inverse, mettre en place des "service",
comme un serveur ftp, par exemple, il faudra rédiger une regle
de
cette façon:
ACCEPT
net
fw tcp 20,21, etc
Autre chose, dans le fichier common.def:
remplacer tous les
reject
par
drop
de cette manière, les
communications sont bloquées de façon silencieuse, cela
évite certaines attaques, par exemple les scanners ne
détectent plus votre PC.
C'est tout pour le filtrage.
Le firewall est déjà configuré pour interdire les
communications, il n'est utile que de préciser les
communications
qu'on veut autoriser.
Pour ma connection free, j'ai dû modifier le fichier interfaces
en remplaçant :
net
eth0 detect
par:
net
ppp0 -
Si vous avez une carte ethernet, ne
modifiez pas comme je l'ai fait. Pour tout modem USB, faites comme moi.
Les tests réalisés à cette adresse ont
donné de bons résultats, tous les ports testés
sont
cachés.
Vérifiez aussi si le fichier policy contient bien ces deux
lignes:
net all
DROP info
all all REJECT info
C'est tout.
N'hésitez pas à m'envoyer un mail pour signaler toute
erreur et oubli de ma part.
Merci infiniment à Xavier AUBRUN pour les précisions
qu'il m'a apportées.
|