Linux Agilis

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Linux Agilis - Presentation Transcript

    1. Formation: Linux Session La sécurité sous Linux Référence FL003 Durée 2 Journées
      • Objectifs : - Comprendre la sécurité SSL
      • Savoir installer le client/serveur SSH et Putty
      • Connaître les outils sécurisés (SCP, SFTP,…)
      • Comprendre le principe de Proxying avec Squid
      • Gérer un pare-feu avec Iptables
      • … ..
      Ingénieur réseau intervenant : Thomas Capaldi [email_address]
    2. Agilis - « La sécurité sous Linux» © 2008 Pause en milieu de session Vos questions sont les bienvenues. N’hésitez pas ! Feuille d’évaluation à remettre remplie en fin de session Cédérom web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    3. Dans cette dernière partie, nous allons nous intéresser à un véritable défi des entreprises. L’objectif est de sécuriser aussi bien la connexion des utilisateurs à Internet que l’inverse, la protection de notre système à des utilisateurs externes. Chapitre 1 – Sécurité avec OpenSSL Chapitre 2 – Sécurité avec OpenSSH Chapitre 3 – Sécurisation des applications Chapitre 4 – Proxy avec SQUID Chapitre 5 – Pare-feu avec Iptables TP n°5 Sécurité sous Linux Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Introduction à OpenSSL
      • Rappel du protocole SSL (clefs,…)
      • Certificats X.509
      • SSL 2.0
      • Application: SSL sur Apache (https)
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Introduction
      • La cryptographie est traditionnellement utilisée pour dissimuler des messages aux yeux de certains utilisateurs.
      • Cette utilisation a aujourd'hui un intérêt, d'autant plus grand que les communications via Internet circulent dans des infrastructures dont on ne peut pas garantir la fiabilité et la confidentialité.
      • Désormais, la cryptographie sert non seulement à préserver la confidentialité des données mais aussi à garantir leur intégrité et leur authenticité.
      Introduction à OpenSSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Les fonctions de la cryptographie :
      • La confidentialité consiste à rendre l'information incompréhensible à d'autres personnes que les acteurs de la transaction.
      • L'intégrité : Vérifier l'intégrité des données consiste à déterminer si les données n'ont pas été altérées durant la communication (de manière fortuite ou intentionnelle).
      • L'authentification consiste à assurer l'identité d'un utilisateur, c'est-à-dire de garantir à chacun des correspondants que son partenaire est bien celui qu'il croit être.
      • La non-répudiation de l'information est la garantie qu'aucun des correspondants ne pourra nier la transaction.
      Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • SSL ( Secure Sockets Layers , que l'on pourrait traduire par couche de sockets sécurisée ) est un procédé de sécurisation des transactions effectuées via Internet. Repose sur un procédé de cryptographie par clef publique afin de garantir la sécurité de la transmission de données sur internet.
      • Il existe de nombreuses méthodes pour sécuriser ces échanges:
      • le chiffrement par clefs symétriques
      • le chiffrement par clefs asymétriques
      • le chiffrement par certificats
      Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    4. Le chiffrement par clefs symétriques (ou chiffrement à clé privée ou chiffrement à clé secrète ) Consiste à utiliser la même clé pour le chiffrement et le déchiffrement. Le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l'aide de la clé privée, afin de les rendre inintelligibles. Le principal inconvénient provient de l'échange des clés. En effet, le chiffrement symétrique repose sur l'échange d'un secret (les clés). Ainsi, se pose le problème de la distribution des clés. Or si quelqu’un intercepte la clef, il sera alors capable de décrypter le message. Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Le principe de chiffrement asymétrique (appelé aussi chiffrement à clés publiques ) est apparu en 1976.
      • Dans ce système, les clés existent par paires (le terme de bi-clés est généralement employé) :
      • Une clé publique pour le chiffrement ;
      • Une clé secrète pour le déchiffrement.
      Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Introduction à la notion de signature électronique
      • Le paradigme de signature électronique (appelé aussi signature numérique ) est un procédé permettant de garantir l'authenticité de l'expéditeur (fonction d' authentification ) et de vérifier l'intégrité du message reçu.
      • Qu'est-ce qu'une fonction de hachage ?
      • Une fonction de hachage (parfois appelée fonction de condensation ) est une fonction permettant d'obtenir un condensé d'un texte, c'est-à-dire une suite de caractères assez courte représentant le texte qu'il condense.
      • Les algorithmes de hachage les plus utilisés actuellement sont  :
      • MD5 ( MD signifiant Message Digest ). Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits. Il est courant de voir des documents accompagnés d'un fichier MD5, il s'agit du condensé du document permettant de vérifier l'intégrité de ce dernier
      • SHA (pour Secure Hash Algorithm , pouvant être traduit par Algorithme de hachage sécurisé ) crée des empreintes d'une longueur de 160 bits (SHA-1 est une version améliorée) .
      Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Les algorithmes de hachage les plus utilisés actuellement sont  :
      • MD5 ( MD signifiant Message Digest ). Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits. Il est courant de voir des documents accompagnés d'un fichier MD5, il s'agit du condensé du document permettant de vérifier l'intégrité de ce dernier
      • SHA (pour Secure Hash Algorithm , pouvant être traduit par Algorithme de hachage sécurisé ) crée des empreintes d'une longueur de 160 bits (SHA-1 est une version améliorée) .
      Protocole SSL Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Introduction à la notion de certificat
      • Un certificat permet d’associer la clé publique d’un chiffrement asynchrone avec une entité (une personne, une société, une machine…)
      • Il utilise en fait l’inverse d’un chiffrement asynchrone, à savoir une clé privée secrète pour générer une signature numérique du certificat et une clé publique pour déchiffrer et valider cette signature.
      •  Utilisé par le protocole SSL sur les sites d’e-commerce
      Les Certificats Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    5. Les Certificats Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Structure d'un certificat ?
      • Les certificats sont des petits fichiers divisés en deux parties :
      • La partie contenant les informations
      • La partie contenant la signature de l'autorité de certification
      • La structure des certificats est normalisée par le standard X.509:
      • La version de X.509 à laquelle le certificat correspond ;
      • Le numéro de série du certificat ;
      • L'algorithme de chiffrement utilisé pour signer le certificat ;
      • Le nom (DN, pour Distinguished Name ) de l'autorité de certification émettrice ;
      • La date de début de validité du certificat ;
      • La date de fin de validité du certificat ;
      • L'objet de l'utilisation de la clé publique ;
      • La clé publique du propriétaire du certificat ;
      • La signature de l'émetteur du certificat ( thumbprint ).
      Les Certificats Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Signatures de certificats
      • On distingue différents types de certificats selon le niveau de signature :
      • Les certificats auto-signés sont des certificats à usage interne. Signé au sein d'une organisation, par exemple pour le besoin d'un intranet. Ce type de certificat permet de garantir la confidentialité des échanges sans authentification des utilisateurs grâce à des certificats auto-signés.
      • Les certificats signés par un organisme de certification sont nécessaires lorsqu'il s'agit d'assurer la sécurité des échanges avec des utilisateurs anonymes, par exemple dans le cas d'un site web sécurisé accessible au grand public. Le certificateur tiers permet d'assurer à l'utilisateur que le certificat appartient bien à l'organisation à laquelle il est déclaré appartenir.
      Les Certificats Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Types d'usages
      • Les certificats servent principalement dans trois types de contextes :
      • Le certificat client , stocké sur le poste de travail de l'utilisateur ou embarqué dans un conteneur tel qu'une carte à puce, permet d'identifier un utilisateur et de lui associer des droits (comme une carte d’identité). Le serveur lui donnera les droits selon son certificat.
      • Le certificat serveur installé sur un serveur web permet d'assurer le lien entre le service et le propriétaire du service. Dans le cas d'un site web, il permet de garantir que l'URL appartienne bien à l’entreprise (le plus souvent SSL v3).
      • Le certificat VPN est un type de certificat installé dans les équipement réseaux, permettant de chiffrer les flux de communication de bout en bout entre deux points. Dans ce type de scénario, les utilisateurs possèdent un certificat client, les serveurs mettent en œuvre un certificat serveur et les équipements de communication utilisent un certificat particulier (IPSec).
      Les Certificats Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Algorithme symétrique : DES, 3DES, AES
        • Envoyeur et receveur doivent partager une clé secrète
        • Généralement très rapide => Utilisé pour le chiffrement de gros volumes nécessitant de la confidentialité
        • La gestion des clés est un problème
      • Algorithme asymétrique : RSA
        • Une clé pour chiffrer et une autre pour déchiffrer – Concept de clé publique / clé privée
        • Relativement lent (en comparaison avec l’algorithme symétrique) => Utilisée pour des services générant de petits volumes
        • Simplifie la gestion des clés
      Algorithmes de cryptage Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Exemple:
      • DES :
        • Algorithme symétrique
        • Clé de longueur fixe
        • La clé est de 64 bits, mais seulement 56 bits sont utilisés pour le chiffrement
      • 3-DES :
        • Algorithme similaire à DES, mais exécuté 3 fois !
        • Nettement plus sécurisé que DES (clé de 168 bits)
      Algorithmes Agilis - « La sécurité sous Linux» © 2008 NB : Avec un Pentium III 700 la clef DES est craquée sous 24 Heures ! La Clef 3DES sous 12000 Années Environ ! web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    6. SSL sous Apache (site Web en https://....) : Objectif: mettre en place un serveur Web avec une connexion SSL sécurisé et créer un certificat auto-signé (par nous-mêmes !) que le client devra accepter. Comme vous pouvez le voir, le serveur apache est assez différent sous Debian que sous Fedora. Le serveur apache est déjà préinstallé (simple test avec http://localhost ). Nous allons maintenant voir la configuration et les différences d’Apache2. Le fichier principal n’est plus httpd.conf mais «  apache2.conf  » (dans /etc/apache2 .) Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    7. Ouvrons le fichier : gedit /etc/apache2/apache2.conf Le fichier est à peu près identique, sauf sur un point important: les includes. Le fichier apache2.conf est donc beaucoup plus sécurisé que notre ancien httpd.conf. Nous allons donc éviter de modifier ce fichier, pour à la place, modifier seulement les modules (.conf et .load) , ports.conf ,… à charger. Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    8. Première étape: Nous allons copier les 2 fichiers ssl.conf et ssl.load se trouvant dans mods-available pour les mettre dans mods-enabled . Deuxième étape: Nous allons modifier le fichier ports.conf et rajouter la ligne Listen 443 Voilà SSL est bien installé sur notre serveur Apache. Mais ce n’est pas fini !! Nous allons maintenant devoir créer notre certificat et modifier le fichier default afin de créer notre « Virtual Host » sur le port 443. Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    9. Troisième étape: Il faut créer un certificat pour apache2: | root@localhost # mkdir /etc/apache2/ssl Créer le fichier : gedit /etc/apache2/ssl/ssleay.conf : Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    10. Quatrième étape: Nous allons générer le certificat : # openssl req -days 3650 -config /etc/apache2/ssl/ssleay.conf -new -x509 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem # chmod 600 /etc/apache2/ssl/apache.pem # ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0 Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    11. Cinquième étape: Puis copier/coller le site par défaut /etc/apache2/sites-enable/default dans un autre (par exemple /etc/apache2/sites-enable/defaultssl). Ouvrons ce fichier defaultssl. Nous allons remplacer le début : NameVirtualHost * <VirtualHost *> ... </VirtualHost > par : NameVirtualHost *:443 <VirtualHost *:443> ... SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem … .. </VirtualHost > Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    12. Dernière étape: On relance apache avec la commande suivante: | root@localhost # / etc/init.d/apache2 stop (puis start) Vérifier en ouvrant votre page web à l’adresse https://localhost !! Applications Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • Introduction à OpenSSH
      • Création de clefs
      • Configuration serveur SSH (sshd.conf)
      • Applications
      • Présentation de Putty
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    13. Introduction à OpenSSH
      • SSH (Secure SHell) permet de se connecter de façon sécurisée à un système Unix, Linux et Windows (très peu utilisé mais disponible via le logiciel cygwin).
      • Il faut distinguer :
      • SSH : le protocole de communication
      • ssh : le programme client permettant de se connecter au serveur
      • sshd : le serveur (ssh daemon) écoutant sur le port 22 par défaut
      • Il existe des clients SSH pour toutes les architectures :
      • Linux : ssh, putty, ...
      • Windows : putty, ssh (via cygwin)
      • Mac : macssh, ssh
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    14. Introduction à OpenSSH
      • Du point de vue de l'utilisateur une connexion ssh s'établit comme une session telnet (demande de connexion, demande de login, demande de mot de passe), le principe est en réalité beaucoup plus complexe.
      • SSH permet de garantir :
      • La confidentialité : le cryptage des paquets permet de garantir celle-ci. Les anciens services tels que telnet, rlogin, ..., envoyaient les données en clair.
      • L'intégrité : SSH permet de garantir que les paquets circulant d'un hôte vers un autre ne sont pas altérés.
      • L'authentification : chaque connexion SSH vérifie l'identité du serveur puis celle du client.
      • L'autorisation : il est possible avec SSH de limiter les actions autorisées à l'utilisateur
      • Tunneling : SSH permet de sécuriser un service dont les informations circulent habituellement en clair (POP,IMAP,VNC, ...).
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    15. Introduction à OpenSSH Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    16. Création de clés Installation de OpenSSH L’installation sous Debian se fait tout simplement avec un : | root@localhost # apt-get install openssh-server openssh-client Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    17. Création de clés
      • Création de la paire de clé
      • Les clés de la partie cliente se situent dans ~/.ssh/. Il est également possible de créer des clés pour le serveur afin de renforcer le chiffrement. La commande utilisée est alors la commande ssh-keygen .
      • Il existe 2 types de clés : RSA et DSA de longueur différente : 1024, 2048, 4096 bits.
      • Pour créer une clé DSA de 1024 bits : ssh-keygen -t dsa -b 1024 -C username@domain.tld
      • Deux fichiers ont été créés (dans le dossier ~/.ssh/) :
      • id_dsa (ou id_rsa dans le cas d'une clé RSA) : contient la clé privée et ne doit pas être dévoilé ou mis à disposition
      • id_dsa.pub (ou id_rsa.pub dans le cas d'une clé RSA) : contient la clé publique, c'est elle qui sera mise sur les serveurs dont l'accès est voulu.
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    18. Paramétrage de SSHd Paramétrage de SSHd Le fichier de configuration est /etc/ssh/sshd_config . L'authentification par clé est active par défaut. En fait, dans le fichier de configuration original, toutes les valeurs commentées sont placées à leur valeur par défaut :   L'authentification par clé est autorisée. Cela ne suffit bien entendu pas car aucune clé publique n'a été envoyée sur le serveur (dans notre exemple, nommé « amraam »). L'authentification par mot de passe va être utilisée. Nous avons 2 méthodes différentes : Première méthode de copie d'une clé  : | root@localhost # cat ~/.ssh/id_dsa.pub | ssh amraam « cat - >> ~/.ssh/identiy » Cette commande va lire le fichier $HOME/.ssh/id_dsa.pub (clé publique), se connecter sur le serveur &quot;amraam&quot; et ajouter au fichier des clés autorisées ($HOME/.ssh/identity) le contenu de la clé lue. Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    19. Paramétrage de SSHd Deuxième méthode : Il s'agit de la méthode la plus automatisée et la plus simple (elle est à utiliser quand on a compris ce qu'elle va faire... ) | root@localhost # ssh-copy-id –i ~/.ssh/id_dsa aamram ssh-copy-id va copier la clé publique (pas besoin de préciser le .pub) sur l'hôte distant. On va maintenant supprimer du serveur le fichier id_dsa_pub : | root@localhost # rm ~/.ssh/id_dsa_pub On relance le service sshd  pour tout prendre en compte: root@localhost # /etc/init.d/ ssh stop (puis start) Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    20. Le Client SSH : ssh-agent Utilisation du client L’utilisation du client SSH est assez simple, dans la plupart des cas, il suffit de connaître l’adresse de la machine avec laquelle on veut se connecte. En voici la syntaxe: | root@localhost # ssh [options] <adresse> Exemple: | root@localhost # ssh –l tom –v 172.16.0.1 | root@localhost # ssh –v tom@172.16.0.1 Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    21. Le Client SSH sous Windows : Putty Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
      • SFTP : Secure FTP
      • SCP : Copie sécurisée
      • SSHFS : Explorateur sécurisé
      • VPN via OpenVPN
      • Authentification PAM
      Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    22. OpenSSh intègre un serveur FTP avec SSH qui ne requiert aucune configuration particulière. Le client SFTP permet de se connecter en FTP à un serveur via un tunnel SSH et donc de garantir un accès sécurisé contrairement au serveur FTP classique. | root@locahost # sftp john@agilis De plus, SFTP est intégré aux environnements bureautiques tel que gnome ou KDE ou il est directement possible via le navigateur de fichiers nautilus de se connecter à un serveur SSH pour parcourir les fichiers d’un serveur. > Sftp: get /home/tom/test /root/ # copie sécurisée du fichier test vers le répertoire root SFTP : Secure FTP Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    23. OpenSSh fournit un outil de copié sécurisée en standard sous le nom de SCP (Secure Copy). Il remplace son ancêtre RCP. Son usage est très simple: | root@localhost # scp <source> <destination> Exemple: Client vers serveur : Nous voulons transférer le fichier test.txt situé dans le répertoire courant vers le répertoire personnel du compte john de la machine distant agilis sur laquelle un serveur SSH est lancé: | root@localhost # scp test.txt john@agilis:~test.txt Serveur vers clients: Pour récupérer le fichier test2.txt situé dans le home de l’utilisateur john de la machine distante agilis et l’enregistrer dans le répertoire courant: | root@localhost # scp john@agilis:~:test2.txt SCP : Copie Sécurisée Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    24. SSHFS : Explorateur sécurisé Nous avons pu voir comment transférer des fichiers grâce à SCP ou SFTP. A présent, il ne reste plus qu’à présenter la solution pour monter le système de fichiers d’un serveur distant via SSH. Pour arriver à ce résultat, SSHFS se base sur Fuse (module du noyau). Installation et Configuration SSHFS s’installe facilement via le gestionnaire de packages. Si vous ne réussissez pas, rendez-vous sur la page du projet SSHFS et récupérez les sources. Une fois installé, il ne reste plus qu’à ajouter les utilisateurs autorisés à utiliser SSHFS dans le groupe FUSE | root@localhost # usermod –G fuse tom Monter un système de fichiers distant Considérons un utilisateur Alfred qui veut se connecter sur le serveur agilis où il possède un compte et un répertoire personnel. Voici la syntaxe à utiliser pour qu’il puisse monter sur sa machine son répertoire distant. | user@localhost $ sshfs alfred@agilis:/home/alfred /home/alfred/agilis Alfred peut à présent accéder à ses fichiers de manière sécurisée et surtout de façon plus confortable qu’avec le client SFTP ou SCP. Enfin, lorsqu’il voudra démonter son système de fichiers distant, il devra faire: | user@localhost $ fusermount –u /home/alfred/agilis Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    25. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008
      • Un VPN (Virtual Private Network) permet de relier deux réseaux privés à travers Internet en y établissant un tunnel sécurisé selon le protocole IPSEC (couche 3) ou L2TP, PPTP et PPP (couche 2) et SSL (couche 4 et +)
      • Ce protocole d’encapsulation va chiffrer les données et les rendre confidentielles via la méthode de clés asynchrones. Seuls les deux réseaux privées auront accès aux informations de bout en bout.
      • Attention, il faudra pouvoir vérifier l’identité du réseau qui demandera une connexion, en passant par un certificat ou bien par une clé symétrique de chiffrement préalablement échangée (PSK – Pre-Shared Key).
      web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    26. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Un serveur VPN, c’est quoi ? Prenons un exemple : J’ai un serveur à la maison et j’ai un pc portable avec lequel je bouge beaucoup. J’ai envie d’un système me permettant d’être dans mon réseau local partout où j’irais dans le monde. C’est le but du VPN, il va agir comme un tunnel chiffré entre le client et le serveur via des certificats. OpenVPN accouplé à OpenSSL pour le chiffrement est la réponse à nos besoins. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    27. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Voici l’architecture réseau de l’exemple: Mon routeur : 192.168.0.254 Mon serveur VPN derrière le routeur : 192.168.0.111 L’interface TUN sur le serveur VPN qui va faire le lien : 10.8.0.1 L’interface TUN sur le client : 10.8.0.6 Le client étant connecté sur Internet via une autre connexion que celle du serveur. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    28. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Configuration sur le serveur OpenVPN: | root@localhost # apt-get install openvpn | root@localhost # apt-get install openssl Vous êtres prêt pour la suite. Notre VPN sera sécurisé à l’aide de certificats 1024 bits chiffrés RSA. | root@localhost # cd /usr/share doc/openvpn/examples/easy-rsa/ Editez le fichier “vars” et à la fin remplissez les champs du certificat, comme par exemple : - export KEY_COUNTRY=FR - export KEY_PROVINCE=France - export KEY_CITY=Paris - export KEY_ORG=”Agilis” - export KEY_EMAIL=”tcapaldi@agilis.fr” Initialisez les clés : # | root@localhost # . ./vars | root@localhost # ./clean-all web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    29. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Nous allons créer le certificat principal : | root@localhost # ./build-ca Tous les champs sont déjà rentrés sauf “Common Name” où il faut renseigner (par exemple “principal”) Ensuite nous allons créer le certificat propre au serveur : | root@localhost # ./build-key server serveur Tous les champs sont déjà rentrés sauf “Common Name” où il faut renseigner (par exemple “serveur”) Création du certificat pour le client : | root@localhost # cd /usr/share/doc/openvpn/examples/easy-rsa/ | root@localhost # . ./vars | root@localhost # ./build-key client Création du paramètre Diffie Hellman (permet de crypter avec 1024 bits) | root@localhost # ./build-dh web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    30. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Copie des clés dans le répertoire de configuration d’OpenVPN : | root@localhost # cp ./keys/ca.crt /etc/openvpn/ | root@localhost # cp ./keys/ca.key /etc/openvpn/ | root@localhost # cp ./keys/serveur.crt /etc/openvpn/ | root@localhost # cp ./keys/serveur.key /etc/openvpn/ | root@localhost # cp ./keys/dh1024.pem /etc/openvpn/ Création du fichier de configuration d’OpenVPN : | root@localhost # gedit /etc/openvpn/openvn.conf web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    31. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 #Port en écoute utilisé pour la connexion VPN port XXX #Protocole utilisé (Le protocole udp est plus sécurisé que le tcp) proto tcp #Type d’interface réseau virtuelle créée dev tun #Nom des fichiers servant à l’authentification des clients via OpenSSL ca /etc/openvpn/ca.crt cert /etc/openvpn/serveur.crt key /etc/openvpn/serveur.key dh /etc/openvpn/dh1024.pem #Adresse du réseau virtuel (Le serveur aura l’adresse 192.168.0.111) server 10.8.0.0 255.255.255.0 #Cette ligne ajoute sur le client la route du réseau du serveur push “route 192.168.0.0 255.255.255.0″ #Ces lignes indiquent aux clients l’adresse des serveur DNS et WINS push “dhcp-option DNS 192.168.0.254″ push “dhcp-option WINS 192.168.0.254″ # Cette ligne permet aux clients de voire les autres clients client-to-client keepalive 10 120 #Cette ligne active la compression comp-lzo #Ces lignes permettent de rendre persistante la connexion persist-key persist-tun #Cette ligne permet d’indiquer le niveau de log souhaité (de 1 à 9) verb 3 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    32. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Voila pour la configuration serveur. (si vous avez un routeur, pensez à ouvrir le port choisi). Sur le serveur, il nous reste encore à activer le module tun du noyau : | root@localhost # modprobe tun Puis à configurer le réseau : | root@localhost # echo 1 > /proc/sys/net/ipv4/ip_forward | root@localhost # iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.254 -j MASQUERADE | root@localhost # iptables -t nat -A FORWARD -in-interface tun0 -j ACCEPT | root@localhost # iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE Puis on va relancer notre serveur VPN: | root@localhost # /etc/init.d/openvpn restart web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    33. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Via SCP ou clé USB, importer les certificats clients vers le poste client (les fichiers nécessaires sont ca.crt, client.crt et client.key ). Mettez les dans votre répertoire /etc/openvpn/ Maintenant, travaillons sur le poste client pour en finir : Editez le fichier de configuration OpenVPN : | root@localhost # gedit /etc/openvpn/openvpn.conf web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    34. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 #nous sommes client client tls-client #le serveur remote XXX.XXX.XXX.XXX XX #@IP publique du serveur (fournit par notre FAI) et port d’écoute proto tcp dev tun ifconfig 10.8.0.2 10.8.0.1 #Certification de l’AC ca /etc/openvpn/ca.crt #notre certificat cert /etc/openvpn/client.crt #clef secrete key /etc/openvpn/client.key #negociation reneg-sec 21600 #compression comp-lzo #verbosité verb 3 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    35. VPN via OpenVPN Agilis - « La sécurité sous Linux» © 2008 Voilà pour la configuration. Maintenant configurons le réseau : | root@localhost # echo 1 > /proc/sys/net/ipv4/ip_forward | root@localhost # route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.111 | root@localhost # /etc/init.d/openvpn restart Et maintenant, connectons nous au VPN à partir du client: | root@localhost # openvpn --config /etc/openvpn/openvpn.conf Et voilà le travail. Vous êtes en réseau local de n’importe où dans le monde. Cela permet par exemple de détourner des ports fermés lors d’une connexion bridé. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    36. VPN via OpenVPN Configuration de Putty sous Windows Agilis - « La sécurité sous Linux» © 2008 web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    37. Authentification PAM Agilis - « La sécurité sous Linux» © 2008 Pour quoi faire ? Les PAM (Pluggable Module Authentification) est un moyen modulable d'authentifier des utilisateurs. On peut ainsi définir des stratégies sans avoir à recompiler les programmes qui supportent PAM. En fait PAM, évite que chaque application ne vous redemande une authentification avec des règles différentes à chaque fois.     L'installation Il est installé sur tous les linux par défaut. Sous Debian, un fichier est présent par service dans /etc/pam.d/. Enfin on trouve dans /etc/security des fichiers complémentaires (access.conf, group.conf, limits.conf, time.conf)  utilisés par certaines applications.  web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    38. Authentification PAM Agilis - « La sécurité sous Linux» © 2008 La syntaxe de configuration      Il y a une petite différence si vous avez cela dans pam.conf ou dans /etc/pam.d, mais le principe est le même. login    auth    required    /lib/security/pam_securetty.so login    account    requisite    /lib/security/pam_access.so Voilà deux lignes seulement pour vous montrer la syntaxe. - Le premier champ indique le nom de l'application. Il n'existe que pour le fichier pam.conf. - Le deuxième indique le type de module. Il peut prendre les valeurs suivantes :   auth  :authentifie l'utilisateur par une demande de mot de passe ou par une autre méthode. account   : restriction du compte : expiration, en fonction de l'heure, de la machine source, des ressources… password   : Gestion des mots de passe.  session  : Tout ce qui concerne l'ouverture d'une session, avant et après. Le troisième champ est ce que l'on appelle un drapeau de contrôle. Il peut prendre les valeurs suivantes : required   : Doit réussir, mais on continue à tester les autres modules malgré tout. Echec est renvoyé. L'avantage par rapport à requisite étant que l'on ne donne pas la raison de l'échec de la connexion. requisite : Doit réussir, on ne continue pas à lire les autres modules, Echec est renvoyé immédiatement. optimal  : Est ignoré, en fait que le test réussisse ou pas cela ne change pas la suite. Sufficient : Si le test est correct, on obtient immédiatement une acceptation.   web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    39. Authentification PAM Agilis - « La sécurité sous Linux» © 2008 Modules à connaître pam_cracklib : Permet d'accepter ou de rejeter un mot de passe, si celui-ci se trouve dans un dictionnaire. Il permet aussi de vérifier que vous ne réutilisez pas le même mot de passe. pam_env :   Permet de spécifier des variables d'environnements spécifiées dans /etc/security/pam_env.conf à tout utilisateur qui se connecte sur la machine. pam_unix : Module de base. Gère à la mode unix la politique d'authentification. Il peut être avec les quatre types de modules : account (établi la validité utilisateur/mot de passe et peut forcer la modification de celui là), auth (compare avec la base le mot de passe), password (la politique de changement du mot de passe), session (pour loguer les connexions). pam_pwdb : module de base, qui a les mêmes options que pam_unix.  pam_time : autorise un accès par heure. La configuration se faisant dans le fichier /etc/security/time.conf. pam_wheel : permet de limiter l'accès à root via la commande su qu'aux seuls membres du groupe wheel. On peut changer le nom du groupe par défaut avec l'option group=mon_group. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    40. Authentification PAM Agilis - « La sécurité sous Linux» © 2008 pam_limits :   Permet de limiter les ressources mis à la disposition d'un utilisateur. Il faut alors configurer le fichier /etc/security/limits.conf.  pam_nologin : permet de désactiver les comptes. Il faut alors créer le fichier /etc/nologin et alors il n'y a plus que root qui puisse se connecter. pam_access : Ce module permet de contrôler les utilisateurs par nom, machine, domaine, adresse IP, terminal. Vous devez alors configurer le fichier /etc/security/access.conf pam_deny : comme sont nom l'indique. Vous pouvez (devez !) l'utiliser dans /etc/security/other pour auth, account, password et session avec required. Si dans le répertoire /etc/security vous avez des noms d'applications que vous n'utilisez pas vous pouvez renommer ces fichiers avec un autre nom au cas..! Si quelqu'un cherche à utiliser l'application le other sera alors utilisé par défaut. pam_securrety : Vérifie que le compte root a la possibilité de se connecter sur cette console. Pour cela il faut qu'elle soit indiquée dans le fichier /etc/securrety.  pam_console : permet de spécifier les autorisations d'accès à la console. Il faut alors configurer /etc/security/console.perms. pam_ldap : permet d'effectuer l'authentification sur une base ldap. Ce module demande une documentation à lui  tout seul. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    41. Authentification PAM Agilis - « La sécurité sous Linux» © 2008 Exemple : Voici le fichier /etc/pam.d/gdm 1. #%PAM-1.0  2. auth required /lib/security/pam_securetty.so  3. auth required /lib/security/pam_unix.so shadow nullok  4. auth required /lib/security/pam_nologin.so  5. account required /lib/security/pam_unix.so  6. password required /lib/security/pam_cracklib.so  7. password required /lib/security/pam_unix.so shadow nullok use_authtok  8. session required /lib/security/pam_unix.so Ligne 1 est un commentaire. Ligne 2 interdit à root de se connecter sur la console (enfin indirectement on peut utiliser su), si la console n'est pas autorisée dans /etc/securety. Ligne 3 Vérifie le mot de passe, on peut aussi utiliser pam_pwdb Ligne 4 Vérifie l'existence du fichier /etc/nologin. Si celui-ci existe, il n'est plus possible de se loguer sauf pour root. Ligne 5 Comptabilise la &quot;vie&quot; du mot de passe. Ligne 6 Teste la validité du mot de passe. Ligne 7 Impose les règles de modification du mot de passe.  Ligne 8 Ne fait rien, mais indique qu'il doit être utilisé pour gérer la session. web : http://www.agilis.fr  Centre de formation  langues  bureautique  Internet  services informatiques et réseaux
    SlideShare Zeitgeist 2009

    + Thomas CAPALDIThomas CAPALDI Nominate

    custom

    282 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 282
      • 281 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds
    • 1 views on https://www.mturk.com

    more

    All embeds
    • 1 views on https://www.mturk.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories