fermer port sortant shorewall

Le MNF (Multi Network Firewall) est un des produits pare-feu les plus richement pourvus en fonctionnalités du marché. Il est basé sur un kernel Linux 2.4 sécurisé. Ce forum est également destiné à accueillir tous les posts concernants les distributions Mandriva (anciennement Mandrake)

Modérateur: modos Ixus

fermer port sortant shorewall

Messagepar noloop » 02 Oct 2005 01:03

bonjour ,c est mon premeir message sur ce forum , je suis un noobietux et j ai installé la mandriva 10.2 .Je me suis déjà documenter en allant sur lea-linux , linuxfr et bien evidement le bon vieux google.

Sur la mandriva c est le firewall shorewall qui est installer par defaut.

Par defaut les ports entrants sont tous fermés.

En revenche les port sortants sont tous ouvert et c est la dessus que je voudrais agir en les fermant tous dans un premier temp pour ouvrir seulement ceux qui me sont necessaires.

je suis donc allé dans etc/shorewall/policy et etc/shorewall/rules

Je voudrais modifier le fichier policy comme cela :

###############################################################################
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
#
# THE FOLLOWING POLICY MUST BE LAST
#
fw net REJECT
net all DROP info
all all REJECT info
#LAST LINE -- DO NOT REMOVE


je voudrais modifier le fichier rules comme ceci :

Code: Tout sélectionner
####################################################################################################
#ACTION  SOURCE      DEST         PROTO   DEST    SOURCE      ORIGINAL   RATE      USER/
#                                     PORT    PORT(S)    DEST      LIMIT      GROUP
ACCEPT    fw         net           tcp        21,53,80,443
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE


C est bon ou c est pas bon ( je vous demande car je voudrais pas tout casser et être obiger de tout réinstaller :cry: )

merci :wink:
noloop
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 02 Oct 2005 00:17

Messagepar jdh » 02 Oct 2005 02:08

(Merci pour l'orthographe)

Je suppose que ton PC est directement connecté à Internet et qu'il n'y a pas d'autre connexion réseau. Donc il y a 2 entités "fw" et "net".

Le fichier "/etc/shorewall/policy" définit la politique qui s'applique si on ne définit rien dans "/etc/shorewall/rules".

On devrait donc trouver dans "/etc/shorewall/policy" :

fw net DROP
net all DROP
all all DROP (puisque c'est la ligne qui doit terminer)

On devrait donc trouver dans "/etc/shorewall/rules" :

ACCEPT fw net tcp x,x,x,x

(En toute logique DNS=53 sur udp et non tcp comme avec windows)


En définitive, c'est assez semblable à ce que tu as prévu, à l'exception de DROP au lieu de REJECT et/ou de "info" que je supprime car cela remplit les logs à vitesse grand V. (Mais il faut savoir remettre cela en cas de doute).
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar noloop » 02 Oct 2005 18:11

Merci , je vais donc appliquer ceci :wink:
noloop
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 02 Oct 2005 00:17

Messagepar noloop » 02 Oct 2005 20:15

J ai appliqué la manipulation et je constate que shorewall a toujour laissé la totalité des ports sortants ouverts :shock:

Voici ce que dit le journal de mon routeur ( ce n'est qu un échantillon ) :

Code: Tout sélectionner
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1752 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1753 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1753 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1754 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1754 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1755 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1755 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1756 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1756 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1225 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1225 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1226 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1226 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1227 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1227 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1228 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1228 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,3209 Destination:213.162.50.33,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,3209 Destination:213.162.50.33,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1230 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1230 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1757 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1757 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1758 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1758 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1231 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1231 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1759 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1759 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1760 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1760 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1761 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1761 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1762 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1762 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1232 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1232 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1763 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1763 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1764 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1764 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1765 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1765 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1766 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1767 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1767 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1768 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1768 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1769 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1769 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1770 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1770 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1771 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1771 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1233 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1233 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1234 Destination:195.140.140.28,80 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - TCP Packet - Source:192.168.0.2,1234 Destination:195.140.140.28,80 - [HTTP match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1772 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1772 Destination:80.10.246.132,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1773 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1773 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1774 Destination:80.10.246.1,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1774 Destination:80.10.246.1,53 - [DNS match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1775 Destination:80.10.246.132,53 - [Any(ALL) match]
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1775 Destination:80.10.246.132,53 - [DNS match]
noloop
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 02 Oct 2005 00:17

Messagepar jdh » 02 Oct 2005 21:27

Ces logs m'ont l'air tout à fait normaux !

Quand on écrit une ligne comme :

ACCEPT fw net udp 53

cela signifie qu'on autorise "fw" à accéder à "net" (=internet) pour du traffic "udp" sur le port "53" (c'est à dire DNS). (sous-entendu c'est le sens "initial" de la communication, autrement dit le retour n'est pas décrit mais sous-entendu)

Ici le 53 est le port "destination", mais le port source peut être n'importe lequel. Et c'est normal !

Un échange se fait, pour les protocoles udp ou tcp, entre

un client : (une ip source, un port source) -> un serveur : (une ip destination, un port destination).

Le serveur est souvent défini par un port : 53 = dns, 80 = http (web), 3306=mysql, ... Or si c'est le serveur c'est que c'est le port destination.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar noloop » 03 Oct 2005 02:30

Mon ordinateur , sur lequel est "monter" shorewall , est relié à un modem/routeur/firewall celui ci etant evidement relié à internet .

Les logs de mon modem / routeur /firewall indique ceci :

Code: Tout sélectionner
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,1775 Destination:80.10.246.132,53 - [DNS match]


UDP Packet - Source:192.168.0.2,1775 => cette partie du log de mon modem/routeur/firewall indique que shorewall à laisser passer un paquet UDP via sont port sortant 1775 en direction du modem /routeur /firewall alors que je lui ai interdit. Les seuls ports sortant que shorewall est autoriser à laisser ouvert sont le 21 /53 /80 / 443 .

Destination:80.10.246.132,53 - [DNS match] => cette partie du log de mon modem/routeur/firewall indique que le modem/routeur /firewall a laissé passer le paquet UDP par son port sortant 53 ( [DNS match] ) en direction du port entrant 53 du serveur => ce qui est tout à fait normal

Les logs de mon modem / routeur / firewall devraient indiquer ceci ( si j ai fait correctement la manipulation pour modifier les fichiers policy et rules ) :

Code: Tout sélectionner
Sun, 2005-10-02 18:02:42 - UDP Packet - Source:192.168.0.2,[b]53[/b] Destination:80.10.246.132,53 - [DNS match]


Code: Tout sélectionner
Mon, 2005-10-03 00:24:19 - TCP Packet - Source:192.168.0.2,80 Destination:213.162.50.9,80 - [HTTP match]


Code: Tout sélectionner
Mon, 2005-10-03 00:24:19 - TCP Packet - Source:192.168.0.2,443 Destination:81.164.192.0,443 - [HTTPS match]


Ce qui voudrait dire que shorewall ne laisse rien passer par les ports sortant autre que le 21 / 53 / 80 / 443 .

Qu est ce qui cloche dans la manipulation que j ai effectué pour modifier les fichiers policy et rules ? Car c est très clair , shorewall a toujour la totalité de ces ports sortant ouvert , les logs de mon modem/routeur/firewall sont unanime.
noloop
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 02 Oct 2005 00:17

Messagepar jdh » 03 Oct 2005 09:14

Je ne crois pas que tu ais bien compris mon explication :

ACCEPT fw net udp 53

autorise un paquet udp tel que (Source:192.168.0.2,1775 Destination:80.10.246.132,53) et c'est le fonctionnement normal :

192.168.0.2 c'est "fw" (source)
80.10.246.132 appartient à "net" (destination)
(udp) 53 c'est le protocole et port autorisé

Quand une machine cliente veut accéder à une machine serveur dns par exemple, la machine client choisit un port, ici 1775, et forme un paquet : source (adresse ip client, port choisi) vers destination (adresse ip serveur, 53). 53 est utilisé parce que serveur est un serveur dns : dns=port destination 53. Ce qui est important ce n'est pas le port source choisi, c'est le port destination.

Une raison pour te convaincre que le client doit pouvoir choisir le port source, c'est que cela permet de lancer très vites plusieurs requetes vers un serveur.

Par exemple, si tu navigues (web=80), ton pc commence par une requete GET index.html, le retour donne le fichier de nom index.html. Ensuite, le navigateur analyse le fichier arrivé et trouve qu'il faut afficher 5 images PIC1.jpg, PIC2.jpg, ..., et en conséquence, envoie 5 requetes vers le serveur "GET PIC1.jpg", ... avec 5 nouveaux ports sources. Donc le n° de port source n'a pas d'intéret ... pour la vérification firewall (il en a bien sur pour le navigateur).


Il faut que tu lises la ligne ACCEPT fw net udp 53
comme ip source="fw", ip source appartient à "net", paquet de type "udp", port destination "53".

Et lu comme cela, tu constates que le port source n'est pas défini. En définitive, tu te poses une question où il n'y en a pas.

Ta confusion c'est de considérer séparement 2 couples (adresse ip, port) alors qu'il faudrait que tu regardes en un seul paquet (composé d'un couple source et d'un couple destination).


NB : la très grande majorité des protocoles fonctionnent avec port source choisi. Il existe cependant des protocoles (très peu nombreux) qui fonctionnent avec port source fixe, NTP par exemple je crois. A noter qu'un routeur NAT peut changer le port source sans que cela nuise à la connexion (puisque pour le paquet retour, le routeur remet le posrt source initial).
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar noloop » 03 Oct 2005 12:29

A oui ok , je comprend mieux maintenant , merci :wink:
noloop
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 02 Oct 2005 00:17


Retour vers Mandriva MNF & SNF

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité