Vous êtes sur la page 1sur 9

Sécurité avancée

- Laboratoire -
Audit de sécurité
420-T10-SU

AUDIT

Équipe des professeurs – réseau et sécurité

Juillet 2018

255 Crémazie Est, bureau 100, Montréal (Québec) H2M 1M2


Téléphone : (514) 842-2426, télécopieur : (514) 842-2084
www.isi-mtl.com
Table des matières
Introduction ............................................................................................................................................................................ 3
Liste des items à passer en revue ........................................................................................................................................... 3
Kernel .................................................................................................................................................................................. 3
Timezone ............................................................................................................................................................................. 3
Afficher les packages........................................................................................................................................................... 4
Log du système ................................................................................................................................................................... 4
Information du réseau ........................................................................................................................................................ 4
Règles du Firewall ............................................................................................................................................................... 5
Iptables............................................................................................................................................................................ 5
firewalld .......................................................................................................................................................................... 5
Les services ......................................................................................................................................................................... 5
Systemd ............................................................................................................................................................................... 6
Système de fichier ............................................................................................................................................................... 6
Setuid .................................................................................................................................................................................. 6
Fichiers standard ................................................................................................................................................................. 6
Chiffrement des comptes.................................................................................................................................................... 7
Configuration de sudo......................................................................................................................................................... 7
OpenSSH.............................................................................................................................................................................. 8
Crontab ............................................................................................................................................................................... 8
Les applications comme apache, php, mysql, word-press, etc........................................................................................... 9
Conclusion ............................................................................................................................................................................... 9

2|Page
Introduction
En plus de votre travail d'administrateur réseau, vous aurez à faire des audits de vos systèmes régulièrement si votre
entreprise n'a pas de section responsable pour les audits

Cette liste qui suit est une liste non exhaustive qui pourrait vous aider à bâtir votre propre liste

Liste des items à passer en revue


Kernel
Il est important de vérifier la version du Kernel de votre système, avec la version que vous obtenez, vérifier si une mise à
jour existe pour votre distribution de Linux. Et j'insiste sur le mot distribution. Par exemple, au moment de l'écriture de
ce document, la dernière version du Kernel avec CentOS était 3.10 alors que la version la plus récente était 4.17.12.

Il est important de voir aussi depuis combien de temps le serveur est en fonction. Garder un ordinateur trop longtemps
ouvert n'est pas nécessairement une bonne pratique. Attention par contre, le serveur pourrait ne pas redémarrer à
cause d'un bug, d'une mauvaise configuration et de corruption du système de fichier.

# uname –a

# uptime

Timezone
Au niveau de l'horloge de l'ordinateur, il est important de vérifier que l'heure est toujours bien réglée. Des erreurs
peuvent subvenir si jamais l'heure n'est pas correcte. Si jamais vous voulez expérimenter un des effets d'une mauvaise
date, mettez votre ordinateur en 2003 et aller sur le site de google.com, vous allez rencontrer des erreurs de certificat.

# timedatectl

Si vous utiliser ntp, valider la liste des serveurs ntp afin de s'assurer que la liste n'a pas été contaminé

# ntpq -p -n

3|Page
Afficher les packages
Vous devriez regarder régulièrement les paquets qui sont installés sur les serveurs. Seuls les paquets nécessaires au
serveur devraient être installés. De plus, ca va vous permettre de voir si des logiciels ont été installés sans votre accord.

# rpm –qa
Ou
# yum list installed

Log du système
Il est important de passer en revue les logs des serveurs. En premier lieu, vous allez vous familiariser avec vos serveurs,
et ensuite cela va vous permettre de créer des scripts qui vont automatiser cette tache. Les logs sous CentOS se trouvent
sous /var/log/

Information du réseau
Au niveau des serveurs, il est important de bien vérifier les informations réseaux afin d'identifier les problèmes de
configuration ou identifier des traces de piratages informatiques.

Avant d'utiliser les outils, il faut installer ce paquet, même s'il est considéré comme désuet

# yum install net-tools

Les informations peuvent être obtenues avec les commandes suivant:

# ifconfig -a

# route -n

# netstat -rn

# cat /etc/resolv.conf

4|Page
# cat /etc/hosts

Règles du Firewall
Il est important de s'assurer que le firewall est bien actif et bien configuré. Il devrait autoriser seulement les services
nécessaires. Réviser aussi les pratiques utilisées pour l'application des règles. Par exemple éteindre un firewall pour
faire un test PING est une très mauvaise procédure.

Iptables

# iptables –nvL

# iptables -t nat –nvL

# iptables -t mangle –nvL

# iptables -t raw –nvL

# iptables -t security –nvL

firewalld

# firewall-cmd --list-all-zones

# firewall-cmd --get-default-zone

# firewall-cmd --list-ports

Les services
Valider aussi les services qui roulent sur votre système. Assurez-vous qu'il n'y a pas de service qui ne sont pas autorisés

# ps -edf

# lsof -i UDP -n –P

# lsof -i TCP -n -P

5|Page
Systemd
Valider aussi les services sur Linux est important. Si vous avez désactivé un service, il faut s'assurer qu'il l'est bien, qu'il
n'a pas été démarré accidentellement. Ça va aussi pour s'assurer que des services n'ont pas été installés sans
autorisation.

# systemctl list-unit-files

# systemctl list-unit-files | grep enabled

# systemctl list-unit-files --state=enabled

Système de fichier
Il faut aussi s'assurer que les partitions qui sont montées sont bien les bonnes. Qu'il n'y a pas un clé USB ou une partition
inconnue de montée sur votre serveur. Si vous avez utilisé une partition séparée pour le répertoire /tmp ou /home,
vous pouvez utiliser les propriétés noexec ou nosuid pour empêcher un utilisateur d'exécuter des programmes.

Les informations pour le montage se trouve dans le fichier /etc/fstab ou avec la commande mount.

Setuid
Il faut vérifier la liste des programmes qui peuvent être lancés avec l'option setuid

# find / -perm -4000 -ls

Fichiers standard
Il faut aussi valider les fichiers qui sont accessibles en lecture et en écriture pour tous les utilisateurs (troisième catégorie
d'utilisateur dans les droits)

# find / -type f -perm -006 2> /dev/null

Vous pouvez aussi chercher tous les fichiers qui sont accessibles en mode écriture

# find / -type f -perm -002 2> /dev/null

6|Page
Chiffrement des comptes
Au niveau des comptes, il faut s'assurer que les comptes utilisent le meilleur mécanisme de chiffrement. Il ne faut pas
utiliser des mots de passe dans le fichier /etc/passwd

Il faut s'assurer aussi du niveau de sécurité pour les mots de passe dans le fichier /etc/shadow

Voici la liste des types de chiffrement:

 Pas de signe &, DES est utilisé;


 $1$, MD5 est utilisé;
 $2$ ou $2a$, Blowfish est utilisé;
 $5$ SHA-256 est utilisé;
 $6$, SHA-512 est utilisé;

Tester les comptes contre les mots de passe simple


Attention de toujours faire ceci avec un consentement écrit. Si les comptes sur le serveur appartiennent à des clients sur
Internet, ne fait pas de vérification. Dans tous les cas, augmenté la sécurité des comptes au niveau de PAM.

Les tests devraient consister à prendre une liste du top 20 / 50 / 100 des mots de passe les plus connus et les tester à
l'aide des outils comme John the Ripper ou Hashcat

Ne jamais faire de brute force.

Configuration de sudo
Même si vous n'utilisez pas sudo, valider les permissions qui viennent avec sudo

# egrep -v '^#|^$' /etc/sudoers

7|Page
OpenSSH
Valider la configuration de SSH (/etc/ssh/sshd_config)

1. Utiliser des mots de passe complexe


2. Désactiver la possibilité de vous connecter avec root

PermitRootLogin no

3. Limiter les utilisateurs qui peuvent se connecter

AllowUsers alice bob

4. Ne pas utiliser la version 1 du protocole

Protocol 2

5. Utiliser un port autre que le port 22

Port 5555

6. Utiliser les clés publique / privée pour l'authentification

N'oubliez pas d'ajuster vos règles de firewall en conséquence

Crontab
Réviser toutes les jobs de CRON sur le serveur

Pour Root

# crontab -l

Pour un utilisateur

# crontab -u username –l

Les jobs journalières

# ls -la /etc/cron.daily/

Les jobs aux heures

# ls /etc/cron.hourly/

8|Page
Les jobs hebdomadaires

# ls -la /etc/cron.weekly/

Les jobs mensuels

# ls /etc/cron.monthly/

Les applications comme apache, php, mysql, word-press, etc.


Pour chaque application que vous avez d'installé, il faut valider aussi leurs configurations, vérifier les mises à jours, les
mesures de sécurité à appliquer

Lynis
Un outil qui pourrait vous aider durant votre audit est Lynis. Vous pourrez expérimenter la version de base, mais sachez
qu'il existe des modules qui peuvent être ajoutés au programme, dont une version community ainsi qu'une version
commerciale du produit. Cet outil permet de produire un rapport ainsi que des recommandations pour sécuriser Linux

Installation

# yum install epel-release –y

# yum install lynis -y

Lancer un audit

# lynis audit system

Conclusion
Suite à votre collecte d'information, vous aller devoir produire un rapport qui contient vos observations, les mesures qui
peuvent être appliquées. N'appliquez jamais immédiatement les correctifs sans en avoir eu l'autorisation. Pour les mises
à jour, faites toujours attention à l'impact sur les applications. Par exemple, si vous recommandez de changer la version
de php de 5.6 à 7.2 sans avoir vérifiez auprès des responsables des sites web, vous allez avoir du monde pas content. Il
ne s'agit pas d'une mise à jour mais bien deux versions bien distinctes.

Avec toutes les informations que vous aurez collectées, vous aurez la responsabilité de protéger ces informations.
Utiliser un disque chiffré (LUKS, BitLocker, etc). Les données devraient être sauvegardées dans une archive chiffrée. Si
les données doivent être enregistrées ailleurs, il faut les protégés. Si le rapport doit être transmis via Internet, utilisez
aussi un mécanisme de chiffrement approuvé.

9|Page

Vous aimerez peut-être aussi