====== Différences ======

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

securisation:linux [2014/10/16 21:18]
r.doiteau [Système de fichiers /partitionnement]
securisation:linux [2019/05/11 14:35] (Version actuelle)
Ligne 1: Ligne 1:
-====== Guide de sécurité /​référentiel ======+====== Guide de sécurité /​référentiel ​LINUX ======
  
 +Download PDF : {{::​guide_de_securite-referentiel.pdf|}}
 +===== install Debian =====
  
-==== install Debian ==== 
  
- +==== Partitionnement ​====
-=== Partitionnement ===+
  
  
Ligne 20: Ligne 20:
 <note tip>​http://​formation-debian.via.ecp.fr/​partitionner.html</​note>​ <note tip>​http://​formation-debian.via.ecp.fr/​partitionner.html</​note>​
  
-==== BIOS ====+===== BIOS =====
  
-=== Sécurisation du BIOS ===+==== Sécurisation du BIOS ====
  
  ​Désactivation de tous les boot sauf le disque système  ​Désactivation de tous les boot sauf le disque système
Ligne 34: Ligne 34:
 {{:​securisation:​bios.jpg?​400|}} {{:​securisation:​bios.jpg?​400|}}
  
-==== Sécurisation de GRUB ====+===== Sécurisation de GRUB =====
  
-=== Version du GRUB ===+==== Version du GRUB ====
  
 {{:​securisation:​version_grub.png|}} {{:​securisation:​version_grub.png|}}
Ligne 46: Ligne 46:
 {{:​securisation:​version_grub.png|}} {{:​securisation:​version_grub.png|}}
  
-=== Définition et cryptage mot de passe GRUB ===+==== Définition et cryptage mot de passe GRUB ====
  
    
Ligne 80: Ligne 80:
  
  
-==== Système de fichiers /​partitionnement ====+===== Système de fichiers /​partitionnement ​=====
  
-=== A qoui sert le fstab ? ===+==== A qoui sert le fstab ? ====
  
  
 Fichier de configuration qui contient les informations statiques sur le montage des systèmes de fichiers que vous utilisez régulièrement. Fichier de configuration qui contient les informations statiques sur le montage des systèmes de fichiers que vous utilisez régulièrement.
  
-=== Option communes aux système de fichiers ===+===Option communes aux système de fichiers ​====
  
  
 {{:​securisation:​fstab_options.png|}} {{:​securisation:​fstab_options.png|}}
  
-=== Permissions Linux ===+==== Permissions Linux ====
  
  
Ligne 99: Ligne 99:
 x : execute (permet d'​exécuter le fichier ou d’ouvrir les dossiers) x : execute (permet d'​exécuter le fichier ou d’ouvrir les dossiers)
  
-=== Notion de propriété ===+==== Notion de propriété ​====
  
  
Ligne 108: Ligne 108:
 Les droits s’articule donc entre des autorisations données à des personnes (absence d’autorisation = non autorisé ). Exemple obtenu avec la commande ls -lh Les droits s’articule donc entre des autorisations données à des personnes (absence d’autorisation = non autorisé ). Exemple obtenu avec la commande ls -lh
  
-=== Le bit SUID ===+==== Le bit SUID ====
  
  
Ligne 130: Ligne 130:
 Ceci est très pratique pour permettre à plusieurs personnes de travailler dans la même arborescence. Par exemple vous créez un groupe dans lequel vous mettez les utilisateurs concernés, puis vous mettez le bit sgid (bit de groupe) sur le répertoire de travail. Ainsi tous les fichiers créés sous ce répertoire appartiendront au même groupe et pourront dont être lu et/ou modifié (pensez à regarder votre umask) par tout le groupe. Notez que si c'est un sous répertoire qui est créé, il obtiendra lui aussi le bit suid. Ceci est très pratique pour permettre à plusieurs personnes de travailler dans la même arborescence. Par exemple vous créez un groupe dans lequel vous mettez les utilisateurs concernés, puis vous mettez le bit sgid (bit de groupe) sur le répertoire de travail. Ainsi tous les fichiers créés sous ce répertoire appartiendront au même groupe et pourront dont être lu et/ou modifié (pensez à regarder votre umask) par tout le groupe. Notez que si c'est un sous répertoire qui est créé, il obtiendra lui aussi le bit suid.
  
