Révisions Réseaux - Benoit HAMET online

publicité
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


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




Tous les mécanismes de sécurité des Unix nouveaux
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




commerciaux


BRO
SHADOW (www.nswc.navy.mil/ISSEC/CID/)
SNORT
NFR
Supervision de réseau

TRINUX

12/12/2002
Mini distribution linux disposant d'outils de sécurité et de surveillance du réseau
Ciefa Poly-informatique
Application : les administrateurs

Poste d'administration sécurisé

Utilisation de nessus ( www.nessus.org) pour audit du parc


L'administrateur peut :




Faire régulièrement des tests de vulnérabilités
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)





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


Serveur de fichiers
Serveur d'impression
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


Sur les postes de développement



Un VRAI filtre IP par poste (Netfilter/iptables)
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

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 :


(Configuration)
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é



La comptabilité est activée par la commande accton /var/account/pacct
Le journal doit exister avant l'appel à cette commande,


(sélectionner l'option "BSD Process Accounting" dans le menu "General setup")
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



lastcomm : affiche les dernières commandes exécutées


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.
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.



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.


Il peut ainsi lire tous les fichiers et tuer tous les processus.
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> commandargs...
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 :

rediriger l'exécution de programmes :

rendre invisible les processus commençant par un mot clé
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
Chiffrement des systèmes de fichiers : fonctionnement



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.
12/12/2002
Ciefa Poly-informatique
Chiffrement des systèmes de fichiers : notes



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é.
12/12/2002
Ciefa Poly-informatique
Chiffrement des systèmes de fichiers : algorithmes

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.txt
utilisé 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.html
utilisé 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.
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 Rcommande 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/IP
Il s'agit d'un protocole simple sans fonctionnalité de vérification d'authentification



De nombreux logiciels de transferts existent : sendmail, postfix, qmail, mailx, etc.



ni du site émetteur
ni de l'utilisateur émetteur
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


Caractéristiques PPP



Protocole de liaison de données assurant l'échange de données
sur une liaison point à point
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



Utilisation



Génère deux composants : un module noyau qui se chargera du
chiffrement et un pilote
Fichiers de configuration dans /etc/cipe
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


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/lilo.conf
/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


Shells disponibles aux utilisateurs minimisés


/etc/securetty
/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


TCP wrappers activés, et fichiers d’accès des hôtes
configurés de manière sécuritaire




/etc/inetd.conf
/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
12/12/2002
Ciefa Poly-informatique
Téléchargement