Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:centos:6:avance:l106 [2020/02/21 07:14] – créée adminelearning:workbooks:centos:6:avance:l106 [2023/02/15 15:55] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2021.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LRF306 - Gestion des Disques Avancée Raid Logiciel======+======LCF305 - Gestion du Pare-feu======
  
-=====Concepts RAID=====+=====Contenu du Module=====
  
-Les solutions RAID ou //Redundant Array of Independent Disks/ou encore //Redundant Array of Inexpensive Disks// permettent la combinaison de plusieurs disques de façon à ce que ceux-ci soient vu comme un seul disque logique.+  * **LCF305 - Gestion du Pare-feu** 
 +    * Contenu du Module 
 +    * Les Problématiques 
 +      * L'IP Spoofing 
 +      * Déni de Service (DoS) 
 +      * SYN Flooding 
 +      * Flood 
 +    * Le Contre-Mesure 
 +      * Le Pare-feu Netfilter/iptables 
 +      * LAB #1 - Configuration par Scripts sous RHEL/CentOS 6 et versions Antérieures 
 +      * LAB #2 - La Configuration par firewalld sous RHEL/CentOS 7 
 +        * La Configuration de Base de firewalld 
 +        * La Commande firewall-cmd 
 +        * La Configuration Avancée de firewalld 
 +        * Le mode Panic de firewalld
  
-Les solutions RAID sont issues du travail fourni par l'université de Berkeley en Californie sur un projet de tolérances de pannes. Les systèmes RAID offre maintenant plusieurs avantages :+=====Les Problématiques=====
  
-    * Addition des capacités, +====L'IP Spoofing====
-    * Amélioration des performances, +
-    * Apporter la tolérance de panne.+
  
-Deux concepts sont fondamentaux à la compréhension des solutions RAID.+L'IP Spoofing consiste en faire croire à un serveur que sa machine possède une adresse IP autre que celle réellement attribuée. Le but de cette opération est de se placer en tant que point de passage obligatoire des paquets envoyés entre le serveur et le vrai //propriétaire// de l'adresse IP spooféeLe mécanisme est la suivante :
  
-====Disques en miroir====+  * L'attaquant change son adresse IP en prenant une à laquelle le serveur cible fera confiance, 
 +  * L'attaquant envoie une requête au serveur en stipulant une route de communication qui passe par l'adresse IP réelle de l'attaquant, 
 +  * L'attaquant reprend son adresse IP réelle, 
 +  * Le serveur accepte la requête car elle provient d'une adresse IP à laquelle il peux faire confiance et renvoie une réponse en utilisant la route spécifiée par l'attaquant, 
 +  * Le client utilise la route spécifiée par l'attaquant pour répondre au serveur.
  
-La technique des disques en miroir consiste à dupliquer l'écriture des données sur plusieurs disques. Le miroir peut être géré par un logiciel ou par du matériel.+====Déni de Service (DoS)====
  
-====Bandes de données====+Une attaque de déni de service consiste à rendre inopérable une machine en lui envoyant une grande quantité de données inutiles. Un exemple de ce type d'attaque s'appelle un //ping flood// :
  
-La technique des bandes de donnéesautrement appelée //data striping// consiste à couper les données à enregistrer en segments séquentiels et contigus pour les enregistrer sur plusieurs disques physiques. L'ensemble des segments constitue alors un disque logique ou //striped disk//. Cette technique peut être améliorée en déposant une bande de parité, calculée à partir des données des autres bandes, afin de pouvoir reconstituer une bande de données défaillante.+  * L'attaquant prend l'adresse IP de sa cible, 
 +  * Il envoie ensuite un ping à une machine de diffusion, 
 +  * La machine de diffusion envoie ce même ping à un grand nombre de clients en spécifiant l'origine de la requête, 
 +  * L'attaquant reprend son adresse IP d'origine, 
 +  * Tous les clients renvoie une réponse au ping //en même temps// à la cible.
  
-=====Types de RAID=====+====SYN Flooding====
  
-====RAID 0 Concaténation====+Le **SYN Flooding**, aussi appelé un //SYN-ACK Attack//, consiste à envoyer vers une cible de multiples paquets **SYN** très rapidement. La cible répond à chaque paquet reçu avec un paquet **ACK** et attend une réponse **ACK** de l'attaquant. A ce stade pour chaque ACK renvoyé par la cible, une connexion dite //semi-ouverte// existe entre les deux machines. La cible doit réserver une petite partie de sa mémoire pour chaque connexion semi-ouverte jusqu'au //time-out// de la dite semi-connexion. Si l'attaquant envoie très rapidement des paquets SYN, le système de time-out n'a pas la possibilité d'expirer les semi-connexions précédentes. Dans ce cas la mémoire de la cible se remplit et on obtient un //buffer overflow//.
  
-Création de volume par récupération de l'espace libre sur un ou plusieurs disques. Le principe de la concaténation est la création d'un volume à bandes où chaque bande est une tranche.+====Flood====
  
-{{:linux:raid0c.gif|}}+Le **Flood** consiste à envoyer très rapidement des gros paquets **ICMP** vers la cible.
  
-===Avantages===+=====Le Contre-Mesure=====
  
-  * Récupération de l'espace disque.+Le contre-mesure est principalement l'utilisation d'un pare-feu.
  
-===Inconvénients===+====Le Pare-feu Netfilter/iptables=====
  
-  Pas de protection des données, +**Netfilter** est composé de 5 //hooks/:
-  Pas d'augmentation des performances d'E/S.+
  
-====RAID 0 - Striping====+  * NF_IP_PRE_ROUTING 
 +  * NF_IP_LOCAL_IN 
 +  * NF_IP_LOCAL_OUT 
 +  * NF_IP_FORWARD 
 +  * NF_IP_POSTROUTING
  
-Création de volume sur plusieurs disques afin d'augmenter les performances d'E/S. Le principe du striping est la création d'un volume à bandes réparties sur plusieurs tranches. La taille de la bande doit être fonction des données à écrire sur le volume (16k, 32k, 64k, etc.) Cette taille est choisie à la création du volume.+Ces hooks sont utilisés par deux branches, la première est celle concernée par les paquets qui entrent vers des services locaux :
  
-{{:linux:raid0s.gif|}}+  * NF_IP_PRE_ROUTING > NF_IP_LOCAL_IN > NF_IP_LOCAL_OUT > NF_IP_POSTROUTING
  
-===Avantages===+tandis que la deuxième concerne les paquets qui traversent la passerelle:
  
-  * Augmentation des performances d'E/S par écriture en parallèle sur les disques.+  * NF_IP_PRE_ROUTING > NF_IP_FORWARD > NF_IP_POSTROUTING
  
-===Inconvénients===+Si IPTABLES a été compilé en tant que module, son utilisation nécessite le chargement de plusieurs modules supplémentaires en fonction de la situation:
  
-  * Pas de protection des données.+  * iptable_filter 
 +  * iptable_mangle 
 +  * iptable_net 
 +  * etc
  
-====RAID 1 - Miroir====+Netfilter est organisé en **tables**. La commande **iptables** de netfilter permet d'insérer des **policies** dans les **chaines**:
  
-Création d'un volume où les disques sont en miroir. Quand les deux disques sont connectés à des contrôleurs de disques différentson parle de //duplexing// :+  * La table **FILTER** 
 +    * La chaîne INPUT 
 +      * Concerne les paquets entrants 
 +        * Policies: ACCEPT, DROP, REJECT 
 +    * La chaîne OUTPUT 
 +      * Concerne les paquets sortants 
 +        * Policies: ACCEPTDROP, REJECT 
 +    * La chaîne FORWARD 
 +      * Concerne les paquets traversant le par-feu. 
 +        * PoliciesACCEPT, DROP, REJECT
  
-{{:linux:raid1m.gif|}}+Si aucune table n'est précisée, c'est la table FILTER qui s'applique par défaut.
  
-===Avantages===+  * La table **NAT** 
 +    * La chaîne PREROUTING 
 +      * Permet de faire la translation d'adresse de destination 
 +        * Cibles: SNAT, DNAT, MASQUERADE 
 +    * La chaîne POSTROUTING 
 +      * Permet de faire la translation d'adresse de la source 
 +        * Cibles: SNAT, DNAT, MASQUERADE 
 +    * Le cas spécifique OUTPUT 
 +      * Permet la modification de la destination des paquets générés localement
  
-  * Protection des données contre une défaillance d'un disque.+  * La table **MANGLE** 
 +    * Permet le marquage de paquets générés localement (OUTPUT) et entrants (PREROUTING)
  
-===Inconvénients===+Les **policies** sont:
  
-  * Coûteux à cause de l'augmentation du nombre de disques.+  * ACCEPT 
 +    * Permet d'accepter le paquet concerné 
 +  * DROP 
 +    * Permet de rejeter le paquet concerné sans générer un message d'erreur 
 +  * REJECT 
 +    * Permet de rejeter le paquet concerné en générant une message d'erreur
  
-====RAID 1+0 - Striping en Miroir====+Les **cibles** sont:
  
-Le RAID 1+0 ou encore 0+1 est une technique qui réunit le RAID 0 et le RAID 1. On l'appelle aussi un RAID **exotique**:+  * SNAT 
 +    * Permet de modifier l'adresse source du paquet concerné 
 +  DNAT 
 +    Permet de modifier l'adresse de destination du paquet concerné 
 +  MASQUERADE 
 +    Permet de remplacer l'adresse IP privée de l'expéditeur par un socket public de la passerelle.
  
-{{:linux:raid10.gif|}}+IPTABLES peut être configuré soit par des outils tels shorewall, soit en utilisant des lignes de commandes ou un script. Dans ce dernier cas, la ligne prend la forme:
  
-===Avantages===+  # IPTABLES --action CHAINE --option1 --option2
  
-  * Protection des données contre une défaillance d'un disque. +Les actions sont:
-  * Augmentation des performances d'E/S par écriture en parallèle sur les disques.+
  
-===Inconvénients===+^  Action  ^  Abréviation  ^  Déscription 
 +| - -append |  -A  | Ajouter une règle à la fin de la chaîne spécifiée |  
 +| - -delete |  -D  | Supprimer une règle en spécifiant son numéro ou la règle à supprimer |  
 +| - -replace |  -R  | Permet de remplacer la règle spécifée par son numéro |  
 +| - -insert |  -I  | Permet d'insérer une règle à l'endroit spécifié |  
 +| - -list |  -L  | Permet d'afficher des règles | 
 +| - -flush |  -F  | Permet de vider toutes les règles d'une chaîne |  
  
-  * Coûteux à cause de l'augmentation du nombre de disques.+Les options sont:
  
-====RAID 2 Miroir avec Contrôle d'Erreurs====+^  Option  ^  Abréviation  ^  Déscription 
 +| - -protocol |  -p  | Permet de spécifier un protocol - tcp, udp, icmp, all |  
 +| - -source |  -s  | Permet de spécifier une adresse source |  
 +| - -destination |  -d  | Permet de spécifier une adresse de destination |  
 +| - -in-interface |  -i  | Permet de spécifier une interface réseau d'entrée |  
 +| - -out-interface |  -o  | Permet de spécifier une interface réseau de sortie | 
 +| - -fragment |  -f  | Permet de ne spécifier que les paquets fragmentés |   
 +| - -source-port |  -sport  | Permet de spécifier un port source ou une plage de ports source |  
 +| - -destination-port |  -dport  | Permet de spécifier un port de destination ou une plage de ports de destination |  
 +| - -tcp-flags |  s/o  | Permet de spécifier un flag TCP à matcher - SYN, ACK, FIN, RST, URG, PSH, ALL, NONE |  
 +| - -icmp-type |  s/o  | Permet de spécifier un type de paquet ICMP | 
 +| - -mac-source |  s/o  | Permet de spécifier une adresse MAC | 
  
-Le RAID 2 est une technique de miroir avec contrôle de correction d'erreurs (EEC). De nos jours cette technique est peu utilisée, ayant été remplacée par les RAID 3, 4 et 5.+Les options spécifiques à NET sont:
  
-====RAID 3 et 4 Striping avec Parité====+-to-destination |  s/o  | Permet de spécifier l'adresse de destination d'une translation |  
 +| - -to-source |  s/o  | Permet spécifier l'adresse source d'une translation | 
  
-Les RAID 3 et 4 sont des technologies avec bandes de parité distribuées sur un seul disque :+Les options spécifiques aux LOGS sont:
  
-{{:linux:raid34.gif|}}+- -log-level |  s/o  | Permet de spécifier le niveau de logs |  
 +| - -log-prefix |  s/o  | Permet de spécifier un préfix pour les logs |
  
-En RAID 3, la taille des segments n’est pas modifiable et est fixée à 512 octets (en RAID 3 un segment = un secteur de disque dur = 512 octets).+L'option spécifique au STATEFUL est:
  
-En RAID 4, la taille des segments est variable et se modifie en temps réel. Cela implique que les informations de parité doivent être mise à jour à chaque écriture afin de vérifier si la taille des segments a été modifiée. +| - -state |  s/o  | Permet de spécifier l'état du paquet à vérifier 
  
-===Avantages===+Ce dernier cas fait référence au STATEFUL. Le STATEFUL est la capacité du par-feu à enregistrer dans une table spécifique, l'état des différentes connexions. Cette table s'appelle une **table d'état**. Le principe du fonctionnement de STATEFUL est simple, à savoir, si le paquet entrant appartient à une communication déjà établie, celui-ci n'est pas vérifié.
  
-  * Protection des données contre une défaillance d'un disque.+Il existe 4 états:
  
-===Inconvénients===+  * NEW 
 +    * Le paquet concerne une nouvelle connexion et contient donc un flag SYN à 1 
 +  * ESTABLISHED 
 +    * Le paquet concerne une connexion déjà établie. Le paquet ne doit contenir **ni** flag SYN à 1, **ni** flag FIN à 1 
 +  * RELATED 
 +    * Le paquet est d'une connexion qui présente une relation avec une autre connexion 
 +  * INVALID 
 +    * La paquet provient d'une connexion anormale.
  
-  * Création d'un goulot d'étranglement des données à cause de l'écriture des données de parité sur un seul disque.+====LAB #1 - Configuration par Scripts sous RHEL/CentOS 6 et versions Antérieures====
  
-====RAID 5 - Striping avec Parité Distribuée====+Dans l'exemple suivant, expliquez le fonctionnement du script en détaillant les règles écrites :
  
-Le RAID 5 est une technologie avec bandes de parité distribuées sur plusieurs disques :+<file> 
 +#!/bin/bash 
 +##################################### 
 +# proxy server IP 
 +PROXY_SERVER="192.168.1.2" 
 +# Interface connected to Internet 
 +INTERNET="eth1" 
 +# Interface connected to LAN 
 +LAN_IN="eth0" 
 +# Local Interface 
 +LOCAL="lo" 
 +# Squid port 
 +PROXY_PORT="8080" 
 +# DO NOT MODIFY BELOW 
 +# Clean old firewall 
 +iptables -F 
 +iptables -X 
 +iptables -t nat -F 
 +iptables -t nat -X 
 +iptables -t mangle -F 
 +iptables -t mangle -X 
 +# Load IPTABLES modules for NAT and IP conntrack support 
 +modprobe ip_conntrack 
 +modprobe ip_conntrack_ftp 
 +# For win xp ftp client 
 +modprobe ip_nat_ftp 
 +echo 1 > /proc/sys/net/ipv4/ip_forward 
 +# Setting default filter policy 
 +iptables -P INPUT DROP 
 +iptables -P OUTPUT ACCEPT 
 +# Unlimited access to loop back 
 +iptables -A INPUT -i lo -j ACCEPT 
 +iptables -A OUTPUT -o lo -j ACCEPT 
 +# Allow UDP, DNS and Passive FTP 
 +iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT 
 +# set this system as a router for Rest of LAN 
 +iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE 
 +iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT 
 +# unlimited access to LAN 
 +iptables -A INPUT -i $LAN_IN -j ACCEPT 
 +iptables -A OUTPUT -o $LAN_IN -j ACCEPT 
 +# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy 
 +iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $PROXY_SERVER:$PROXY_PORT 
 +# iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128 
 +# if it is same system 
 +iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $PROXY_PORT 
 +# DROP everything and Log it 
 +iptables -A INPUT -j LOG 
 +iptables -A INPUT -j DROP 
 +</file>
  
-{{:linux:raid5.gif|}}+====LAB #2 - La Configuration par firewalld sous RHEL/CentOS 7====
  
-===Avantages===+firewalld est à Netfilter ce que NetworkManager est au réseau. firewalld utilise des **zones** - des jeux de règles pré-définis dans lesquels sont placés les interfaces :
  
-  * Protection des données contre une défaillance d'un disque+  * **trusted** - un réseau fiable. Dans ce cas tous les ports sont autorisés
-  * Evite le goulot d'étranglement d'un seul disque de parité.+  * **work**, **home**, **internal** - un réseau partiellement fiable. Dans ce cas quelques ports sont autorisés, 
 +  * **dmz**, **public**, **external** - un réseau non fiable. Dans ce cas peu de ports sont autorisés, 
 +  * **block**, **drop** - tout est interdit. La zone drop n'envoie pas de messages d'erreurs.
  
-===Inconvénients===+<WRAP center round important 50%> 
 +**Important** - Une interface ne peut être que dans une zone à la fois tandis que plusieurs interfaces peuvent être dans la même zone. 
 +</WRAP>
  
-  * Lecture moins performante qu'avec RAID 3 et 4.+Le service firewalld doit toujours être lancé :
  
-====Au délà de RAID 5====+<code> 
 +[root@centos7 ~]# systemctl status firewalld.service 
 +firewalld.service - firewalld - dynamic firewall daemon 
 +   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) 
 +   Active: active (running) since Tue 2015-07-07 15:53:56 CEST; 1 day 21h ago 
 + Main PID: 493 (firewalld) 
 +   CGroup: /system.slice/firewalld.service 
 +           └─493 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
  
-Il existe aussi deux autres technologies RAID, toute deux issues de la technologie RAID 5 :+Jul 07 15:53:56 centos7.fenestros.loc systemd[1]: Started firewalld - dynamic firewall daemon. 
 +</code>
  
-  * RAID 6 +===La Configuration de Base de firewalld===
-    * //Disk Striping with Double Distributed Parity// +
-  * RAID TP +
-    * //Disk Striping with Triple Distributed Parity//+
  
-=====RAID Logiciel sous CentOS=====+La configuration par défaut de firewalld se trouve dans **/usr/lib/firewalld** :
  
-====Préparation du disque====+<code> 
 +[root@centos7 ~]# ls -l /usr/lib/firewalld/ 
 +total 12 
 +drwxr-x---. 2 root root 4096 Jun  4 09:52 icmptypes 
 +drwxr-x---. 2 root root 4096 Jun  4 09:52 services 
 +drwxr-x---. 2 root root 4096 Jun  4 09:52 zones 
 +[root@centos7 ~]# ls -l /usr/lib/firewalld/zones 
 +total 36 
 +-rw-r-----. 1 root root 299 Mar  6 00:35 block.xml 
 +-rw-r-----. 1 root root 293 Mar  6 00:35 dmz.xml 
 +-rw-r-----. 1 root root 291 Mar  6 00:35 drop.xml 
 +-rw-r-----. 1 root root 304 Mar  6 00:35 external.xml 
 +-rw-r-----. 1 root root 400 Mar  6 00:35 home.xml 
 +-rw-r-----. 1 root root 415 Mar  6 00:35 internal.xml 
 +-rw-r-----. 1 root root 315 Mar  6 00:35 public.xml 
 +-rw-r-----. 1 root root 162 Mar  6 00:35 trusted.xml 
 +-rw-r-----. 1 root root 342 Mar  6 00:35 work.xml 
 +[root@centos7 ~]# ls -l /usr/lib/firewalld/services 
 +total 192 
 +-rw-r-----. 1 root root 412 Mar  6 00:35 amanda-client.xml 
 +-rw-r-----. 1 root root 320 Mar  6 00:35 bacula-client.xml 
 +-rw-r-----. 1 root root 346 Mar  6 00:35 bacula.xml 
 +-rw-r-----. 1 root root 305 Mar  6 00:35 dhcpv6-client.xml 
 +-rw-r-----. 1 root root 234 Mar  6 00:35 dhcpv6.xml 
 +-rw-r-----. 1 root root 227 Mar  6 00:35 dhcp.xml 
 +-rw-r-----. 1 root root 346 Mar  6 00:35 dns.xml 
 +-rw-r-----. 1 root root 374 Mar  6 00:35 ftp.xml 
 +-rw-r-----. 1 root root 476 Mar  6 00:35 high-availability.xml 
 +-rw-r-----. 1 root root 448 Mar  6 00:35 https.xml 
 +-rw-r-----. 1 root root 353 Mar  6 00:35 http.xml 
 +-rw-r-----. 1 root root 372 Mar  6 00:35 imaps.xml 
 +-rw-r-----. 1 root root 454 Mar  6 00:35 ipp-client.xml 
 +-rw-r-----. 1 root root 427 Mar  6 00:35 ipp.xml 
 +-rw-r-----. 1 root root 517 Mar  6 00:35 ipsec.xml 
 +-rw-r-----. 1 root root 233 Mar  6 00:35 kerberos.xml 
 +-rw-r-----. 1 root root 221 Mar  6 00:35 kpasswd.xml 
 +-rw-r-----. 1 root root 232 Mar  6 00:35 ldaps.xml 
 +-rw-r-----. 1 root root 199 Mar  6 00:35 ldap.xml 
 +-rw-r-----. 1 root root 385 Mar  6 00:35 libvirt-tls.xml 
 +-rw-r-----. 1 root root 389 Mar  6 00:35 libvirt.xml 
 +-rw-r-----. 1 root root 424 Mar  6 00:35 mdns.xml 
 +-rw-r-----. 1 root root 211 Mar  6 00:35 mountd.xml 
 +-rw-r-----. 1 root root 190 Mar  6 00:35 ms-wbt.xml 
 +-rw-r-----. 1 root root 171 Mar  6 00:35 mysql.xml 
 +-rw-r-----. 1 root root 324 Mar  6 00:35 nfs.xml 
 +-rw-r-----. 1 root root 389 Mar  6 00:35 ntp.xml 
 +-rw-r-----. 1 root root 335 Mar  6 00:35 openvpn.xml 
 +-rw-r-----. 1 root root 433 Mar  6 00:35 pmcd.xml 
 +-rw-r-----. 1 root root 474 Mar  6 00:35 pmproxy.xml 
 +-rw-r-----. 1 root root 544 Mar  6 00:35 pmwebapis.xml 
 +-rw-r-----. 1 root root 460 Mar  6 00:35 pmwebapi.xml 
 +-rw-r-----. 1 root root 357 Mar  6 00:35 pop3s.xml 
 +-rw-r-----. 1 root root 181 Mar  6 00:35 postgresql.xml 
 +-rw-r-----. 1 root root 261 Mar  6 00:35 proxy-dhcp.xml 
 +-rw-r-----. 1 root root 446 Mar  6 00:35 radius.xml 
 +-rw-r-----. 1 root root 517 Mar  6 00:35 RH-Satellite-6.xml 
 +-rw-r-----. 1 root root 214 Mar  6 00:35 rpc-bind.xml 
 +-rw-r-----. 1 root root 384 Mar  6 00:35 samba-client.xml 
 +-rw-r-----. 1 root root 461 Mar  6 00:35 samba.xml 
 +-rw-r-----. 1 root root 550 Mar  6 00:35 smtp.xml 
 +-rw-r-----. 1 root root 463 Mar  6 00:35 ssh.xml 
 +-rw-r-----. 1 root root 393 Mar  6 00:35 telnet.xml 
 +-rw-r-----. 1 root root 301 Mar  6 00:35 tftp-client.xml 
 +-rw-r-----. 1 root root 437 Mar  6 00:35 tftp.xml 
 +-rw-r-----. 1 root root 211 Mar  6 00:35 transmission-client.xml 
 +-rw-r-----. 1 root root 475 Mar  6 00:35 vnc-server.xml 
 +-rw-r-----. 1 root root 310 Mar  6 00:35 wbem-https.xml 
 +[root@centos7 ~]# ls -l /usr/lib/firewalld/icmptypes/ 
 +total 36 
 +-rw-r-----. 1 root root 222 Mar  6 00:35 destination-unreachable.xml 
 +-rw-r-----. 1 root root 173 Mar  6 00:35 echo-reply.xml 
 +-rw-r-----. 1 root root 210 Mar  6 00:35 echo-request.xml 
 +-rw-r-----. 1 root root 225 Mar  6 00:35 parameter-problem.xml 
 +-rw-r-----. 1 root root 185 Mar  6 00:35 redirect.xml 
 +-rw-r-----. 1 root root 227 Mar  6 00:35 router-advertisement.xml 
 +-rw-r-----. 1 root root 223 Mar  6 00:35 router-solicitation.xml 
 +-rw-r-----. 1 root root 248 Mar  6 00:35 source-quench.xml 
 +-rw-r-----. 1 root root 253 Mar  6 00:35 time-exceeded.xml 
 +</code>
  
-===Partitionnement=== +Ces fichiers sont au format **xml**, par exemple :
- +
-Suite à votre LAB de la leçon **Gestion des Disques et le Swap**, votre disque comporte 12 partitions :+
  
 <code> <code>
-[root@centos7 ~]# fdisk -l+[root@centos7 ~]# cat /usr/lib/firewalld/zones/home.xml  
 +<?xml version="1.0" encoding="utf-8"?> 
 +<zone> 
 +  <short>Home</short> 
 +  <description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> 
 +  <service name="ssh"/> 
 +  <service name="ipp-client"/> 
 +  <service name="mdns"/> 
 +  <service name="samba-client"/> 
 +  <service name="dhcpv6-client"/> 
 +</zone> 
 +</code>
  
-Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors +La configuration de firewalld ainsi que les définitions et règles personnalisées se trouvent dans **/etc/firewalld** :
-Units = sectors of 1 512 = 512 bytes +
-Sector size (logical/physical): 512 bytes / 512 bytes +
-I/O size (minimum/optimal): 512 bytes / 512 bytes +
-Disk label type: dos +
-Disk identifier0x000c5a90+
  
-   Device Boot      Start         End      Blocks   Id  System +<code> 
-/dev/sda1          2048      411647      204800   83  Linux +[root@centos7 ~]# ls -l /etc/firewalld/ 
-/dev/sda2          411648    20891647    10240000   83  Linux +total 8 
-/dev/sda3        20891648    25083903     2096128   82  Linux swap / Solaris +-rw-r-----. 1 root root 1026 Mar  6 00:35 firewalld.conf 
-/dev/sda4        25083904    41943039     8429568    5  Extended +drwxr-x---. 2 root root    6 Mar  6 00:35 icmptypes 
-/dev/sda5        25085952    26109951      512000   fd  Linux raid autodetect +-rw-r-----. 1 root root  271 Mar  6 00:35 lockdown-whitelist.xml 
-/dev/sda6        26112000    26521599      204800   8e  Linux LVM +drwxr-x---. 2 root root    6 Mar  6 00:35 services 
-/dev/sda7        26523648    27138047      307200   8e  Linux LVM +drwxr-x---. 2 root root   23 Mar  6 00:35 zones 
-/dev/sda8        27140096    28164095      512000   fd  Linux raid autodetect +[root@centos7 ~]# ls -l /etc/firewalld/zones/ 
-/dev/sda9        28166144    28985343      409600   8e  Linux LVM +total 4 
-/dev/sda10       28987392    30011391      512000   fd  Linux raid autodetect +-rw-r--r--. 1 root root 315 Mar  8 14:05 public.xml 
-/dev/sda11       30013440    31037439      512000   fd  Linux raid autodetect +[root@centos7 ~]# ls -l /etc/firewalld/services
-/dev/sda12       31039488    31449087      204800   83  Linux+total 0 
 +[root@centos7 ~]# ls -l /etc/firewalld/icmptypes
 +total 0
 </code> </code>
  
-====Mise en Place du RAID 5 Logiciel====+Le fichier de configuration de firewalld est **/etc/firewalld/firewalld.conf** :
  
-Dans le cas de cet exemple les quatre partitions concernées par la mise en place d'un RAID 5 sont :+<code> 
 +[root@centos7 ~]# cat /etc/firewalld/firewalld.conf  
 +# firewalld config file
  
-<file> +# default zone 
-/dev/sda5        25085952    26109951      512000   fd  Linux raid autodetect +# The default zone used if an empty zone string is used. 
-/dev/sda8        27140096    28164095      512000   fd  Linux raid autodetect +# Default: public 
-/dev/sda10       28987392    30011391      512000   fd  Linux raid autodetect +DefaultZone=public
-/dev/sda11       30013440    31037439      512000   fd  Linux raid autodetect +
-</file>+
  
-La création d'une unité RAID avec la commande **mdadm** se fait grâce aux options passées en arguments à la commande :+# Minimal mark 
 +# Marks up to this minimum are free for use for example in the direct  
 +# interface. If more free marks are needed, increase the minimum 
 +# Default100 
 +MinimalMark=100
  
-<code> +# Clean up on exit 
-mdadm --create <unité RAID> [options] <unités physiques> +# If set to no or false the firewall configuration will not get cleaned up 
-</code>+# on exit or stop of firewalld 
 +# Default: yes 
 +CleanupOnExit=yes
  
-Par exemplesaisissez la commande suivante :+# Lockdown 
 +# If set to enabledfirewall changes with the D-Bus interface will be limited 
 +# to applications that are listed in the lockdown whitelist. 
 +# The lockdown whitelist file is lockdown-whitelist.xml 
 +# Defaultno 
 +Lockdown=no 
 + 
 +# IPv6_rpfilter 
 +# Performs a reverse path filter test on a packet for IPv6. If a reply to the 
 +# packet would be sent via the same interface that the packet arrived on, the  
 +# packet will match and be accepted, otherwise dropped. 
 +# The rp_filter for IPv4 is controlled using sysctl. 
 +# Default: yes 
 +IPv6_rpfilter=yes
  
-<code> 
-[root@centos7 ~]# mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda5 /dev/sda8 /dev/sda11 
-mdadm: Defaulting to version 1.2 metadata 
-mdadm: array /dev/md1 started. 
 </code> </code>
  
-Les options dans la ligne de commande sont :+===La Commande firewall-cmd===
  
-^ Option Courte ^ Option Longue ^ Description ^ +firewalld s'appuie sur netfilter. Pour cette raison, l'utilisation de firewall-cmd est incompatible avec l'utilisation des commandes iptables et system-config-firewall.
--l - -level | Le niveau RAID - **linear, 0,1,2,4 ou 5** | +
-| -n | - -raid-devices=<nombre> | Le nombre de périphériques actifs dans le RAID |+
  
-Les autres options de la commande **mdadm** peuvent être visualisées grâce à la commande suivante :+<WRAP center round important 50%> 
 +**Important** - firewall-cmd est le front-end de firewalld en ligne de commande. Il existe aussi la commande **firewall-config** qui lance un outi de configuration graphique. 
 +</WRAP> 
 + 
 +Pour obtenir la liste de toutes les zones prédéfinies, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --help-options +[root@centos7 ~]# firewall-cmd --get-zones 
-Any parameter that does not start with '-' is treated as a device name +block dmz drop external home internal public trusted work 
-or, for --examine-bitmap, a file name. +</code>
-The first such name is often the name of an md device.  Subsequent +
-names are often names of component devices.+
  
-Some common options are: +Pour obtenir la liste de toutes les services prédéfinisutilisez la commande suivante :
-  --help        -h   : General help message or, after above option, +
-                       mode specific help message +
-  --help-options     : This help message +
-  --version     -V   : Print version information for mdadm +
-  --verbose     -v   : Be more verbose about what is happening +
-  --quiet       -q   : Don't print un-necessary messages +
-  --brief       -b   : Be less verbose, more brief +
-  --export      -Y   : With --detail--detail-platform or --examine use +
-                       key=value format for easy import into environment +
-  --force       -f   Override normal checks and be more forceful+
  
-  --assemble    -A   : Assemble an array +<code> 
-  --build       -B   : Build an array without metadata +[root@centos7 ~]# firewall-cmd --get-services 
-  --create      -C   : Create a new array +RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
-  --detail      -D   : Display details of an array +
-  --examine     -E   : Examine superblock on an array component +
-  --examine-bitmap -X: Display the detail of a bitmap file +
-  --examine-badblocks: Display list of known bad blocks on device +
-  --monitor     -F   : monitor (follow) some arrays +
-  --grow        -G   : resize/ reshape and array +
-  --incremental -I   : add/remove a single device to/from an array as appropriate +
-  --query       -Q   : Display general information about how a +
-                       device relates to the md driver +
-  --auto-detect      : Start arrays auto-detected by the kernel+
 </code> </code>
  
-Les //modes majeurs// de la commande **mdadm** peuvent être visualisés grâce à la commande suivante :+Pour obtenir la liste de toutes les types ICMP prédéfinis, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --help +[root@centos7 ~]# firewall-cmd --get-icmptypes 
-mdadm is used for building, managing, and monitoring +destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded
-Linux md devices (aka RAID arrays) +
-Usage: mdadm --create device options... +
-            Create a new array from unused devices. +
-       mdadm --assemble device options... +
-            Assemble a previously created array. +
-       mdadm --build device options... +
-            Create or assemble an array without metadata. +
-       mdadm --manage device options... +
-            make changes to an existing array. +
-       mdadm --misc options... devices +
-            report on or modify various md related devices. +
-       mdadm --grow options device +
-            resize/reshape an active array +
-       mdadm --incremental device +
-            add/remove a device to/from an array as appropriate +
-       mdadm --monitor options... +
-            Monitor one or more array for significant changes. +
-       mdadm device options... +
-            Shorthand for --manage. +
-Any parameter that does not start with '-' is treated as a device name +
-or, for --examine-bitmap, a file name. +
-The first such name is often the name of an md device.  Subsequent +
-names are often names of component devices. +
- +
- For detailed help on the above major modes use --help after the mode +
- e.g. +
-         mdadm --assemble --help +
- For general help on options use +
-         mdadm --help-options+
 </code> </code>
  
-Dernièrement, chaque //mode majeur// dispose de son propre aide :+Pour obtenir la liste des zones de la configuration courante, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --assemble --help +[root@centos7 ~]# firewall-cmd --get-active-zones 
-Usagemdadm --assemble device options... +public 
-       mdadm --assemble --scan options...+  interfacesenp0s3 
 +</code>
  
-This usage assembles one or more raid arrays from pre-existing +Pour obtenir la liste des zones de la configuration courante pour une interface spécifiqueutilisez la commande suivante :
-components. +
-For each arraymdadm needs to know the md device, the identity of +
-the array, and a number of sub devices. These can be found in a number +
-of ways.+
  
-The md device is given on the command line, is found listed in the +<code> 
-config file, or can be deduced from the array identity. +[root@centos7 ~]# firewall-cmd --get-zone-of-interface=enp0s3 
-The array identity is determined either from the --uuid, --name, or +public 
---super-minor commandline arguments, from the config file, +</code>
-or from the first component device on the command line.+
  
-The different combinations of these are as follows: +Pour obtenir la liste des services autorisés pour la zone public, utilisez la commande suivante :
- If the --scan option is not given, then only devices and identities +
- listed on the command line are considered. +
- The first device will be the array device, and the remainder will be +
- examined when looking for components. +
- If an explicit identity is given with --uuid or --super-minor, then +
- only devices with a superblock which matches that identity is considered, +
- otherwise every device listed is considered.+
  
- If the --scan option is given, and no devices are listed, then +<code> 
- every array listed in the config file is considered for assembly. +[root@centos7 ~]# firewall-cmd --zone=public --list-services 
- The identity of candidate devices are determined from the config file. +dhcpv6-client ssh 
- After these arrays are assembled, mdadm will look for other devices +</code>
- that could form further arrays and tries to assemble them.  This can +
- be disabled using the 'AUTO' option in the config file.+
  
- If the --scan option is given as well as one or more devicesthen +Pour obtenir toute la configuration pour la zone publicutilisez la commande suivante :
- Those devices are md devices that are to be assembled.  Their identity +
- and components are determined from the config file.+
  
- If mdadm can not find all of the components for an array, it will assemble +<code> 
- it but not activate it unless --run or --scan is given.  To preserve this +[root@centos7 ~]# firewall-cmd --zone=public --list-all 
- behaviour even with --scanadd --no-degraded.  Note that "all of the +public (defaultactive) 
- components" means as many as were present the last time the array was running +  interfaces: enp0s3 
- as recorded in the superblock.  If the array was already degraded, and +  sources:  
- the missing device is not a new problem, it will still be assembled.  It +  services: dhcpv6-client ssh 
- is only newly missing devices that cause the array not to be started.+  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +
  
-Options that are valid with --assemble (-A) are: 
-  --bitmap=          : bitmap file to use with the array 
-  --uuid=       -u   : uuid of array to assemble. Devices which don't 
-                       have this uuid are excluded 
-  --super-minor= -m  : minor number to look for in super-block when 
-                       choosing devices to use. 
-  --name=       -N   : Array name to look for in super-block. 
-  --config=     -c   : config file 
-  --scan        -s   : scan config file for missing information 
-  --run         -R   : Try to start the array even if not enough devices 
-                       for a full array are present 
-  --force       -f   : Assemble the array even if some superblocks appear 
-                     : out-of-date.  This involves modifying the superblocks. 
-  --update=     -U   : Update superblock: try '-A --update=?' for option list. 
-  --no-degraded      : Assemble but do not start degraded arrays. 
-  --readonly    -o   : Mark the array as read-only. No resync will start. 
 </code> </code>
  
-Constatez maintenant les informations concernant le RAID 5 créé :+Pour obtenir la liste complète de toutes les zones et leurs configurations, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# cat /proc/mdstat +[root@centos7 ~]# firewall-cmd --list-all-zones 
-Personalities [raid6] [raid5] [raid4]  +block 
-md1 active raid5 sda11[3] sda8[1] sda5[0] +  interfaces:  
-      1021952 blocks super 1.2 level 5512k chunk, algorithm 2 [3/3] [UUU] +  sources:  
-       +  services:  
-unused devices<none>+  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +dmz 
 +  interfaces:  
 +  sources:  
 +  services: ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +drop 
 +  interfaces:  
 +  sources:  
 +  services:  
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +external 
 +  interfaces:  
 +  sources:  
 +  services: ssh 
 +  ports:  
 +  masquerade: yes 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +home 
 +  interfaces:  
 +  sources:  
 +  services: dhcpv6-client ipp-client mdns samba-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +internal 
 +  interfaces:  
 +  sources:  
 +  services: dhcpv6-client ipp-client mdns samba-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +public (defaultactive) 
 +  interfaces: enp0s3 
 +  sources:  
 +  services: dhcpv6-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +trusted 
 +  interfaces:  
 +  sources:  
 +  services:  
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +work 
 +  interfaces:  
 +  sources:  
 +  services: dhcpv6-client ipp-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules
 </code> </code>
  
-Grâce à la commande mdadm, il est possible d'obtenir d'avantage d'informations :+Pour changer la zone par défaut de public à work, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --query /dev/md1 +[root@centos7 ~]# firewall-cmd --set-default-zone=work 
-/dev/md1: 998.17MiB raid5 3 devices, 0 spares. Use mdadm --detail for more detail.+success 
 +[root@centos7 ~]# firewall-cmd --get-active-zones 
 +work 
 +  interfaces: enp0s3
 </code> </code>
  
-L'option **- -detail** produit le résultat suivant :+Pour ajouter l'interface ip_fixe à la zone work, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --detail /dev/md1 +[root@centos7 ~]# firewall-cmd --zone=work --add-interface=ip_fixe 
-/dev/md1: +success 
-        Version : 1.2 +[root@centos7 ~]# firewall-cmd --get-active-zones 
-  Creation Time : Tue Aug  2 15:10:12 2016 +work 
-     Raid Level : raid5 +  interfacesenp0s3 ip_fixe 
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +</code>
-  Used Dev Size 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time Tue Aug  2 15:10:17 2016 +Pour supprimer l'interface ip_fixe à la zone work, utilisez la commande suivante :
-          State : clean  +
- Active Devices : 3 +
-Working Devices : 3 +
- Failed Devices : 0 +
-  Spare Devices : 0+
  
-         Layout : left-symmetric +<code> 
-     Chunk Size 512K+[root@centos7 ~]# firewall-cmd --zone=work --remove-interface=ip_fixe 
 +success 
 +[root@centos7 ~]# firewall-cmd --get-active-zones 
 +work 
 +  interfacesenp0s3 
 +</code>
  
-           Name centos7.fenestros.loc: (local to host centos7.fenestros.loc) +Pour ajouter le service **http** à la zone **work**, utilisez la commande suivante :
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +
-         Events : 18+
  
-    Number   Major   Minor   RaidDevice State +<code> 
-       0              5        0      active sync   /dev/sda5 +[root@centos7 ~]# firewall-cmd --zone=work --add-service=http 
-       1              8        1      active sync   /dev/sda8 +success 
-       3             11        2      active sync   /dev/sda11+[root@centos7 ~]# firewall-cmd --zone=work --list-services 
 +dhcpv6-client http ipp-client ssh
 </code> </code>
  
-Notez la ligne **Persistence : Superblock is persistent**. En effetcette implémentation de RAID inscrit les caractéristiques du volume dans un //super bloc// persistant en début de chaque unité de type bloc dans le volume.+Pour supprimer le service **http** de la zone **work**, utilisez la commande suivante :
  
-<WRAP center round todo+<code
-Recherchez la signification des termes Layout, Chunk size, Major et Minor. +[root@centos7 ~]# firewall-cmd --zone=work --remove-service=http 
-</WRAP>+success 
 +[root@centos7 ~]# firewall-cmd --zone=work --list-services 
 +dhcpv6-client ipp-client ssh 
 +</code>
  
-Cependantil necéssaire de renseigner le fichier **/etc/mdadm.conf** afin que le RAID soit contruit à chaque démarrage :+Pour ajouter un nouveau bloc ICMPutilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# echo 'DEVICES /dev/sda5 /dev/sda8 /dev/sda11' > /etc/mdadm.conf +[root@centos7 ~]# firewall-cmd --zone=work --add-icmp-block=echo-reply 
-[root@centos7 ~]# mdadm --detail --scan >> /etc/mdadm.conf  +success 
-[root@centos7 ~]# cat /etc/mdadm.conf +[root@centos7 ~]# firewall-cmd --zone=work --list-icmp-blocks 
-DEVICES /dev/sda5 /dev/sda8 /dev/sda11 +echo-reply
-ARRAY /dev/md1 metadata=1.2 name=centos7.fenestros.loc:1 UUID=fd8bac53:1457a4f4:30feab84:e0f9d8e0+
 </code> </code>
  
