123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573 |
- <!DOCTYPE html>
- <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
- <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-
-
- <link rel="shortcut icon" href="../img/favicon.ico">
- <title>Installation d'un pare-feux - Les Tutoriels du Yojik</title>
- <link rel="stylesheet" href="../css/theme.css" />
- <link rel="stylesheet" href="../css/theme_extra.css" />
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" />
-
- <script>
- // Current page data
- var mkdocs_page_name = "Installation d'un pare-feux";
- var mkdocs_page_input_path = "Firewall.md";
- var mkdocs_page_url = null;
- </script>
-
- <script src="../js/jquery-2.1.1.min.js" defer></script>
- <script src="../js/modernizr-2.8.3.min.js" defer></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
- <script>hljs.initHighlightingOnLoad();</script>
-
- </head>
- <body class="wy-body-for-nav" role="document">
- <div class="wy-grid-for-nav">
-
- <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
- <div class="wy-side-scroll">
- <div class="wy-side-nav-search">
- <a href=".." class="icon icon-home"> Les Tutoriels du Yojik</a>
- <div role="search">
- <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
- <input type="text" name="q" placeholder="Search docs" title="Type search term here" />
- </form>
- </div>
- </div>
- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
- <p class="caption"><span class="caption-text">Installation d'un serveur sécurisé, version Debian/Buster sur RaspberryPI</span></p>
- <ul class="current">
- <li class="toctree-l1"><a class="reference internal" href="..">Résumé</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../tutoraspi/">Présentation</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Installation-de-base/">Installation de base</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Premier-d%C3%A9marrage/">Premier démarrage</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Etat-des-lieux/">État des lieux</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../S%C3%A9curisation-SSH/">Sécurisation SSH</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../R%C3%A9seau/">Réseau (des IPs fixes)</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Knot/">Installation de Knot-resolver</a>
- </li>
- <li class="toctree-l1 current"><a class="reference internal current" href="./">Installation d'un pare-feux</a>
- <ul class="current">
- <li class="toctree-l2"><a class="reference internal" href="#installation-de-iptables-et-de-firewalld">Installation de IPtables et de Firewalld</a>
- </li>
- <li class="toctree-l2"><a class="reference internal" href="#test">Test</a>
- <ul>
- <li class="toctree-l3"><a class="reference internal" href="#la-notion-de-zones">La notion de zones</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#les-differentes-zones">Les différentes zones</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#les-fichiers-de-configuration">Les fichiers de configuration</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#quelques-commandes">Quelques commandes</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#premiere-etape-de-configuration">Première étape de configuration</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#les-services">Les services</a>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#etat-des-lieux">État des lieux</a>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Fail2ban/">Contrer les attaques de force brute</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Logwatch/">Surveillance du serveur</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Installation-courrier-basique/">Installation d'un serveur de courriers basique</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Exemple-d-utilisation-serveur-Web/">Exemple d'utilisation avec un serveur Web</a>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../Annexe/">Annexe</a>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
- <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
- <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
- <a href="..">Les Tutoriels du Yojik</a>
- </nav>
-
- <div class="wy-nav-content">
- <div class="rst-content">
- <div role="navigation" aria-label="breadcrumbs navigation">
- <ul class="wy-breadcrumbs">
- <li><a href="..">Docs</a> »</li>
-
-
-
- <li>Installation d'un serveur sécurisé, version Debian/Buster sur RaspberryPI »</li>
-
-
-
- <li>Installation d'un pare-feux</li>
- <li class="wy-breadcrumbs-aside">
-
- </li>
- </ul>
-
- <hr/>
- </div>
- <div role="main">
- <div class="section">
-
- <h1 id="le-pare-feu">Le pare-feu</h1>
- <p>Il nous faut installer un pare-feu sur notre raspi pour éviter les intrusions.</p>
- <p>Nous allons limiter les machines susceptibles de se connecter à celles de notre réseau local, et également limiter les ports accessibles sur notre réseau.</p>
- <p>Nous allons utiliser IPtables et Firewalld.</p>
- <p>J'aurai préféré utiliser <strong>nftables</strong> qui est le successeur de <strong>iptables</strong>, mais j'ai eu quelques soucis à l'utilisation. Peut-être est-ce pour ça que la distribution RaspiOS a configuré <strong>firewalld</strong> avec <strong>IPtables</strong>...</p>
- <h2 id="installation-de-iptables-et-de-firewalld">Installation de IPtables et de Firewalld</h2>
- <pre><code>pi@raspi:~ $ sudo apt install firewalld
- </code></pre>
- <p>IPtables est installé par défaut : rien à faire ici.</p>
- <h2 id="test">Test</h2>
- <p>Si on tape : </p>
- <pre><code>pi@raspberrypi:~ $ sudo iptables -L
- Chain INPUT (policy ACCEPT)
- target prot opt source destination
- Chain FORWARD (policy ACCEPT)
- target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- target prot opt source destination
- pi@raspberrypi:~ $
- </code></pre>
- <p>On voit que c'est iptables qui a été chosi par RaspiOS.</p>
- <p>D'abord, il faut comprendre comment fonctionne Firewalld. Je me suis basé sur les sites suivant :</p>
- <ul>
- <li><a href="https://lwn.net/Articles/484506/">lw.net</a></li>
- <li><a href="https://www.certdepot.net/rhel7-get-started-firewalld/">How to get started with Firewalld</a></li>
- <li><a href="https://www.tutorialspoint.com/network_security/network_security_firewalls.htm">tutorial points</a></li>
- <li><a href="https://firewalld.org/documentation/zone/predefined-zones.html">la documentation officielle</a></li>
- <li><a href="https://linuxconfig.org/introduction-to-firewalld-and-firewall-cmd-command-on-linux">introduction-to-firewalld</a></li>
- <li><a href="https://doc.fedora-fr.org/wiki/Parefeu_-_firewall_-_FirewallD">La documentation de Fedora</a></li>
- <li><a href="https://www.it-connect.fr/centos-7-utilisation-et-configuration-de-firewalld/">it connect</a></li>
- </ul>
- <p>La documentation de Fedora est la plus compréhensible.</p>
- <h3 id="la-notion-de-zones">La notion de zones</h3>
- <p>Firewalld définit 9 zones qui sont en fait des règles de pare-feux par défaut. Une zone va par exemple bloquer toute entrée sauf SSH, une autre permettre l'accès en HTTP et HTTPS. Ces zones correspondent à des utilisations types, comme un serveur dans une DMZ, ou un serveur <strong>chez soi</strong>, un serveur public, etc.</p>
- <p>On peut imaginer une zone <strong>émail</strong> qui ne laisserait passer que les ports spécifiques à l'émail et DNS bien sûr.</p>
- <p>Il est possible de créer des zones personnelles.</p>
- <p>Un certain nombre de zones sont prédéfinies. Voyons leur contenu.</p>
- <h3 id="les-differentes-zones">Les différentes zones</h3>
- <p>Les différentes zones sont :</p>
- <ul>
- <li>trusted: non modifiable</li>
- <li>home: modifiable</li>
- <li>work: modifiable</li>
- <li>internal: modifiable</li>
- <li>dmz: modifiable</li>
- <li>public: modifiable</li>
- <li>external: modifiable</li>
- <li>block: non modifiable</li>
- <li>drop: non modifiable</li>
- </ul>
- <p>Une très bonne présentation des zones est ici : <a href="https://www.it-connect.fr/centos-7-utilisation-et-configuration-de-firewalld/">it connect</a></p>
- <h3 id="les-fichiers-de-configuration">Les fichiers de configuration</h3>
- <p>Ils sont situés à 2 endroits :</p>
- <ul>
- <li>/usr/lib/firewalld/ : il ne faut pas toucher au contenu de ce répertoire</li>
- <li>/etc/firewalld/ : c'est là que nous mettrons notre configuration, en copiant les fichiers de /usr/lib/firewalld si besoin est.</li>
- </ul>
- <p>Dans le répertoire /etc/firewalld, le fichier firewalld.conf permet de configurer la zone par défaut, ainsi que le backend (iptables, nftables et autre).</p>
- <p>La zone par défaut est <strong>public</strong> : pas de confiance, mais possibilité d'ajuster au cas par cas les règles. Le seul accès autorisé est l'accès <strong>ssh</strong> et <strong>dhcp</strong>.</p>
- <h3 id="quelques-commandes">Quelques commandes</h3>
- <ul>
- <li>Démarrer Firewalld:<strong>$ sudo systemctl start firewalld</strong></li>
- <li>Stopper Fireawalld:<strong>$ sudo systemctl stop firewalld</strong></li>
- <li>Tester le fonctionnement de Firewalld:<strong>$ sudo firewall-cmd --state</strong></li>
- <li>Connaître les zones prédéfinies : <strong>$ sudo firewall-cmd --get-zones</strong></li>
- <li>Connaître la zone par défaut :<strong>$ sudo firewall-cmd --get-default-zone</strong></li>
- <li>Connaître la zone active :<strong>$ sudo firewall-cmd --get-active-zones</strong></li>
- </ul>
- <p>Exemples :</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --state
- running
- pi@piras:~ $
- </code></pre>
- <p>Le service tourne.</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --get-default-zone
- public
- pi@piras:~ $
- </code></pre>
- <p>La zone par défaut est : public</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --get-zones
- block dmz drop external home internal public trusted work
- pi@piras:~ $
- </code></pre>
- <p>Les zones prédéfinies sont : <strong>block dmz drop external home internal public trusted work</strong></p>
- <p>Quelle est la zone active : aucune !</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --get-active-zones
- pi@piras:~ $
- </code></pre>
- <p>Nous pouvons vérifier la zone en fonctionnement et l'interface réseau qui y est attachée :</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --list-all
- public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: dhcpv6-client ssh
- ports:
- protocols:
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
- pi@piras:~ $
- </code></pre>
- <p>Aucune interface n'est attachée. Les seuls services autorisé sont : dhcp et ssh.</p>
- <h3 id="premiere-etape-de-configuration">Première étape de configuration</h3>
- <p>Nous allons utiliser les commandes en ligne de commande pour configurer Firewalld, mais il existe une GUI pour le faire graphiquement. Référez-vous aux liens que j'ai indiqués au-dessus.</p>
- <ul>
- <li>
- <p>Définition de la zone par défaut : (public)</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --set-default-zone=public
- Warning: ZONE_ALREADY_SET: public
- success
- pi@piras:~ $
- </code></pre>
- </li>
- <li>
- <p>Attribution de l'interface réseau à cette zone :</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --zone=public --change-interface=eth0
- success
- pi@piras:~ $
- </code></pre>
- <p>Attention, ce changement n'est pas permanent ! (voir ci-dessous)</p>
- </li>
- <li>
- <p>Test :</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --list-all
- public (active)
- target: default
- icmp-block-inversion: no
- interfaces: eth0
- sources:
- services: dhcpv6-client ssh
- ports:
- protocols:
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
- pi@piras:~ $
- </code></pre>
- </li>
- </ul>
- <p>Nous voyons que l'interface <strong>eth0</strong> a bien été attribuée à la zone <strong>public</strong>.</p>
- <h3 id="les-services">Les services</h3>
- <p>Il est possible de configurer les services accessibles (ou pas) attribués à la zone active.</p>
- <p>Pour connaître les différents services disponibles, tapez la commande suivante :</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --get-services
- RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph
- ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client
- etcd-server finger freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps
- ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network
- llmnr managesieve matrix mdns minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn
- ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio
- puppetmaster quassel radius redis rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps
- snmp snmptrap spideroak-lansync squid ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client
- tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local
- xmpp-server zabbix-agent zabbix-server
- pi@piras:~ $
- </code></pre>
- <p>Chaque détail des services est détaillé dans un fichier xml dans /usr/lib/firewalld.</p>
- <p>Voyons quels services sont actuellement activés sur notre raspi :</p>
- <pre><code>pi@piras:~ $ ss -t -u -l -a
- Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
- udp UNCONN 0 0 0.0.0.0:55853 0.0.0.0:*
- udp UNCONN 0 0 127.0.0.1:domain 0.0.0.0:*
- udp UNCONN 0 0 0.0.0.0:bootpc 0.0.0.0:*
- udp UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:*
- udp UNCONN 0 0 [::1]:domain *:*
- udp UNCONN 0 0 *:59578 *:*
- udp UNCONN 0 0 *:mdns *:*
- tcp LISTEN 0 511 127.0.0.1:domain-s 0.0.0.0:*
- tcp LISTEN 0 511 127.0.0.1:domain 0.0.0.0:*
- tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
- tcp ESTAB 0 0 192.168.111.170:ssh 192.168.111.150:59092
- tcp LISTEN 0 511 [::1]:domain-s [::]:*
- tcp LISTEN 0 511 [::1]:domain [::]:*
- tcp LISTEN 0 128 [::]:ssh [::]:*
- pi@piras:~ $
- </code></pre>
- <p>Nous voyons notre connexion <strong>ssh</strong> établie entre ma machine de travail en ip 192.168.111.150 et piras 192.168.111.170.</p>
- <p>Notre raspi écoute également le port 22 sur toutes les interfaces présentes.</p>
- <p>Liste des ports en écoute (TCP) :</p>
- <pre><code>pi@piras:~ $ ss -ltn
- State Recv-Q Send-Q Local Address:Port Peer Address:Port
- LISTEN 0 511 127.0.0.1:853 0.0.0.0:*
- LISTEN 0 511 127.0.0.1:53 0.0.0.0:*
- LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
- LISTEN 0 511 [::1]:853 [::]:*
- LISTEN 0 511 [::1]:53 [::]:*
- LISTEN 0 128 [::]:22 [::]:*
- pi@piras:~ $
- </code></pre>
- <p>Les ports 22 (ssh), 53 (dns), 853 (dns) sont à l'écoute en IPV4 et IPV6.</p>
- <p>Liste des ports en écoute (UDP) :</p>
- <pre><code>pi@piras:~ $ ss -lun
- State Recv-Q Send-Q Local Address:Port Peer Address:Port
- UNCONN 0 0 127.0.0.1:53 0.0.0.0:*
- UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
- UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
- UNCONN 0 0 [::1]:53 *:*
- UNCONN 0 0 *:59578 *:*
- UNCONN 0 0 *:5353 *:*
- pi@piras:~ $
- </code></pre>
- <h3 id="etat-des-lieux">État des lieux</h3>
- <p>Vérifions le fonctionnement de Firewalld. Souvenez-vous qu'il était configuré pour fonctionner avec Iptables.</p>
- <p>Vérifions les règles établies :</p>
- <pre><code>pi@piras:~ $ sudo iptables -L
- Chain INPUT (policy ACCEPT)
- target prot opt source destination
- ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
- ACCEPT all -- anywhere anywhere
- INPUT_direct all -- anywhere anywhere
- INPUT_ZONES_SOURCE all -- anywhere anywhere
- INPUT_ZONES all -- anywhere anywhere
- DROP all -- anywhere anywhere ctstate INVALID
- REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
- Chain FORWARD (policy ACCEPT)
- target prot opt source destination
- ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
- ACCEPT all -- anywhere anywhere
- FORWARD_direct all -- anywhere anywhere
- FORWARD_IN_ZONES_SOURCE all -- anywhere anywhere
- FORWARD_IN_ZONES all -- anywhere anywhere
- FORWARD_OUT_ZONES_SOURCE all -- anywhere anywhere
- FORWARD_OUT_ZONES all -- anywhere anywhere
- DROP all -- anywhere anywhere ctstate INVALID
- REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
- Chain OUTPUT (policy ACCEPT)
- target prot opt source destination
- OUTPUT_direct all -- anywhere anywhere
- Chain INPUT_direct (1 references)
- target prot opt source destination
- Chain INPUT_ZONES_SOURCE (1 references)
- target prot opt source destination
- Chain INPUT_ZONES (1 references)
- target prot opt source destination
- IN_public all -- anywhere anywhere [goto]
- IN_public all -- anywhere anywhere [goto]
- Chain FORWARD_direct (1 references)
- target prot opt source destination
- Chain FORWARD_IN_ZONES_SOURCE (1 references)
- target prot opt source destination
- Chain FORWARD_IN_ZONES (1 references)
- target prot opt source destination
- FWDI_public all -- anywhere anywhere [goto]
- FWDI_public all -- anywhere anywhere [goto]
- Chain FORWARD_OUT_ZONES_SOURCE (1 references)
- target prot opt source destination
- Chain FORWARD_OUT_ZONES (1 references)
- target prot opt source destination
- FWDO_public all -- anywhere anywhere [goto]
- FWDO_public all -- anywhere anywhere [goto]
- Chain OUTPUT_direct (1 references)
- target prot opt source destination
- Chain IN_public (2 references)
- target prot opt source destination
- IN_public_log all -- anywhere anywhere
- IN_public_deny all -- anywhere anywhere
- IN_public_allow all -- anywhere anywhere
- ACCEPT icmp -- anywhere anywhere
- Chain IN_public_log (1 references)
- target prot opt source destination
- Chain IN_public_deny (1 references)
- target prot opt source destination
- Chain IN_public_allow (1 references)
- target prot opt source destination
- ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ctstate NEW,UNTRACKED
- Chain FWDI_public (2 references)
- target prot opt source destination
- FWDI_public_log all -- anywhere anywhere
- FWDI_public_deny all -- anywhere anywhere
- FWDI_public_allow all -- anywhere anywhere
- ACCEPT icmp -- anywhere anywhere
- Chain FWDI_public_log (1 references)
- target prot opt source destination
- Chain FWDI_public_deny (1 references)
- target prot opt source destination
- Chain FWDI_public_allow (1 references)
- target prot opt source destination
- Chain FWDO_public (2 references)
- target prot opt source destination
- FWDO_public_log all -- anywhere anywhere
- FWDO_public_deny all -- anywhere anywhere
- FWDO_public_allow all -- anywhere anywhere
- Chain FWDO_public_log (1 references)
- target prot opt source destination
- Chain FWDO_public_deny (1 references)
- target prot opt source destination
- Chain FWDO_public_allow (1 references)
- target prot opt source destination
- pi@piras:~ $
- </code></pre>
- <p>Les règles Iptables ont bien été configurées par Firewalld.</p>
- <p>Après reboot, nous voyons que rien n'a été conservé !</p>
- <p>Il va falloir investiguer ...</p>
- <p>Bien : voilà la procédure à suivre :</p>
- <p>sudo firewall-cmd <strong>--permanent</strong> --zone=public --change-interface=eth0</p>
- <p>Permet de changer de façon <strong>permanente</strong> l'interface associée à la zone <strong>public</strong>.</p>
- <pre><code>Test :
- pi@piras:~ $ sudo firewall-cmd --permanent --zone=public --change-interface=eth0
- success
- pi@piras:~ $ sudo cat /etc/firewalld/zones/public.xml
- <?xml version="1.0" encoding="utf-8"?>
- <zone>
- <short>Public</short>
- <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
- <interface name="eth0"/>
- <service name="ssh"/>
- <service name="dhcpv6-client"/>
- </zone>
- pi@piras:~ $
- Nous voyons que firewalld a créé des répertoires et un fichier dans le répertoire **zones** dont le contenu correspond à ce que nous avons demandé.
- pi@piras:~ $ sudo firewall-cmd --list-all
- public (active)
- target: default
- icmp-block-inversion: no
- interfaces: eth0
- sources:
- services: dhcpv6-client ssh
- ports:
- protocols:
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
- pi@piras:~ $
- </code></pre>
- <p>Test après redémarrage :</p>
- <p>Cette fois-ci, ça marche ! (Yes !)</p>
- <pre><code>pi@piras:~ $ sudo firewall-cmd --list-all
- public (active)
- target: default
- icmp-block-inversion: no
- interfaces: eth0
- sources:
- services: dhcpv6-client ssh
- ports:
- protocols:
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
- pi@piras:~ $
- </code></pre>
- <p>Nous verrons ensuite comment ajouter des règles suivant les services que nous voudrons déployer.</p>
-
- </div>
- </div>
- <footer>
-
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="../Fail2ban/" class="btn btn-neutral float-right" title="Contrer les attaques de force brute">Next <span class="icon icon-circle-arrow-right"></span></a>
-
-
- <a href="../Knot/" class="btn btn-neutral" title="Installation de Knot-resolver"><span class="icon icon-circle-arrow-left"></span> Previous</a>
-
- </div>
-
- <hr/>
- <div role="contentinfo">
- <!-- Copyright etc -->
-
- </div>
- Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
- </footer>
-
- </div>
- </div>
- </section>
- </div>
- <div class="rst-versions" role="note" aria-label="versions">
- <span class="rst-current-version" data-toggle="rst-current-version">
-
-
- <span><a href="../Knot/" style="color: #fcfcfc;">« Previous</a></span>
-
-
- <span style="margin-left: 15px"><a href="../Fail2ban/" style="color: #fcfcfc">Next »</a></span>
-
- </span>
- </div>
- <script>var base_url = '..';</script>
- <script src="../js/theme.js" defer></script>
- <script src="../search/main.js" defer></script>
- <script defer>
- window.onload = function () {
- SphinxRtdTheme.Navigation.enable(true);
- };
- </script>
- </body>
- </html>
|