You are on page 1of 15

Support2 du cours Sécurité

I) Introduction
Le système informatique est un ensemble constitué de matériels et de logiciels et qui assure
le traitement des données.
. Les programmes exécutés sur un ordinateur sont habituellement classés, selon leur
fonction, sous les 2 rubriques de logiciels de base et de logiciel d'application.
. Le SE constitue une part importante du logiciel de base.

Les logiciels d'applications résolvent les problèmes des utilisateurs.


. Le SE fournit aux autres programmes d'ordinateurs les éléments de base dont ils ont
besoin pour fonctionner.
. Le SE est mis en route dès qu'on met l'ordinateur en marche. C'est le seul programme qui
tourne constamment dans une machine et il constitue une interface entre l'utilisateur et la
machine physique.

Les aspects complémentaires d’un Système d’Exploitation (SE) :


1. Adaptation d’interface : Le système présente à ses usagers une interface mieux adaptée
à leurs besoins que celle directement fournie par le matériel :
- Il cache les détails de mise en œuvre ;
- Il cache les limitations physiques et le partage des ressources entre plusieurs utilisateurs.
- Le SE réalise une machine virtuelle.
2. Gestion des ressources : Pour satisfaire les besoins des programmes d’applications, le
système gère
Les ressources matérielles et logicielles : mémoire, processeurs, programmes,
communications. Cette gestion comprend l’allocation, le partage et la protection.
. On trouve des SE sur :

- Les ordinateurs : Unix / Linux, Windows, MacOS, …

- Des appareils divers : téléphone portable, …. (Windows CE, PalmOS, …)

II) Rappels
Connaître le système d'information pour le protéger Le système représente la valeur
de l'entreprise) il est essentiel de le protéger . Le compromettre revient à
compromettre l’entreprise.
Il convient donc d'assurer sa sécurité en permanence, et surtout dans des conditions
d'attaque, d'espionnage ou de défaillance . Il faut s'assurer que les ressources servent
uniquement dans le cadre prévu, par les personnes accréditées et surtout pas dans un
autre but .
La menace qui plane sur un système englobe les types d'actions menées dans le but
de nuire à ce système (attaque) espionnage, vol d'informations ... ).
La vulnérabilité représente les failles) les brèches dans le système, tout ce qui expose
le système à la menace : manque de sauvegardes) de robustesse, une architecture
défaillante .. .
Les contre-mesures sont les actions mises en œuvre pour prévenir la menace) une fois
qu'elle est mesurée, ce qui passe d'abord par une prise de conscience .
Identifier la menace
Pour mettre en place une politique de sécurité, il faut d'abord commencer par
identifier la menace, le risque potentiel . Il faut connaître son ennemi, ses motivations
et prévoir la façon dont il procède pour s'en protéger et limiter les risques d'intrusion
.
La sécurité d'un système repose sur cinq grands principes:
- L'intégrité des données: il faut garantir à chaque instant que les données qui
circulent sont bien celles que l'on croit, qu'il n'y a pas eu d'altération (volontaire ou
non) au cours de la communication . L'intégrité des données doit valider l'intégralité
des données, leur précision, l'authenticité et la validité .
- La confidentialité : seules les personnes habilitées doivent avoir accès aux données .
Toute interception ne doit pas être en mesure d'aboutir, les données doivent être
cryptées, seuls les acteurs de la transaction possédant la clé de compréhension.
- La disponibilité: il faut s'assurer du bon fonctionnement du système} de l'accès à un
service et aux ressources à n'importe quel moment . La disponibilité d'un équipement
se mesure en divisant la durée durant laquelle cet équipement est opérationnel par la
durée durant laquelle il aurait dû être opérationnel .
- La non-répudiation des données : une transaction ne peut être niée par aucun des
correspondants . La non-répudiation de l'origine et de la réception des données
prouve que les données ont bien été reçues . Cela se fait par le biais de certificats
numériques grâce à une clé privée .
- L'authentification : elle limite l'accès aux personnes autorisées. Il faut s'assurer de
l'identité d'un utilisateur avant l'échange de données.

