Bonjour, j’ai actuellement un problème majeur que je n’arrive pas à résoudre depuis plus de deux semaines. Malgré tous mes efforts, je n’ai pas réussi à identifier l’origine du problème. Mon objectif est de configurer le pare-feu de manière à bloquer toutes les connexions par défaut, autorisant uniquement celles que j’aurai spécifiquement approuvées, telles que les mises à jour du système Fedora, les sites en HTTPS, les requêtes DNS, etc.

J’ai initialement configuré mon firewalld en mode DROP, mais cette configuration ne semble pas avoir d’effet, peu importe ce que je fais. Par exemple, je constate que je peux toujours accéder à des sites en HTTP alors que l’accès aurait dû être bloqué. Est-ce qu’il pourrait y avoir un problème inhérent au noyau de Fedora 39 ? Pour m’assurer, j’ai réinstallé complètement Fedora comme s’il s’agissait d’une nouvelle installation, sans aucun service configuré. Après avoir effectué les mises à jour, j’ai installé firewall-config et firewalld, mais il semble que la configuration soit ignorée, comme si je n’avais rien paramétré. aider moi je vous prie , merci d’avance




michael@fedora:\~$ sudo su

[sudo] Mot de passe de michael :

root@fedora:/home/michael# systemctl status firewalld

 firewalld.service - firewalld - dynamic firewall daemon

 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; prese>

Drop-In: /usr/lib/systemd/system/service.d

         └─10-timeout-abort.conf

 Active: inactive (dead)

   Docs: man:firewalld(1)

root@fedora:/home/michael# systemctl enable firewalld

Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service  /usr/lib/systemd/system/firewalld.service.

Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

root@fedora:/home/michael# systemctl start firewalld

root@fedora:/home/michael# systemctl status firewalld

 firewalld.service - firewalld - dynamic firewall daemon

 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>

Drop-In: /usr/lib/systemd/system/service.d

         └─10-timeout-abort.conf

 Active: active (running) since Sun 2023-12-17 19:52:10 CET; 5s ago

   Docs: man:firewalld(1)

Main PID: 10455 (firewalld)

  Tasks: 2 (limit: 18815)

 Memory: 28.5M

    CPU: 402ms

 CGroup: /system.slice/firewalld.service

         └─10455 /usr/bin/python3 -sP /usr/sbin/firewalld --nofork --nopid

déc. 17 19:52:09 fedora systemd[1]: Starting firewalld.service - firewalld - dy>

déc. 17 19:52:10 fedora systemd[1]: Started firewalld.service - firewalld - dyn>

root@fedora:/home/michael# firewall-cmd --list-all

drop (default, active)

target: DROP

ingress-priority: 0

egress-priority: 0

icmp-block-inversion: no

interfaces: wlo1

sources:

services:

ports:

protocols:

forward: yes

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:

rule family="ipv4" source address="0.0.0.0/0" port port="8080" protocol="tcp" reject

rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" reject

root@fedora:/home/michael# curl http://exemple.com

root@fedora:/home/michael# curl -I http://www.example.com

HTTP/1.1 200 OK

Accept-Ranges: bytes

Age: 280725

Cache-Control: max-age=604800

Content-Type: text/html; charset=UTF-8

Date: Sun, 17 Dec 2023 18:55:47 GMT

Etag: "3147526947"

Expires: Sun, 24 Dec 2023 18:55:47 GMT

Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT

Server: ECS (dce/2690)

X-Cache: HIT

Content-Length: 1256

root@fedora:/home/michael#

Voici les résultats obtenus après l’exécution des commandes Firewalld et iptables :