-=== chmod, chown et chgrg ===+==== chmod, chown et chgrg ====
  
 **chmod** permet de modifier les permissions sur un fichier **chmod** permet de modifier les permissions sur un fichier
Ligne 157: Ligne 157:
  
  
-=== Sécurisation des points de montage ===+==== Sécurisation des points de montage ​====
  
  
Ligne 187: Ligne 187:
  
  
-==== Limiter les terminaux utilisés par root (nombre et durée) ====+===== Limiter les terminaux utilisés par root (nombre et durée) ​=====
  
-=== En nombre ===+==== En nombre ​====
  
 On peut empêcher le login comme root sur la console et tous les terminaux que l’on désire. On peut empêcher le login comme root sur la console et tous les terminaux que l’on désire.
Ligne 208: Ligne 208:
 </​code>​ </​code>​
  
-=== En durée ===+==== En durée ​====
  
 Pour définir une variable d'​environnement de manière à ce qu'​elle affecte l'​ensemble de la session d'un utilisateur,​ il suffit de placer une commande la définissant dans l'un des fichiers cachés de script présent dans le répertoire personnel de l'​utilisateur. Voici les fichiers les plus courants qui peuvent être utilisés : Pour définir une variable d'​environnement de manière à ce qu'​elle affecte l'​ensemble de la session d'un utilisateur,​ il suffit de placer une commande la définissant dans l'un des fichiers cachés de script présent dans le répertoire personnel de l'​utilisateur. Voici les fichiers les plus courants qui peuvent être utilisés :
Ligne 223: Ligne 223:
 <note tip>​http://​linuxfr.org/​forums/​astucesdivers/​posts/​terminal-d%C3%A9connexion-automatique</​note>​ <note tip>​http://​linuxfr.org/​forums/​astucesdivers/​posts/​terminal-d%C3%A9connexion-automatique</​note>​
  
-=== Exclusion total ===+==== Exclusion total ====
  
 Modifier le script qui permet le démarrage des processus Modifier le script qui permet le démarrage des processus
Ligne 243: Ligne 243:
 </​code>​ </​code>​
  
-==== Durcissements des comptes ====+===== Durcissements des comptes ​=====
  
 PAM (Pluggable Authentication Modules) permet aux administrateurs système de choisir comment les applications authentifient les utilisateurs. PAM (Pluggable Authentication Modules) permet aux administrateurs système de choisir comment les applications authentifient les utilisateurs.
Ligne 264: Ligne 264:
   * lcredit : si le chiffre est négatif, c'est qu'il faut au moins x fois de lettre minuscule pour que le mot de passe soit validé. (ici il faut au moins une minuscule)   * lcredit : si le chiffre est négatif, c'est qu'il faut au moins x fois de lettre minuscule pour que le mot de passe soit validé. (ici il faut au moins une minuscule)
  
-=== Politique de mot de passe ===+==== Politique de mot de passe ====
  
  
Ligne 294: Ligne 294:
 </​note>​ </​note>​
  