III Auditer son système


Il est bon d'auditer un système pour connaître son niveau de sécurité réel. Pour cela, on
réalise un test d'intrusion, mené soit par le responsable de la sécurité informatique
du réseau, soit par un professionnel de la sécurité informatique, un hacker
professionnel . Cela se fait bien sûr en accord avec l’entreprise.
Il s'agit donc de tenter une intrusion du système, on dit qu'il s'agit d'un audit de
vulnérabilité Dans ce cas, la personne réalisant le test doit expliciter les actions à
mener et obtenir une autorisation signée . Cette autorisation doit bien sûr être
donnée par une personne qui y est habilitée, un Responsable de la Sécurité des
Systèmes d'Information (RSSI) .

IV) La sécurité
La sécurité est avant tout un ensemble de préconisations qu'il faut adapter aux
besoins de chaque cas rencontré. Il n'y a pas une seule méthode mais un ensemble
de notions à prendre en compte.

La sécurité à mettre en œuvre dépend principalement des moyens qui seront


mis en œuvre pour les attaques et donc principalement de ce qui est à sécuriser. Il s'agit
de trouver un juste équilibre entre le coût de la sécurité et les risques à assumer.

Lors de la mise en place d'une politique de sécurité, il est important de se


rappeler que la sécurité doit être au service des utilisateurs, que ceux-ci ne
doivent pas être gênés dans leur travail. Une sécurité qui ne se soucie pas des
utilisateurs trouve très souvent là sa principale faille car le facteur humain reste
toujours le maillon faible de la sécurité.

Une politique de sécurité prend en compte non seulement la sécurisation de l'accès aux
données mais aussi la protection des données et de l’outil de production face à des
évènements éventuellement destructeurs comme le vol, l'incendie...

a– Sécuriser l'accès physique au matériel


• Protéger les locaux au travers d'une politique globale de sécurité : filtrage des
accès à
l'entreprise, mise à l'écart du matériel sensible (serveur, éléments actifs du réseau ...)
• Protéger le matériel et les données des agressions extérieures : utilisation de prises
parafoudre, sauvegardes délocalisées, système anti-incendie. Prenez en compte
l'ensemble des risques éventuels comme les inondations car le matériel réseau
n'est pas évident à déplacer.
• Protéger le matériel du vol : les équipements critiques (serveurs, éléments
actifs et
Passifs du réseau) ne doivent pas être accessible à tous.
• Prévoir des connexions réseaux de secours : un câble peut être victime d'un
engin de chantier, dégâts ... La réparation peut être une opération longue, bloquant la
production.

b–Sécuriser les données


• Sauvegarder toutes les données : implique la mise en place de systèmes de
stockage centralisés, plus sûrs que la sauvegarde de nombreux répertoires sur de
nombreuses machines. Implique aussi d'être à même de pouvoir restaurer les sauvegardes
faites.
• Sortir les données de l'entreprise pour les protéger d'un incendie par exemple. Ceci doit
être fait dans le respect des règles de confidentialité éditées dans la politique générale de
sécurité...
• Utiliser des systèmes de stockage redondants, de type RAID, permettant de
récupérer les données lors du crash d'un disque sans rupture du service.
• Utiliser des antivirus qui seront régulièrement mis à jour. Sensibiliser le personnel sur la
Provenance des virus et les règles simples à suivre pour les éviter.

C– Garantir la continuité du service


• Utiliser des serveurs aux services redondants (contrôleurs de domaine
principaux/secondaires par exemple) pour pallier aux problèmes liés à
l'interruption de service.
• Utiliser des systèmes de sauvegarde permettant un changement de support à chaud
(HotPlug) en cas de problème.
• Utiliser des systèmes intégrant une alimentation redondante, élément souvant le
plus faible.
• Prévoir des solutions contre les micros-coupures et coupures de courant pour, à
la fois éviter un arrêt non sécurisé des serveurs, éviter un redémarrage long
des services et ainsi permettre une utilisation continu du matériel, y compris
durant une coupure de courant. Dans ce dernier cas, tous les éléments doivent
être sécurisés : oublier le matériel réseau par exemple rendrait la démarche totalement
inefficace.
• Prévoir la reconstruction rapide d'un système détruit : création d'une image du
système de base.
• Investir dans du matériel de qualité.

d– Sécuriser l'accès au réseau


• Ne pas brasser (activer) les prises non utilisées de sorte à éviter les
connexions imprévues et l'écoute du réseau (des mots de passe peuvent circuler en clair,
comme bon
Nombre d'informations stratégiques).
• Eviter ou plutôt restreindre l'allocation dynamique d'adresses IP de sorte à ne
pas simplifier la tâche d'un éventuel pirate. Limiter et surveiller les adresses MAC (adresses
physiques des cartes réseau, difficiles à modifier) de sorte à prévenir de la
connexion d'un appareil non autorisé.
• Utiliser au maximum des équipements de commutation (switch) de sorte à
limiter les Possibilités d'écoute sur le réseau.
• Utiliser avec précaution les technologies sans fil, toujours activer le maximum
de Protections possibles (cryptage, restriction d'accès...)

e– Sécuriser l'accès aux données et logiciels


• Limiter les accès aux personnes en ayant besoin : mettre en œuvre une
politique de gestion de comptes utilisateurs, associés à des mots de passe.
La politique de gestion des mots de passe est un point important de la
politique de sécurité: le choix des mots de passe doit être de préférence à l'origine des
utilisateurs de sorte à simplifier leur mémorisation. Un mot de passe difficile à
mémoriser est un mot de passe écrit à côté de l'ordinateur ! Toutefois, certaines
règles doivent être mises en place pour contraindre à l'utilisation de mots non
disponibles dans un dictionnaire :
utilisation de minuscules, majuscules, caractères spéciaux et taille minimale... Les mots de
passe ne doivent pas être changé trop souvent pour être bien acceptés, toutefois, il est
impératif de maintenir la base des mots de passe (et des utilisateurs) à jour : le
départ d'une personne doit impérativement avoir pour effet la suppression (ou la
désactivation) deson compte.
Testez vous-même les outils des pirates sur vos propres bases.
• Restreindre au maximum les plages d'accès possible : de nombreuses attaques
ont lieu lorsque personne n'est présent (nuit, week-end) autant interdire tous les
accès à ces moments là.

• Utiliser des moyens d'identification forts si le besoin se présente : carte à


puce,
biométrie...
• Empêcher les accès aux lecteurs de disquettes ou CDROM qui peuvent être utilisés pour
démarrer un système permettant de cracker le système présent sur le disque.
Généralement une protection du Bios associé à la suppression du démarrage sur
ces périphériques aura un effet suffisant... toutefois, le mot de passe du bios
est simple à supprimer... Empêcher alors l'ouverture du micro-ordinateur (solution
permettant de limiter également les vols).
Le réseau est un point sensible du système : du fait de sa connexion vers le monde entier il
offre à des individus physiquement éloignés, comme aux employés, un accès à
vos données.
• Séparer le réseau interne de l'accès externe en utisant des éléments dédiés à
celà : les FireWall. Préférez l'utilisation d'un équipement spécifique ou dédié
plutôt que l'activation de cette fonctionnalité sur un serveur proposant d'autres services.
• Mettre en place un système de suivi des intrusions de sorte à évaluer le
risque à un moment donné.
• Mettre en place un système de suivi des connexions de sorte à détecter
d'éventuelles anomalies.
• Séparer le réseau interne (privé) du réseau public (ensemble des services mis
à
dispodition depuis Internet) . La partie publique de l'entreprise est placée dans une zone
non sécurisée appelée (DMZ Zone Dé Militarisée). Cette DMZ peut toutefois être filtrée au
travers d'un FireWall. Un FireWall beaucoup plus sécurisé sera mis en place entre le réseau
privé et le réseau public. Le but de cette démarche et de protéger le réseau privé d'une
attaque provenant de la DMZ. En effet, il est plus difficile de protéger un serveur qui doit
être public.
• Suivre les mises à jours de logiciels et systèmes ainsi que les rapports de bugs
publiés fréquemment.
Malgré la mise en œuvre de toutes ces règles et de sans doute bien d'autres
encore, la sécurité d'un système ne peut être assurée qu'avec l'aide des
utilisateurs. Ceux-ci doivent donc être sensibilisés aux risques et connaitre les règles
de base de la sécurité comme par exemple ne jamais donner son mot de passe, y compris
à l'administrateur qui, normalement, ne doit jamais en avoir besoin. La façon la
plus simple de pénétrer un système étant bien souvent d'en demander l'accès à un
utilisateur non averti.
Une nouvelle fois, gardez toujours en tête que l'administrateur système doit être au service
de l'utilisateur de l'informatique, toutes les règles mises en œuvre, aussi
restrictives
qu'elles soient doivent être accompagnées d'un service irréprochable de votre
part les rendant ainsi transparentes et surtout non contraignantes.

V) Administration réseau sous Linux


Installation de la carte réseau

Les cartes réseau sont souvent détectées au démarrage. Si ce n'est pas le cas il faudra
charger les modules correspondants.

Pour obtenir la liste des interfaces réseau qui ont été détectées, on peut utiliser dans l'invite
de commandes :

ifconfig -a

Les sections qui commencent par ethX correspondent aux cartes Ethernet, où X est le
numéro de la carte.

Si la carte n'est pas détectée, il faudra charger le module avec la commande

modprobe <nom du module>

Parmi les modules courants on peut noter : ne2k-pci pour les cartes NE2000, via-rhine,
rtl8139...

Les modules disponibles pour votre noyau se trouvent dans /lib/modules/<nom du


noyau>/kernel/drivers/net/. La commande suivante affiche les modules réseau disponibles
pour le noyau en cours d'utilisation :

ls /lib/modules/`uname -r`/kernel/drivers/net/

Pour connaître le nom du module en fonction du nom commercial d'une carte, une
recherche sur l'internet est souvent la meilleure solution.

Le noyau donne parfois des informations utiles sur les cartes réseau. On peut rechercher les
messages contenant "eth0" pour avoir plus d'informations sur la première carte réseau
détectée :

dmesg | grep eth0

La commande suivante permet d'afficher les cartes réseaux reliées au bus PCI :

lspci | grep Ethernet

Configuration de l'interface réseau


Une fois votre carte reconnue par le noyau, vous devez au moins préciser son adresse IP et
son masque de sous-réseau. Dans le cas d'un réseau local connecté à l'internet, vous devez
aussi ajouter l'adresse IP de la passerelle et l'adresse IP d'un ou plusieurs serveurs DNS.
Adresse IP

>Pour attribuer une adresse IP à une interface réseau, on peut utiliser la commande ifconfig :

ifconfig <interface> <adresse ip>

>Par exemple :

ifconfig eth0 192.168.1.12

Le masque de sous-réseau est déterminé automatiquement en fonction de la classe de


l'adresse IP. S'il est différent on peut le spécifier avec l'option netmask :

ifconfig eth0 192.168.1.12 netmask 255.255.255.128

>Pour voir si la carte réseau est bien configurée, on peut utiliser la commande :

ifconfig eth0

Passerelle et routage

Pour ajouter une passerelle, on peut utiliser la commande route :

route add default gw <adresse ip>

Pour afficher les routes vers les différents réseaux :

