Impossible d'interdire à une station servant de firewall d'aller sur Internet

Tags: #<Tag:0x00007f63f545e010>

Pareil, si tu veux que ta passerelle n’ait pas accès à Internet alors que le réseau qu’elle sert y ait accès, il faut appliquer des règles sur les flux OUTPUT. Ça ne bloquera que le trafic sortant, le routage passe dans les flux FORWARD.

Pour répondre à la question de @PascalHambourg, tu peux nous mettre le retour des commandes iptable-save et ip6tables-save.

Que donne un shorewall compile?
le fichier rules sert à ouvrir des ports d’une policy bloquante (par DROP ou par REJECT), ou pour fermer des ports d’une policy ouverte (ACCEPT).

peux tu nous donner ton fichier policy complet et rules complet stp?

Merci pour votre participation.

Je vous livre tous les fichiers que vous m’avez demandés, en vrac, dans un conteneur « tar.gz ». Ils ont des noms évocateurs, donc cela ne devrait pas poser de problème pour s’y retrouver. *
v00-pbm_shorewall.tar.gz.txt (21,1 Ko)

j’avais supprimé un moment le fichier rules afin de me débarrasser d’une éventuelle « pollution » de la part d’une exception.

Bon courage pour le dépouillement. :slight_smile:

  • Le format « tar.gz » ne passe malheureusement pas sur le forum, j’ai un peu triché en lui accolant le suffixe « .txt ». Un peu limite, mais bon…

Question subsidiaire…
Connaissez vous un bon tuto ou cours sur « Iptables », parce que j’en ai assez de ne rien maîtriser. Et que Shorewall commence à me courrir sur le haricot ! :frowning:

|net|$FW||DROP||$LOG_LEVEL|
|net|all||DROP||$LOG_LEVEL|

La première ne sert à rien: net all DROP $LOG_LEVEL suffit.

Quelle est ton interface publique (enp2s2?) et ton interface privée (enp2s5?) ?

Le lien suivant donne une bonne idée de structure du réseau.

Donc,
enp2s2 : interface vers Internet.
enp2s5 : interface vers réseau local.

Comme j’ai fait pas mal d’essais, les fichiers sont entachés de règles redondantes. Je n’ai pas encore fait le nettoyage. Désolé pour la gène.

Si tu trouve shorewall compliqué, iptables l’est encore plus.

J’ai examiné le jeu de règles iptables exporté par iptables-save et les seuls trafics autorisés en sortie vers internet que j’y vois sont DHCP, ICMP et les requêtes DNS.

*filter
:OUTPUT DROP [0:0]
-A OUTPUT -o enp2s2 -j fw-net
-A fw-net -p udp -m udp --dport 67:68 -j ACCEPT
-A fw-net -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A fw-net -p udp -m udp --dport 53 -m comment --comment DNS -j ACCEPT
-A fw-net -p tcp -m tcp --dport 53 -m comment --comment DNS -j ACCEPT
-A fw-net -p icmp -j ACCEPT
-A fw-net -m addrtype --dst-type BROADCAST -j DROP
-A fw-net -m addrtype --dst-type ANYCAST -j DROP
-A fw-net -m addrtype --dst-type MULTICAST -j DROP
-A fw-net -m hashlimit --hashlimit-upto 1/sec --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-name lograte -j LOG --log-prefix "fw-net REJECT " --log-level 6
-A fw-net -g reject

Je ne vois rien là-dedans qui autorise des connexions de type HTTP ou autre en IPv4.
Mais quid d’IPv6 ? Il faudrait regarder la configuration IPv6 de l’interface enp2s2 et l’export du jeu de règles par ip6tables-save.

1 J'aime

En fait, je l’ai choisi pour sa simplicité. Mais, je m’aperçois qu’il opère je ne sais quoi dans mon dos et je n’aime pas ça du tout. Il s’agit là, d’un domaine sensible.

Voila pour la configuration de enp2s2 :

Root /!\ : ip address show enp2s2
2: enp2s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000             
    link/ether 00:50:8d:5b:23:76 brd ff:ff:ff:ff:ff:ff                                                              
    inet 192.168.1.36/24 brd 192.168.1.255 scope global dynamic enp2s2                                              
       valid_lft 39372sec preferred_lft 39372sec                                                                    
    inet6 2a01:e0a:326:5030:250:8dff:fe5b:2376/64 scope global dynamic mngtmpaddr                                   
       valid_lft 86273sec preferred_lft 86273sec                                                                    
    inet6 fe80::250:8dff:fe5b:2376/64 scope link                                                                    
       valid_lft forever preferred_lft forever                                                                      

Te faut il autre chose ?

Si non, pour ip6tables-save, voici le résultat… tin-tin-tin…

Root /!\ : ip6tables-save                                                                        
Root /!\ :

Impressionnant n’est-ce pas ?

Ça veut dire quoi ? Open bar ou confinement strict ?

Une sortie vide signifie qu’aucune table ip6tables n’est chargée, donc aucun filtrage IPv6.
Et l’interface réseau a une adresse IPv6 globale (2a01:…) appartenant à Free donc peut communiquer avec toute machine disposant aussi d’une adresse IPv6 globale comme le serveur de ce forum.

Donc, je suis en danger…

Il faut configurer shorewall pour filtrer aussi en IPv6.
(je considère qu’en 2020 désactiver la connectivité IPv6 n’est plus une option)

Le problème doit ce trouver dans le fichier shorewall.conf.

Je vais regarder ça de près.

Courage, bientôt l’époque où activer la connectivité IPv4 ne sera plus une option…

Comment faire et quelles en seraient les répercutions pour les utilisateurs se connectant essentiellement sur des sites web.

Les sites web qui n’ont pas d’adresse IPv4 seraient inaccessibles.

shorewall6.conf.

Dans Shorewall, il y a séparation de l’IPv4 et de l’IPv6 dont les conf sont respectivements dans /etc/shorewall et /etc/shorewall6, chacun avec ses propres fichiers interfaces, params, policy, zones, rules, ainsi que shorewall.conf et shorewall6.conf.

Plus qu’une option tu veux dire?

personnellement je ne pense pas, ou en tout cas, ça ne sera pas de notre vivant.

Ceci dit, on peut très bien avoir un réseau local entièrement ipv4, et seul la passerelle de sortie serait en IPv6 et s’ocucperait de la connexion. Ce qui implique un proxy obligatoirement pour les utilisateurs.

Par contre en IPv6, on peut très bien avoir une adresse interne non routable sur le net pour éviter de leak ses adresses internes vers l’extérieur, ce qui est un vrai problème de sécurité.