La sécurité - Présentation
V 1.8.3 le 11/09/2017 - Ph. Sèvre
Avant-Propos
la sécurité n’est pas un état, c’est une démarche permanente ⇒ définition d'une politique de sécurité
la sécurité ne se limite pas à l'utilisation d'un outil (pare-feu, anti-virus, …)
la sécurité à 100 % n’est pas possible : il n’y a pas de solution magique, juste un ensemble de pratiques à perfectionner
la sécurité n'est possible sans maîtrise des fondamentaux du réseau et de l'informatique
La sécurite
3 (+1) éléments fondamentaux :
Disponibilité : garantie que ces éléments considérés sont accessibles au moment voulu par les personnes autorisées.
Intégrité : garantie que les éléments considérés sont exacts et complets.
Confidentialité : garantie que seules les personnes autorisées ont accès aux éléments considérés.
Traçabilité (ou « Preuve ») : garantie que les accès et tentatives d'accès aux éléments considérés sont tracés et que ces traces sont conservées et exploitables.
En anglais CIA (Confidentiuality, Integrity, Avalaibility)
Les principes de base d'Eric Cole
Les menaces
la notion de risque
humains
maladresse, inconscience, malveillance, ingénierie sociale, espionnage
techniques
Pour élargir
Des agressions de plus en plus élaborées
Les techniques mises en oeuvre sont de plus en plus sophistiquées et mettent en oeuvre des techniques de plus en plus complexes (cryptographie, virus polymorphiques)
On assiste à une forte recrudescence des attaques de vers (Blaster, …), des spywares et du phishing
les attaques sur
DNS sont de plus en plus nombreuses car elles peuvent rapporter beaucoup au plan financier.
Des agressions de plus en plus élaborées - suite
Il y a peu, on estimait que la durée de vie d’un poste de travail Windows XP SP1 non patché et connecté directement à l’internet était d’une vingtaine de minutes environ, durée supérieure à la durée du téléchargement d’un patch …
Les réseaux de machines zombies ou botnet peuvent comporter plusieurs centaines de milliers de machines à disposition d'une personne pour envoyer du spam ou commettre une attaque en déni de service.
des pirates iraniens ont réussi il y a peu de temps à créer de faux certificats google pour espionner ldes comptes de messagerie
Les programmes malveillants
le virus : programme qui se duplique sur d'autres machines
le ver : programme qui se duplique lui-même par le réseau
le cheval de Troie (Trojan) : logiciel nuisible déguisé en programme légitime
la porte dérobée (Backdoor) : accès frauduleux caché
le logiciel espion (spyware) : collecte illégale d'informations
l'enregistreur de frappe (keylogger)
l'exploit : permet d'exploiter une faille de sécurité pour obtenir une élévation des privilèges
le rootkit : permet de mettre en place une porte dérobée
Les agressions - les types
Il en existe plusieurs types :
Les techniques d'agressions
Blocage des entrées (surcharge par des DOS)
SPAM (utilisation du relais de messagerie)
Intrusion dans un système (récupération de mots de passe, application ancienne ou mal configurée, …)
Ecoute du réseau avec des renifleurs (Ethereal, Wireshark)
Attaques par rebond en prenant d’abord la main sur le routeur/pare-feu d’entrée pour ensuite attaquer le réseau intérieur (attaque par rebond)
podsurfing avec une clé USB (autorun et U3)
Les techniques d’agression -Suite
recherches des trous de sécurité
utilisation de scanners permettant de détecter les adresses IP et les ports utilisés (NMAP) -
certains permettent de détecter l’OS grâce aux numéros de séquence TCP
connection aux serveurs applicatifs pour récupérer le numéro de version et les vulnérabilités connues (sendmail, bind, …)
Et enfin attaque par débordement de buffer avec un “exploit” spécifique pour obtenir des privilèges root
mise en place d'un rootkit
Les intrusions
Modes de contrôle d’un système :
ingénierie sociale (pratique relationnelle)
mot de passe récupéré (crackage ou reniflage) ou prêté
Installation avec paramètres par défaut non adaptés
application mal installée ou configurée
application trop ancienne
agression interne
Les mises hors de service ou deni de service (DOS) - 1
On les appelle encore attaques par saturation
consistent à surcharger le système pour le rendre incapable de fonctionner ou trop lent,
à remplir les journaux (rendre la recherche plus complexe) ou une partition système
mutiplication du nbre de connexions (x 10, x 100 ou plus )
Attaque depuis une seule source ou mutualisée avec amplification (facteur 1:1000) très difficile à contrer (DDOS cf Yahoo)
Attaque avec source falsifiée ou utilisant des intermédaires (rebonds)
Les mises hors de service ou deni de service (DOS) -2
Exemples :
(win)nuke, ping of death, land, teardrop, jolt, pepsi, bo(i)nk, nestea(2), naptha (et dérivés), 3wahas, stream, fraggle,
ou une combinaison de plusieurs « techniques » (targa/rape)
fork bomb
en TCP :
avec ICMP : echo et echo reply
avec UDP
Vulnérabilités
les causes :
installation des
OS et des applicatifs avec les paramètres par défaut
Comptes utilisateurs sans mot de passe ou avec mots de passe trop faibles
Sauvegardes inexistantes ou incomplètes
Nombre trop élevé de port ouverts
Aucun filtrage de paquets
Journalisation des évenements inexistante ou incomplète
Programmes CGI vulnérables
Vulnérabilités : exemples pour Unix
Débordements de buffers dans les RPC (Remote Procedure Call)
Vulnérabilités dans Sendmail
faiblesses BIND
Commandes R (Rexec, rsh, rlogin …)
LPD (démon d’impression)
démon de montage
Chaines SNMP par défaut
Stratégie – l'infrastructure - 1
Principe de base : n'autoriser que ce qui est strictement indispensable
n'exposer que ce qui est strictement nécessaire
définir strictement les différents périmètres ou zones (partie publique, partie privée, …) avec les règles adaptées
la topologie est importante : la partie publique devra être limitée au maximum
Stratégie – l'infrastructure - DNS
Un serveur
DNS ne doit renseigner que le minimum utile
Éventuellement : serveur
DNS interne et
DNS externe
attention aux empoisonnements du cache
DNS
Stratégie – l'infrastructure - DHCP
DHCP : service très sensible et facile à rendre inopérant: un script très simple permet d'épuiser tous les baux disponibles
il devient alors très simple de mettre en place son propre serveur DHCP
contre-mesure: DHCP distribuant des baux uniquement aux adresses MAC répertoriées (facile sous Unix)
Stratégie – l'infrastructure - 2
Attention à la couche liaison : elle est peu sécurisée et facile à mettre en défaut
L'usurpation d'adresse MAC (ARP Spoofing) est facile à mettre en oeuvre
Un switch se comporte comme un simple HUB si on épuise sa table d'adresses MAC au moyen d'une ARP storm (outils arp-sk, arpspoof, …)
Utilisation de VLAN par ports pour séparer les réseaux (niveau 2 OSI)
Les VLAN par adresse MAC ou par adresse IP sont faciles à mettre en défaut.
Stratégie – l'infrastructure - 3
les routeurs sont également sensibles
attention aux mots de passe
attention aux protocoles utilisés: RIP V1 ne dispose d'aucun élément de sécurité
Stratégie - 1
Défense en profondeur : mettre en oeuvre plusieurs lignes de défense adaptées opérant de façon différente (
OS (MacOs, OpenBSD)/processeur différents) en séparant les tâches
Que se passe-t-il si la première ligne tombe ?
Tenir compte de l’architecture OSI : un pare-feu est opérationnel aux niveaux 3 et 4 mais pas au niveau applicatif ⇒ mise en oeuvre de proxys inverses ou de solutions pouvant remonter jusqu'au niveau 7 (Level 7)
Stratégie - 2
Une machine exposée ne doit assurer qu’une seule fonction pour limiter les dégats en cas de compromission
Disposer d'une architecture ad-hoc : DMZ ,filtrage à plusieurs niveaux (plusieurs pare-feu)
Plusieurs sous-réseaux (séparation niveaux OSI 3/4) avec filtrage et
ACL sur les routeurs
Stratégie : la virtualisation
elle est amenée à jouer un rôle de plus en plus important pour des raisons évidentes
en revanche, les hotes hébergeant les machines virtuelles doivent être considérés avec un soin tout particulier sous peine de voir compromises l'ensembles des machines virtuelles de l'hôte
Stratégie : les hôtes bastions
Un bastion est une machine exposée dans la DMZ. Elle doit donc être configurée en conséquence
Machine dégraissée : uniquement les applicatifs et services nécessaires
noyau minimal recompilé sans modules (Linux)
pas de compilateur installé : il permet de créer un rootkit
Sous Linux, possibilité d’installer une distribution minimale et sécurisée (Trustix, Debian, …)
BSD : OpenDSB, NetBSD et FreeBSD
Sous Windows, désactiver la couche Netbios et les outils d’exploration ainsi que la connectivité au domaine AD si possible
Accès Physique - 1
Attention aux paramètres de démarrage de la machine
Elle doit démarrer sur le premier disque uniquement et non pas sur CD, périph. USB ou disquette : sinon il suffit d’un Live-CD Linux (Knoppix, System Rescue CD …) pour démarrer une machine Linux ou même Windows et d’accéder aux partitions (NTFS, Linux…)
Le BIOS doit être protégé par mot de passe pour la raison précédente
Accès Physique - 2
Sur une machine Linux, le démarrage doit imposer un mot de passe pour passer des paramètres au noyau (configurer lilo ou grub en conséquence)
Exemple Linux : linux init single permet de démarrer en run-level 1 donc de se connecter en root sans saisie de mot de passe !
Les portables
Implique des modes opératoires spécifiques : en cas de vol, le disque dur est lisible par tout le monde
Nécessité de mettre en place des systèmes de fichiers cryptés :
Windows : utiliser EFS ou TrueCrypt (sur Linux aussi)
Linux/Unix : utiliser crypto-loop ou dmcrypt avec des algorithmes de cryptage sûrs (BlowFish, …)
Cette stratégie est également valable pour les clés USB
Les paranoiaques peuvent également mettre en place des partitions de swap cryptées.
Le réseau sans fil - 1
Il peut poser de sérieux problèmes de sécurité s'il est mal configuré.
Quelques pistes :
ne pas diffuser les SSID
Changer les noms de SSID par défaut (linksys, …)
Mettre en place le cryptage
WEP résiste 10 mn à un outil comme aircrack (airsnort, …)
Choisir WPA ou WPA2 plus robuste avec des clés longues
Le réseau sans fil – 2
Utiliser la norme 802.1x avec un serveur WPA/Radius ce qui permet de bloquer un port physique dans de bonnes conditions de sécurité
Utiliser un contrôleur sans fil gérant plusieurs SSID et les VLAN : solutions d'authentification différenciées
Stratégie de mise à jour
s’abonner aux listes de diffusion de l’éditeur et des organismes de sécurité (CERT)
lire (!!!) les mises en gardes diffusées
urpmi pour Mandriva, yum pour Redhat, apt-get/aptitude pour Debian/Ubuntu)
s’assurer de la fiabilité de la source
vérifier la signature des pièces téléchargées
Vérifier la somme de contrôle MD5 (avec md5sum sous Linux ou les signatures de packages)
Stratégie de mise à jour - Windows
s’abonner aux listes de diffusion de l’éditeur et des organismes de sécurité (CERT)
lire (!!!) les mises en gardes diffusées
récupérer les patches et mises à jour
Stratégies de mots de passe -1
Limiter le nombre de comptes priviliégiés (root, administrateur)
Règle : on ne devrait donner un accès administrateur qu’aux personnes capables de réparer les dégats qu’elles auront causé en mode administrateur !!!
N’accorder que les droits minimaux pour efffectuer une tâche donnée (sudo sous Linux permet de donner l’autorisation d’effectuer certaines taches à des utilisateurs “ordinaires” : relancer Apache, …)
Stratégies de mots de passe - 2
utiliser les shadow passwords beaucoup plus sécurisés que les mots de passe classiques (pwconv/pwunconv permet de changer) pwck permet de vérifier la cohérence
écrire une note concernant la création de mots de passe
éviter le mots (craquage par dictionnaire)
longueur efficace minimale : 8
utiliser un aphabet varié avec caractère de ponctuation, min/maj
commande Linux mkpasswd :
Statégies de mots de passe - 3
Définir une stratégie de vieillissement de mots de passe (chage) avec PAM ou stratégie de mot de passe Windows
utiliser les outils de crackage (Crack, “John the Ripper”, L0Pht (Windows) ) pour évaluer la résistance des mots de passe
Désactiver les services non utilisés
Le principe de base en sécurité : ne lancer que les services réellement utilisés. La plupart des distrib. Linux (sauf Debian) lancent au démarrage plus d’une vingtaine de services !!!!
Les services Windows - 1
Un serveur Windows 2003 lance de nombreux services,. D'autre part le mécanisme de RPC ne permet pas d'imposer des restriction sur les adresses d'écoute (cf. Linux).
TCP:
135/tcp: Remote Procedure Call (RPC) service (RpcSs)
139/tcp: NetBIOS over TCP/IP driver (netbt.sys)
445/tcp: NetBIOS over TCP/IP driver (netbt.sys)
un port dynamique TCP (LSA RPC services): lsass.exe
un port dynamique TCP port (RPC services): Task Scheduler service (schedule)
pas dans Windows Server 2003 SP1
Les services Windows - 2
UDP:
123/udp: Windows Time service (w32time)
137/udp, 138/udp: NetBIOS over TCP/IP driver (netbt.sys)
445/udp: NetBIOS over TCP/IP driver (netbt.sys)
500/udp, 4500/udp: IPSEC Services service (PolicyAgent)
Un port UDP dynamique : DNS Client service (Dnscache)
Audit (loging) - 1
La totalité des applications peut envoyer des informations dans les fichiers de log
Attention à une stratégie générant des volumes trop importants pous être gérés efficacement
Nécessité de disposer d’outils pour exploiter ces logs :
filtres Unix , commande grep
scripts Perl
applications du type swatch permettant de rechercher un motif dans un fichier log
Audit (loging) - 2
Attention au volume : le filtrage de paquets peut générer des volumes très importants : il est fortement recommandé que le répertoire /var soit stocké dans sa propre partition pour ne pas remplir la partition racine.
S’assurer par ailleurs du paramétrage de logrotate qui permet de faire “tourner” et compresser les fichiers de log.
Il est également recommandé d’envoyer les logs sur une machine dédiée pour les centraliser et éventuellement les graver sur DVD
On pourra utiliser syslog syslog-ng ou ntsyslog (Windows)
Audit (loging) - 3
Attention à l’intégrité des logs : une des premières tâches d’un intrus qui aura réussi à pénétrer un système consistera à masquer ou effacer les traces de ses méfaits en effaçant ou épurant les logs.
On peut positionner l’attribut Append avec la commande chattr pour autoriser seulement l’ajout en fin de fichier
chattr +a /var/log/messages
La sécurité interne
généralités : un processus Unix dispose d'un utilisateur (UID) et d'un groupe (GID), son accès aux objets système est tributaire de ces propriétés : un utilisateur “normal” ne pourra pas accéder à un répertoire s'il ne dispose pas des droits adaptés
mettre en place une stratégie de sécurité consiste à jouer sur les droits d'accès aux fichiers (RWX)
les droits associés aux processus
droits associés à l'utilisateur
droits associés au programme lui-même
généralement différents
identiques si le bit Set-UID est positionné
droits réels : celui qui lance le processus
droits effectifs : propr. du programme si le Set-UID est positionné
Les programmes Set-UID et Set-GID
De nombreuses tentatives d’intrusions proviennent de processus lancés à partir de programmes Set-UID.
Un fichier dont le bit Set-UID est positionné dispose des droits du possesseur du fichier et non de ses droits de simple utilisateur (/bin/passwd est possédé par root et est Set-UID par exemple)
Ces fichiers sont des parfaits candidats pour les pirates . La plus grande partie des intrusions provient des programmes SetUID
Les programmes Set-UID (2)
find / -user root -perm -4000 -ls .
Les programmes Set-UID (3)
find / ! -fstype proc ‘(‘ -nouser -o -nogroup ‘)’ -ls
chmod ug-s fichier
Le Sticky Bit
le bit collant permet de gérer les droits d'écriture d'un fichier (modification et suppression)
sur un répertoire : interdit la suppression des fichiers qu'il contient à tout utilisateur autre que le propriétaire.
sur un fichier : indique que le fichier doit rester en mémoire après son exécution (utilisé pou sh et vi à l'époque).
flag : T ,n octal : 1000
L’attribut immuable
on peut également rendre immuables certains fichiers système importantes (ls, ps, cp , …) : on ne pourra alors plus les changer, les renommer ni faire de liens sur eux avec la commande :
chattr +i fichier
Sécurité interne
consiste à “durcir” la configuration pour éviter les failles de sécurité
application de droits restrictifs
limitation des droits d'execution
limiter le nombre de démons
Les outils
Bastille Linux : application permettant de “durcir “ un système Linux (Mandrake, RedHat, Debian) - Très formateur car sa configuration se fait à l’aide d’un script qui pose des questions très pertinentes
lynis : application permettant de faire un audit de sécurité d'un système Linux et de faire des suggestion utiles quand à la sécurité.
Msec (Mandriva) : définit plusieurs niveaux de 1 (securité faible) à 5 (paranoiaque). Cf doc
Unix : chroot
Consiste à lancer un démon dans une cage “chroot” ne permettant pas à celui-ci d’accéder aux données extérieures ce qui limite les dégats en cas de compromission.
Il est en revanche nécessaire que la nouvelle arborescence comporte toutes les bibliothèques et répertoires nécessaires au fonctionnement du démon
On installe souvent bind, postfix ou les démons ftp en chroot
Unix : les démons et utilisateurs
De plus en plus les démons (serveurs et autres) sont conçus (si possible) pour fonctionner avec des utilisateurs spécifiques (apache, named, etc.) et non en tant que root ce qui limite les conséquences en cas de compromission du démon: l’utilisateur “normal” ne dispose que peu de droits de nuire.
ainsi un seul démon Apache est lancé en tant que root, ce processus lance les processus Apache chargés de répondre aux requêtes Web avec un utilisateur “normal” : www-data pour Debian
Les intrusions
La plus grande partie des intrusions dans les système Unix provient des programmes SetUID. On provoque un débordement de buffer (buffer overflow) avec des données calculées spécialement pour infecter la pile et obtenir une élévation de privilèges
On remplace alors l’adresse de retour qui se trouve dans la pile par l’adresse d’un processus shell (/bin/sh) ou une copie SUID de /bin/sh cachée sur le système. Le shell est inséré dans le buffer. L’attaquant dispose alors d’un shell avec les droits root !!!
Scénario d'une attaque avec prise de contrôle
Scan des ports pour déterminer les ports ouverts (avec nmap)
Ouverture de session pour identifier les serveurs et leur N° de version
recherche de l'
exploit adapté à l'application, la version et à l'
OS détecté
Lancement d'un exploit avec débordement de buffer pour obtenir des privilèges administrateur
Depuis cette session, mise en place d'un rootkit permettant mettre en place une backdoor.
Les débordement des buffers
Principe : mise en oeuvre avec des données spécialement formatées pour écraser la pile (souvent dans les chaînes de format C : « %s %2d »)
Ces débordements de buffers sont fréquents dans les applications de type RPC (Portmapper, NFS, NIS,…) ainsi que dans le serveur Ftp Wu-ftpd
Une attaque de type débordement de buffer est spécifique :
à l’application (sendmail, apache) et à sa version
au format des exécutables du système considéré (ELF pour Linux, BSD ou Windows)
et bien sûr à l’architecture de la machine (X86, PowerPC, …)
Les débordement des buffers - 2
une attaque pourra être efficace sur un processeur Intel mais pas sur un processeur Alpha ou Motorola.
Pour protéger une infrastructure sensible, certains utilisent les solutions suivantes :
Il existe maintenant des mécanismes mis en oeuvre dans le noyau Linux interdisant d'exécuter des données dans la pile (PAX) et également dans W2k3 Serveur
les processeurs modernes disposent d'un bit non éxécutable (NX bit = > paramétrage BIOS)
Les débordement des buffers - ASLR
Address Space Layout Randomization.
consiste à placer de façon aléatoire les données (pile, tas, bibliothèques, …) en mémoire virtuelle pour limiter les risques d'attaque en débordement de buffer
utilisé avec des objectifs différents sur Linux (PAX), OpenBSD, Mac/
OS et Windows depuis Vista
Les débordement des buffers - 3
Il existe maintant des outils comme Metasploit pour forger (pour tests!) des outils d'exploit.
c'est un véritable environnement de développement permettant des forger des shellcodes adaptés à des cibles données.
exemple :
# win32_bind_dllinject - EXITFUNC=seh LPORT=4444 Size=312 Encoder=PexFnstenvSub http://metasploit.com
my $shellcode =
"\x2b\xc9\x83\xe9\xb8\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xa9".
"\xd4\x7e\x28\x83\xeb\xfc\xe2\xf4\x41\x82\x7e\x28\xa9\x87\x2b\x7e".
"\xfe\x5f\x12\x0c\xb1\x5f\x3b\x14\x22\x80\x7b\x50\xa8\x3e\xf5\x62".
"\xb1\x5f\x24\x08\xa8\x3f\x9d\x1a\xe0\x5f\x4a\xa3\xa8\x3a\x4f\xd7".
"\x55\xe5\xbe\x84\x91\x34\x0a\x2f\x68\x1b\x73\x29\x6e\x3f\x8c\x13".
Les Root-Kits
Après avoir compromis un système, un intrus va essayer de garder une porte ouverte lui permettant de continuer à utiliser le système (back-door)
Il installe des outils lui permettant de garder cette porte ouverte et de camoufler son intrusion. Le root-kit contient des versions spéciales des commandes de base (ls, ps, netstat, find, sshd, telnet, kill, killall, last, …) modifiées pour ne pas faire apparaître la trace des données modifiées
par exemple, la commande netstat ne fera pas apparaitre une connexion distante avec la machine de l’attaquant !! Le démon sshd acceptera une session sans mot de passe avec un nom d’utilisateur particulier ou sur un port spécifique
Les module Kernel (Loadable Kernel Modules)
le kernel permet de charger dynamiquement des modules (insmod) permettant d’effectuer diverses actions
des modules infectés peuvent avoir le même effet qu’un rootkit
Les chevaux de Troie (Trojan)
on le réalise facilement en shell Unix
Les chevaux de Troie (Trojan)
PATH=.:/bin/:/usr/bin
faire plusieurs fois <Entree> ou Ctrl-D avant une ouverture de session
Un cheval de Troie peut également déclencher des connexions réseaux sortantes qui ne seront par forcément détectée par les pare-feu
Les Spyware
Ce sont des logiciels malicieux qui, profitant de faiblesses dans un navigateur, s'installent sur une machine et déclenchent des actions dangereuses (connexions sortantes) inventaires, et peuvent prendre la main sur une machine.
Ils sont de plus en plus répandus sur les machines Windows
On pourra utiliser des outils comme SpyBot ou Ad-Aware
Les Pots à Miel (HoneyPots)
Les Firewall Linux - 1
depuis le noyau 2.4 : Iptables filtrage de paquets stateful : tient compte de la connexion TCP ⇒ décisions plus pertinentes
attention : il est également recommandé d'effectuer du filtrage sortant permettant de bloquer les éventuels chevaux de Troie
chaîne INPUT
chaîne FORWARD
chaîne OUTPUT
Les Firewall Linux - 2
iptables -P INPUT DROP
iptables -A INPUT -s 0/0 -d 192.168.1.100 -p tcp -destination-port www -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.1.100 -p tcp -destination-port ssh -j ACCEPT
iptables -P INPUT DROP
iptables -P INPUT LOG
Les Firewall Linux - 3
Les tests - 1
il est impératif de tester la configuration d’un pare-feu dans les conditions réelles
NMAP (Network Mapper) est le plus connu des scanners de ports
il permet de rechercher les adresses IP sur un réseau ainsi que les ports ouverts
détermine l’OS utilisé (option -O), le filtrage de paquet utilisé et d’autres caractéristiques
Permet des scans furtif (-sS), lent (paranoid) ou avec leurres (decoy)
il existe un front-end en mode graphique (nmapfe)
Les tests - 2
il existe d’autres outils du même genre comme SendIp
un outils de test de firewall : Firewall Tester (Open Source)
Outil le plus réputé : nessus (nessus.org) permet de faire des tests de détection d'intrusion
Les mécanismes généralistes - TCP-wrappers
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
<daemon list>: <client list> [: <option>: <option>: …]
Les mécanismes généralistes - TCP-wrappers - 2
les Wildcards
ALL — Tout.
LOCAL — toutes les machines locales (sans .)
KNOWN — lesss machines connues ou dont l'utilisateur est connu.
UNKNOWN — les machines dont le nom ou l'adresse sont inconnues ou l'utilisateur est inconnu.
PARANOID — toutes les machines dont le nom de machine ne correspond pas à l'adresse.
Les mécanismes généralistes - TCP-wrappers - 3
exemple de configuration
fichier /etc/hosts.allow
# hosts.allow
ALL : LOCAL
in.ftpd : 192.168.0.,10.194.168.0/255.255.255.0, 192.168.1.1
in.telnetd : .staps.u-bourgogne.fr
#hosts.deny
ALL:ALL
Les serveurs FTP Linux - 1
Les serveurs FTP Linux - 2
les serveurs de messagerie
les différents serveurs SMTP :
Sendmail : passé chargé en terme de sécurité et complexe à configurer) – des progrès notables ont été effectuéssssss
Postfix : modulaire, peu de trous de sécurité – configuration
Exim : moins répandu
il est fortement recommandé d'installer un relais de messagerie dans la DMZ et de laisser le serveur principal dans le réseau interne
Les serveurs de messagerie – suite
une couche sécurisée est maintenant fortement conseillée (SSL/TLS) pour le SMTP ainsi que pour les serveurs POP (pop3s) et IMAP (imaps)
cette couche s'installe sans difficulté sur la quasi totalité des serveurs SMTP et POP/IMAP
le serveur de messagerie doit de plus en plus intégrer des outils d'analyse anti-virus et anti-spam
SSH
Service stratégique sur une machine Unix
quelques points concernant le fichier sshd_config
ListenAddress 192.168.0.1 # écoute sur 1 seule interface
PermitRootLogin no # important
Port 666 ou ListenAddress 192.168.0.1:666 # changt port
PermitEmptyPasswords no
AllowUsers lulu
AllowGroups wheel admin
Protocole 2 # plus sur !
il est également possible de désactiver l'authentification par mot de passe et de n'utiliser que les clés publiques !
il est également recommandé d'utiliser des passphrase avec les clés publiques (avec ssh-agent et ssh-add)
SSH - Suite
Les proxy
attention aux
ACL pour éviter que le proxy soit utilisé pour commettre des actes délictueux
mise en place de l'authentification
utiliser des outils d'analyse de logs (calamaris, prostat, webalizer) pour obtenir des statistiques
Les outils de l’administrateur
Nessus/Openvas : outil de test de hôtes – fonctionne en mode graphique (Linux ou Windows)
Ethereal/Wireshark : analyseur de protocole (Linux/Win.)
Nmap : scanner de ports (Linux)
OpenSsh/ssh/putty : serveur/clients Secure Shell
Tcpdump : renifleur réseau
Nc : Network Cat : permet de rediriger un commande sur le reseau : nc host 110
Tripwire, Aide : Host IDS – permet de vérifier l’état de fichiers à partir de calcul de sommes md5
Snort : Network Intrusion Detection System (
GPL) – Linux – permet à partir de plugins de détecter des motifs arrivant sur les interfaces réseau
Les outils de l’administrateur - Suite
Et aussi :
les outils de statistiques réseau (volumétrie) nécessaires pour mettre en évidence les pics
ntop
cacti, munin, rrdtools
Knoppix : distrib. Linux en Live CD , System Rescue CD, Backtrack, kali-linux – nombreuses variantes orientées sécurité
Airsnort : renifleur réseau Wifi
Et bien sûr netstat, traceroute, arpwatch …
Après une intrusion
débrancher le câble réseau
Sauvegarder le disque ou la partition avec nc et graver une image (avec une Knoppix)
Relever les preuves : utiliser un outil du genre Tripwire pour vérifier la compromission des fichiers
Examiner les logs (/var/log/messages, syslog, wtmp (cde last))
Il pourra être utile de monter la partition sauvegardée en loopback en lecture seule pour ne rien détruire
Examiner éventuellement les fichiers core avec la commande strings pour extraire les chaîne permettant de donner des informations
Audit post-mortem avec des outils spécifiques comme le Coroner Toolkit,
-
Quelques liens
TP
installer le paquetage lynis
lancer la configuration avec lynis -c
tester un scan de machine distante avec avec NMAP