route -n

Tester le réseau

Pour vérifier que la carte réseau fonctionne, on peut essayer de communiquer avec une
autre machine avec la commande

ping <adresse ip>

La commande ping envoi un paquet à l'adresse IP puis attend que la machine réponde. Elle
affiche ensuite le temps qu'a pris toute l'opération, en millisecondes.

Informations sur les interfaces

Pour vérifier le statut de toutes les interfaces, on peut utiliser la commande

netstat -a
Nom d'hôte (hostname)

Le fichier /etc/hostname contient le nom de la machine. Il suffit de l'éditer pour changer le


nom d'hôte de la machine. Cette modification n'est pas prise en compte immédiatement par
le système, elle le sera au prochain démarrage de la machine ou après avoir lancé :

/etc/init/hostname.sh (ubuntu)

On peut également changer le nom d'hôte avec la commande suivante, mais il ne sera pas
conservé au prochain démarrage :

hostname <nom d'hôte>


>Configuration automatique au démarrage

Le fichier /etc/network/interfaces permet de configurer les cartes réseau de manière


permanente.

Par exemple :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8

Cette configuration initialisera automatiquement les interfaces "lo" et "eth0".

L'interface "lo" est souvent indispensable au système, il est important de l'initialiser. Elle
aura systématiquement l'adresse IP 127.0.0.1.

L'interface "eth0" sera configurée avec l'adresse IP 192.168.1.2, le masque de sous réseau
255.255.255.0 et la passerelle 192.168.1.1 (ce paramètre est facultatif).

Dans le cas d'une IP fixe, il vaut mieux renseigner un serveur DNS (ci-dessus celui de Google).
Sinon, si l'interface eth0 doit être configurée automatiquement par un serveur DHCP, il faut
indiquer :

auto eth0
iface eth0 inet dhcp

Pour que les modifications de ce fichier soient prises en compte, il faut redémarrer ou
utiliser les commandes ifup et ifdown. Par exemple :

ifup eth0
Serveurs DNS

Le fichier /etc/resolv.conf contient les adresses IP des serveurs DNS. Par exemple :

nameserver 208.164.186.1
nameserver 208.164.186.2
search foo

La commande search indique que si un nom de domaine n'est pas trouvé, il faudra essayer
en lui ajoutant .foo

VI Gestion des utilisateurs et groupes

 Créer un nouvel utilisateur avec useradd


 Définir un mot de passe avec passwd
 Créer de nouveaux groupes
 Ajout d’un utilisateur à un groupe
 Modifier les paramètres utilisateur et groupe
 Verrouiller un compte
 Modifier l’expiration du mot de passe
 Suppression d’un compte et d’un groupe

Pour toutes ces opérations vous devez disposer des droits root.
La gestion des utilisateurs et des groupes est une activité très sensible pour la sécurité et la
stabilité de votre système.

Assurez-vous de savoir ce que vous faites avant de commencer

Lister les utilisateurs et groupes

cat /etc/passwd

Afficher la liste des groupes

cat /etc/group

Ajouter un utilisateur
adduser nom_utilisateur

Ajouter un groupe
addgroup nom_groupe
Suppression d'un utilisateur
deluser nom_utilisateur

Suppression d'un groupe


delgroup nom_groupe

Ajouter un utilisateur à un groupe


adduser nom_utilisateur nom_groupe

VII) TP : Quelques commandes utiles

- la commande whois, disponible sur les plates-formes Linux (dans le Gestionnaire de


paquets) ou sur le site www.whois.net. est déjà un bon outil de base. Elle cherche
dans une base de données mondiale des noms de domaines, les informations
publiques liées au nom de domaine demandé. Certaines informations peuvent être
cachées par le propriétaire, s'il le souhaite, mais néanmoins, elles sont assez rarement
cachées et il est possible d'accéder à des informations qui peuvent nous donner une

première idée de la cible. $ whois editions-eni.fr

