Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:centos:6:avance:l107 [2020/08/08 12:14] adminelearning:workbooks:centos:6:avance:l107 [2023/02/15 15:56] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2021.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LCF307 - Gestion du Serveur NFS======+======LCF306 - Gestion de l'Authentification======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LCF307 - Gestion du Serveur NFS**+  * **LCF306 - Gestion de l'Authentification**
     * Contenu du Module     * Contenu du Module
-    * Présentation +    * Le Problématique 
-      * Les Services et Processus du Serveur NFSv3 +      * LAB #1 - John the Ripper 
-        Les Services RPC +    Surveillance Sécuritaire 
-      * Options d'un Partage NFS +      * La commande last 
-      * Commandes de Base +      * La commande lastlog 
-    * Installation +      * La Commande lastb 
-    * Mise en Place +      * /var/log/secure 
-      * Configuration du Serveur +    * Les Contre-Mesures 
-      * Configuration du Client +      * LAB #2 - Renforcer la sécurité des comptes 
-    * Surveillance du Serveur +    * LAB #3 - PAM sous RHEL/CentOS 7 
-      * La Commande rpcinfo +      * Bloquer un Compte après N Echecs de Connexion 
-      * La Commande nfsstat+      * Configuration 
 +    * LAB #4 - Mise en place du Système de Prévention d'Intrusion Fail2Ban 
 +      * Installation 
 +      * Configuration 
 +      * Le répertoire /etc/fail2ban 
 +        * Le fichier fail2ban.conf 
 +        * Le répertoire /etc/fail2ban/filter.d/ 
 +        * Le répertoire /etc/fail2ban/action.d/ 
 +      * Commandes 
 +        * Activer et Démarrer le Serveur 
 +        * Utiliser la Commande Fail2Ban-server 
 +        * Ajouter un Prison
  
-=====Présentation=====+=====Le Problématique=====
  
-Quand on parle de NFS, on parle d'**exportation** d'un répertoire sur le serveur afin que celui-ci puisse être vu par des clients sur le réseau. Ces clients peuvent ensuite monter le répertoire et l'utiliser comme si celui-ci faisait partie de son propre filesystem.+Un pirate peut utiliser un logiciel de **crackage** pour tenter de découvrir un mot de passe. Le plus connu est **[[http://www.dawal.org/article.php3?id_article=48|John The Ripper]]**.
  
-Le Network File System (NFS) est le protocole de partage de fichiers historique sur des systèmes UnixLors de l'introduction de Samba, NFS a vu sa popularité diminuée, essentiellement parce que la connexion est non-sécurisée :+Le principe de ces logiciels est simples - le logiciel utilise des dictionnaires de mots de passe qui sont utilisés le uns après les autres à une vitesse qui peut atteindre des milliers par seconde.
  
-  * le partage ainsi que ses caractéristiques sont configurés par rapport à l'adresse IP du client, or l'IP Spoofing est de plus en plus répandu, +====LAB #1 - John the Ripper====
-  * aucun mot de passe n'est demandé lors de la connexion d'un utilisateur à une ressource car le serveur NFS présume que l'utilisateur //jean// distant est le même utilisateur du compte //jean// sur le serveur NFS.+
  
-Cependant l'arrivée sur le marché de serveurs NAS domestiques ainsi que l'utilisation de la virtualisation dans le milieu professionnel fait que NFS connait un regain d'intérêt en tant que stockage mutualisé raid, simple à mettre en œuvre.+===Installation===
  
-Il existe actuellement 3 versions de NFS :+Créez le script suivant dans un terminal de RHEL/CentOS 7 en tant que root :
  
-^ Version ^ Protocole Utilisé ^ Dépendance ^ +<code> 
-| **NFSv2** | TCP et UDP | portmap | +[trainee@centos7 ~]$ su - 
-| **NFSv3** | TCP et UDP | portmap | +Password: fenestros 
-| **NFSv4** | TCP | Aucune les fonctions de portmap sont incluses dans NFSv4 |+Last login: Mon Apr 23 17:23:14 CEST 2018 on tty1 
 +[root@centos7 ~]# vi john.sh 
 +[root@centos7 ~]# cat john.sh 
 +#!/bin/bash 
 +# Centos 7 John the Ripper Installation 
 +yum -y install wget gpgme 
 +yum -y group install "Development Tools" 
 +cd 
 +wget http://www.openwall.com/john/j/john-1.8.0.tar.xz 
 +wget http://www.openwall.com/john/j/john-1.8.0.tar.xz.sign 
 +wget http://www.openwall.com/signatures/openwall-signatures.asc 
 +gpg --import openwall-signatures.asc 
 +gpg --verify john-1.8.0.tar.xz.sign 
 +tar xvfJ john-1.8.0.tar.xz 
 +cd john-1.8.0/src 
 +make clean linux-x86-64 
 +cd ../run/ 
 +./john --test 
 +#password dictionnary download 
 +wget -O - http://mirrors.kernel.org/openwall/wordlists/all.gz gunzip -c > openwall.dico 
 +</code>
  
-La version utilisée par défaut sous CentOS/Redhat est **NFSv3**.+Rendez-le exécutable :
  
-====Les Services et Processus du Serveur NFSv3====+<code> 
 +[root@centos7 ~]# chmod u+x john.sh  
 +</code>
  
-La version NFSv3 utilise les services suivants :+Exécutez le script :
  
-^ Services ^ Fonction ^ +<code> 
-| **nfs** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients | +[root@centos7 ~]# ./john.sh  
-| **nfslock** | Démarre les processus RPC qui permettent aux clients de verrouiller les fichiers sur le serveur +</code>
-| **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter |+
  
-===Les Services RPC===+===Utilisation===
  
-Les services RPC ( //Remote Procedure Calls// ou appel de procédures distantes ) ont été inventé par SUN Microsystem pour faciliter le travail des développeurs  de pous des échanges entre mchines distantesLes RPC s'appuient sur des numéros de programmes.+Placez-vous dans le répertoire **/root/john-1.8.0/run** :
  
-Lorsque le client veut faire une requête à un service RPC, il contacte en premier lieu le service **rpcbind** qui assigne un numéro de port au délà du numéro **32768** à un numéro de programme RPC.+<code> 
 +[root@centos7 ~]# cd john-1.8.0/run/ 
 +</code>
  
 +Utilisez l'utilitare **unshadow** pour créer le fichier des mots de passe :
  
-====Options d'un Partage NFS====+<code> 
 +[root@centos7 run]# ./unshadow /etc/passwd /etc/shadow > mypasswd 
 +</code>
  
-Certaines options, appliquées à un partage, modifient le comportement du serveur NFS pour le partage concerné lors de son démarrage :+Consultez le fichier **mypasswd** :
  
-^ Option ^ Comportement ^ +<code> 
-**ro** | Accès en lecture seule | +[root@centos7 run]# cat mypasswd 
-**rw** | Accès en lecture écriture | +root:$6$TX12b5lW9UXD8Ld6$l/PjTA.XrBAbsayGCaSFaM5ibLo2xBBeYNCyEdVv9uMUctxq9Q0YBxLwCvS2bCdgr.BeSmXvi6BwD55KKscaJ.:0:0:root:/root:/bin/bash 
-| **sync** | Ecriture synchrone ( écriture immédiate sur disque ) | +bin:*:1:1:bin:/bin:/sbin/nologin 
-**async** | Ecriture asynchrone ( écriture sur disque en utilisant une cache ) | +daemon:*:2:2:daemon:/sbin:/sbin/nologin 
-**root_squash** | Root perd ses prérogatives sur le partage concerné | +adm:*:3:4:adm:/var/adm:/sbin/nologin 
-| **no_root_squash** | Root garde ses prérogatives sur le partage concerné | +lp:*:4:7:lp:/var/spool/lpd:/sbin/nologin 
-**no_lock** | Pas de verrous sur les fichiers accédés | +sync:*:5:0:sync:/sbin:/bin/sync 
-| **all_squash** | Force la mapping de tous les utilisateurs vers l'utilisateur **nobody** | +shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown 
-| **anonuid** | Fixe l'UID de l'utilisateur anonyme | +halt:*:7:0:halt:/sbin:/sbin/halt 
-| **anongid** | Fixe le GID de l'utilisateur anonyme |+mail:*:8:12:mail:/var/spool/mail:/sbin/nologin 
 +operator:*:11:0:operator:/root:/sbin/nologin 
 +games:*:12:100:games:/usr/games:/sbin/nologin 
 +ftp:*:14:50:FTP User:/var/ftp:/sbin/nologin 
 +nobody:*:99:99:Nobody:/:/sbin/nologin 
 +avahi-autoipd:!!:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin 
 +systemd-bus-proxy:!!:999:997:systemd Bus Proxy:/:/sbin/nologin 
 +systemd-network:!!:998:996:systemd Network Management:/:/sbin/nologin 
 +dbus:!!:81:81:System message bus:/:/sbin/nologin 
 +polkitd:!!:997:995:User for polkitd:/:/sbin/nologin 
 +abrt:!!:173:173::/etc/abrt:/sbin/nologin 
 +usbmuxd:!!:113:113:usbmuxd user:/:/sbin/nologin 
 +colord:!!:996:993:User for colord:/var/lib/colord:/sbin/nologin 
 +libstoragemgmt:!!:995:992:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin 
 +setroubleshoot:!!:994:991::/var/lib/setroubleshoot:/sbin/nologin 
 +rpc:!!:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin 
 +rtkit:!!:172:172:RealtimeKit:/proc:/sbin/nologin 
 +chrony:!!:993:990::/var/lib/chrony:/sbin/nologin 
 +unbound:!!:992:989:Unbound DNS resolver:/etc/unbound:/sbin/nologin 
 +tss:!!:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin 
 +geoclue:!!:991:988:User for geoclue:/var/lib/geoclue:/sbin/nologin 
 +ntp:!!:38:38::/etc/ntp:/sbin/nologin 
 +sssd:!!:990:987:User for sssd:/:/sbin/nologin 
 +rpcuser:!!:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 
 +nfsnobody:!!:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 
 +pulse:!!:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin 
 +gdm:!!:42:42::/var/lib/gdm:/sbin/nologin 
 +gnome-initial-setup:!!:989:984::/run/gnome-initial-setup/:/sbin/nologin 
 +avahi:!!:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 
 +postfix:!!:89:89::/var/spool/postfix:/sbin/nologin 
 +sshd:!!:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 
 +tcpdump:!!:72:72::/:/sbin/nologin 
 +trainee:$6$4PW9kfdOIOmWmSSO$8vikc1pyXgVc.C8xKP5EvIbBwe1fWd3DSvgWGQ5FAr7jwyMCbLQOOWbvomS9z1Q6V8IqZjBSREWafNzOYjKqC0:1000:1000:trainee:/home/trainee:/bin/bash 
 +vboxadd:!!:988:1::/var/run/vboxadd:/bin/false 
 +</code>
  
-<WRAP center round important> +Lancez **john** pour craquer le fichier **mypasswd** :
-**Important** : Si plusieurs options sont spécifiées, celles-ci doivent être séparées par des virgules. +
-</WRAP>+
  
-====Commandes de Base====+<code> 
 +[root@centos7 run]# ./john mypasswd 
 +Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64]) 
 +Press 'q' or Ctrl-C to abort, almost any other key for status 
 +trainee          (trainee) 
 +1g 0:00:00:26 4% 2/3 0.03831g/s 230.1p/s 230.2c/s 230.2C/s Hanson..Kristine 
 +1g 0:00:00:27 4% 2/3 0.03658g/s 230.3p/s 230.4c/s 230.4C/s Ruthless..Tanner 
 +1g 0:00:00:28 4% 2/3 0.03549g/s 230.3p/s 230.3c/s 230.3C/s Bonjour..Blessing 
 +1g 0:00:00:36 5% 2/3 0.02775g/s 230.6p/s 230.7c/s 230.7C/s dances..olivias 
 +1g 0:00:01:14 10% 2/3 0.01348g/s 231.2p/s 231.2c/s 231.2C/s rabbitrabbit..dennisdennis 
 +1g 0:00:01:16 11% 2/3 0.01311g/s 231.1p/s 231.2c/s 231.2C/s grahamgraham..sharkshark 
 +1g 0:00:01:18 11% 2/3 0.01277g/s 231.2p/s 231.2c/s 231.2C/s reggiereggie..vickivicki 
 +1g 0:00:01:19 11% 2/3 0.01263g/s 231.1p/s 231.1c/s 231.1C/s javierjavier..melvinmelvin 
 +1g 0:00:01:20 12% 2/3 0.01244g/s 231.2p/s 231.2c/s 231.2C/s goldengolden..dixondixon 
 +1g 0:00:01:21 12% 2/3 0.01231g/s 231.2p/s 231.2c/s 231.2C/s obiwanobiwan..bytemebyteme 
 +1g 0:00:01:22 12% 2/3 0.01218g/s 231.1p/s 231.1c/s 231.1C/s suzysuzy..raeb 
 +1g 0:00:01:23 12% 2/3 0.01200g/s 231.1p/s 231.2c/s 231.2C/s xilef..ognimalf 
 +1g 0:00:01:24 12% 2/3 0.01188g/s 231.1p/s 231.2c/s 231.2C/s auhsoj..trebreh 
 +1g 0:00:01:25 12% 2/3 0.01171g/s 231.2p/s 231.2c/s 231.2C/s namgib..lareneg 
 +1g 0:00:02:34 21% 2/3 0.006482g/s 231.2p/s 231.2c/s 231.2C/s tinker3..ashraf3 
 +[q] <--------------------------------------------------------------------------------------appuyez sur la touche q 
 +Use the "--show" option to display all of the cracked passwords reliably 
 +Session aborted 
 +</code>
  