-Chaque unité peut être examinée individuellement :+Pour supprimer un bloc ICMP, utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --examine /dev/sda5 +[root@centos7 ~]# firewall-cmd --zone=work --remove-icmp-block=echo-reply 
-/dev/sda5: +success 
-          Magic : a92b4efc +[root@centos7 ~]# firewall-cmd --zone=work --list-icmp-blocks 
-        Version : 1.2 +[root@centos7 ~]#  
-    Feature Map : 0x0 +</code>
-     Array UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +
-           Name : centos7.fenestros.loc: (local to host centos7.fenestros.loc) +
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-   Raid Devices : 3+
  
- Avail Dev Size : 1021952 (499.08 MiB 523.24 MB) +Pour ajouter le port 591/tcp à la zone workutilisez la commande suivante :
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-    Data Offset : 2048 sectors +
-   Super Offset : 8 sectors +
-   Unused Space : before=1960 sectorsafter=0 sectors +
-          State : clean +
-    Device UUID : 4569e15e:20201bce:365776f2:75aed23f+
  
-    Update Time : Tue Aug  2 15:10:17 2016 +<code> 
-  Bad Block Log : 512 entries available at offset 72 sectors +[root@centos7 ~]# firewall-cmd --zone=work --add-port=591/tcp 
-       Checksum : 4c9948d0 correct +success 
-         Events : 18+[root@centos7 ~]# firewall-cmd --zone=work --list-ports 
 +591/tcp 
 +</code>
  
-         Layout left-symmetric +Pour supprimer le port 591/tcp à la zone work, utilisez la commande suivante :
-     Chunk Size : 512K+
  
-   Device Role : Active device 0 +<code> 
-   Array State : AAA ('A' == active, '.' == missing, 'R' == replacing)+[root@centos7 ~]# firewall-cmd --zone=work --remove-port=591/tcp 
 +success 
 +[root@centos7 ~]# firewall-cmd --zone=work --list-ports 
 +[root@centos7 ~]#
 </code> </code>
  
-A ce stade il est intéressant de noter comment réagir lors d'une défaillance d'un disque. Dans notre cas nous allons indiquer au système que la partition /dev/sda5 est devenue défaillante :+Pour créer un nouveau service, il convient de 
 + 
 +  * copier un fichier existant se trouvant dans le répertoire **/usr/lib/firewalld/services** vers **/etc/firewalld/services**, 
 +  * modifier le fichier, 
 +  * recharger la configuration de firewalld, 
 +  * vérifier que firewalld voit le nouveau service. 
 + 
 +Par exemple :
  
 <code> <code>
-[root@centos7 ~]# mdadm --manage --set-faulty /dev/md1 /dev/sda5 +[root@centos7 ~]# cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/filemaker.xml 
-mdadm: set /dev/sda5 faulty in /dev/md1+[root@centos7 ~]# 
 +[root@centos7 ~]# cat /etc/firewalld/services/filemaker.xml  
 +<?xml version="1.0" encoding="utf-8"?> 
 +<service> 
 +  <short>FileMakerPro</short> 
 +  <description>fichier de service firewalld pour FileMaker Pro</description> 
 +  <port protocol="tcp" port="591"/> 
 +</service> 
 +[root@centos7 ~]# 
 +[root@centos7 ~]# firewall-cmd --reload 
 +success 
 +[root@centos7 ~]# 
 +[root@centos7 ~]# firewall-cmd --get-services 
 +RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns filemaker ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
 </code> </code>
  
-L'utilisation de la ligne de commande suivante nous confirme le statut de /dev/sda5 :+===La Configuration Avancée de firewalld===
  
-<code> +La configuration de base de firewalld ne permet que la configuration des zones, services, blocs ICMP et les ports non-standard. Cependant firewalld peut également être configuré avec des **Rich Rules** ou **//Règles Riches//**Rich Rules ou Règles Riches évaluent des **critères** pour ensuite entreprendre une **action**
-[root@centos7 ~]# mdadm --detail /dev/md1 +
-/dev/md1: +
-        Version : 1.2 +
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-  Used Dev Size : 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time Tue Aug  2 15:14:59 2016 +Les **Critères** sont :
-          State : clean, degraded  +
- Active Devices : 2 +
-Working Devices : 2 +
- Failed Devices : 1 +
-  Spare Devices : 0+
  
-         Layout : left-symmetric +  * **source address="<adresse_IP>"** 
-     Chunk Size : 512K+  * **destination address="<adresse_IP>"**, 
 +  * **rule port port="<numéro_du_port>"**, 
 +  * **service name=<nom_d'un_sevice_prédéfini>**.
  
-           Name centos7.fenestros.loc: (local to host centos7.fenestros.loc) +Les **Actions** sont :
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +
-         Events : 20+
  
-    Number   Major   Minor   RaidDevice State +  * **accept**, 
-       0              0        0      removed +  * **reject**, 
-       1              8        1      active sync   /dev/sda8 +    * une Action reject peut être associée avec un message d'erreur spécifique par la clause **type="<type_d'erreur>**, 
-       3             11        2      active sync   /dev/sda11+  * **drop**.
  
-                    5             faulty   /dev/sda5+Saisissez la commande suivante pour ouvrir le port 80 : 
 + 
 +<code> 
 +[root@centos7 ~]# firewall-cmd --add-rich-rule='rule port port="80" protocol="tcp" accept' 
 +success
 </code> </code>
  
-Il est maintenant nécessaire de supprimer /dev/sda5 de notre RAID 5 :+<WRAP center round important 50%> 
 +**Important** - Notez que la Rich Rule doit être entourée de caractères **'**.  
 +</WRAP> 
 + 
 +Saisissez la commande suivante pour visualiser la règle iptables pour IPv4 :
  
 <code> <code>
-[root@centos7 ~]# mdadm --manage --remove /dev/md1 /dev/sda5 +[root@centos7 ~]# iptables --n | grep 80 
-mdadmhot removed /dev/sda5 from /dev/md1+ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 ctstate NEW
 </code> </code>
  
-A l'examen de notre RAID, on constate que /dev/sda5 a été supprimé :+Saisissez la commande suivante pour visualiser la règle iptables pour IPv6 :
  
 <code> <code>
-[root@centos7 ~]# mdadm --detail /dev/md1 +[root@centos7 ~]# ip6tables --n | grep 80 
-/dev/md1: +ACCEPT     udp      ::/0                 fe80::/64            udp dpt:546 ctstate NEW 
-        Version 1.2 +ACCEPT     tcp      ::/0                 ::/0                 tcp dpt:80 ctstate NEW 
-  Creation Time Tue Aug  2 15:10:12 2016 +</code>
-     Raid Level raid5 +
-     Array Size 1021952 (998.17 MiB 1046.48 MB) +
-  Used Dev Size 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices +
-  Total Devices 2 +
-    Persistence : Superblock is persistent+
  
-    Update Time : Tue Aug  2 15:16:41 2016 +<WRAP center round important 50%> 
-          State : cleandegraded  +**Important** - Notez que la Rich Rule a créé deux règlesune pour IPv4 et une deuxième pour IPv6. Une règle peut être créée pour IPv4 seul en incluant le Critère **family=ipv4**. De la même façon, une règle peut être créée pour IPv6 seul en incluant le Critère **family=ipv6**. 
- Active Devices : 2 +</WRAP>
-Working Devices : 2 +
- Failed Devices : 0 +
-  Spare Devices : 0+
  
-         Layout : left-symmetric +Cette nouvelle règle est écrite en mémoire mais non pas sur disque. Pour l'écrire sur disque dans le fichier zone se trouvant dans **/etc/firewalld**, il faut ajouter l'option **--permanent** :
-     Chunk Size 512K+
  
-           Name : centos7.fenestros.loc:1  (local to host centos7.fenestros.loc) +<code> 
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +[root@centos7 ~]# firewall-cmd --add-rich-rule='rule port port="80" protocol="tcp" accept' --permanent 
-         Events : 21 +success 
- +[root@centos7 ~]# 
-    Number   Major   Minor   RaidDevice State +[root@centos7 ~]# cat /etc/firewalld/zones/work.xml  
-       0              0        0      removed +<?xml version="1.0" encoding="utf-8"?> 
-                    8        1      active sync   /dev/sda8 +<zone> 
-       3             11        2      active sync   /dev/sda11+  <short>Work</short> 
 +  <description>For use in work areas. You mostly trust the other computers on networks to not harm your computerOnly selected incoming connections are accepted.</description> 
 +  <service name="ipp-client"/> 
 +  <service name="dhcpv6-client"/> 
 +  <service name="ssh"/> 
 +  <rule> 
 +    <port protocol="tcp" port="80"/> 
 +    <accept/> 
 +  </rule> 
 +</zone>
 </code> </code>
  
-Constatez maintenant l'existance de votre RAID :+<WRAP center round important 50%> 
 +**Important** - Attention ! La règle ajoutée avec l'option --permanent n'est pas prise en compte imédiatement mais uniquement au prochain redémmarge. Pour qu'une règle soit appliquée immédiatement **et** être écrite sur disque, il faut saisir la commande deux fois dont une avec l'option --permanent et l'autre sans l'option --permanent. 
 +</WRAP> 
 + 
 +Pour visualiser cette règle dans la configuration de firewalld, il convient de saisir la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# cat /proc/mdstat +[root@centos7 ~]# firewall-cmd --list-all-zones 
-Personalities [raid6] [raid5] [raid4]  +...  
-md1 active raid5 sda11[3] sda8[1] +work (default, active) 
-      1021952 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] +  interfacesenp0s3 
-       +  sources:  
-unused devices<none>+  services: dhcpv6-client ipp-client ssh 
 +  ports:  
 +  masqueradeno 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 + rule port port="80" protocol="tcp" accept 
 </code> </code>
  
-<WRAP center round important> +Notez que la Rich Rule est créée dans la Zone par Défaut. Il est possible de créer une Rich Rule dans une autre zone en utilisant l'option **--zone=<zone>** de la commande firewall-cmd :
-Notez que le RAID a été démarré avec 2 unités au lieu de trois. +
-</WRAP> +
- +
-Pour ajouter un autre disque à notre RAID afin de remplacer /dev/sda5 il convient d'utiliser l'option **--add** :+
  
 <code> <code>
-[root@centos7 ~]# mdadm --manage --add /dev/md1 /dev/sda10 +[root@centos7 ~]# firewall-cmd --zone=public --add-rich-rule='rule port port="80" protocol="tcp" accept' 
-mdadmadded /dev/sda10+success 
 +[root@centos7 ~]# firewall-cmd --list-all-zones 
 +... 
 +public 
 +  interfaces 
 +  sources:  
 +  services: dhcpv6-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 + rule port port="80" protocol="tcp" accept 
 +trusted 
 +  interfaces:  
 +  sources:  
 +  services:  
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 +  
 +work (default, active) 
 +  interfaces: enp0s3 
 +  sources:  
 +  services: dhcpv6-client ipp-client ssh 
 +  ports:  
 +  masquerade: no 
 +  forward-ports:  
 +  icmp-blocks:  
 +  rich rules:  
 + rule port port="80" protocol="tcp" accept
 </code> </code>
  
-L'exemen du RAID indique que /dev/sda10 a été ajouté en tant que //spare// et à l'issu de quelques minutes le RAID 5 a été reconstruite :+ 
 +Pour supprimer une Rich Rule, il faut copier la ligne entière la concernant qui se trouve dans la sortie de la commande **firewall-cmd --list-all-zones** :
  
 <code> <code>
-[root@centos7 ~]# mdadm --detail /dev/md1 +[root@centos7 ~]# firewall-cmd --zone=public --remove-rich-rule='rule port port="80" protocol="tcp" accept' 
-/dev/md1: +success 
-        Version : 1.2 +</code>
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-  Used Dev Size : 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time : Tue Aug  2 15:19:06 2016 +===Le mode Panic de firewalld===
-          State : clean  +
- Active Devices : 3 +
-Working Devices : 3 +
- Failed Devices : 0 +
-  Spare Devices : 0+
  
-         Layout left-symmetric +Le mode Panic de firewalld permet de bloquer tout le trafic avec une seule commande. Pour connaître l'état du mode Panic, utilisez la commande suivante :
-     Chunk Size : 512K+
  
-           Name : centos7.fenestros.loc: (local to host centos7.fenestros.loc) +<code> 
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +[root@centos7 ~]# firewall-cmd --query-panic 
-         Events : 40+no 
 +</code>
  
-    Number   Major   Minor   RaidDevice State +Pour activer le mode Panic, il convient de saisir la commande suivante : 
-       4             10        0      active sync   /dev/sda10 + 
-       1              8        1      active sync   /dev/sda8 +<code> 
-       3             11        2      active sync   /dev/sda11+[root@centos7 ~]# firewall-cmd --panic-on 
 +success 
 +[root@centos7 ~]# firewall-cmd --query-panic 
 +yes
 </code> </code>
  
-Naturellement, il necéssaire de renseigner le fichier **/etc/mdadm.conf** du changement afin que le RAID soit contruit à chaque démarrage :+Pour désactiver le mode Panic, il convient de saisir la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# echo 'DEVICES /dev/sda10 /dev/sda8 /dev/sda11' > /etc/mdadm.conf +[root@centos7 ~]# firewall-cmd --panic-off 
-[root@centos7 ~]# mdadm --detail --scan >> /etc/mdadm.conf  +success 
-[root@centos7 ~]# cat /etc/mdadm.conf +[root@centos7 ~]# firewall-cmd --query-panic 
-DEVICES /dev/sda10 /dev/sda8 /dev/sda11 +no
-ARRAY /dev/md1 metadata=1.2 name=centos7.fenestros.loc:1 UUID=fd8bac53:1457a4f4:30feab84:e0f9d8e0+
 </code> </code>
  
 ----- -----
-<html> + 
-<div align="center"> +Copyright © 2023 Hugh Norris.
-Copyright © 2020 Hugh Norris. +
-</html>+
Menu