La commande traceroute, disponible dans le Gestionnaire de paquets des systèmes


Linux ou tracert sous Windows, peut également s'avérer utile, en listant les nœuds
intermédiaires entre un point de départ et un point d'arrivée, elle nous informe sur le
routage des paquets, et donc nous aide à situer le routeur dans le réseau

$ traceroute editions-eni.fr

La commande host quant à elle, liste les machines enregistrées dans les

DNS de la cible.

$ host editions-eni.fr
editions-eni.fr has address 81.80.245.20
editions-eni.fr mail is handled by 20 smtp.eni-ecole.fr.
editions-eni.fr mail is handled by 10 mailhost-ma.eni.fr.
Nmap permet quant à lui de faire le scan des machines d'un sous-réseau, d'en
connaître les ports ouverts, et donc probablement de connaître les services lancés sur
chaque machine, de connaître leurs versions et potentiellement les vulnérabilités.
Tout d'abord, la connaissance du système d'exploitation d'un serveur est évidemment
cruciale pour un attaquant. Beaucoup de failles sont spécifiques aux systèmes
d'exploitation, et les façons d'y pénétrer sont également différentes.
Le fait de balayer un réseau, de le scanner, permet de connaître sa topologie. Le
scanneur de ports va détecter les IP actives sur le réseau, détecter les ports ouverts
et les services potentiels qui tournent derrière chaque port ouvert.
il existe des outils permettant de capturer des connexions X (serveur d'affichage sur
les ordinateurs tournant sous Unix/Linux), et de capturer ainsi les écrans des
machines cibles, la frappe utilisateur et de voir les fenêtres de la victime en temps
réel, ce qui représente un avantage puissant.

Dans la pratique, pour découvrir par exemple la topologie d'un réseau


192.168.0.0/24, dont l'adresse réseau est 192.168.0 et pouvant contenir jus
qu'à 254 machines, nous utiliserons la commande:
# nmap -sS -su -0 -oN nmap.log 192.168.0.1-254
Obtenir des informations sur un service est généralement assez facile. Par
exemple} essayons de voir quel serveur web tourne derrière un site web:

Un service bavard permettant d'obtenir des informations détaillées est celui


du snmp, accessible généralement sur le port 161 en udp.

L'architecture du protocole SNMP se compose d'agents, que sont les switches, les
routeurs, quelques serveurs, qui possèdent une base de données appelée la MIB
(Management Information Base). Ces agents surveillent
le réseau et envoient un trap, un datagramme, pour prévenir chaque événement
inhabituel provenant du réseau. Ces traps sont envoyés à des monieurs qui effectuent
aussi bien de la surveillance passive qu'active, et per
mettent à l'administrateur de gérer son réseau.

Intrusion dans le système


Ne pas laisser de traces
Une fois que nous avons trouvé une porte d'entrée dans l'ordinateur cible,
nous allons d'abord faire attention à nous protéger, pour ne pas être décou
vert par l'administrateur du système.
Il ne faut pas laisser de traces et il faut s'assurer une bonne place sur le sys
tème.
Un administrateur sérieux surveille les journaux système, possède des sta
tistiques d'utilisation du système, et des outils de protection. Il est donc
essentiel de ne pas apparaître comme une activité anormale.

À tout moment, un administrateur peut vérifier si un intrus s'est infiltré de


différentes façons:
- Vérification des fichiers de journaux système.
- Analyse des fichiers espions (sniffers) installés par l'intrus.
- Utilisation de programmes d'audit comme loginlog.
- Vérification des connexions en cours avec la commande netstat.
Généralement les fichiers journaux sont dans Ivar/log. Il ne faut surtout
pas les effacer puisque l'administrateur remarquera aussi qu'une intrusion a
eu lieu. Il est préférable de les modifier pour enlever les traces. Plusieurs
logiciels permettent cela, comme cloak2.c

You might also like