WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Optimisation de la sécurité de la performance et virtualisation d'un serveur linux.

( Télécharger le fichier original )
par Mohamed Ali Kortli
FST  - Diplôme Nationale dà¢â‚¬â„¢ingénieur En informatique  2016
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.2.3 L'isolation du serveur et la protection de son accès

Présente évidement la clé de sécurité ,car il limite tout accès illégal au serveur ,il concerne toutes techniques servent à garder le serveur loin des mains des agresseurs.

Les mots de passe

Il existe différentes manières d'authentification, la plus répondue est l'utilisation d'un mot de passe, selon SANS (SysAdmin, Audit, Network, Security) une organisation regroupant 165 000 professionnels de la sécurité , un mauvais mot de passe constitue la deuxième plus importante faille d'un système ,la première étant l'absence de la mise à jour . [12] .Un bon choix des mots de passe robustes est nécessaire pour rendre difficiles à les retrouver à l'aide d'outils automatisés et à deviner par une tierce personne.

Un bon mot de passe doit ne pas contenir le prénom ,le nom , le login,des informations qui ont un rapport avec l'utilisateur "date naissance , nom d'un membre de la famille ... " , des mots du dictionnaire de n'importe quelle langue, une suite des lettres de la forme w sur le clavier comme aqwsedcft ,edcftgbhu ...Tout simplement à ne pas utiliser tout ce que peut être deviné facilement.Un mot de passe efficace doit contenir au moins 8 chiffres en assurant la mélange entre les majuscules , les minuscules ,les chiffres et les symboles et en facilitant sa mémorisation et la rapidité lorsqu'on tape pour éviter l'espionnage .Il existe des bonnes pratiques pour générer un mot de passe , utiliser l'initiales des mots d'une phrase ,prenons comme exemple "JPCAU14" générer à partir de la phrase "je préfère Centos à Ubuntu 14" ou mélanger des mots ,par exemple les mots "redhat et Centos " donnent "rceednhoast".Le plus important que ça est de changer régulièrement le mot de passe , associer à chaque service son propre mot de passe , garder le confidentielle et ne le transmettre pas via e-mail ou l'écrire n'importe où .

Secure Shell SSH

Secure Shell ou SSH est à la fois un programme informatique et un protocole de communication sécurisé qui offre un ensemble de commandes en remplaçant les commandes remote (rlogin,rsh) . Il devient donc impossible d'utiliser un sniffer pour voir ce que fait l'utilisateur. SSH est implémenté pour différents environnements tel que linux windows et macintosh .Le logiciel putty pour windows sert à jouer le rôle d'un client ssh et telnet . Après avoir lancé putty, il ouvre un tunnel sécurisé avec le serveur pour établir une connexion avec le serveur .

L'établissement d'une connexion SSH se fait en plusieurs étapes : Dans un premier temps le serveur et le client s'identifient mutuellement afin de mettre en place un canal sécurisé (couche de transport sécurisée).

Dans un second temps le client s'authentifie auprès du serveur pour obtenir une session .

La figure ci-dessous présente l'architecture du protocole SSH .

2.2. Stratégie de base de sécurisation du serveur 31

FIGURE 2.5 - Authentification SSH

L'authentification ssh Une fois que la connexion sécurisée est mise en place entre le client et le serveur, le client doit s'identifier sur le serveur afin d'obtenir un droit d'accès. Il existe plusieurs méthodes : La méthode la plus connue est le traditionnel mot de passe. Le client envoie un nom d'utilisateur et un mot de passe au serveur au travers de la communication sécurisée et le serveur vérifient si l'utilisateur concerné a accès à la machine et si le mot de passe fourni est valide. Une méthode moins connue mais plus souple est l'utilisation de clés publiques. Si l'authentification par clé est choisie par le client, le serveur va créer un challenge et donner un accès au client si ce dernier parvient à déchiffrer le challenge avec sa clé privée

Afin de mieux sécuriser l'accès SSH au serveur, j'édite le fichier de configuration de ssh , changer le port de connexion par défaut est une bonne idée pour éviter quelques attaques par force brute sur le port 22, qui est bien connu pour héberger ce service,n'autorisons pas l'accès via compte root dès le début ,accéder en tant qu'autre utilisateur puis avec la commande su ouvrons une session root .

FIGURE 2.6 - Exemple de fichier de Configuration ssh

32 Chapitre 2. Sécurisation du serveur

Notre politique de sécurité de la connexion ssh se base sur l'authentification à clé publique . Utiliser l'authentification SSH par une clé publique pour se connecter à un système distant est un solide alternatif plus sûr pour se connecter avec un mot de passe . SSH authentification par clé publique repose sur des algorithmes cryptographiques asymétriques qui génèrent une paire de clés distinctes un privé et l'autre public. On garde la clé privée un secret et on le stocke sur l'ordinateur que l'on utilise pour se connecter au système distant. La clé publique sera stocké sur le système distant dans un répertoire .ssh/authorized-keys.

Pour configurer l'authentification par clé publique en utilisant SSH ,on utilise la ligne de commande SSH pour générer une paire de clés en utilisant soit l'algorithme DSA ou RSA : pour générer des clés DSA , on tape ssh-keygen -t dsa , dans notre cas on génère des clés RSA à l'aide du commande ssh-keygen -t rsa

FIGURE 2.7 - Génération des clés rsa

Trois fichiers seront crées sous /.ssh , un fichier id-rsa présent la clé privé , un fichier id-rsa.pub correspond au clé publique et un fichier autorized-keys contient une copie des clés publiques des utilisateurs distants .La clé privée sera copiée sur la poste client qui sera utilisée pour configurer de l'authentification par clé publique en utilisant un agent comme PuTTY sous Windows.

