Upload
lucas-tillman
View
37
Download
0
Embed Size (px)
DESCRIPTION
Sécurité Linux. Plan du cours. Linux et la sécurité La sécurité du système La sécurité du noyau Linux La sécurité réseau Quelques conseils de sécurité. Partie 1. Linux et la sécurité La sécurité du système La sécurité du noyau Linux La sécurité réseau Quelques conseils de sécurité. - PowerPoint PPT Presentation
Citation preview
12/12/2002 Ciefa Poly-informatique
Sécurité Linux
12/12/2002 Ciefa Poly-informatique
Plan du cours Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
Partie 1 Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
La sécurité de Linux Sécurité au niveau du système
Tous les mécanismes de sécurité des Unix nouveaux
Sécurité au niveau du réseau Pile IP de qualité Rapidité de parution des correctifs Possibilité d'utiliser des logiciels connus
(Postfix, Bind, Apache, tcp_wrapper, etc.)
Sécurité de l'administration et de l'exploitation Administration sécurisée distante (SSH, SSF) Surveillance du système, scellement des fichiers (Tripwire) Gestion et centralisation simple de la journalisation
Système fiable qui permet la confiance
12/12/2002 Ciefa Poly-informatique
Les applications de Linux pour la sécurité
Pour la sécurité du courrier électronique
Pour les passerelles de sécurité
Pour les administrateurs
Pour les réseaux bureautiques
Pour des postes de travail sécurisés
12/12/2002 Ciefa Poly-informatique
Application : la sécurité du courrier électronique
Serveurs de mail sous Linux Sendmail ( www.sendmail.org) Postfix : serveur de messagerie sécurisée ( www.postfix.org) Serveur POP3/APOP ou IMAP => ajout de SSL…
Clients sous Linux Gros volume (ex : centres d'appel) Traitement automatique : procmail et/ou scripts en perl Mutt ( www.mutt.org) = boite aux lettres customisable…
(Avec intégration de PGP www.pgpi.com)
12/12/2002 Ciefa Poly-informatique
Application : les passerelles de sécurité
Système de détection d'intrusion libres
BRO SHADOW (www.nswc.navy.mil/ISSEC/CID/) SNORT
commerciaux NFR
Supervision de réseau TRINUX
Mini distribution linux disposant d'outils de sécurité et de surveillance du réseau
12/12/2002 Ciefa Poly-informatique
Application : les administrateurs
Poste d'administration sécurisé
Utilisation de nessus ( www.nessus.org) pour audit du parc Faire régulièrement des tests de vulnérabilités
L'administrateur peut : Sécuriser (vraiment) une machine Automatiser de nombreuses tâches (mise à jour, ...) Gérer un grand parc de machines en toute sécurité et à distance : SSH ou
SSF (www.ssh.org et www.in2p3.fr/secur/ssf/)
Possibilité d'utiliser Linux pour gérer un parc de machines sous d'autres systèmes
12/12/2002 Ciefa Poly-informatique
Application : les réseaux bureautiques
=> SAMBA (www.samba.org) Serveur de fichiers Serveur d'impression
Très bonne intégration (partage de fichiers avec systèmes Windows) Serveur sécurisé et fiable Très bonnes performances
Au delà de 12 clients, il est préférable d'utiliser Linux Haute disponibilité (disques RAID)
Administration légère à distance SWAT = Samba Web Administration Tool
But : remplacer les PDC et BDC (PDC et BDC : contrôleurs principaux et secondaires de domaines
Windows NT)
12/12/2002 Ciefa Poly-informatique
Application : les postes de travail sécurisés
Linux peut être utilisé sur les postes de travail Un VRAI filtre IP par poste (Netfilter/iptables)
Sur les postes de développement Serveur CVS (Concurrent Version System) : permet de gérer toutes les
sources d'un projet. Sécurité et centralisation des sources (CVS + SSH)
Utilisation possible de PAM PAM : Pluggable Authentication Module
Peu de problèmes de virus
Bonne séparation utilisateur / administrateur
12/12/2002 Ciefa Poly-informatique
Partie 2 Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
Plan
Identification / Authentification
PAM (Pluggable Authentication Modules)
Droits d'accès aux ressources
Surveillance et journalisation
12/12/2002 Ciefa Poly-informatique
Identification / Authentification (1/2)
La liste des utilisateurs du système est généralement dans le fichier /etc/passwd accessible en lecture à tous les utilisateurs.
Le mot de passe chiffré est rangé dans le fichier /etc/shadow
Le fichier /etc/shadow ou son équivalent n'est pas accessible aux utilisateurs.
Le mot de passe même chiffré n'est plus accessible à la lecture.
Le changement de mot de passe s'effectue par la commande passwd (yppasswd dans le cas de NIS) qui demande l'ancien mot de passe avant de demander deux fois le nouveau.
12/12/2002 Ciefa Poly-informatique
Identification / Authentification (2/2)
Le mot de passe n'existe qu'en version chiffrée avec un algorithme non réversible.
Le chiffrement du mot de passe peut utiliser différents algorithmes : DES (Data Encryption Standard) modifié avec une graine de 2 caractères
et 25 iterations. les mots de passe sont limités à 8 caractères.
MD5 (Message Digest 5) avec une graine de 2 à 8 caractères et 32 itérations.
Durant la vérification du mot de passe, la comparaison s'effectue toujours sur le mot de passe chiffré.
12/12/2002 Ciefa Poly-informatique
PAM (Pluggable Authentification Modules)
Historiquement, l'authentification des utilisateurs sous Unix se basait sur la saisie d'un mot de passe et sa vérification à partir du fichier /etc/passwd .
A chaque amélioration de ce schéma (/etc/shadow, One-Time-Passwords, etc…) tous les programmes (login, ftpd,...) devaient être réécrits pour supporter les nouvelles fonctionnalités.
PAM se veut un mécanisme flexible d'authentification des utilisateurs.
Les programmes supportant PAM doivent pouvoir se lier dynamiquement à des modules chargés d'effectuer l'authentification.
L'ordre d'attachement des modules et leurs configurations sont à la charge de l'administrateur système qui gère cela de façon centralisée.
12/12/2002 Ciefa Poly-informatique
PAM (Configuration)
Chaque application PAM doit posséder un fichier de configuration dans le répertoire /etc/pam.d . Chacun de ces fichiers est composé de 4 colonnes :
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
ex : montage de répertoires, contrôle des ressources password : mise à jour du jeton d'authentification de l'utilisateur
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 suffisant optional : la réussite d'au moins un des modules required est nécessaire si aucun autre n'a réussi
chemin du module, en général dans /usr/lib/security . arguments optionnels.
Le fichier /etc/pam.d/other fournit les configurations par défaut pour tout type de module non spécifié dans le fichier de configuration de l'application.
12/12/2002 Ciefa Poly-informatique
PAM (Quelques modules intéressants)
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.
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 n'utiliser qu'avec chfn ou chsh, surtout pas avec login.
pam_time : permet de limiter les horaires d'accès.La configuration se fait via le fichier /etc/security/time.conf
pam_wheel : ne permet l'accès au compte root qu'aux seuls membres du groupe wheel.A n'utiliser qu'avec su.
12/12/2002 Ciefa Poly-informatique
Droits d’accès aux ressources
Sur un système Unix, l'utilisateur possède : un login, un UID : numéro d'identification de l'utilisateur (compris entre 0 et 65535), un GID principal : numéro d'identification du groupe (aussi sur 16 bits). zéro, un ou plusieurs GID secondaires : numéros d'identification de groupe
Tout utilisateur d'UID 0 (zéro) est considéré comme administrateur et possède un accès sans restriction à l'ensemble du système. Les autres utilisateurs sont astreints aux contrôles d'accès.
La définition des droits d'accès pour un utilisateur repose essentiellement sur son UID et ses GID.
Il est possible de changer de groupe principal par la commande newgrp Il est possible de changer d'identité par la commande su
12/12/2002 Ciefa Poly-informatique
Permissions des fichiers
Les permissions permettent de contrôler l'accès aux fichiers Les permissions sont composées par :
un propriétaire un groupe un type d'objet les droits d'accès au propriétaire les droits d'accès au groupe les droits d'accès aux autres
un fichier peut être de type normal (-), répertoire (d), bloc (b), caractère (c), tube nommé (p), socket (s) ou lien symbolique (l)
les droits d'accès sont composés de 3 bits : lecture (r), écriture (w), exécution (x).Un quatrième bit peut être présent : s pour l'utilisateur et le groupe, t pour les autres.
12/12/2002 Ciefa Poly-informatique
La comptabilité Enregistrement automatique par le noyau des ressources utilisées par chaque
processus lors de leurs terminaisons : date de création utilisateur propriétaire nom de la commande utilisation de la mémoire terminal contrôlé temps processeur utilisé nombre d'entrées/sorties réalisées
Les utilitaires nécessaires à l'utilisation des données de comptabilités sont ceux édités par GNU < www.gnu.org> : acct-6.3.2.tar.gz
Cette archive renferme entre autres les utilitaires suivants : accton : active et désactive la comptabilité lastcomm : affiche des informations à propos des dernières commandes sa : résume les informations de comptabilité
12/12/2002 Ciefa Poly-informatique
La comptabilité : mise en route
Pré-requis : le support noyau doit être activé (sélectionner l'option "BSD Process Accounting" dans le menu "General setup")
La comptabilité est activée par la commande accton /var/account/pacct Le journal doit exister avant l'appel à cette commande,
Il peut être préférable de restreindre les droits d'accès au journal. Le comportement de la comptabilité peut être modifié via l'entrée
/proc/sys/kernel/acct qui contient 3 entrées : limite basse : espace libre nécessaire pour que la comptabilité reste active. limite haute : espace libre nécessaire pour que la comptabilité se réactive. Fréquence : temps en secondes entre deux vérifications de l'espace libre.
12/12/2002 Ciefa Poly-informatique
La comptabilité : statistiques
Les deux commandes suivantes permettent de synthétiser les données : sa : totalise pour chacune des commandes
Peut appliquer différents ordres de tris (entrées/sorties, temps processeurs et nombres d'appels).
Peut également totaliser les temps processeurs pour chacun des utilisateurs. lastcomm : affiche les dernières commandes exécutées
peut limiter l'affichage à un nom de commande, un nom d'utilisateur, un nom de terminal ou toute combinaison de plusieurs de ces trois précédents éléments.
La commande dump-acct /var/account/pacct exporte au format texte le contenu du fichier de comptabilité.
Il est ainsi possible de réaliser de façon simple ses propres statistiques avec des languages comme awk et perl.
12/12/2002 Ciefa Poly-informatique
La journalisation (TP) La journalisation est l'enregistrement des événements des applications via un
démon central : syslogd syslogd est configuré via le fichier /etc/syslogd.conf par la définition de
niveaux, de services et de destinations. Remarques :
il est important que tous les événements soient enregistrés, vérifier la présence d'une ligne analogue dans le fichier /etc/syslogd.conf :*.debug /var/log/full-log
les journaux doivent être tournés de façon périodique, les plus anciens étant effacés, afin que la journalisation ne soit en aucun cas interrompue
afin de pouvoir confronter les journaux de plusieurs systèmes, il est nécessaire que leurs horloges soient synchronisées (NTP).
Exception : les événements du noyau son récupérés par klogd et envoyés à syslogd
12/12/2002 Ciefa Poly-informatique
Partie 3 Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
Plan
Les privilèges (capabilities)
Les modules
Chiffrement de systèmes de fichiers
12/12/2002 Ciefa Poly-informatique
Les privilèges (capabilities)
Définition
Les privilèges linux
Gestion des processus
Exemples de processus
Les privilèges des fichiers exécutables
12/12/2002 Ciefa Poly-informatique
Les privilèges : définition
Sur un système Unix classique, le compte root (UID égal à 0) possède tous les droits.
Il peut ainsi lire tous les fichiers et tuer tous les processus. Si un programme a besoin d'un privilège alors le processus devra
avoir l'identité de root. Par exemple un programme de sauvegarde n'a besoin que de pouvoir
lire tous les fichiers. En s'exécutant en tant que root, il obtient le contrôle total du système et
peut donc tuer tous les processus. Les privilèges (capabilities) sont le partitionnement des privilèges du
compte root (UID = 0) en droits unitaires. Il est ainsi possible d'allouer à des processus les seuls droits dont ils ont
besoin.
12/12/2002 Ciefa Poly-informatique
Les privilèges : Linux
Le système de privilèges utilisé est celui défini par le draft POSIX 1003.1e "POSIX capabilities"
Actuellement seuls les processus sont associés aux privilèges. Deux implémentations sont en cours de réalisation pour gérer les
privilèges au niveau des fichiers exécutables.
Chaque processus possède trois ensembles de privilèges : permitted(P) : les privilèges que le processus courant possède effective(E) : les privilèges que le processus courant peut exécuter inheritable(I) : les privilèges qui seront hérités par un processus fils
12/12/2002 Ciefa Poly-informatique
Les privilèges : gestion des processus
Les deux utilitaires à connaître sont : execcap <caps> <command-path> command-args...
permet d'exécuter un programme avec des privilèges réduits
sucap <user> <group> <caps> <command-path> command-args...permet d'exécuter un programme avec des privilèges réduits en spécifiant l'utilisateur et le groupe d'exécution.
Note : utiliser les utilitaires fournis avec une version 1.92 ou plus récente de la bibliothèque libcap (voir ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.3/)
12/12/2002 Ciefa Poly-informatique
Les privilèges : exemples de processus
Dans les exemples ci-dessous, le programme lancé est un serveur de tamagoshi qui ouvrira une socket sur un port privilégié (999).
execcap cap_net_bind_service=eip /usr/local/bin/tama 999 Le processus est exécuté en tant que root mais ne possède que le droit d'ouvrir
des ports privilégiés. Si le programme possède une vulnérabilité, alors il pourra toujours être utilisé
pour accéder à des fichiers appartenant à root.
sucap tama tama cap_net_bind_service=eip /usr/local/bin/tama 999 Le processus est exécuté en tant que tama mais possède le privilège d'ouvrir
des ports privilégiés. Si le programme possède une vulnérabilité, alors il ne pourra être utilisé que
pour accéder à des fichiers appartenant à tama.
12/12/2002 Ciefa Poly-informatique
Les privilèges : les fichiers exécutables
Deux implémentations sont en cours de développement :
fcaps : VFS layer patchs for capabilities Permet d'accorder à tout fichier exécutable des privilèges. L'ensemble de ces privilèges sont enregistrés au niveau du système de
fichiers.
elfcap : Elf capabilities hack http://atrey.karlin.mff.cuni.cz/~pavel/elfcap.html
Permet de retirer des privilèges à tout fichier exécutable au format elf. L'ensemble de ces privilèges sont enregistrés au niveau de l'en-tête
elf.
12/12/2002 Ciefa Poly-informatique
Les modules
Définitions
Les risques
Avantages pour l'administrateur
Avantages pour les pirates
12/12/2002 Ciefa Poly-informatique
Les modules : définitions
Un module est un morceau de code permettant d'ajouter des fonctionnalités au noyau : pilotes de périphériques matériels, protocoles réseaux, etc.
Il peut être chargé dynamiquement sans avoir besoin de recompiler le noyau ou de redémarrer le système.
Les modules sont exécutés dans l'espace mémoire du noyau : ils possèdent le contrôle total de la machine ils peuvent détourner ou créer un appel système
12/12/2002 Ciefa Poly-informatique
Les modules : les risques
Les modules ne rentrent pas en jeu dans la sécurité d'un système
Les modules possèdent le contrôle total de la machine et peuvent :
permettre aux administrateurs d'améliorer la sécurité du système
permettre aux pirates d'affaiblir la sécurité du système.
12/12/2002 Ciefa Poly-informatique
Les modules : avantages pour l’administrateur
Mettre à jour un pilote sans recompiler le noyau ni redémarrer le système.
Détourner certains appels systèmes pour surveiller l'activité du système :
rediriger ou journaliser les accès à certains fichiers ou fonctions soumises à l'authentification préalable de l'utilisateur.
journaliser les ajouts et les suppressions de modules
…
12/12/2002 Ciefa Poly-informatique
Les modules : avantages pour les pirates
Prendre le contrôle total de la machine en détournant des appels systèmes :
modifier la configuration apparente de la machine : mode promiscuous cacher des fichiers :
rendre invisible les fichiers commençant par un mot clé filtrer le contenu d'un fichier :
ôter des journaux, les lignes contenant l'adresse IP du pirate détourner les demandes de changement d'identité :
un compte utilisateur donné peut devenir administrateur sortir d'un environnement restreint (chroot) cacher un processus :
rendre invisible les processus commençant par un mot clé rediriger l'exécution de programmes :
installer des portes dérobées sans modifier les programmes originaux
12/12/2002 Ciefa Poly-informatique
Chiffrement des systèmes de fichiers
Fonctionnement
Notes
Algorithmes
Exemple
12/12/2002 Ciefa Poly-informatique
La commande losetup associe un loopback (périphérique virtuel) à une partition. Si un algorithme de chiffrement est sélectionné alors un mot de passe est demandé.
L'opération de montage de la partition se fait en indiquant le loopback associé à la partition désirée.
Toutes les données envoyées au loopback sont écrites chiffrées dans la partition. Lors d'une lecture dans le loopback, les données correspondantes sont lues dans la partition et déchiffrées en mémoire.
Chiffrement des systèmes de fichiers : fonctionnement
12/12/2002 Ciefa Poly-informatique
les fonctionnalités de chiffrement de Linux ne sont pas incluses dans la distribution standard.Des patches officiels sont disponibles pour ajouter ces fonctions aux sources du noyau.Ces patches sont hébergés sur le site < www.kerneli.org> (actuellement en Norvège).
les commandes losetup, mount et umount doivent être patchées pour supporter ces fonctionnalités.Les patchs nécessaires sont fournis avec les patchs des sources du noyau.
un fichier peut être associé à un loopback. Cela permet : de créer de petites partitions chiffrées qui peuvent être montées
seulement lorsqu'elles sont nécessaires. de sauvegarder de façon sécurisée une partition vers un fichier chiffré.
Chiffrement des systèmes de fichiers : notes
12/12/2002 Ciefa Poly-informatique
Deux algorithmes ont été implémentés pour chiffrer des partitions : CAST-128 défini dans le RFC 2144;
voir www.entrust.com/downloads/pdf/cast-256.pdf et www.ietf.org/rfc/rfc2144.txtutilisé en mode ECB (Electronic Code Book = mode dictionnaire)
Twofish défini par Bruce Schneier, Doug Whiting, John Kelsey, Chris Hall et David Wagner; voir www.counterpane.com/twofish-paper.htmlutilisé en mode CBC (Cipher Block Chain = mode chaînage de blocs)
Une option permet d'utiliser en mode CBC n'importe lequel des sept algorithmes présents dans la bibliothèque pour chiffrer une partition.
Blowfish, DES, DFC, IDEA, MARS, RC6 et Serpent.
Chiffrement des systèmes de fichiers : algorithmes
12/12/2002 Ciefa Poly-informatique
Partie 3 Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
Plan
TCP/IP
Messagerie
tunnels (ssh, CIPE, IPsec)
Samba
NFS
Firewall avec IPTables (demain)
12/12/2002 Ciefa Poly-informatique
TCP/IP Seuls les fichiers fondamentaux sont communs à toutes les implémentations Unix.
/etc/hosts : indique la correspondance nom de machine <-> numéro IP. /etc/inetd.conf : fichier de configuration des services TCP/IP gérés par le démon inetd, /etc/services : définit les ports utilisés par les services TCP et UDP /etc/rpc : définit les ports rpc utilisés par les services RPC /etc/securetty : interdit la connexion directe des administrateurs comme root par le
réseau sur les pseudos -tty non listés. /etc/ftpusers : interdit la connexion via ftp des utilisateurs listés. /etc/hosts.equiv : permet de rendre les machines équivalentes avec les R-commandes. $HOME/.rhosts : permet à un utilisateur de demander un service avec une R-commande
sans se ré-authentifier. $HOME/.netrc : permet à un utilisateur de demander un service ftp sur d'autres
machines avec une identification automatique. /etc/hosts.ldp : interdit les demandes d'impression depuis les adresses non listées. D'autres fichiers plus spécifiques à d'autres protocoles comme NIS, NFS, ftp, etc.
12/12/2002 Ciefa Poly-informatique
TCP/IP
Chaque distribution utilise un fichier différent pour initialiser le système réseau :
redhat : /etc/rc.d/init.d/network et /etc/sysconfig/network-scripts slackware : /etc/rc.d/rc.inet1 et /etc/rc.d/rc.inet2 debian : /etc/init.d/network et /etc/init.d/netbase /etc/pcmcia/network.opts : les portables utilisant le système PCMCIA
12/12/2002 Ciefa Poly-informatique
TCP/IP : TCP_Wrappers TCP_wrapper est un outil qui :
s'installe en frontal des démons TCP/IP lancés par inetd, ajoute les fonctionnalités de filtrage par adresse IP source, permet la journalisation des accès.
Les versions récentes de TCP Wrapper peuvent être récupérées sur le site de Wietse Venema : ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz
Les services non internes à inetd sont lancés via /usr/local/sbin/tcpd en modifiant le fichier /etc/inetd.conf :
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Les droits d'accès peuvent être configurés en mettant ALL:ALL dans /etc/hosts.deny et les autorisations dans /etc/hosts.allow : in.telnetd:127.0.0.1,192.168.1.1
12/12/2002 Ciefa Poly-informatique
La messagerie
La messagerie internet est basée sur plusieurs protocoles : SMTP : Simple Mail Transfert Protocol
SMTP est le protocole d'échange de courrier électronique au-dessus de TCP/IPIl s'agit d'un protocole simple sans fonctionnalité de vérification d'authentification
ni du site émetteur ni de l'utilisateur émetteur
De nombreux logiciels de transferts existent : sendmail, postfix, qmail, mailx, etc. Il est important de garder sa version logicielle à jour afin de ne pas être victime d'attaques Il est important de mettre en place une gestion anti-relayage et anti-spam
POP (Post Office Protocol) et IMAP (Internet Message Access Protocol) Permettent à un utilisateur de récupérer ses messages. L'utilisateur est authentifié, le plus souvent en clair Possibilité d'encapsulation ssl, utiliser stunnel côté serveur.
12/12/2002 Ciefa Poly-informatique
Tunnels
Encapsulation de PPP dans SSH CIPE IPSec
=> Exemples:
12/12/2002 Ciefa Poly-informatique
Tunnels : PPP dans SSH - présentation
PPP = Protocole Point à Point Protocole de liaison de données assurant l'échange de données
sur une liaison point à point
Caractéristiques PPP Transport de données en provenance de plusieurs protocoles
(IP, IPX, etc.) Attribution dynamique d'une adresse IP
SSH = Secure Shell Remplaçant sécurisé de rlogin, rsh et rcp Authentification mutuelle de l'utilisateur et du serveur Chiffrement de l'ensemble de la session
12/12/2002 Ciefa Poly-informatique
Tunnels : PPP dans SSH – mise en place
Le poste nomade exécute un script qui, à l'aide d'une session SSH, lance PPP sur la passerelle et redirige les entrées / sorties de façon à faire passer PPP dans SSH
Les données à destination du réseau interne sont routées vers l'interface PPP résultante
La passerelle joue le rôle de proxy-ARP pour le nomade, qui semble ainsi appartenir au réseau interne
12/12/2002 Ciefa Poly-informatique
Tunnels : CIPE
Prévu pour la création de VPN avec Linux 2.x, simple et bien documenté
Chiffrement au niveau IP, encapsulation des paquets IP chiffrés dans des datagrammes UDP
Installation et configuration Génère deux composants : un module noyau qui se chargera du
chiffrement et un pilote Fichiers de configuration dans /etc/cipe
Utilisation Charger le module noyau Lancer le démon ciped, qui crée un périphérique spécial (même
principe que pppd) Site : inka.de/~bigred/devel/cipe.html
12/12/2002 Ciefa Poly-informatique
Tunnels : IPsec - présentation
Sécurisation des échanges au niveau IP : chaque paquet échangé est chiffré et / ou authentifié
Mis en oeuvre sur tout équipement ayant accès au réseau : routeur, serveur, station de travail...
Modes :
Transport : sécurisation de bout en bout, en-tête non modifiée
Tunnel : encapsulation dans un nouveau paquet IP
12/12/2002 Ciefa Poly-informatique
Tunnels : IPsec – FreeS/WAN
IPsec n'est pas disponible par défaut dans les piles TCP/IP, il faut ajouter un élément spécifique
FreeS/WAN : www.xs4all.nl/~freeswan Pour linux version >= 2.0.36 et 2.2.x Groupe de développeurs actif, nouvelles versions fréquentes
Etapes : Installation de FreeS/WAN sur les machines extrémités du
tunnel(nécessite une recompilation du noyau)
Configuration des paramètres du ou des tunnels
Transparent pour l'utilisateur une fois en place
12/12/2002 Ciefa Poly-informatique
Samba Samba est un ensemble de programmes qui implémentent le
protocole SMB (Server Message Block) pour des systèmes Unix : smbd fournit les services de partage de fichiers et d'impression nmbd fournit le service de noms NetBIOS smbclient : implémente un client à la ftp pour accéder à des partages SMB
et permet à un système Unix d'imprimer via n'importe quel serveur d'impression SMB
Samba peut jouer le rôle de PDC pour un domaine. Mais il ne peut pas (encore) se synchroniser avec un serveur Windows NT
Samba supporte les mots de passe chiffrés LanMan et NTLM Prochainement Samba :
permettra d'établir des relations de confiance supportera totalement les ACL Windows NT permettra les synchronisations BDC <=> PDC avec des serveurs Windows
NT Samba est disponible sur www.samba.org
12/12/2002 Ciefa Poly-informatique
NFS
NFS est un protocole de gestion de fichiers répartis proposé par SUN.Il est devenu standard de par ses capacités de fonctionnement en milieu hétérogène.
Aucune authentification n'est possible. Par défaut, aucune sécurité n'est installée et il est nécessaire de
reconfigurer NFS via le fichier /etc/exports Limiter les adresses IP ayant accès à chaque export : adresse IP, sous-
réseau et noms de machine complètement qualifiés Limiter les accès privilégiés à chaque export
par défaut root est traduit en nobody mais il est préférable de restreindre :bin, daemon, adm, lp, mail, news, uucp, operator, man, postmaster, ftp, guest, ...
n'accorder l'accès root qu'à des machines sûres. Limiter les accès à la lecture seule si l'écriture n'est pas nécessaire.
12/12/2002 Ciefa Poly-informatique
Partie 4 Linux et la sécurité
La sécurité du système
La sécurité du noyau Linux
La sécurité réseau
Quelques conseils de sécurité
12/12/2002 Ciefa Poly-informatique
Amorçage et PAM
Mots de passe pour LILO et restrictions quant aux images pour l’amorçage établis
/etc/lilo.conf
Un groupe Wheel a été créé et sera activé en ce qui concerne la disponibilité de su
/etc/pam.d/*
L’autre authentification de PAM a été vérifiée en ce qui concerne la sécurité
/etc/pam.d/*
Mots de passe de qualité mis en vigueur, avec expiration périodique…
/etc/pam.d/*
12/12/2002 Ciefa Poly-informatique
Système et utilisateur
Consoles accessibles aux login du root minimisées /etc/securetty
Shells disponibles aux utilisateurs minimisés /etc/shells
Services inutiles desactivés /etc/rc.d/rcn.d
Mots de passe shadow installés
Utilisateurs ajoutés dans des groupes à utilisateur privé
12/12/2002 Ciefa Poly-informatique
Système de fichiers
Nœuds de périphériques de disques paramétrés avec permissions 0600 via chmod
Bits SUID et/ou SGID des binaires non souhaités désactivés
Modification sur le processus d’amorçage pour monter automatiquement le système de fichiers root en lecture seule
Liste de contrôle d’accès Posix pour Linux (patch)
Installation du TFCS (Transparent Cryptographic File System) réalisée et volumes chiffrés (via serveur NFS)
12/12/2002 Ciefa Poly-informatique
Réseau TCP/IP
Services non nécessaires normalement contrôlés par le démon Internet ont été désactivés
/etc/inetd.conf
TCP wrappers activés, et fichiers d’accès des hôtes configurés de manière sécuritaire
/etc/inetd.conf /etc/hosts.deny /etc/hosts.allow
Démon de journalisation du système configuré au niveau voulu, ainsi que l’emplacement des activités de journalisation
/etc/syslog.conf