-=== PASSWD et SHADOW ===+==== Création de comptes automatisé ==== 
 +<​code=bash>​ 
 +#######################################################​ 
 +# auteur :       ​Romain Doiteau ​                      # 
 +#                                                     # 
 +#                                                     # 
 +# 08/​10/​2014 ​                                         # 
 +#                                                     # 
 +#  LP ASUR                                            # 
 +#                                                     # 
 +# Automatisation de la création ded'​utilisateur ​      # 
 +# avce une condition de création de répertoire ​       # 
 +#                                                     # 
 +#######################################################​ 
 + 
 + 
 + 
 +#!/bin/sh 
 + 
 +echo "​Entrer le nom de l'​utilisateur"​ 
 +read nom 
 +echo " ​ Entrer le numéro de groupe de l'​utilisateur"​ 
 +echo " Root = 0" 
 +echo " Utilisateurs = 1001"​ 
 +read groupe 
 +echo "​Entrer le mot de passe"​ 
 +read -s mdp 
 +echo "​Voulez vous créer un répaertoire home ? (yes/no) " 
 +# -s cahe l'​affichage 
 +read home 
 + 
 +if [ $home = '​yes'​ ] 
 + 
 +then 
 + 
 +        useradd -m -g $groupe -p $mdp -s /bin/bash $nom 
 + 
 + 
 +# -m créer le répertoire 
 +# -g affcete ​ l' utilisateur au group 
 +# -p détermine le mot de passe 
 +# -s assigne l'​interpréteur 
 + 
 +        if [ $? -eq 0 ] 
 + 
 +# sortie d erreur 0 = tous c'est bien passé 
 + 
 +        then 
 +                echo "​Utilisateur créé"​ 
 +        else 
 +                echo "​Utilisateur existe dèjà"​ 
 + 
 +        fi 
 +else 
 +        useradd -g $groupe -p $mdp -s /bin/bash $nom 
 +         
 +        if [ $? -eq 0 ] 
 +         
 +        then 
 +                echo "​Utilisateur créé sans dossier home"​ 
 +        else 
 +                echo "​Utilisateur existe déja !" 
 + 
 +        fi 
 +fi 
 + 
 +         
 +         
 +</​code>​ 
 + 
 +==== PASSWD et SHADOW ​====
  
 La différence entre /etc/passwd et /etc/shadow La différence entre /etc/passwd et /etc/shadow
Ligne 314: Ligne 384:
 </​code>​ </​code>​
  
-==== UMASK ====+===== UMASK =====
  
-=== système ===+==== système ​====
  
 On peut penser que par défaut le système ne met pas en place de bonnes restrictions car lors de la création d’un fichier ou d’un dossier, tout le monde a le droit de le lire. On voudrait par exemple que le groupe ait le droit de lecture du fichier ou du dossier et que les autres utilisateurs n’aient aucun droit dessus. L’umask à appliquer serait alors « 027 ». On peut paramétrer cet umask pour qu’il s’applique par défaut à tous les utilisateurs. On peut penser que par défaut le système ne met pas en place de bonnes restrictions car lors de la création d’un fichier ou d’un dossier, tout le monde a le droit de le lire. On voudrait par exemple que le groupe ait le droit de lecture du fichier ou du dossier et que les autres utilisateurs n’aient aucun droit dessus. L’umask à appliquer serait alors « 027 ». On peut paramétrer cet umask pour qu’il s’applique par défaut à tous les utilisateurs.
Ligne 346: Ligne 416:
 et laisse au groupe le droit de lecture et d’exécution ​ et laisse au groupe le droit de lecture et d’exécution ​
  
-=== root ===+==== root ====
  
 Les soucis et que l’umask par défaut s’applique aussi à root qui fait partie des utilisateurs. Nous pourrions penser que ce que root créé, seul root devrait pouvoir le relire par sécurité. On devrait donc définir un umask« 077 » pour root. Pour déjouer l’umask par défaut il faut modifier le .bashrc Les soucis et que l’umask par défaut s’applique aussi à root qui fait partie des utilisateurs. Nous pourrions penser que ce que root créé, seul root devrait pouvoir le relire par sécurité. On devrait donc définir un umask« 077 » pour root. Pour déjouer l’umask par défaut il faut modifier le .bashrc
Ligne 364: Ligne 434:
 <note warning>​Ainsi le masque le plus restrictif est 377, il ne laisse que le droit de lecture au propriétaire</​note>​ <note warning>​Ainsi le masque le plus restrictif est 377, il ne laisse que le droit de lecture au propriétaire</​note>​
  
-==== Packages et services ====+===== Packages et services ​=====
  
-=== Paquets inutiles ===+==== Paquets inutiles ​====
  
   * Repérage   * Repérage
Ligne 389: Ligne 459:
 </​code>​ </​code>​
  
-=== Alléger sa distribution ===+==== Alléger sa distribution ​====
  
   * Liste les paquets installés   * Liste les paquets installés
Ligne 397: Ligne 467:
 </​code>​ </​code>​
  
-==== SUDO ====+===== SUDO =====
  
 Permet à un utilisateur particulier ou un groupe d'​utilisateurs particulier d'​exécuter une ou des tâches bien précises, avec ou sans saisie du mot de passe Permet à un utilisateur particulier ou un groupe d'​utilisateurs particulier d'​exécuter une ou des tâches bien précises, avec ou sans saisie du mot de passe
Ligne 406: Ligne 476:
  
 <​code=basch>​ <​code=basch>​
-aptitude install+aptitude install ​sudo
 </​code>​ </​code>​
  
Ligne 434: Ligne 504:
 <note tip>​http://​doc.ubuntu-fr.org/​sudoers</​note>​ <note tip>​http://​doc.ubuntu-fr.org/​sudoers</​note>​
  
-==== Utilisation de syslog (syslog-ng) ====+===== Utilisation de syslog (syslog-ng) ​=====
  
   * Identification du fichier de conf   * Identification du fichier de conf
Ligne 456: Ligne 526:
 <note tip>​https://​www.isalo.org/​wiki.debian-fr/​Nettoyer_sa_Debian</​note>​ <note tip>​https://​www.isalo.org/​wiki.debian-fr/​Nettoyer_sa_Debian</​note>​
  
-==== Visibilité Réseaux ====+===== Visibilité Réseaux ​=====
  
   * Listage des ports ouverts   * Listage des ports ouverts
Ligne 517: Ligne 587:
 <note tip>​{{:​ressources:​pdf:​anssi-cspn_2009-04fr.pdf|}}Page14</​note>​ <note tip>​{{:​ressources:​pdf:​anssi-cspn_2009-04fr.pdf|}}Page14</​note>​
  
-==== IPTABLES ====+===== IPTABLES ​=====
  
-=== Vidage des règles actuelles ===+==== Vidage des règles actuelles ​====
  
 <​code=basch>​ <​code=basch>​
Ligne 532: Ligne 602:
  
  
-=== Tout interdire en entrée, sauf ssh ===+==== Tout interdire en entrée, sauf ssh ====
 <​code=basch>​ <​code=basch>​
 #Supresion régle #Supresion régle
Ligne 553: Ligne 623:
  
 </​code>​ </​code>​
-=== Chargement des règles au démarrage ===+==== Chargement des règles au démarrage ​====
  
 <​code=bash>​ <​code=bash>​
Ligne 619: Ligne 689:
 </​code>​ </​code>​
  
-==== SSHd ====+===== SSHd =====
  
-=== Empêcher l’accès en root ===+==== Empêcher l’accès en root ====
  
 modifier vi /​etc/​ssh/​sshd_config modifier vi /​etc/​ssh/​sshd_config
Ligne 628: Ligne 698:
 par <​code=basch>​PermitRootLogin no</​code>​ par <​code=basch>​PermitRootLogin no</​code>​
  
-=== Changer le port d'​écoute de ssh ===+==== Changer le port d'​écoute de ssh ====
  
 modifier /​etc/​ssh/​sshd_config modifier /​etc/​ssh/​sshd_config
Ligne 636: Ligne 706:
 modifier le firewall : port 35022 à la place du 22 modifier le firewall : port 35022 à la place du 22
  
-=== Authentification par clés ===+==== Authentification par clés ====
  
 Modification des paramètres ssh sur les deux serveurs Modification des paramètres ssh sur les deux serveurs
Ligne 694: Ligne 764:
 <note tip>​http://​doc.fedorafr.org/​wiki/​SSH_:​_Authentification_par_cl%C3%A9#​L.27authentification_par_cl.C3.A9</​note>​ <note tip>​http://​doc.fedorafr.org/​wiki/​SSH_:​_Authentification_par_cl%C3%A9#​L.27authentification_par_cl.C3.A9</​note>​
  
-==== CHROOT ====+===== CHROOT ​=====
  
-=== Définition ===+==== Définition ​====
  
 Chrooter un programme consiste à le lancer en utilisant la commande chroot. Cette commande permet de changer l'​emplacement de la racine (/). Chrooter un programme consiste à le lancer en utilisant la commande chroot. Cette commande permet de changer l'​emplacement de la racine (/).
Ligne 702: Ligne 772:
 L'​intérêt de cette manipulation est donc d'​enfermer un programme afin qu'il ne touche que à ce qu'on lui autorise de toucher. L'​intérêt de cette manipulation est donc d'​enfermer un programme afin qu'il ne touche que à ce qu'on lui autorise de toucher.
  
-=== Installation ===+==== Installation ​====
  
 Installer les paquets nécessaires ​ Installer les paquets nécessaires ​
Ligne 738: Ligne 808:
 </​code>​ </​code>​
  
-=== Plusieurs utilisations sont envisageables,​ par exemple : ===+==== Plusieurs utilisations sont envisageables,​ par exemple : ====
  
 Recompilation d'​application dans un contexte autre que la machine qui héberge le chroot (backport, cross-compilation,​ ...) Recompilation d'​application dans un contexte autre que la machine qui héberge le chroot (backport, cross-compilation,​ ...)
Ligne 746: Ligne 816:
 Sécurisation d'un service «chrooté» par rapport à la machine hôte (et vice-versa) Sécurisation d'un service «chrooté» par rapport à la machine hôte (et vice-versa)
  
-==== VSFTPD ====+===== VSFTPD ​=====
  
 On utilisera donc vsftpd, un serveur ftp simple, sécurisé et efficace qui permet de limiter l’accès au système d’exploitation avec chroot simplement en paramètrant son fichier de configuration. On utilisera donc vsftpd, un serveur ftp simple, sécurisé et efficace qui permet de limiter l’accès au système d’exploitation avec chroot simplement en paramètrant son fichier de configuration.
  
-=== Installation ===+==== Installation ​====
 <​code=bash>​ <​code=bash>​
 aptitude install vsftpd aptitude install vsftpd
Ligne 776: Ligne 846:
 service vsftpd restart service vsftpd restart
 </​code>​ </​code>​
-=== Test ===+==== Test ====
 <note warning>​Attention il faut rajouter une régle iptables (port 21) dans notre firewall </​note>​ <note warning>​Attention il faut rajouter une régle iptables (port 21) dans notre firewall </​note>​
  
Ligne 816: Ligne 886:
    
  
-==== Biblio ​====+===== Bibliographie =====
    
  
-ANSSI +==== ANSSI ==== 
-NSA + 
-NIST+** Agence nationale de la sécurité des systèmes d'​information ** 
 + 
 +les 10 commandements de la sécurité : http://​www.securite-informatique.gouv.fr/​gp_rubrique34.html 
 + 
 +Recommandations "​sécurité du poste de travail et des serveurs " : http://​www.ssi.gouv.fr/​fr/​guides-et-bonnes-pratiques/​recommandations-et-guides/#​elem147 
 + 
 +Durcissement de la pile IP : Rapport de certification ANSSI-CSPN-2009/​04 page 14 
 +  
 + 
 +==== NSA ==== 
 + 
 +** National Security Agency ** 
 + 
 +IAD’s Top 10 Information AssuranceMitigation Strategies : {{:​securisation:​slicksheet_top10iamitigationstrategies_web.pdf|}} 
 + 
 +Vulnérabilité d'open SSL : {{:​securisation:​slicksheet_openssl_web.pdf|}} 
 + 
 +Vulnérabilité du basch : https://​www.nsa.gov/​ia/​mitigation_guidance/​security_configuration_guides/​bash_vulnerability.shtml 
 + 
 + 
 +==== NIST ==== 
 + 
 +** National Institute of Standards and Technology ** 
 + 
 +Organisation traduite par "​Institut national des normes et de la technologie"​ 
 + 
 +==== Securing Debian Manual ====
  
 https://​www.debian.org/​doc/​manuals/​securing-debian-howto/​ch3.fr.html#​s3.2 https://​www.debian.org/​doc/​manuals/​securing-debian-howto/​ch3.fr.html#​s3.2
 
securisation/linux.1413487127.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page