-Plusieurs commandes permettent de gérer et de s'informer sur l'activité du serveur NFS :+Consultez la liste des mots de passe craqués :
  
-^ Commande ^ Comportement ^ +<code> 
-| **exportfs** | Affiche les partages actifs sur le serveur courant | +[root@centos7 run]# ./john --show mypasswd 
-| **nfsstat** | Affiche les statistiques de l'activité NFS | +trainee:trainee:1000:1000:trainee:/home/trainee:/bin/bash
-| **rpcinfo** | Affiche les démons gérés en effectuant une requête RPC sur le serveur courant | +
-| **showmount** | Affiche les partages actifs sur un serveur distant | +
-| **mount** | Permet de monter un partage distant sur un répertoire local |+
  
-=====Mise en Place=====+1 password hash cracked, 1 left 
 +</code>
  
-====Configuration du Serveur====+=====Surveillance Sécuritaire=====
  
-<WRAP center round important> +====La commande last====
-**Important** : Arrêtez votre VM. Dans la fenêtre de Oracle VM VirtualBox, cliquez sur **Fichier > Paramètres > Réseau** et créez un réseau NAT appelé **NatNetwork**. Dans les paramètres de votre VM, cliquez sur **Réseau** et configurez la Carte 1 en Réseau NAT dans le réseau NatNetwork. Démarrez votre VM. +
-</WRAP>+
  
-Configurez votre interface réseau si ce n'est pas déjà fait :+Cette commande indique les dates et heures des connexions des utilisateurs à partir du contenu du fichier **/var/log/wtmp** :
  
 <code> <code>
-[root@centos7 ~]# nmcli connection add con-name ip_fixe ifname enp0s3 type ethernet ip4 10.0.2.16/24 gw4 10.0.2.2 +[root@centos7 ~]# last 
-Connection 'ip_fixe' (5ac899e6-3f7b-415e-b9d7-c950fab007d5successfully added+trainee  pts/2        10.0.2.2         Tue Jun 19 18:47   still logged in    
-[root@centos7 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 +trainee  pts/0        10.0.2.2         Tue Jun 19 17:29 - 19:49  (02:20)     
-[root@centos7 ~]# nmcli connection up ip_fixe  +trainee  pts/0        2.2.0.10.rev.sfr Tue Jun 19 16:37 - 17:28  (00:51)     
-Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) +trainee  pts/1        2.2.0.10.rev.sfr Tue Jun 19 12:24 - 17:28  (05:04)     
-[root@centos7 ~]# systemctl restart NetworkManager.service+trainee  pts/0        10.0.2.2         Tue Jun 19 11:26 - 16:36  (05:10)     
 +reboot   system boot  3.10.0-693.21.1. Tue Jun 19 11:25 - 01:03  (13:37)     
 +trainee  tty1                          Mon Apr 23 17:23 17:25  (00:02)     
 +reboot   system boot  3.10.0-693.21.1. Mon Apr 23 17:21 01:03 (57+07:41)   
 +trainee  pts/0        10.0.2.2         Mon Apr 23 12:04 17:21  (05:16    
 +reboot   system boot  3.10.0-327.13.1. Mon Apr 23 12:03 - 17:21  (05:17)     
 +reboot   system boot  3.10.0-327.13.1. Sat Apr 30 16:22 - 17:21 (723+00:59)  
 +trainee  pts/0        2.2.0.10.rev.sfr Sat Apr 30 16:20 - 16:21  (00:00)     
 +trainee  tty1                          Sat Apr 30 16:17 - 16:21  (00:03)     
 +reboot   system boot  3.10.0-327.13.1. Sat Apr 30 16:17 - 16:21  (00:04)     
 +trainee  pts/0        2.2.0.10.rev.sfr Sat Apr 30 16:11 - 16:17  (00:05)     
 +trainee  tty1                          Sat Apr 30 16:08 - 16:17  (00:08)     
 +reboot   system boot  3.10.0-327.13.1. Sat Apr 30 16:04 - 16:17  (00:13)     
 +trainee  tty1                          Sat Apr 30 15:46 - 16:03  (00:16)     
 +reboot   system boot  3.10.0-327.13.1. Sat Apr 30 15:32 - 16:03  (00:31)     
 +trainee  pts/1        gateway          Sat Apr 30 15:35 - 15:40  (00:05)     
 +trainee  pts/0        :0               Sat Apr 30 15:29 - 15:40  (00:10)     
 +trainee  :0           :              Sat Apr 30 15:29 - 15:40  (00:11)     
 +(unknown :0           :              Sat Apr 30 15:22 - 15:29  (00:06)     
 +reboot   system boot  3.10.0-327.13.1. Sat Apr 30 15:21 - 15:40  (00:19)     
 +trainee  pts/0        gateway          Sat Apr 30 15:12 - 15:27  (00:14)     
 +trainee  tty1                          Sat Apr 30 14:19 - 15:27  (01:07)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 14:19 - 15:27  (01:07)     
 +trainee  tty1                          Sat Apr 30 14:18 - 14:19  (00:00)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 14:18 - 14:19  (00:01)     
 +trainee  pts/0        10.0.2.2         Sat Apr 30 14:16 - 14:17  (00:01)     
 +trainee  tty1                          Sat Apr 30 14:15 - 14:17  (00:02)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 14:13 - 14:19  (00:06)     
 +trainee  pts/0        :0               Sat Apr 30 14:11 - 14:11  (00:00)     
 +trainee  :0           :              Sat Apr 30 14:10 - 14:11  (00:01)     
 +(unknown :0           :              Sat Apr 30 14:10 - 14:10  (00:00)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 14:09 - 14:11  (00:02)     
 +trainee  pts/0        :0               Sat Apr 30 12:38 - crash  (01:31)     
 +trainee  :0           :              Sat Apr 30 12:36 - crash  (01:33)     
 +(unknown :0           :              Sat Apr 30 12:34 - 12:36  (00:01)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 12:34 - 14:11  (01:37)     
 +trainee  tty1                          Sat Apr 30 12:19 - 12:28  (00:09)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 12:18 - 12:28  (00:10)     
 +trainee  pts/0        :0               Sat Apr 30 12:15 - 12:18  (00:03)     
 +trainee  :0           :              Sat Apr 30 12:14 - 12:18  (00:03)     
 +(unknown :0           :              Sat Apr 30 12:11 - 12:14  (00:02)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 12:10 - 12:28  (00:18)     
 +trainee  pts/1        :              Sat Apr 30 12:06 - 12:09  (00:03    
 +trainee  pts/1        :0               Sat Apr 30 12:01 - 12:02  (00:01)     
 +trainee  pts/0        :0               Sat Apr 30 11:57 - 12:09  (00:12)     
 +trainee  pts/0        :0               Sat Apr 30 11:55 - 11:56  (00:01)     
 +trainee  :0           :              Sat Apr 30 11:54 - 12:09  (00:15)     
 +(unknown :0           :              Sat Apr 30 11:53 - 11:54  (00:00)     
 +reboot   system boot  3.10.0-327.el7.x Sat Apr 30 11:43 - 12:28  (00:45)     
 + 
 +wtmp begins Sat Apr 30 11:43:38 2016    
 </code> </code>
  
-Ajoutez une autre adresse IP pour le NFS :+====La commande lastlog==== 
 + 
 +Cette commande indique les dates et heures de la connexion au système la plus récente des utilisateurs :
  
 <code> <code>
-[root@centos7 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24+[root@centos7 ~]# lastlog 
 +Username         Port     From             Latest 
 +root             pts/                    Tue Jun 19 18:47:20 +0200 2018 
 +bin                                        **Never logged in** 
 +daemon                                     **Never logged in** 
 +adm                                        **Never logged in** 
 +lp                                         **Never logged in** 
 +sync                                       **Never logged in** 
 +shutdown                                   **Never logged in** 
 +halt                                       **Never logged in** 
 +mail                                       **Never logged in** 
 +operator                                   **Never logged in** 
 +games                                      **Never logged in** 
 +ftp                                        **Never logged in** 
 +nobody                                     **Never logged in** 
 +avahi-autoipd                              **Never logged in** 
 +systemd-bus-proxy                           **Never logged in** 
 +systemd-network                            **Never logged in** 
 +dbus                                       **Never logged in** 
 +polkitd                                    **Never logged in** 
 +abrt                                       **Never logged in** 
 +usbmuxd                                    **Never logged in** 
 +colord                                     **Never logged in** 
 +libstoragemgmt                             **Never logged in** 
 +setroubleshoot                             **Never logged in** 
 +rpc                                        **Never logged in** 
 +rtkit                                      **Never logged in** 
 +chrony                                     **Never logged in** 
 +unbound                                    **Never logged in** 
 +tss                                        **Never logged in** 
 +geoclue                                    **Never logged in** 
 +ntp                                        **Never logged in** 
 +sssd                                       **Never logged in** 
 +rpcuser                                    **Never logged in** 
 +nfsnobody                                  **Never logged in** 
 +pulse                                      **Never logged in** 
 +gdm              :0                        Sat Apr 30 15:22:30 +0200 2016 
 +gnome-initial-setup                           **Never logged in** 
 +avahi                                      **Never logged in** 
 +postfix                                    **Never logged in** 
 +sshd                                       **Never logged in** 
 +tcpdump                                    **Never logged in** 
 +trainee          pts/2    10.0.2.2         Tue Jun 19 18:47:12 +0200 2018 
 +vboxadd                                    **Never logged in** 
 +snort                                      **Never logged in** 
 +apache                                     **Never logged in**
 </code> </code>
  
-Continuez maintenant par la mise en place du service **nfs** :+====La Commande lastb==== 
 + 
 +Cette commande indique les dates et heures des connexions infructueueses des utilisateurs à partir du contenu du fichier **/var/log/btmp** :
  
 <code> <code>
-[root@centos7 ~]# systemctl status nfs.service +[root@centos7 ~]# lastb 
-nfs-server.service - NFS server and services +root     pts/                        Tue Jun 19 16:37 16:37  (00:00   
-   Loadedloaded (/usr/lib/systemd/system/nfs-server.service; disabled) +
-   Activeinactive (dead)+
  
-[root@centos7 ~]# systemctl enable nfs-server.service +btmp begins Tue Jun 19 16:37:18 2018
-ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/multi-user.target.wants/nfs-server.service' +
-[root@centos7 ~]# systemctl status nfs.service +
-nfs-server.service - NFS server and services +
-   Loadedloaded (/usr/lib/systemd/system/nfs-server.service; enabled) +
-   Activeinactive (dead)+
 </code> </code>
  
-La mise en place d'un partage ponctuel se fait en utilisant la commande **exportfs** en indiquant en argument le répertoire sous la forme de //adresse_ip_du_serveur:chemin_du_partage// : +====/var/log/secure==== 
 + 
 +Sous RHEL/CentOS ce fichier contient la journalisation des opérations de gestion des authentifications :
  
 <code> <code>
-[root@centos7 ~]# exportfs +[root@centos7 ~]# tail -n 15 /var/log/secure 
-[root@centos7 ~]# exportfs 192.168.1.2:/home/trainee +Jun 19 22:03:57 centos7 polkitd[532]: Unregistered Authentication Agent for unix-process:21784:3831602 (system bus name :1.320, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) (disconnected from bus) 
-[root@centos7 ~]# exportfs +Jun 19 22:04:06 centos7 polkitd[532]: Registered Authentication Agent for unix-process:21883:3832537 (system bus name :1.321 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) 
-/home/trainee 192.168.1.2+Jun 19 22:04:07 centos7 polkitd[532]: Unregistered Authentication Agent for unix-process:21883:3832537 (system bus name :1.321, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) (disconnected from bus) 
 +Jun 19 23:45:43 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 19 23:46:13 centos7 su: pam_unix(su-l:session): session closed for user prison 
 +Jun 19 23:48:25 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 19 23:48:25 centos7 su: pam_unix(su-l:session): session closed for user prison 
 +Jun 19 23:52:22 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 19 23:52:27 centos7 su: pam_unix(su-l:session): session closed for user prison 
 +Jun 19 23:54:35 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 19 23:55:33 centos7 su: pam_unix(su-l:session): session closed for user prison 
 +Jun 20 00:01:21 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 20 00:01:50 centos7 su: pam_unix(su-l:session): session closed for user prison 
 +Jun 20 00:01:53 centos7 su: pam_unix(su-l:session): session opened for user prison by trainee(uid=0) 
 +Jun 20 00:02:19 centos7 su: pam_unix(su-l:session): session closed for user prison
 </code> </code>
  
-Démarrez maintenant le service **nfs** :+=====Les Contre-Mesures===== 
 + 
 +Les contre-mesures incluent le renforcement de la sécurité des comptes et l'utilisation des mots de passe complexes. 
 + 
 +====LAB #2 - Renforcer la sécurité des comptes==== 
 + 
 +Passez en revue le fichier **/etc/passwd** : 
 + 
 +<file> 
 +root:x:0:0:root:/root:/bin/bash 
 +bin:x:1:1:bin:/bin:/sbin/nologin 
 +daemon:x:2:2:daemon:/sbin:/sbin/nologin 
 +adm:x:3:4:adm:/var/adm:/sbin/nologin 
 +lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 
 +sync:x:5:0:sync:/sbin:/bin/sync 
 +shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 
 +halt:x:7:0:halt:/sbin:/sbin/halt 
 +mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 
 +uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 
 +operator:x:11:0:operator:/root:/sbin/nologin 
 +games:x:12:100:games:/usr/games:/sbin/nologin 
 +gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 
 +ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 
 +nobody:x:99:99:Nobody:/:/sbin/nologin 
 +dbus:x:81:81:System message bus:/:/sbin/nologin 
 +usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin 
 +avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin 
 +vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin 
 +rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin 
 +rtkit:x:499:499:RealtimeKit:/proc:/sbin/nologin 
 +abrt:x:498:498::/etc/abrt:/sbin/nologin 
 +nscd:x:28:28:NSCD Daemon:/:/sbin/nologin 
 +tcpdump:x:72:72::/:/sbin/nologin 
 +haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 
 +apache:x:48:48:Apache:/var/www:/sbin/nologin 
 +nslcd:x:65:55:LDAP Client User:/:/sbin/nologin 
 +saslauth:x:497:495:"Saslauthd user":/var/empty/saslauth:/sbin/nologin 
 +postfix:x:89:89::/var/spool/postfix:/sbin/nologin 
 +avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 
 +ntp:x:38:38::/etc/ntp:/sbin/nologin 
 +rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 
 +nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 
 +sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 
 +pulse:x:496:494:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin 
 +gdm:x:42:42::/var/lib/gdm:/sbin/nologin 
 +trainee:x:500:500:trainee:/home/trainee:/bin/bash 
 +vboxadd:x:495:1::/var/run/vboxadd:/bin/false 
 +prison:x:501:502:chroot_user:/home/prison:/bin/chroot 
 +</file> 
 + 
 +<WRAP center round important 50%> 
 +**Important** : Notez que la valeur de l'UID de root est toujours de 0. Notez cependant que sous RHEL 5 et 6 les UID des utilisateurs normaux commencent à **500** et les UID des comptes système sont inclus entre 1 et 99 par convention. Sous RHEL 7, les UID des utilisateurs normaux commencent à **1000** et les UID des comptes système sont inclus entre 201 et 999. Sous Debian 6, 7 et 8 les UID des utilisateurs normaux commencent à **1000** et les UID des comptes système sont inclus entre 100 et 999 par convention. Sous openSUSE, les UID des utilisateurs normaux commencent à **1000** et les UID des comptes système sont inclus entre 100 et 499. Sous Ubuntu 14.04 les UID des utilisateurs normaux commencent à **1000** et les UID des comptes système sont inclus entre 100 et 999. 
 +</WRAP> 
 + 
 +Chaque ligne est constituée de 7 champs : 
 + 
 +  * Le nom d'utilisateur 
 +  * Le mot de passe. Une valeur de **x** dans ce champs indique que le système utilise le fichier **/etc/shadow** pour stocker les mots de passe. 
 +  * L'UID. Une valeur unique qui est utilisée pour déterminée les droits aux fichiers et aux répertoires. 
 +  * Le GID. Une valeur indiquant le groupe **principal** de l'utilisateur 
 +  * Le nom complet. Ce champs optionnel est aussi appelé **GECOS** 
 +  * Le répertoire personnel de l'utilisateur 
 +  * Le shell de l'utilisateur. 
 + 
 +Notez d'abord les utilisateurs inutiles. Par exemple, dans le cas ci-dessus, l'utilisateur suivant est inutile si vous ne souhaitez par imprimer a partir du serveur: 
 + 
 +<file> 
 +lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 
 +</file> 
 + 
 +Supprimez donc les utilisateurs et groupes inutiles en utilisant des commandes telles: 
 + 
 +  # userdel -r lp [Entree] 
 + 
 +  # groupdel lp [Entree] 
 + 
 +Pour les utilisateurs restants, utilisez le système de shadowing :
  
 <code> <code>
-[root@centos7 ~]# systemctl start nfs.service +[root@centos7 ~]# cat /etc/shadow 
-[root@centos7 ~]# systemctl status nfs.service +root:$6$TX12b5lW9UXD8Ld6$l/PjTA.XrBAbsayGCaSFaM5ibLo2xBBeYNCyEdVv9uMUctxq9Q0YBxLwCvS2bCdgr.BeSmXvi6BwD55KKscaJ.::0:99999:7::: 
-nfs-server.service - NFS server and services +bin:*:16659:0:99999:7::: 
-   Loadedloaded (/usr/lib/systemd/system/nfs-server.service; enabled) +daemon:*:16659:0:99999:7::: 
-   Activeactive (exited) since Thu 2015-10-01 13:18:13 CEST; 4s ago +adm:*:16659:0:99999:7::: 
-  Process9552 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) +lp:*:16659:0:99999:7::: 
-  Process9551 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) +sync:*:16659:0:99999:7::: 
- Main PID9552 (code=exited, status=0/SUCCESS) +shutdown:*:16659:0:99999:7::: 
-   CGroup: /system.slice/nfs-server.service+halt:*:16659:0:99999:7::: 
 +mail:*:16659:0:99999:7::: 
 +operator:*:16659:0:99999:7::: 
 +games:*:16659:0:99999:7::: 
 +ftp:*:16659:0:99999:7::: 
 +nobody:*:16659:0:99999:7::: 
 +avahi-autoipd:!!:16779:::::: 
 +systemd-bus-proxy:!!:16779:::::: 
 +systemd-network:!!:16779:::::: 
 +dbus:!!:16779:::::: 
 +polkitd:!!:16779:::::: 
 +abrt:!!:16779:::::: 
 +usbmuxd:!!:16779:::::: 
 +colord:!!:16779:::::: 
 +libstoragemgmt:!!:16779:::::: 
 +setroubleshoot:!!:16779:::::: 
 +rpc:!!:16779:0:99999:7::: 
 +rtkit:!!:16779:::::: 
 +chrony:!!:16779:::::: 
 +unbound:!!:16779:::::: 
 +tss:!!:16779:::::: 
 +geoclue:!!:16779:::::: 
 +ntp:!!:16779:::::: 
 +sssd:!!:16779:::::: 
 +rpcuser:!!:16779:::::: 
 +nfsnobody:!!:16779:::::: 
 +pulse:!!:16779:::::: 
 +gdm:!!:16779:::::: 
 +gnome-initial-setup:!!:16779:::::: 
 +avahi:!!:16779:::::: 
 +postfix:!!:16779:::::: 
 +sshd:!!:16779:::::: 
 +tcpdump:!!:16779:::::: 
 +trainee:$6$4PW9kfdOIOmWmSSO$8vikc1pyXgVc.C8xKP5EvIbBwe1fWd3DSvgWGQ5FAr7jwyMCbLQOOWbvomS9z1Q6V8IqZjBSREWafNzOYjKqC0::0:99999:7::: 
 +vboxadd:!!:16921:::::: 
 +</code>
  
-Oct 01 13:18:13 centos7.fenestros.loc systemd[1]Starting NFS server and services... +Chaque ligne est constituée de 8 champs : 
-Oct 01 13:18:13 centos7.fenestros.loc systemd[1]: Started NFS server and services.+ 
 +  * Le nom de l'utilisateurCe champs est utilisé pour faire le lien avec le fichier **/etc/passwd**, 
 +  * Le mot de passe **crypté** de l'utilisateurLe cryptage est à sens **unique**. Ce champ peut aussi contenir une des trois valeurs suivantes : 
 +    * **!!** - Le mot de passe n'a pas encore été défini et l'utilisateur ne peut pas se connecter, 
 +    * ***** - L'utilisateur ne peut pas se connecter, 
 +    * **vide** - aucun mot de passe sera demandé pour l'utilisateur concerné, 
 +  * Le nombre de jours entre le **01/01/1970** et le dernier changement du mot de passe, 
 +  * Le nombre de jours que le mot de passe est encore valideUne valeur de **0** dans ce champs indique sue le mot de passe n'expire jamais, 
 +  * Le nombre de jours après lequel le mot de passe doit être changé, 
 +  * Le nombre de jours avant la date de modification forcée que l'utilisateur recevra un avertissement, 
 +  * Le nombre de jours après l'expiration du mot de passe que le compte sera désactivé, 
 +  * Le **numéro** du jour après le **01/01/1970** que le compte a été désactivé. 
 + 
 +=====LAB #3 - PAM sous RHEL/CentOS 7===== 
 + 
 +**PAM** ( //Pluggable Authentification Modules// ou Modules d'Authentification Enfichables ) est une architecture modulaire permettant à l'administrateur système de définir une politique d'authentification pour les logiciels prenant en charge PAM
 + 
 +Les fichiers de configuration se trouvent dans le répertoire **/etc/pam.d** : 
 + 
 +<code> 
 +[root@centos7 ~]# ls /etc/pam.
 +atd                     login              smtp 
 +chfn                    other              smtp.postfix 
 +chsh                    passwd             sshd 
 +config-util             password-auth      su 
 +crond                   password-auth-ac   sudo 
 +cups                    pluto              sudo-i 
 +fingerprint-auth        polkit-          su-l 
 +fingerprint-auth-ac     postlogin          system-auth 
 +gdm-autologin           postlogin-ac       system-auth-ac 
 +gdm-fingerprint         ppp                system-config-language 
 +gdm-launch-environment  remote             systemd-user 
 +gdm-password            runuser            vlock 
 +gdm-pin                 runuser-l          vmtoolsd 
 +gdm-smartcard           setup              xserver 
 +ksu                     smartcard-auth 
 +liveinst                smartcard-auth-ac
 </code> </code>
  
-Afin de mettre en place un ou des partages **permanents**, il est nécessaire d'éditer le fichier **/etc/exports** :+Ces fichiers ont une structure spécifique et sont nommés d'après le service ou l'application qu'ils contrôlent. Leur contenu fait appel à des modules qui se trouvent dans le répertoire **/lib64/security** :
  
 <code> <code>
-/home/trainee 192.168.1.1 +[root@centos7 ~]# ls /lib64/security 
-/tmp *(fsid=0)+pam_access.so         pam_krb5afs.so           pam_selinux.so 
 +pam_cap.so            pam_krb5.so              pam_sepermit.so 
 +pam_chroot.so         pam_lastlog.so           pam_shells.so 
 +pam_console.so        pam_limits.so            pam_sss.so 
 +pam_cracklib.so       pam_listfile.so          pam_stress.so 
 +pam_debug.so          pam_localuser.so         pam_succeed_if.so 
 +pam_deny.so           pam_loginuid.so          pam_systemd.so 
 +pam_echo.so           pam_mail.so              pam_tally2.so 
 +pam_env.so            pam_mkhomedir.so         pam_time.so 
 +pam_exec.so           pam_motd.so              pam_timestamp.so 
 +pam_faildelay.so      pam_namespace.so         pam_tty_audit.so 
 +pam_faillock.so       pam_nologin.so           pam_umask.so 
 +pam_filter            pam_oddjob_mkhomedir.so  pam_unix_acct.so 
 +pam_filter.so         pam_permit.so            pam_unix_auth.so 
 +pam_fprintd.so        pam_postgresok.so        pam_unix_passwd.so 
 +pam_ftp.so            pam_pwhistory.so         pam_unix_session.so 
 +pam_gnome_keyring.so  pam_pwquality.so         pam_unix.so 
 +pam_group.so          pam_rhosts.so            pam_userdb.so 
 +pam_issue.so          pam_rootok.so            pam_warn.so 
 +pam_keyinit.so        pam_securetty.so         pam_wheel.so 
 +pam_krb5              pam_selinux_permit.so    pam_xauth.so
 </code> </code>
  
-<WRAP center round important> +Les modules les plus importants sont :
-**Important** Dans ce cas, nous avons partagé le répertoire **/home/trainee** pour la seule adresse IP 192.168.1.1. +
-</WRAP>+
  
-Redémarrez maintenant le service nfs afin que le fichier **/etc/exports** soit re-lu :+^ Module ^ Description ^ 
 +| pam_access.so | Ce module est utilisé pour interdire l'accès aux services sécurisés par des hôtes non-autorisés. | 
 +| pam_echo.so | Ce module présente le contenu du fichier passé en argument à tout utilisateur lors de sa connexion. | 
 +| pam_limits.so | Ce module implémente les limites des ressources détaillées dans le fichier **/etc/security/limits.conf** et dans les fichiers ***.conf** trouvés dans le répertoire **/etc/security/limits.d/**. | 
 +| pam_listfile.so | Ce module est utilisé pour consulter un fichier spécifique pour vérifier les authiorisations. Par exemple, le service ftp utilise ce module pour consulter le fichier **/etc/ftpusers** qui contient une liste d'utilisateurs qui ne sont **pas** autorisés à se connecter au serveur ftp. | 
 +| pam_nologin.so | Ce module interdit les connexions d'utilisteurs, autre que root, dans le cas où le fichier **/etc/nologin** est présent. | 
 +| pam_pwquality.so | Ce module est utilisé pour vérifier la qualité du mot de passe d'un utilisateur | 
 +| pam_securetty.so | Ce module interdit des connexions de root à partir des périphériques tty qui ne sont pas listés dans le fichier **/etc/securetty**. | 
 +| pam_unix.so | Ce module est utilisé pour vérifier les informations suivantes ; expire, last_change, max_change, min_change, warn_change. | 
 + 
 +Chaque fichier dans /etc/pam.d contient les règles PAM utilisées pendant l'authentification. Ouvrez le fichier **login** :
  
 <code> <code>
-[root@centos7 ~]# systemctl restart nfs.service +[root@centos7 ~]# cat /etc/pam.d/login 
-[root@centos7 ~]# systemctl status nfs.service +#%PAM-1.0 
-nfs-server.service NFS server and services +auth [user_unknown=ignore success=ok ignore=ignore default=badpam_securetty.so 
-   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled) +auth       substack     system-auth 
-   Active: active (exited) since Thu 2015-10-01 14:24:50 CEST; 18s ago +auth       include      postlogin 
-  Process: 4642 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS) +account    required     pam_nologin.so 
-  Process: 4639 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS) +account    include      system-auth 
-  Process: 4638 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS) +password   include      system-auth 
-  Process: 4650 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) +# pam_selinux.so close should be the first session rule 
-  Process: 4649 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) +session    required     pam_selinux.so close 
- Main PID: 4650 (code=exited, status=0/SUCCESS) +session    required     pam_loginuid.so 
-   CGroup: /system.slice/nfs-server.service+session    optional     pam_console.so 
 +# pam_selinux.so open should only be followed by sessions to be executed in the user context 
 +session    required     pam_selinux.so open 
 +session    required     pam_namespace.so 
 +session    optional     pam_keyinit.so force revoke 
 +session    include      system-auth 
 +session    include      postlogin 
 +-session   optional     pam_ck_connector.so 
 +</code>
  
-Oct 01 14:24:50 centos7.fenestros.loc systemd[1]: Starting NFS server and services... +La première ligne de ce fichier est un commentaire qui spécifie que le fichier est conforme à la spécification PAM 1.0
-Oct 01 14:24:50 centos7.fenestros.loc exportfs[4649]exportfs: No options for /home/trainee 192.168.1.1: suggest 192.168.1.1(sync) to avoid warning + 
-Oct 01 14:24:50 centos7.fenestros.loc exportfs[4649]: exportfs: No options for /tmp *: suggest *(sync) to avoid warning +Ce fichier, tout comme les autres, est ensuite structuré de la façon suivante : 
-Oct 01 14:24:50 centos7.fenestros.loc systemd[1]: Started NFS server and services.+ 
 +  * Une module par ligne, 
 +  * Quatre champs séparés par un espace dans chaque règle dont les trois premières sont obligatoires. 
 + 
 +Le **premier champs** est le //**type de module**//Il en existe quatre : 
 + 
 +^ Type ^ Description ^ 
 +| **auth** | Utilisé pour authentifier un utilisateur ou les pré-requis système ( par exemple /etc/nologin ) | 
 +| **account** | Utilisé pour vérifier si l'utilisateur peut s'authentifier ( par exemple la validité du compte ) | 
 +| **password** | Utilisé pour vérifier si l'utilisateur dispose des droits pour mettre le mécanisme d'authentification à jour | 
 +| **session** | Utilisé pour gérer la session après l'authentification ( par exemple monter un répertoire ) | 
 + 
 +Le **deuxième champs** est le //**Control-flag**//. Il en existe quatre : 
 + 
 +^ Control-flag ^ Description ^ 
 +| **required** | La réussite de ce module est indispensableL'échec d'un module //required// n'est communiqué à l'application qu'après la vérification de tous les modules ayant un //control-flag// de **required**| 
 +| **requisite** | La réussite de ce module est indispensableL'échec d'un module //requisite// est immédiatement communiqué à l'application | 
 +| **sufficient** | La réussite de ce module est suffisant pour authoriser l'authentificationSi aucun test //required// précédent est en échec, la vérification s'arrêteSi un test //required// précédent était en échec, le test //sufficient// est ignoréL'échec d'un test //sufficient// n'a pas de conséquence si tous les tests //required// réussissent.  | 
 +| **optional** | La réussite ou l'échec de ce module est sans importance, **sauf** s'il s'agit du seul module à exécuter | 
 +| **include** | Ce control-flag permet d'inclure toutes les lignes du même //type de module// se trouvant dans le fichier spécifié en argument | 
 + 
 +Le **troisième champs** stipule le //**module**// associé à la règleSans chemin absolu, le fichier est supposé être dans le répertoire **/lib/security**. Pour inclure un module en dehors de ce répertoire il convient donc de stipuler son chemin absolu. 
 + 
 +Le **quatrième champs** contient éventuellement les **arguments**. 
 + 
 +Ouvrez maintenant le fichier **password-auth-ac** : 
 + 
 +<code> 
 +[root@centos7 ~]# cat /etc/pam.d/password-auth-ac 
 +#%PAM-1.
 +# This file is auto-generated. 
 +# User changes will be destroyed the next time authconfig is run. 
 +auth        required      pam_env.so 
 +auth        sufficient    pam_unix.so nullok try_first_pass 
 +auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success 
 +auth        required      pam_deny.so 
 + 
 +account     required      pam_unix.so 
 +account     sufficient    pam_localuser.so 
 +account     sufficient    pam_succeed_if.so uid < 1000 quiet 
 +account     required      pam_permit.so 
 + 
 +password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 
 +password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok 
 +password    required      pam_deny.so 
 + 
 +session     optional      pam_keyinit.so revoke 
 +session     required      pam_limits.so 
 +-session     optional      pam_systemd.so 
 +session     [success=default=ignorepam_succeed_if.so service in crond quiet use_uid 
 +session     required      pam_unix.so
 </code> </code>
  
-Puisque aucune option ne soit spécifiée pour les montagesceux-ci ont été exportés avec des option par défaut. En utilisant l'option **-v** de la commande **exportfs**, il est possible de consulter ces options :+Dans ce fichiersi la règle **sufficient** réussit, les modules suivants ne sont pas invoqués. 
 + 
 +===Bloquer un Compte après N Echecs de Connexion=== 
 + 
 +Le module PAM **pam_tally.so** permet de bloquer un compte après N échecs de connexion. Afin d'activer ce comportement, il convient d'ajouter dans le fichier **/etc/pam.d/system-auth** la ligne suivante : 
 + 
 +<file> 
 +auth required pam_tally.so onerr=fail deny=3 unlock_time=300 
 +</file> 
 + 
 +Dans ce cas, après trois tentatives infructueuses de connexion, le compte sera bloquer pendant 5 minutes.  
 + 
 +===Configuration=== 
 + 
 +Certains modules de PAM peuvent être configurés grâce aux fichiers présents dans le répertoire **/etc/security** :
  
 <code> <code>
-[root@centos7 ~]# exportfs -v +[root@centos7 ~]# ls /etc/security 
-/home/trainee 192.168.1.1(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash) +access.conf       console.perms    limits.d        opasswd         time.conf 
-/tmp          <world>(ro,wdelay,root_squash,no_subtree_check,fsid=0,sec=sys,ro,secure,root_squash,no_all_squash)+chroot.conf       console.perms.d  namespace.conf  pam_env.conf 
 +console.apps      group.conf       namespace.d     pwquality.conf 
 +console.handlers  limits.conf      namespace.init  sepermit.conf
 </code> </code>
  
-====Configuration du Client====+Parmi les fichiers cités on note ceux qui peuvent être utilisés pour configurer les modules suivants :
  
-<WRAP center round important+^ Fichier///Répertoire// ^ Description ^ 
-**Important** : Arrêtez votre VM. Créez une clône de votre VM. Démarrez la VM clonée.+| **access.conf** | Utilisé par le module pam_access.so | 
 +| **//console.apps//** | Utilisés par le module pam_console.so | 
 +| **console.perms** | Utilisé par le module pam_console.so | 
 +| **//console.perms.d//** | Utilisé par le module pam_console.so | 
 +| **group.conf** | Utilisés par le module pam_group.so | 
 +| **limits.conf** | Utilisé par le module pam_limits.so | 
 +| **pam_env.conf** | Utilisé par le module pam_env.so | 
 +| **time.conf** | Utilisé par le module pam_time.so | 
 + 
 +<WRAP center round todo 50%
 +**A faire** : Passez en revue chacun de ces fichiers.
 </WRAP> </WRAP>
  
-Re-configurez ensuite l'interface réseau de votre VM Client :+Dernièrement, PAM propose une solution pour toutes les applications ne disposant pas de leurs propres fichiers de configuration PAM. Cette solution prend la forme du fichier **/etc/pam.d/other** :
  
 <code> <code>
-[root@centos7 ~]# nmcli connection del ip_fixe+[root@centos7 ~]# cat /etc/pam.d/other 
 +#%PAM-1.0 
 +auth     required       pam_deny.so 
 +account  required       pam_deny.so 
 +password required       pam_deny.so 
 +session  required       pam_deny.so 
 +</code>
  
-[root@centos7 ~]nmcli connection show ip_fixe +=====LAB #Mise en place du Système de Prévention d'Intrusion Fail2Ban=====
-Error: ip_fixe no such connection profile.+
  
-[root@centos7 ~]# nmcli connection add con-name ip_fixe ifname enp0s3 type ethernet ip4 10.0.2.17/24 gw4 10.0.2.2 +Fail2Ban est un **S**ystème de **P**révention d'**I**ntrusionFail2Ban lit les logs de divers services (SSH, Apache, FTP…) à la recherche d’erreurs d'authentification répétées et ajoute une règle à iptables pour bannir l'adresse IP de la source.
-Connection 'ip_fixe(5b54ad20-c3e2-4606-b54d-38b225cc578f) successfully added.+
  
-[root@centos7 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8+====Installation====
  
-[root@centos7 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.1/24+Sous  RHEL/CentOS 7, beaucoup d'outils de sécurité ne se trouvent pas dans leurs versions les plus récentes dans les dépôts de baseInstallez donc le dépôt Fedora **epel** :
  
-[root@centos7 ~]# nmcli connection up ip_fixe  +<code> 
-Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)+[root@centos7 ~]# yum -y install epel-release 
 +</code>
  
-[root@centos7 ~]# systemctl restart NetworkManager.service+Ensuite installez Fail2Ban : 
 + 
 +<code> 
 +[root@centos6 ~]# yum install fail2ban
 </code> </code>
  
-<WRAP center round important > +====Configuration==== 
-**Important** : Démarrez la VM d'origine.+ 
 +La configuration de Fail2Ban se trouve dans le fichier **/etc/fail2ban/jail.conf** : 
 + 
 +<code> 
 +[root@centos7 ~]# more /etc/fail2ban/jail.conf 
 +
 +# WARNING: heavily refactored in 0.9.0 release.  Please review and 
 +#          customize settings for your setup. 
 +
 +# Changes:  in most of the cases you should not modify this 
 +#           file, but provide customizations in jail.local file, 
 +#           or separate .conf files under jail.d/ directory, e.g.: 
 +
 +# HOW TO ACTIVATE JAILS: 
 +
 +# YOU SHOULD NOT MODIFY THIS FILE. 
 +
 +# It will probably be overwritten or improved in a distribution update. 
 +
 +# Provide customizations in a jail.local file or a jail.d/customisation.local. 
 +# For example to change the default bantime for all jails and to enable the 
 +# ssh-iptables jail the following (uncommented) would appear in the .local file. 
 +# See man 5 jail.conf for details. 
 +
 +# [DEFAULT] 
 +# bantime = 3600 
 +
 +# [sshd] 
 +# enabled = true 
 +
 +# See jail.conf(5) man page for more information 
 + 
 + 
 + 
 +# Comments: use '#' for comment lines and ';' (following a space) for inline comments 
 + 
 + 
 +[INCLUDES] 
 + 
 +#before = paths-distro.conf 
 +--More--(4%) 
 +</code> 
 + 
 +Dans ce fichier se trouvent des sections pour configurer l'action de Fail2Ban pour chaque service : 
 + 
 +<code> 
 +... 
 +[sshd] 
 + 
 +port    = ssh 
 +logpath = %(sshd_log)s 
 +... 
 +</code>  
 + 
 +Ces sections, appelées des Prisons (//Jails// en anglais), peuvent contenir des directives telles que : 
 + 
 +^ Directive ^ Description ^ 
 +| enabled | Indique si oui (true) ou non (false) le prison est activé. | 
 +| port | Le port à bloquer dans iptables. | 
 +| filter | Le nom du filtre, une expression régulière, associé au prison et utilisé pour trouver une activité suspect. Le nom dans ce champs, sans l'extention .conf, fait référence à un fichier dans le répertoire **/etc/fail2ban/filter.d/**. Par exemple la valeur **sshd** fait reférence au fichier **/etc/fail2ban/filter.d/sshd.conf**. | 
 +| logpath | Le nom et le chemin du journal à examiner. | 
 +| maxretry | Le nombre maximal de tentatives. | 
 +| action | Spécifie l'action à entreprendre lors d'une corréspondance du **filter**. Le nom dans ce champs, sans l'extention .conf, fait référence à un fichier dans le répertoire **/etc/fail2ban/action.d/**. Par exemple la valeur **iptables** fait reférence au fichier **/etc/fail2ban/action.d/iptables.conf**. | 
 + 
 +Il n'est pas recommendé de modifier ce fichier afin de ne pas voir ses modifications ecrasées lors de la prochaine mise-à-jour de Fail2Ban. Fail2Ban nous donne la possibilité de créer le fichier **/etc/fail2ban/jail.local** pour contenir nos modifications. Créez donc ce fichier avec le contenu ci-dessous : 
 + 
 +<code> 
 +[root@centos7 ~]# vi /etc/fail2ban/jail.local 
 +[root@centos7 ~]# cat /etc/fail2ban/jail.local 
 +[DEFAULT] 
 +ignoreip = 127.0.0.1 172.YY+20.0.3  
 +findtime = 3600 
 +bantime = 86400 
 +maxretry = 5 
 + 
 +[sshd] 
 +enabled = true 
 +</code> 
 + 
 +Il est à noter que les directives dans le fichier **jail.conf** sont surchargées par celles dans les fichiers suivantes et dans l'ordre suivant : 
 + 
 +  * **/etc/fail2ban/jail.d/*.conf** dans l'ordre alphabétique, 
 +  * **/etc/fail2ban/jail.local**, 
 +  * **/etc/fail2ban/jail.d/*.local** dans l'ordre alphabétique. 
 + 
 +<WRAP center round important 50%
 +**Important** - Notez que la définition des variables dans la section **[DEFAULT]** du fichier **/etc/fail2ban/jail.local** s'appliquent à toutes les sections de prisons actives dans les fichiers **/etc/fail2ban/jail.local** et **/etc/fail2ban/jail.conf** sauf si dans la section du prison elle-même, la variable est redéfinie.
 </WRAP> </WRAP>
  
-Dans la VM d'origine (serveur) passez SELinux en mode permissive et arrêtez le pare-feu :+Dans ce fichier, les directives sont donc : 
 + 
 +^ Directive ^ Description ^ 
 +| ignoreip | Liste des adresses IP, séparées par un **espace**, qui ne sont pas concernées par l'action de Fail2Ban ou une liste d'adresses de réseaux, exprimées au format CIDR. | 
 +| findtime | L'intervale de temps en secondes, avant l'heure actuelle, pendant laquelle des authentifications infructueueses sont prises en compte pour le calcul de banir l'adresse IP ou non. | 
 +| bantime | La durée de vie des règles, en secondes, inscrites dans le pare-feu iptables. | 
 +| maxretry | Le nombre maximal de tentatives. La règle sera donc inscrite dans le pare-feu lors de la sixième tentative. | 
 + 
 +===Le répertoire /etc/fail2ban=== 
 + 
 +Le répertoire **/etc/fail2ban/** contient des fichiers et répertoires importants pour le fonctionnement de Fail2Ban :
  
 <code> <code>
-[root@centos7 ~]# getenforce +[root@centos7 ~]# ls -l /etc/fail2ban/ 
-Enforcing +total 68 
-[root@centos7 ~]# setenforce permissive +drwxr-xr-x. 2 root root  4096 Jun  8 22:51 action.d 
-[root@centos7 ~]# systemctl status firewalld.service +-rw-r--r--. 1 root root  2328 May 11  2017 fail2ban.conf 
-firewalld.service firewalld dynamic firewall daemon +drwxr-xr-x. 2 root root     6 Jul 13  2017 fail2ban.d 
-   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) +drwxr-xr-x. 3 root root  4096 Jun  8 22:51 filter.d 
-   Activeactive (runningsince Thu 2015-10-01 14:54:57 CEST; 19min ago +-rw-r--r--. 1 root root 21502 Jul 13  2017 jail.conf 
- Main PID479 (firewalld) +drwxr-xr-x. 2 root root    30 Jun  8 22:51 jail.d 
-   CGroup: /system.slice/firewalld.service +-rw-r--r--. 1 root root   110 Jun  8 22:54 jail.local 
-           └─479 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid+-rw-r--r--. 1 root root  2375 May 11  2017 paths-common.conf 
 +-rw-r--r--. 1 root root   642 May 11  2017 paths-debian.conf 
 +-rw-r--r--. 1 root root  1070 May 11  2017 paths-fedora.conf 
 +-rw-r--r--. 1 root root  1156 May 11  2017 paths-freebsd.conf 
 +-rw-r--r--. 1 root root   975 May 11  2017 paths-opensuse.conf 
 +-rw-r--r--. 1 root root   290 May 11  2017 paths-osx.conf 
 +</code> 
 + 
 +==Le fichier fail2ban.conf== 
 + 
 +Ce fichier définit les configurations globales de Fail2Ban, telles le **pidfile**, le **socket** et le niveau syslog de journalisation : 
 + 
 +<code> 
 +[root@centos7 ~]# cat /etc/fail2ban/fail2ban.conf  
 +# Fail2Ban main configuration file 
 +
 +# Comments: use '#' for comment lines and ';' (following a space) for inline comments 
 +
 +# Changes:  in most of the cases you should not modify this 
 +#           file, but provide customizations in fail2ban.local file, e.g.: 
 +
 +[Definition] 
 +loglevel = DEBUG 
 +
 + 
 +[Definition] 
 + 
 +# Option: loglevel 
 +# Notes.: Set the log level output
 +#         CRITICAL 
 +#         ERROR 
 +#         WARNING 
 +#         NOTICE 
 +#         INFO 
 +#         DEBUG 
 +# Values: [ LEVEL ]  Default: ERROR 
 +
 +loglevel = INFO 
 + 
 +# Option: logtarget 
 +# Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT. 
 +#         Only one log target can be specified. 
 +#         If you change logtarget from the default value and you are 
 +#         using logrotate -- also adjust or disable rotation in the 
 +#         corresponding configuration file 
 +#         (e.g. /etc/logrotate.d/fail2ban on Debian systems) 
 +# Values: [ STDOUT | STDERR | SYSLOG | FILE ]  Default: STDERR 
 +
 +logtarget = /var/log/fail2ban.log 
 + 
 +# Optionsyslogsocket 
 +# Notes: Set the syslog socket file. Only used when logtarget is SYSLOG 
 +#        auto uses platform.system() to determine predefined paths 
 +# Values[ auto | FILE ]  Defaultauto 
 +syslogsocket = auto 
 + 
 +# Optionsocket 
 +# Notes.: Set the socket file. This is used to communicate with the daemon. Do 
 +#         not remove this file when Fail2ban runs. It will not be possible to 
 +#         communicate with the server afterwards. 
 +# Values: [ FILE ]  Default: /var/run/fail2ban/fail2ban.sock 
 +
 +socket = /var/run/fail2ban/fail2ban.sock 
 + 
 +# Option: pidfile 
 +# Notes.: Set the PID file. This is used to store the process ID of the 
 +#         fail2ban server. 
 +# Values: [ FILE ]  Default: /var/run/fail2ban/fail2ban.pid 
 +
 +pidfile = /var/run/fail2ban/fail2ban.pid 
 + 
 +# Options: dbfile 
 +# Notes.: Set the file for the fail2ban persistent data to be stored. 
 +#         A value of ":memory:" means database is only stored in memory  
 +#         and data is lost when fail2ban is stopped. 
 +#         A value of "None" disables the database. 
 +# Values: [ None :memory: FILE ] Default: /var/lib/fail2ban/fail2ban.sqlite3 
 +dbfile = /var/lib/fail2ban/fail2ban.sqlite3
  
-Oct 01 14:54:57 centos7.fenestros.loc systemd[1]Started firewalld - dynamic firewall daemon. +# Optionsdbpurgeage 
-[root@centos7 ~]# systemctl stop firewalld.service+# Notes.: Sets age at which bans should be purged from the database 
 +# Values: SECONDS Default: 86400 (24hours) 
 +dbpurgeage = 86400
 </code> </code>
  
-A partir de votre client, consultez les répertoire exportés du serveur :+==Le répertoire /etc/fail2ban/filter.d/== 
 + 
 +Ce répertoire contient les fichiers appelés par les directives **filter** dans les sections des prisons :
  
 <code> <code>
-[root@centos7 ~]# showmount --exports 192.168.1.2 +[root@centos7 ~]# ls -l /etc/fail2ban/filter.d/ 
-Export list for 192.168.1.2: +total 344 
-/tmp          * +-rw-r--r--. 1 root root  442 May 11  2017 3proxy.conf 
-/home/trainee 192.168.1.1+-rw-r--r--. 1 root root 3241 May 11  2017 apache-auth.conf 
 +-rw-r--r--1 root root 2745 May 11  2017 apache-badbots.conf 
 +-rw-r--r--. 1 root root 1273 May 11  2017 apache-botsearch.conf 
 +-rw-r--r--. 1 root root  813 May 11  2017 apache-common.conf 
 +-rw-r--r--. 1 root root  268 May 11  2017 apache-fakegooglebot.conf 
 +-rw-r--r--. 1 root root  487 May 11  2017 apache-modsecurity.conf 
 +-rw-r--r--. 1 root root  596 May 11  2017 apache-nohome.conf 
 +-rw-r--r--. 1 root root 1187 May 11  2017 apache-noscript.conf 
 +-rw-r--r--. 1 root root 2000 May 11  2017 apache-overflows.conf 
 +-rw-r--r--. 1 root root  346 May 11  2017 apache-pass.conf 
 +-rw-r--r--. 1 root root 1014 May 11  2017 apache-shellshock.conf 
 +-rw-r--r--. 1 root root 3418 May 11  2017 assp.conf 
 +-rw-r--r--. 1 root root 2443 May 11  2017 asterisk.conf 
 +-rw-r--r--. 1 root root  520 May 11  2017 botsearch-common.conf 
 +-rw-r--r--. 1 root root 1863 May 11  2017 common.conf 
 +-rw-r--r--. 1 root root  252 May 11  2017 counter-strike.conf 
 +-rw-r--r--. 1 root root  393 May 11  2017 courier-auth.conf 
 +-rw-r--r--. 1 root root  490 May 11  2017 courier-smtp.conf 
 +-rw-r--r--. 1 root root  444 May 11  2017 cyrus-imap.conf 
 +-rw-r--r--. 1 root root  345 May 11  2017 directadmin.conf 
 +-rw-r--r--. 1 root root 1942 May 11  2017 domino-smtp.conf 
 +-rw-r--r--. 1 root root 1875 May 11  2017 dovecot.conf 
 +-rw-r--r--. 1 root root 1696 May 11  2017 dropbear.conf 
 +-rw-r--r--. 1 root root  557 May 11  2017 drupal-auth.conf 
 +-rw-r--r--. 1 root root 1282 May 11  2017 ejabberd-auth.conf 
 +-rw-r--r--. 1 root root  516 May 11  2017 exim-common.conf 
 +-rw-r--r--. 1 root root 1847 May 11  2017 exim.conf 
 +-rw-r--r--. 1 root root 2158 May 11  2017 exim-spam.conf 
 +-rw-r--r--. 1 root root  963 May 11  2017 freeswitch.conf 
 +-rw-r--r--. 1 root root 1209 May 11  2017 froxlor-auth.conf 
 +-rw-r--r--. 1 root root  236 May 11  2017 groupoffice.conf 
 +-rw-r--r--. 1 root root  322 May 11  2017 gssftpd.conf 
 +-rw-r--r--. 1 root root  512 May 11  2017 guacamole.conf 
 +-rw-r--r--. 1 root root 1158 May 11  2017 haproxy-http-auth.conf 
 +-rw-r--r--. 1 root root  404 May 11  2017 horde.conf 
 +drwxr-xr-x. 2 root root   33 Jun  8 22:51 ignorecommands 
 +-rw-r--r--. 1 root root  482 May 11  2017 kerio.conf 
 +-rw-r--r--1 root root  323 May 11  2017 lighttpd-auth.conf 
 +-rw-r--r--. 1 root root 2279 May 11  2017 mongodb-auth.conf 
 +-rw-r--r--. 1 root root  773 May 11  2017 monit.conf 
 +-rw-r--r--. 1 root root  652 May 11  2017 murmur.conf 
 +-rw-r--r--. 1 root root  890 May 11  2017 mysqld-auth.conf 
 +-rw-r--r--. 1 root root  400 May 11  2017 nagios.conf 
 +-rw-r--r--. 1 root root 1594 May 11  2017 named-refused.conf 
 +-rw-r--r--. 1 root root  528 May 11  2017 nginx-botsearch.conf 
 +-rw-r--r--. 1 root root  442 May 11  2017 nginx-http-auth.conf 
 +-rw-r--r--. 1 root root 1427 May 11  2017 nginx-limit-req.conf 
 +-rw-r--r--. 1 root root  707 May 11  2017 nsd.conf 
 +-rw-r--r--. 1 root root  459 May 11  2017 openhab.conf 
 +-rw-r--r--. 1 root root  495 May 11  2017 openwebmail.conf 
 +-rw-r--r--. 1 root root 1905 May 11  2017 oracleims.conf 
 +-rw-r--r--. 1 root root  814 May 11  2017 pam-generic.conf 
 +-rw-r--r--. 1 root root  568 May 11  2017 perdition.conf 
 +-rw-r--r--. 1 root root  834 May 11  2017 php-url-fopen.conf 
 +-rw-r--r--. 1 root root  188 May 11  2017 portsentry.conf 
 +-rw-r--r--. 1 root root 1289 May 11  2017 postfix.conf 
 +-rw-r--r--. 1 root root  454 May 11  2017 postfix-rbl.conf 
 +-rw-r--r--. 1 root root  482 May 11  2017 postfix-sasl.conf 
 +-rw-r--r--. 1 root root 1216 May 11  2017 proftpd.conf 
 +-rw-r--r--. 1 root root 2409 May 11  2017 pure-ftpd.conf 
 +-rw-r--r--. 1 root root  795 May 11  2017 qmail.conf 
 +-rw-r--r--. 1 root root 1286 May 11  2017 recidive.conf 
 +-rw-r--r--. 1 root root 1367 May 11  2017 roundcube-auth.conf 
 +-rw-r--r--. 1 root root  821 May 11  2017 screensharingd.conf 
 +-rw-r--r--. 1 root root  517 May 11  2017 selinux-common.conf 
 +-rw-r--r--. 1 root root  570 May 11  2017 selinux-ssh.conf 
 +-rw-r--r--. 1 root root  396 Jul 13  2017 sendmail-auth.conf 
 +-rw-r--r--. 1 root root 2472 Jul 13  2017 sendmail-reject.conf 
 +-rw-r--r--. 1 root root  371 May 11  2017 sieve.conf 
 +-rw-r--r--. 1 root root  706 May 11  2017 slapd.conf 
 +-rw-r--r--. 1 root root  472 May 11  2017 sogo-auth.conf 
 +-rw-r--r--. 1 root root 1094 May 11  2017 solid-pop3d.conf 
 +-rw-r--r--. 1 root root  206 May 11  2017 squid.conf 
 +-rw-r--r--. 1 root root  199 May 11  2017 squirrelmail.conf 
 +-rw-r--r--. 1 root root  186 May 11  2017 sshd-aggressive.conf 
 +-rw-r--r--. 1 root root 4487 May 11  2017 sshd.conf 
 +-rw-r--r--. 1 root root  476 May 11  2017 sshd-ddos.conf 
 +-rw-r--r--. 1 root root  363 May 11  2017 stunnel.conf 
 +-rw-r--r--. 1 root root  649 May 11  2017 suhosin.conf 
 +-rw-r--r--. 1 root root  821 May 11  2017 tine20.conf 
 +-rw-r--r--. 1 root root  374 May 11  2017 uwimap-auth.conf 
 +-rw-r--r--. 1 root root  637 May 11  2017 vsftpd.conf 
 +-rw-r--r--. 1 root root  444 May 11  2017 webmin-auth.conf 
 +-rw-r--r--. 1 root root  520 May 11  2017 wuftpd.conf 
 +-rw-r--r--. 1 root root  503 May 11  2017 xinetd-fail.conf
 </code> </code>
  
-Créez maintenant le répertoire **/nfs** dans le client et montez le partage **192.168.1.2:/home/trainee** :+==Le répertoire /etc/fail2ban/action.d/== 
 + 
 +Ce répertoire contient les fichiers appelés par les directives **action** dans les sections des prisons :
  
 <code> <code>
-[root@centos7 ~]# mkdir /nfs +[root@centos7 ~]# ls -l /etc/fail2ban/action.d
-[root@centos7 ~]# mount -t nfs 192.168.1.2:/home/trainee /nfs+total 244 
 +-rw-r--r--. 1 root root   587 May 11  2017 apf.conf 
 +-rw-r--r--. 1 root root   629 May 11  2017 badips.conf 
 +-rw-r--r--. 1 root root 10620 May 11  2017 badips.py 
 +-rw-r--r--. 2 root root 11791 Jul 13  2017 badips.pyc 
 +-rw-r--r--. 2 root root 11791 Jul 13  2017 badips.pyo 
 +-rw-r--r--. 1 root root  2631 May 11  2017 blocklist_de.conf 
 +-rw-r--r--. 1 root root  1931 May 11  2017 cloudflare.conf 
 +-rw-r--r--. 1 root root  7524 May 11  2017 dshield.conf 
 +-rw-r--r--. 1 root root  1133 May 11  2017 dummy.conf 
 +-rw-r--r--. 1 root root  1538 May 11  2017 firewallcmd-allports.conf 
 +-rw-r--r--. 1 root root  1530 May 11  2017 firewallcmd-ipset.conf 
 +-rw-r--r--. 1 root root  2088 May 11  2017 firewallcmd-multiport.conf 
 +-rw-r--r--. 1 root root  2005 May 11  2017 firewallcmd-new.conf 
 +-rw-r--r--. 1 root root  3223 May 11  2017 firewallcmd-rich-logging.conf 
 +-rw-r--r--. 1 root root  2689 May 11  2017 firewallcmd-rich-rules.conf 
 +-rw-r--r--. 1 root root  1437 May 11  2017 iptables-allports.conf 
 +-rw-r--r--. 1 root root  1868 May 11  2017 iptables-common.conf 
 +-rw-r--r--. 1 root root  1350 May 11  2017 iptables.conf 
 +-rw-r--r--. 1 root root  1828 May 11  2017 iptables-ipset-proto4.conf 
 +-rw-r--r--. 1 root root  1755 May 11  2017 iptables-ipset-proto6-allports.conf 
 +-rw-r--r--. 1 root root  1798 May 11  2017 iptables-ipset-proto6.conf 
 +-rw-r--r--. 1 root root  1431 May 11  2017 iptables-multiport.conf 
 +-rw-r--r--. 1 root root  1910 May 11  2017 iptables-multiport-log.conf 
 +-rw-r--r--. 1 root root  1508 May 11  2017 iptables-new.conf 
 +-rw-r--r--. 1 root root  2282 May 11  2017 iptables-xt_recent-echo.conf 
 +-rw-r--r--. 1 root root  1556 May 11  2017 mail.conf 
 +-rw-r--r--. 1 root root  5233 May 11  2017 mynetwatchman.conf 
 +-rw-r--r--. 1 root root  1493 May 11  2017 netscaler.conf 
 +-rw-r--r--. 1 root root   489 May 11  2017 nftables-allports.conf 
 +-rw-r--r--. 1 root root  3680 May 11  2017 nftables-common.conf 
 +-rw-r--r--. 1 root root   496 May 11  2017 nftables-multiport.conf 
 +-rw-r--r--. 1 root root  1436 May 11  2017 npf.conf 
 +-rw-r--r--. 1 root root  3146 May 11  2017 nsupdate.conf 
 +-rw-r--r--. 1 root root  1023 May 11  2017 route.conf 
 +-rw-r--r--. 1 root root  2762 May 11  2017 sendmail-buffered.conf 
 +-rw-r--r--. 1 root root  1818 May 11  2017 sendmail-common.conf 
 +-rw-r--r--. 1 root root   798 May 11  2017 sendmail.conf 
 +-rw-r--r--. 1 root root  1692 May 11  2017 sendmail-geoip-lines.conf 
 +-rw-r--r--. 1 root root   918 May 11  2017 sendmail-whois.conf 
 +-rw-r--r--. 1 root root   993 May 11  2017 sendmail-whois-ipjailmatches.conf 
 +-rw-r--r--. 1 root root   974 May 11  2017 sendmail-whois-ipmatches.conf 
 +-rw-r--r--. 1 root root  1207 May 11  2017 sendmail-whois-lines.conf 
 +-rw-r--r--. 1 root root   938 May 11  2017 sendmail-whois-matches.conf 
 +-rw-r--r--. 1 root root  2981 May 11  2017 shorewall-ipset-proto6.conf 
 +-rw-r--r--. 1 root root  6021 May 11  2017 smtp.py 
 +-rw-r--r--. 2 root root  5921 Jul 13  2017 smtp.pyc 
 +-rw-r--r--. 2 root root  5921 Jul 13  2017 smtp.pyo 
 +-rw-r--r--. 1 root root  1330 May 11  2017 symbiosis-blacklist-allports.conf 
 +-rw-r--r--. 1 root root  6018 May 11  2017 xarf-login-attack.conf
 </code> </code>
  
-Notez que quand vous essayer de rentrer dans le répertoire en tant que root, vous obtenez le message **-bash: cd: /nfs: Permission non accordée** :+====Commandes==== 
 + 
 +Fail2Ban est constitué de deux commandes :
  
 <code> <code>
-[root@centos7 ~]# cd /nfs +[root@centos7 ~]# which fail2ban-client 
--bash: cd: /nfs: Permission denied+/bin/fail2ban-client 
 +[root@centos7 ~]# which fail2ban-server 
 +/bin/fail2ban-server
 </code> </code>
  
-<WRAP center round important> +L'exécutable **fail2ban-server** est responsable de l'examen des fichiers de journalisation ainsi que les commandes de blocage/déblocage. La commande fail2ban-client est utilisée pour configurer le **fail2ban-server**.
-**Important** : Puisque le répertoire **/home/trainee** a été exporté avec l'option par défaut **root_squash**. Ceci implique que root perd ses droits sur le répertoire quand il est monté. En fait, le service nfs remplace l'UID de 0 avec l'UID de l'utilisateur **nobody**. +
-</WRAP>+
  
-Retournez donc dans le serveur et modifiez le fichier **/etc/exports** ainsi :+Les options de la commande **fail2ban-server** sont :
  
 <code> <code>
-[root@centos7 ~]# cat /etc/exports +[root@centos7 ~]# fail2ban-server --help 
-/home/trainee 192.168.1.1(async,rw,no_root_squash)  +Usage: /bin/fail2ban-server [OPTIONS] 
-/tmp *+ 
 +Fail2Ban v0.9.7 reads log file that contains password failure report 
 +and bans the corresponding IP addresses using firewall rules. 
 + 
 +Only use this command for debugging purpose. Start the server with 
 +fail2ban-client instead. The default behaviour is to start the server 
 +in background. 
 + 
 +Options: 
 +    -b                   start in background 
 +    -f                   start in foreground 
 +    -s <FILE>            socket path 
 +    -p <FILE>            pidfile path 
 +    -x                   force execution of the server (remove socket file) 
 +    -h--help           display this help message 
 +    -V--version        print the version 
 + 
 +Report bugs to https://github.com/fail2ban/fail2ban/issues
 </code> </code>
  
-Redémarrez le service nfs :+Les options de la commande **fail2ban-client** sont :
  
 <code> <code>
-[root@centos7 ~]# systemctl restart nfs.service+[root@centos7 ~]# fail2ban-client --help 
 +Usage: /bin/fail2ban-client [OPTIONS] <COMMAND> 
 + 
 +Fail2Ban v0.9.7 reads log file that contains password failure report 
 +and bans the corresponding IP addresses using firewall rules. 
 + 
 +Options: 
 +    -c <DIR>                configuration directory 
 +    -s <FILE>               socket path 
 +    -p <FILE>               pidfile path 
 +    -d                      dump configuration. For debugging 
 +    -i                      interactive mode 
 +    -v                      increase verbosity 
 +    -q                      decrease verbosity 
 +    -x                      force execution of the server (remove socket file) 
 +    -b                      start server in background (default) 
 +    -f                      start server in foreground (note that the client forks once itself) 
 +    -h, --help              display this help message 
 +    -V, --version           print the version 
 + 
 +Command: 
 +                                             BASIC 
 +    start                                    starts the server and the jails 
 +    reload                                   reloads the configuration 
 +    reload <JAIL>                            reloads the jail <JAIL> 
 +    stop                                     stops all jails and terminate the 
 +                                             server 
 +    status                                   gets the current status of the 
 +                                             server 
 +    ping                                     tests if the server is alive 
 +    help                                     return this output 
 +    version                                  return the server version 
 + 
 +                                             LOGGING 
 +    set loglevel <LEVEL>                     sets logging level to <LEVEL>
 +                                             Levels: CRITICAL, ERROR, WARNING, 
 +                                             NOTICE, INFO, DEBUG 
 +    get loglevel                             gets the logging level 
 +    set logtarget <TARGET>                   sets logging target to <TARGET>
 +                                             Can be STDOUT, STDERR, SYSLOG or a 
 +                                             file 
 +    get logtarget                            gets logging target 
 +    set syslogsocket auto|<SOCKET>           sets the syslog socket path to 
 +                                             auto or <SOCKET>. Only used if 
 +                                             logtarget is SYSLOG 
 +    get syslogsocket                         gets syslog socket path 
 +    flushlogs                                flushes the logtarget if a file 
 +                                             and reopens it. For log rotation. 
 + 
 +                                             DATABASE 
 +    set dbfile <FILE>                        set the location of fail2ban 
 +                                             persistent datastore. Set to 
 +                                             "None" to disable 
 +    get dbfile                               get the location of fail2ban 
 +                                             persistent datastore 
 +    set dbpurgeage <SECONDS>                 sets the max age in <SECONDS> that 
 +                                             history of bans will be kept 
 +    get dbpurgeage                           gets the max age in seconds that 
 +                                             history of bans will be kept 
 + 
 +                                             JAIL CONTROL 
 +    add <JAIL> <BACKEND>                     creates <JAIL> using <BACKEND> 
 +    start <JAIL>                             starts the jail <JAIL> 
 +    stop <JAIL>                              stops the jail <JAIL>. The jail is 
 +                                             removed 
 +    status <JAIL> [FLAVOR]                   gets the current status of <JAIL>, 
 +                                             with optional flavor or extended 
 +                                             info 
 + 
 +                                             JAIL CONFIGURATION 
 +    set <JAIL> idle on|off                   sets the idle state of <JAIL> 
 +    set <JAIL> addignoreip <IP>              adds <IP> to the ignore list of 
 +                                             <JAIL> 
 +    set <JAIL> delignoreip <IP>              removes <IP> from the ignore list 
 +                                             of <JAIL> 
 +    set <JAIL> addlogpath <FILE> ['tail'   adds <FILE> to the monitoring list 
 +                                             of <JAIL>, optionally starting at 
 +                                             the 'tail' of the file (default 
 +                                             'head'). 
 +    set <JAIL> dellogpath <FILE>             removes <FILE> from the monitoring 
 +                                             list of <JAIL> 
 +    set <JAIL> logencoding <ENCODING>        sets the <ENCODING> of the log 
 +                                             files for <JAIL> 
 +    set <JAIL> addjournalmatch <MATCH>       adds <MATCH> to the journal filter 
 +                                             of <JAIL> 
 +    set <JAIL> deljournalmatch <MATCH>       removes <MATCH> from the journal 
 +                                             filter of <JAIL> 
 +    set <JAIL> addfailregex <REGEX>          adds the regular expression 
 +                                             <REGEX> which must match failures 
 +                                             for <JAIL> 
 +    set <JAIL> delfailregex <INDEX>          removes the regular expression at 
 +                                             <INDEX> for failregex 
 +    set <JAIL> ignorecommand <VALUE>         sets ignorecommand of <JAIL> 
 +    set <JAIL> addignoreregex <REGEX>        adds the regular expression 
 +                                             <REGEX> which should match pattern 
 +                                             to exclude for <JAIL> 
 +    set <JAIL> delignoreregex <INDEX>        removes the regular expression at 
 +                                             <INDEX> for ignoreregex 
 +    set <JAIL> findtime <TIME>               sets the number of seconds <TIME> 
 +                                             for which the filter will look 
 +                                             back for <JAIL> 
 +    set <JAIL> bantime <TIME>                sets the number of seconds <TIME> 
 +                                             a host will be banned for <JAIL> 
 +    set <JAIL> datepattern <PATTERN>         sets the <PATTERN> used to match 
 +                                             date/times for <JAIL> 
 +    set <JAIL> usedns <VALUE>                sets the usedns mode for <JAIL> 
 +    set <JAIL> banip <IP>                    manually Ban <IP> for <JAIL> 
 +    set <JAIL> unbanip <IP>                  manually Unban <IP> in <JAIL> 
 +    set <JAIL> maxretry <RETRY>              sets the number of failures 
 +                                             <RETRY> before banning the host 
 +                                             for <JAIL> 
 +    set <JAIL> maxlines <LINES>              sets the number of <LINES> to 
 +                                             buffer for regex search for <JAIL> 
 +    set <JAIL> addaction <ACT>[ <PYTHONFILE> <JSONKWARGS>
 +                                             adds a new action named <ACT> for 
 +                                             <JAIL>. Optionally for a Python 
 +                                             based action, a <PYTHONFILE> and 
 +                                             <JSONKWARGS> can be specified, 
 +                                             else will be a Command Action 
 +    set <JAIL> delaction <ACT>               removes the action <ACT> from 
 +                                             <JAIL> 
 + 
 +                                             COMMAND ACTION CONFIGURATION 
 +    set <JAIL> action <ACT> actionstart <CMD> 
 +                                             sets the start command <CMD> of 
 +                                             the action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> actionstop <CMD> sets the stop command <CMD> of the 
 +                                             action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> actioncheck <CMD> 
 +                                             sets the check command <CMD> of 
 +                                             the action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> actionban <CMD>  sets the ban command <CMD> of the 
 +                                             action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> actionunban <CMD> 
 +                                             sets the unban command <CMD> of 
 +                                             the action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> timeout <TIMEOUT> 
 +                                             sets <TIMEOUT> as the command 
 +                                             timeout in seconds for the action 
 +                                             <ACT> for <JAIL> 
 + 
 +                                             GENERAL ACTION CONFIGURATION 
 +    set <JAIL> action <ACT> <PROPERTY> <VALUE> 
 +                                             sets the <VALUE> of <PROPERTY> for 
 +                                             the action <ACT> for <JAIL> 
 +    set <JAIL> action <ACT> <METHOD>[ <JSONKWARGS>
 +                                             calls the <METHOD> with 
 +                                             <JSONKWARGS> for the action <ACT> 
 +                                             for <JAIL> 
 + 
 +                                             JAIL INFORMATION 
 +    get <JAIL> logpath                       gets the list of the monitored 
 +                                             files for <JAIL> 
 +    get <JAIL> logencoding                   gets the encoding of the log files 
 +                                             for <JAIL> 
 +    get <JAIL> journalmatch                  gets the journal filter match for 
 +                                             <JAIL> 
 +    get <JAIL> ignoreip                      gets the list of ignored IP 
 +                                             addresses for <JAIL> 
 +    get <JAIL> ignorecommand                 gets ignorecommand of <JAIL> 
 +    get <JAIL> failregex                     gets the list of regular 
 +                                             expressions which matches the 
 +                                             failures for <JAIL> 
 +    get <JAIL> ignoreregex                   gets the list of regular 
 +                                             expressions which matches patterns 
 +                                             to ignore for <JAIL> 
 +    get <JAIL> findtime                      gets the time for which the filter 
 +                                             will look back for failures for 
 +                                             <JAIL> 
 +    get <JAIL> bantime                       gets the time a host is banned for 
 +                                             <JAIL> 
 +    get <JAIL> datepattern                   gets the patern used to match 
 +                                             date/times for <JAIL> 
 +    get <JAIL> usedns                        gets the usedns setting for <JAIL> 
 +    get <JAIL> maxretry                      gets the number of failures 
 +                                             allowed for <JAIL> 
 +    get <JAIL> maxlines                      gets the number of lines to buffer 
 +                                             for <JAIL> 
 +    get <JAIL> actions                       gets a list of actions for <JAIL> 
 + 
 +                                             COMMAND ACTION INFORMATION 
 +    get <JAIL> action <ACT> actionstart      gets the start command for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> actionstop       gets the stop command for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> actioncheck      gets the check command for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> actionban        gets the ban command for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> actionunban      gets the unban command for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> timeout          gets the command timeout in 
 +                                             seconds for the action <ACT> for 
 +                                             <JAIL> 
 + 
 +                                             GENERAL ACTION INFORMATION 
 +    get <JAIL> actionproperties <ACT>        gets a list of properties for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> actionmethods <ACT>           gets a list of methods for the 
 +                                             action <ACT> for <JAIL> 
 +    get <JAIL> action <ACT> <PROPERTY>       gets the value of <PROPERTY> for 
 +                                             the action <ACT> for <JAIL> 
 + 
 +Report bugs to https://github.com/fail2ban/fail2ban/issues
 </code> </code>
  
-Vous noterez que maintenant vous êtes capable de vous positionner dans le répertoire **/nfs** du client en tant que **root** +===Activer et Démarrer le Serveur=== 
 + 
 +Pour prendre en compte la configuration dans le fichier **/etc/fail2ban/jail.local**, activez et démarrez le server :
  
 <code> <code>
-[root@centos7 ~]# cd /nfs +[root@centos7 ~]# systemctl status fail2ban 
-[root@centos7 nfs]# +● fail2ban.service - Fail2Ban Service 
 +   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled) 
 +   Active: inactive (dead) 
 +     Docs: man:fail2ban(1) 
 + 
 +[root@centos7 ~]# systemctl enable fail2ban 
 + 
 +Created symlink from /etc/systemd/system/multi-user.target.wants/fail2ban.service to /usr/lib/systemd/system/fail2ban.service. 
 + 
 +[root@centos7 ~]# systemctl start fail2ban 
 + 
 +[[root@centos7 ~]# ps aux | grep fail2ban-server 
 +root     19229  0.5  2.3 399480 11532 ?        Sl   23:37   0:00 /usr/bin/python2 -s /usr/bin/fail2ban-server -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x -b 
 +root     20004  0.0  0.1 112660   988 pts/1    S+   23:39   0:00 grep --color=auto fail2ban-server
 </code> </code>
  
-=====Surveillance du Serveur=====+===Utiliser la Commande Fail2Ban-server==
  
-====La Commande rpcinfo====+Pour connaître le status de Fail2Ban-server, saisissez la commande suivante : 
 + 
 +<code> 
 +[root@centos7 ~]# fail2ban-client status 
 +Status 
 +|- Number of jail: 1 
 +`- Jail list: sshd  
 +</code>
  
-La commande **rpcinfo** permet de faire une requête RPC sur le serveur et de voir les démons gérés :+Il est aussi possible de se renseigner sur le statut d'un prison particulier :
  
 <code> <code>
-[root@centos6 ~]# rpcinfo +[root@centos7 ~]# fail2ban-client status sshd 
-   program version netid     address                service    owner +Status for the jailsshd 
-    100000    4    tcp6      ::.0.111               portmapper superuser +|- Filter 
-    100000    3    tcp6      ::.0.111               portmapper superuser +|  |- Currently failed: 0 
-    100000    4    udp6      ::.0.111               portmapper superuser +|  |- Total failed: 0 
-    100000    3    udp6      ::.0.111               portmapper superuser + `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd 
-    100000    4    tcp       0.0.0.0.0.111          portmapper superuser +`- Actions 
-    100000    3    tcp       0.0.0.0.0.111          portmapper superuser +   |- Currently banned: 0 
-    100000    2    tcp       0.0.0.0.0.111          portmapper superuser +   |- Total banned: 0 
-    100000    4    udp       0.0.0.0.0.111          portmapper superuser +   `- Banned IP list:
-    100000    3    udp       0.0.0.0.0.111          portmapper superuser +
-    100000    2    udp       0.0.0.0.0.111          portmapper superuser +
-    100000    4    local     /var/run/rpcbind.sock  portmapper superuser +
-    100000    3    local     /var/run/rpcbind.sock  portmapper superuser +
-    100024    1    udp       0.0.0.0.182.127        status     29 +
-    100024    1    tcp       0.0.0.0.182.157        status     29 +
-    100024    1    udp6      ::.146.50              status     29 +
-    100024    1    tcp6      ::.139.119             status     29 +
-    100011    1    udp       0.0.0.0.3.107          rquotad    superuser +
-    100011    2    udp       0.0.0.0.3.107          rquotad    superuser +
-    100011    1    tcp       0.0.0.0.3.107          rquotad    superuser +
-    100011    2    tcp       0.0.0.0.3.107          rquotad    superuser +
-    100005    1    udp       0.0.0.0.204.191        mountd     superuser +
-    100005    1    tcp       0.0.0.0.196.122        mountd     superuser +
-    100005    1    udp6      ::.177.18              mountd     superuser +
-    100005    1    tcp6      ::.229.141             mountd     superuser +
-    100005    2    udp       0.0.0.0.215.201        mountd     superuser +
-    100005    2    tcp       0.0.0.0.174.127        mountd     superuser +
-    100005    2    udp6      ::.199.96              mountd     superuser +
-    100005    2    tcp6      ::.147.162             mountd     superuser +
-    100005    3    udp       0.0.0.0.210.10         mountd     superuser +
-    100005    3    tcp       0.0.0.0.155.14         mountd     superuser +
-    100005    3    udp6      ::.147.130             mountd     superuser +
-    100005    3    tcp6      ::.220.126             mountd     superuser +
-    100003    2    tcp       0.0.0.0.8.1            nfs        superuser +
-    100003    3    tcp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    tcp       0.0.0.0.8.1            nfs        superuser +
-    100227    2    tcp       0.0.0.0.8.1            nfs_acl    superuser +
-    100227    3    tcp       0.0.0.0.8.1            nfs_acl    superuser +
-    100003    2    udp       0.0.0.0.8.1            nfs        superuser +
-    100003    3    udp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    udp       0.0.0.0.8.1            nfs        superuser +
-    100227    2    udp       0.0.0.0.8.1            nfs_acl    superuser +
-    100227    3    udp       0.0.0.0.8.1            nfs_acl    superuser +
-    100003    2    tcp6      ::.8.1                 nfs        superuser +
-    100003    3    tcp6      ::.8.1                 nfs        superuser +
-    100003    4    tcp6      ::.8.1                 nfs        superuser +
-    100227    2    tcp6      ::.8.1                 nfs_acl    superuser +
-    100227    3    tcp6      ::.8.1                 nfs_acl    superuser +
-    100003    2    udp6      ::.8.1                 nfs        superuser +
-    100003    3    udp6      ::.8.1                 nfs        superuser +
-    100003    4    udp6      ::.8.1                 nfs        superuser +
-    100227    2    udp6      ::.8.1                 nfs_acl    superuser +
-    100227    3    udp6      ::.8.1                 nfs_acl    superuser +
-    100021    1    udp       0.0.0.0.163.78         nlockmgr   superuser +
-    100021    3    udp       0.0.0.0.163.78         nlockmgr   superuser +
-    100021    4    udp       0.0.0.0.163.78         nlockmgr   superuser +
-    100021    1    tcp       0.0.0.0.137.82         nlockmgr   superuser +
-    100021    3    tcp       0.0.0.0.137.82         nlockmgr   superuser +
-    100021    4    tcp       0.0.0.0.137.82         nlockmgr   superuser +
-    100021    1    udp6      ::.175.250             nlockmgr   superuser +
-    100021    3    udp6      ::.175.250             nlockmgr   superuser +
-    100021    4    udp6      ::.175.250             nlockmgr   superuser +
-    100021    1    tcp6      ::.188.197             nlockmgr   superuser +
-    100021    3    tcp6      ::.188.197             nlockmgr   superuser +
-    100021    4    tcp6      ::.188.197             nlockmgr   superuser+
 </code> </code>
 +
 +La commande **fail2ban-client** peut être utilisée pour contrôler un prison :
  
 <code> <code>
-[root@centos7 ~]# rpcinfo +[root@centos7 ~]# fail2ban-client stop sshd 
-   program version netid     address                service    owner +Jail stopped 
-    100000    4    tcp6      ::.0.111               portmapper superuser + 
-    100000    3    tcp6      ::.0.111               portmapper superuser +[root@centos7 ~]# fail2ban-client status sshd 
-    100000    4    udp6      ::.0.111               portmapper superuser +ERROR  NOK('sshd',) 
-    100000    3    udp6      ::.0.111               portmapper superuser +Sorry but the jail 'sshd' does not exist 
-    100000    4    tcp       0.0.0.0.0.111          portmapper superuser + 
-    100000    3    tcp       0.0.0.0.0.111          portmapper superuser +[root@centos7 ~]# fail2ban-client reload 
-    100000    2    tcp       0.0.0.0.0.111          portmapper superuser + 
-    100000    4    udp       0.0.0.0.0.111          portmapper superuser +[root@centos7 ~]# fail2ban-client status sshd 
-    100000    3    udp       0.0.0.0.0.111          portmapper superuser +Status for the jailsshd 
-    100000    2    udp       0.0.0.0.0.111          portmapper superuser +|- Filter 
-    100000    4    local     /var/run/rpcbind.sock  portmapper superuser +|  |- Currently failed: 0 
-    100000    3    local     /var/run/rpcbind.sock  portmapper superuser +|  |- Total failed: 0 
-    100024    1    udp       0.0.0.0.231.232        status     29 +|  `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd 
-    100024    1    tcp       0.0.0.0.176.90         status     29 +`- Actions 
-    100024    1    udp6      ::.168.173             status     29 +   |- Currently banned: 0 
-    100024    1    tcp6      ::.234.102             status     29 +   |- Total banned:
-    100005    1    udp       0.0.0.0.78.80          mountd     superuser +   `- Banned IP list:
-    100005    1    tcp       0.0.0.0.78.80          mountd     superuser +
-    100005    1    udp6      ::.78.80               mountd     superuser +
-    100005    1    tcp6      ::.78.80               mountd     superuser +
-    100005    2    udp       0.0.0.0.78.80          mountd     superuser +
-    100005    2    tcp       0.0.0.0.78.80          mountd     superuser +
-    100005    2    udp6      ::.78.80               mountd     superuser +
-    100005    2    tcp6      ::.78.80               mountd     superuser +
-    100005    3    udp       0.0.0.0.78.80          mountd     superuser +
-    100005    3    tcp       0.0.0.0.78.80          mountd     superuser +
-    100005    3    udp6      ::.78.80               mountd     superuser +
-    100005    3    tcp6      ::.78.80               mountd     superuser +
-    100003    3    tcp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    tcp       0.0.0.0.8.1            nfs        superuser +
-    100227    3    tcp       0.0.0.0.8.1            nfs_acl    superuser +
-    100003    3    udp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    udp       0.0.0.0.8.1            nfs        superuser +
-    100227    3    udp       0.0.0.0.8.1            nfs_acl    superuser +
-    100003    3    tcp6      ::.8.1                 nfs        superuser +
-    100003    4    tcp6      ::.8.1                 nfs        superuser +
-    100227    3    tcp6      ::.8.1                 nfs_acl    superuser +
-    100003    3    udp6      ::.8.1                 nfs        superuser +
-    100003    4    udp6      ::.8.1                 nfs        superuser +
-    100227    3    udp6      ::.8.1                 nfs_acl    superuser +
-    100021    1    udp       0.0.0.0.193.97         nlockmgr   superuser +
-    100021    3    udp       0.0.0.0.193.97         nlockmgr   superuser +
-    100021    4    udp       0.0.0.0.193.97         nlockmgr   superuser +
-    100021    1    tcp       0.0.0.0.132.11         nlockmgr   superuser +
-    100021    3    tcp       0.0.0.0.132.11         nlockmgr   superuser +
-    100021    4    tcp       0.0.0.0.132.11         nlockmgr   superuser +
-    100021    1    udp6      ::.151.89              nlockmgr   superuser +
-    100021    3    udp6      ::.151.89              nlockmgr   superuser +
-    100021    4    udp6      ::.151.89              nlockmgr   superuser +
-    100021    1    tcp6      ::.234.241             nlockmgr   superuser +
-    100021    3    tcp6      ::.234.241             nlockmgr   superuser +
-    100021    4    tcp6      ::.234.241             nlockmgr   superuser+
 </code> </code>
  
-====La Commande nfsstat====+===Ajouter un Prison===
  
-La Commande **nfsstat** permet de vérifier l'activité sur le serveur NFS :+Installez maintenant le serveur Apache si ce n'est pas déjà fait :
  
 <code> <code>
-[root@centos6 ~]# nfsstat +[root@centos7 ~]# yum install httpd 
-Server rpc stats: +</code>
-calls      badcalls   badauth    badclnt    xdrcall +
-50                  0          0          0       +
  
-Server nfs v4: +Activez et démarrez le service Apache si ce n'est pas déjà lancé :
-null         compound      +
-2         4% 48       96% +
  
-Server nfs v4 operations: +<code> 
-op0-unused   op1-unused   op2-future   access       close        commit        +[root@centos7 ~]# systemctl status httpd 
-0         0% 0         0% 0         0% 5         4% 0         0% 0         0%  +● httpd.service - The Apache HTTP Server 
-create       delegpurge   delegreturn  getattr      getfh        link          +   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) 
-0         0% 0         0% 0         0% 45       41% 5         4% 0         0%  +   Active: inactive (dead) 
-lock         lockt        locku        lookup       lookup_root  nverify       +     Docs: man:httpd(8) 
-0         0% 0         0% 0         0% 3         2% 0         0% 0         0%  +           man:apachectl(8) 
-open         openattr     open_conf    open_dgrd    putfh        putpubfh      + 
-0         0% 0         0% 0         0% 0         0% 46       42% 0         0%  +[root@centos7 ~]# systemctl enable httpd 
-putrootfh    read         readdir      readlink     remove       rename        + 
-2         1% 0         0% 3         2% 0         0% 0         0% 0         0%  +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. 
-renew        restorefh    savefh       secinfo      setattr      setcltid      + 
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +[root@centos7 ~]# systemctl start httpd
-setcltidconf verify       write        rellockowner bc_ctl       bind_conn     +
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-exchange_id  create_ses   destroy_ses  free_stateid getdirdeleg  getdevinfo    +
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-getdevlist   layoutcommit layoutget    layoutreturn secinfononam sequence      +
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-set_ssv      test_stateid want_deleg   destroy_clid reclaim_comp  +
-0         0% 0         0% 0         0% 0         0% 0         0% +
 </code> </code>
 +
 +Modifiez maintenant votre fichier **/etc/fail2ban/jail.local** :
  
 <code> <code>
-[root@centos7 ~]# nfsstat +[root@centos7 ~]# vi /etc/fail2ban/jail.local 
-Server rpc stats: +[root@centos7 ~]# cat /etc/fail2ban/jail.local 
-calls      badcalls   badclnt    badauth    xdrcall +[DEFAULT] 
-34                                          +ignoreip = 127.0.0.1 10.0.2.15  
 +findtime = 3600 
 +bantime = 86400 
 +maxretry = 5
  
-Server nfs v4: +[sshd] 
-null         compound      +enabled = true
-1         2% 33       97% +
  
-Server nfs v4 operations: +[apache-auth] 
-op0-unused   op1-unused   op2-future   access       close        commit        +enabled = true 
-0         0% 0         0% 0         0% 5         7% 0         0% 0         0%  +</code> 
-create       delegpurge   delegreturn  getattr      getfh        link          + 
-0         0% 0         0% 0         0% 22       31% 4         5% 0         0%  +Appliquez la nouvelle configuration et constatez le résultat : 
-lock         lockt        locku        lookup       lookup_root  nverify       + 
-0         0% 0         0% 0         0% 5         7% 0         0% 0         0%  +<code> 
-open         openattr     open_conf    open_dgrd    putfh        putpubfh      +[root@centos7 ~]# fail2ban-client reload 
-0         0% 0         0% 0         0% 0         0% 23       33% 0         0%  +[root@centos7 ~]# fail2ban-client status 
-putrootfh    read         readdir      readlink     remove       rename        +Status 
-1         1% 0         0% 0         0% 0         0% 0         0% 0         0%  +|- Number of jail:
-renew        restorefh    savefh       secinfo      setattr      setcltid      +`- Jail list: apache-auth, sshd
-5         7% 0         0% 0         0% 0         0% 0         0%         2%  +
-setcltidconf verify       write        rellockowner bc_ctl       bind_conn     +
-2         2% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-exchange_id  create_ses   destroy_ses  free_stateid getdirdeleg  getdevinfo    +
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-getdevlist   layoutcommit layoutget    layoutreturn secinfononam sequence      +
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +
-set_ssv      test_stateid want_deleg   destroy_clid reclaim_comp  +
-0         0% 0         0% 0         0% 0         0% 0         0% +
 </code> </code>
  
------ 
-<html> 
-<div align="center"> 
-Copyright © 2020 Hugh Norris 
-</div> 
-</html> 
 ----- -----
  
 +Copyright © 2023 Hugh Norris.
Menu