`michael@fedora:~$ sudo iptables -L -n -v
[sudo] Mot de passe de michael : 
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
michael@fedora:~$ sudo firewall-cmd --list-all
drop (default, active)
  target: DROP
  ingress-priority: 0
  egress-priority: 0
  icmp-block-inversion: no
  interfaces: wlo1
  sources: 
  services: 
  ports: 
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	rule family="ipv4" source address="0.0.0.0/0" port port="8080" protocol="tcp" reject
	rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" reject
michael@fedora:~$ 
`

    Pas de problème sur F39 par contre tes règles concerne le trafic entrant et pas le trafic sortant.

      Bonjour Nicosss,

      Je te salue et te remercie pour ta réponse.

      J’ai installé l’ISO Fedora Workstation 39 téléchargée depuis le site officiel https://fedoraproject.org/workstation/download, et j’ai également vérifié l’empreinte avant l’installation.

      En effet, j’ai configuré firewalld pour qu’elle utilise la zone DROP par défaut. Si j’ai bien compris, la zone drop bloque par défaut les connexions, notamment celles de http que je cherche à désactiver. Lorsque je saisis la commande root@fedora:/usr/sbin# firewall-cmd --list-all
      j’obtiens la réponse suivante :

      drop (default, active)
        target: DROP
        ingress-priority: 0
        egress-priority: 0
        icmp-block-inversion: no
        interfaces: wlo1
        sources: 
        services: 
        ports: 
        protocols: 
        forward: yes
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 
      	rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" reject
      	rule family="ipv4" source address="0.0.0.0/0" port port="8080" protocol="tcp" reject
      root@fedora:/usr/sbin# 

      Pourtant, je parviens toujours à accéder au site http.

      Refuznik
      Je te salue et te remercie pour ta réponse.

      Les deux règles que tu observes, je les avais ajoutées manuellement. Oui, il s’agit de trafic sortant. Ce que je ne comprends pas, c’est pourquoi j’ai toujours accès au site http même après redémarrage.

      Je suis novice, et la première chose à laquelle j’ai pensé est que je souhaite que firewalld soit le seul gestionnaire de pare-feu principal, afin de résoudre tout problème de compatibilité. J’ai remarqué la présence de fichiers iptables et nftables, en plus de firewalld, ce qui m’a un peu dérouté. C’est pourquoi je veux travailler uniquement avec celui que j’ai choisi, c’est-à-dire firewalld.

      J’ai désactivé et arrêté nftables avec les commandes suivantes :

      
      systemctl disable nftables
      systemctl stop nftables

      Après avoir effectué des recherches, j’ai compris que le véritable pare-feu est intégré au noyau et s’appelle netfilter. En désactivant nftables et iptables, j’ai réalisé qu’il ne devrait y avoir aucun problème de configuration. À partir de là, j’apprendrai à utiliser firewalld. En ce qui concerne iptables, les commandes pour le désactiver et l’arrêter m’ont renvoyé les messages suivants :

      root@fedora:/home/michael# systemctl status iptables
      Unit iptables.service could not be found.
      root@fedora:/home/michael# systemctl disable iptables
      Failed to disable unit: Unit file iptables.service does not exist.
      root@fedora:/home/michael# systemctl stop iptables
      Failed to stop iptables.service: Unit iptables.service not loaded.

        michael2 Bon lorsque l’on est novice on évite de toucher à tout sans comprendre ce que l’on fait car l’apprentissage va perdre de son sens.

        Pour commencer, il faudrait lire le lien que je t’ai donné et que tu comprennes l’architecture ainsi que l’utilité de chaque composant. La documentation officielle est tout en bas.

          Nicosss Merci pour votre retour, cependant, cela n’a pas répondu à mes questions. Vous avez raison, je n’aurais pas dû le faire, mais après y avoir consacré deux semaines, cela m’a donné mal à la tête et je veux juste en finir. En tout cas, j’ai bien sûr lu le site que vous m’avez donné. Tout ce que j’ai appris du site, c’est que nftable remplace netfilter, ce qui signifie que je ne devrais pas le désactiver. Alors, j’ai réactivé nftables, mais je ne l’ai pas lancé (start), car si je le démarre, firewalld s’arrête. Pouvez-vous répondre à mes questions, s’il vous plaît ? Merci.

          Tu peux jouer avec les règles INPUT/OUTPUT (Entrées/Sorties). Cependant par défaut on utilise pas trop les règles en sorties (OUTPUT).

          Sinon un Exemple pour bloquer le port 443 (https) en sortie :

          firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o NOM-DE-TON-INTERFACE -p tcp -m tcp --dport=443 -j DROP

          Rajoute “--permanent” pour que cela le soit.

          On peut remplacer le port par une IP par exemple.

          Pour vérifier :
          firewall-cmd --direct --get-all-rules

          A savoir que sur la version WORKSTATION les ports 1024->65535 en TCP/UDP sont ouverts par défaut en entrées (INPUT) pour des raisons de ne pas perdre la Mme Michu.

          Firewalld fait office d’interface avec le système de filtrage qu’est nftable utilisé par défaut (il y en a d’autres possible), du coup si tu t’amuse avec ce dernier ne t’étonne pas que rien ne fonctionne.

            VINDICATORs Vindicators ! Je te salue et t’exprime ma gratitude pour ta réponse. Merci énormément, le problème a été résolu avec la commande. Merci infiniment ! 😃

            Pense à chercher et demander avant de désactiver tout et n’importe quoi.

            Si tu veux expérimenter sans casser ton système toutes les 5 minutes, il est préférable de le faire dans une machine virtuel.
            Tu peux utiliser la solution qui est fourni de base sur Fedora (de niveau débutant à pro ++) : https://doc.fedora-fr.org/wiki/Virtualisation_:_KVM,_Qemu,_libvirt_en_images

            Voir d’autres qui sont +/- propriétaire.

            Pour en revenir à firewalld, tu peux potasser le lien fourni plus haut, ainsi que :

            https://firewalld.org/documentation/
            https://fedoraproject.org/wiki/Firewalld

            (En anglais)