2.2. Stratégie de base de sécurisation du serveur 33

FIGURE 2.8 - Configuration de l'authentification par clé publique en utilisant PuTTY sur un ordinateur Windows

Alerte login root Recevoir une alerte à chaque connexion ssh limite le piratage du serveur .De cette façon, nous serons prévenus lorsqu'un login est effectué.Il suffit donc d'éditer le fichier /root/.bashrc exécutable au démarrage d'une session root pour envoyer un e-mail de notification contenant la date , l'identité du source de connexion .

FIGURE 2.9 - Configuration d'alerte login

34 Chapitre 2. Sécurisation du serveur

FIGURE 2.10 - Exemple alerte login

PAM

PAM, Pluggable Authentication Modules (modules d'authentification enfichables) est une API , présente une solution crée par SUN Microsystems afin de résoudre l'adaptabilité des règles de sécurité , en effet avant la création de ce mécanisme le changement de méthode d'authentification ou des règles de sécurité impose la modification d'application de login qui était différent d'un système linux à un autre.Toute commande devient modifiable sans recompilation en utilisant cette API , il suffit donc de modifier des plug-in associer à chaque application .

Chaque application possède un fichier de configuration sous PAM dans le répertoire /etc/pam.d Chacun de ces fichiers est composé de 3 parties : prenons l'exemple de plug-in ssh [Fig 2.11] :

1.type de module:

auth : authentification de l'utilisateur (Unix, SMB, LDAP...)

account : gestion des utilisateurs (ex : restrictions horaires)

session : tâches à effectuer en début et fin de chaque session

2.contrôle de réussite :

required : la réussite d'au moins un des modules required est nécessaire

requisite : la réussite de tous les modules requisite est nécessaire

sufficient : la réussite d'un seul module sufficient est suffisante

optional : la réussite d'au moins un des modules required est nécessaire si aucun autre n'a réussi

3.Quelques modules PAM intéressants :

pam-unix : Ceci est le module d'authentification standard Unix. Il utilise des appels standard provenant des bibliothèques du système pour récupérer et définir les informations de compte, ainsi que l'authentification. Habituellement, cela est obtenu à partir du fichier /etc/passwd et le fichier /etc/shadow

pam-cracklib : ce module utilise la bibliothèque cracklib pour vérifier la solidité d'un nouveau mot de passe. Il peut également vérifier que le nouveau mot de passe n'est pas construit à partir de l'ancien.

2.2. Stratégie de base de sécurisation du serveur 35

FIGURE 2.11 - Exemple plug-in ssh sous pam

pam-limits : ce module permet de limiter les ressources accessibles à un utilisateur et/ou à un groupe comme le nombre de processus simultanés et leurs temps CPU, le nombre de fichiers ouverts simultanés et leurs tailles, le nombre de connexions simultanées, etc. La configuration se fait via le fichier /etc/security/limits.conf

pam-rootok : permet à root l'accès à un service sans avoir à rentrer de mot de passe. A ne pas utiliser avec login.

pam-time : permet de limiter les horaires d'accès. La configuration se fait via le fichier /etc/security/time.conf

pam-user : ne permet l'accès au compte root qu'aux seuls membres du groupe user. A n'utiliser qu'avec su.

Gérer la stratégie du mot de passe avec pam-unix et pam-cracklib Comme on a déja vu dans la partie précédente que le mot de passe construit la première defence contre le piratage donc on va effectuer une stratégie de contrôle de changements de mot de passe .Éditons sous /etc/pam.d/ le fichier sysauth .il doit mémoriser un nombre précis de mot de passe ancien avec un ensemble des règles prédéfinies .A chaque changement de mot de passe , il les vérifie.Pour éviter un attaque par dictionnaire on définit une politique de mot de passe, un ensemble de règles qui doivent être respectées . La politique de mot de passe est un facteur important dans la sécurité informatique depuis les mots de passe des utilisateurs sont trop souvent la principale raison de la violation de la sécurité du système informatique.

36 Chapitre 2. Sécurisation du serveur

La politique de mot de passe sera définie comme ceci :

*Âge de Mot de passe :Le nombre maximum de jours un mot de passe peut être utilisé.

*Longueur de Mot de passe :Longueur minimale du mot de passe acceptable. *complexité de Mot de passe

*Nombre d'échecs de connexion

*Nier les mots de passe utilisés

Des lignes de code seront ajoutées au plug-in pam concerné comme password requisite pam-cracklib.so try-first-pass retry=3 type= ucredit=-2 lcredit=-2 dcredit=-2 ocredit=-2

ucredit=-2 où 2 est le nombre de caractères majuscules requis dans un mot de passe

lcredit=-2 où 2 est le nombre de caractères minuscules requis dans le mot de passe

dcredit=-2 où 2 est le nombre de chiffres requis dans le mot de passe ocredit=-2 où 2 est le nombre de symboles requis dans un mot de passe

FIGURE 2.12 - Stratégie du mot de passe avec pam-unix et pam-cracklib

Il existe autres modules pam limitant accès au système ainsi que pam-limit,pam-

FIGURE 2.13 - Test de stratégie du mot de passe

2.3. Les pare-feux et les anti-crackages 37

warn et pam-time qui a pour rôle de restreindre l'accès au système ou des applications spécifiques à différents moments de la journée et des jours spécifiques. Ce module peut être configuré pour refuser l'accès aux utilisateurs (individuels) en fonction de leur nom, l'heure du jour, le jour de la semaine, le service qu'ils appliquent et leur terminal à partir duquel ils font leur demande.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand