Sécurité sous Linux - Association infothema

Transcription

Sécurité sous Linux - Association infothema
Sécurité sous Linux
La menace (en anglais « threat ») représente le type d’action susceptible de
nuire dans l’absolu, tandis que la vulnérabilité (en anglais « vulnerability »,
appelée parfois faille ou brêche) représente le niveau d’exposition face à la
menace dans un contexte particulier.
Afin de pouvoir sécuriser un système, il est nécessaire d’identifier les menaces
potentielles, et donc de connaître et de prévoir la façon de procéder de
l’ennemi. Le but de cette présentation est ainsi de donner un aperçu des
motivations éventuelles des pirates ou crackers, de catégoriser ces derniers,
et enfin de donner une idée de leur façon de procéder afin de mieux
comprendre comment il est possible de limiter les risques d’intrusions.
Les hackers résolvent les problèmes et bâtissent...
Observez le maître
Suivez le maître
Marchez avec le maître
Assistez le maître
Devenez le maître
Les impacts de la négligence
Dès le milieu des années 70, les recherches sur la cybercriminalité mettaient en évidence l’apparition de nouvelles
menaces. Selon des sondages réalisés aux Etats-Unis au début des années 80, près de 50 % des entreprises
interrogées avaient subi un acte de type cybercriminel. Vingt-cinq ans plus tard, la situation n’a fait qu’empirer.
Oubliée l’heure des hackers héros de séries B ! L’artillerie lourde est sortie. La cybercriminalité engloutit des milliards
détournés de l’économie, et l’on parle désormais de (cyber)guerre entre Etats. Pour les Américains, l’ennemi public
numéro un est l’armée de hackers chinois ; et pour les Chinois, ce sont les cyberunités de l’armée et les services
d’espionnage américains. Quelle est réellement la dimension de la menace ? Difficile à dire. Mais « on » ne cesse
d’affirmer qu’elle est grande, chiffres à l’appui.
Ces chiffres nous disent que la forteresse est sous le feu. En 1995, les 2 millions d’ordinateurs du réseau du
département de la Défense américain subissaient 250 000 cyberattaques. 65 % de toutes les attaques menées
avaient réussi ! A la fin des années 2000, le réseau de l’armée américaine, subissait quotidiennement plus de 3
millions de scans.
Ces dernières années, les botnets sont venus noircir le tableau, capables de prendre la main sur des millions
d’ordinateurs, comme le célèbre bot Mariposa qui infecta près de 13 millions de machines dans le monde.
Ajoutons à cela les centaines de millions de données nominatives volées annuellement, y compris jusque dans les
serveurs (soit-disant sécurisés) de la police et de la Défense ! Peu rassurant.
Les impacts de la négligence
Des chiffres en hausse
Il se trouve que la cybercriminalité a augmenté en 2009, à échelle mondiale, comparée à l’année
précédente.
La France, elle, obtient de bons chiffres puisqu’elle passe de la 8ème à la 13ème place mondiale en
matière de malveillance informatique, mais malgré tout, la vigilance et les sanctions restent
indispensables.
De manière générale, la cybercriminalité a augmenté de 71% en un an. Elle est calculée grâce à un
réseau de millions d'ordinateurs, de comptes mails leurres afin d'attirer les spams et de sondes
installées sur internet.
Les pays les plus concernés sont les Etats-Unis et la Chine, dû à leur nombre important
d’internautes, suivi par le Brésil, l’Allemagne et l’Inde.
Chiffres de l'insécurité
Le coût de la non-sécurité
On parle souvent, lorsque l’on évoque la sécurité informatique, des coûts y étant
associés : coût du matériel, coût de l’expertise, coût de la maintenance…
Ce dont on parle moins en revanche, c’est le coût de la NON-SÉCURITÉ INFORMATIQUE.
Une récente étude, 49% des professionnels informatiques européens ont noté au moins
deux incidents de sécurité informatique entre mai 2010 et mai 2011.
Selon ces derniers, les incidents survenus auraient coûté au moins 250 000 €… Les
moins « chanceux » (1%) ayant perdu plus d’un million d'euros dans l’histoire.
Il est à noter que ces chiffres incluent les coûts de résolution du problème, de
perturbation de l’activité de l’entreprise, de pertes de revenus, de la hausse
significative de tâches à réaliser en interne ainsi que de nombreux autres postes de
dépenses de moindre importance.
Chiffre plus inquiétant, 76% des sondés indiquent que les attaques enregistrées sont
beaucoup plus sérieuses qu’auparavant, qu’elles sont plus difficile à détecter et à
contenir.
Notons également que les points d’entrée signalés proviennent en grande partie (52%)
des terminaux mobiles (iphone, smartphone...)
Risques sous Linux
Pas de Virus ? …
La configuration par défaut de Linux est généralement plus sûre que celle de Windows
Les failles sont généralement plus vite corrigées
Par défaut, les utilisateurs de Linux n'ont pas les droits administrateur
"Ceux qui pensent encore que Linux est invulnérable aux menaces devraient changer d'avis rapidement"
Le Spam : pour envoyer plus de mails.
Le DDoS : envoyer plus d'attaques sur un serveur pour le faire arrêter
de fonctionner.
Le BruteForcing : trouver un mot de passe plus vite.
Anti Virus sous Linux
Eset Nod 32 Desktop sous Linux
ESET File Security for Linux (pour les serveurs) ex. Postfix...
ClamAV
Effectuer un filtrage efficace sur les serveurs de mails afin d'éviter
toute propagation de vers et de fichiers malicieux sur le réseau
internes.
- Analyse virale de tous les messages qui transitent par le serveur SMTP.
- Un contrôle des mises à jour doit être effectué chaque mois par un responsable informatique.
Botnets
Les botnets malveillants servent principalement à :
Relayer du spam pour du commerce illégal ou pour de la manipulation d'information (par exemple des cours de
bourse)
Réaliser des opérations de phishing
Identifier et infecter d’autres machines par diffusion de virus et de programmes malveillants (malwares)
Participer à des attaques groupées (DDoS)
Générer de façon abusive des clics sur un lien publicitaire au sein d’une page web (fraude au clic)
Capturer de l’information sur les machines compromises (vol puis revente d'information)
Exploiter la puissance de calcul des machines ou effectuer des opérations de calcul distribué notamment pour cassage
de mots de passe
Servir à mener des opérations de commerce illicite en gérant l'accès à des sites de ventes de produits interdits ou de
contrefaçons
Outils pour Linux
Metasploit
Nessus
SpamAssasin
Denyhosts
John the Ripper
Perdition
Ssh
Iptables
Metasploit
Metasploit était un projet open-source sur la sécurité informatique qui fournit
des informations sur des vulnérabilités, aide à la pénétration de systèmes
informatisés et au développement de signatures pour les IDS. Le plus connu
des sous-projets est le Metasploit Framework, un outil pour le développement
et l'exécution d'exploits contre une machine distante.
Créé à l'origine en langage de programmation Perl, Metasploit Framework a
été complètement ré-écrit en langage Ruby. Le plus notable est la publication
de certains des exploits les plus techniquement sophistiqués auprès du
public. De plus, il est un puissant outil pour les chercheurs en sécurité
étudiant des vulnérabilités potentielles.
Metasploit peut être utilisé par les administrateurs pour tester la vulnérabilité
des systèmes informatiques afin de les protéger, ou par les pirates a des fins
de piratage. Comme la plupart des outils de sécurité informatique, Metasploit
peut être utilisé à la fois de manière légale et à la fois pour des activités
illégales.
Nessus
Nessus est un outil de sécurité informatique.
Il signale les faiblesses potentielles ou avérées du matériel testé (machines, équipement réseau).
Nessus est capable de scanner un équipement (machine ou matériel réseau), un ensemble d'équipements (à partir
d'un fichier ou d'une plage IP) ou encore un réseau entier.
Le résultat du scan fournira :
-la liste des vulnérabilités par niveaux de criticité,
-une description des vulnérabilités, et surtout la méthode ou un lien pour solutionner le problème.
Il s'appuie pour cela sur une base de signatures des failles connues sur un large panel de systèmes.
Mener des audits internes afin d'assurer le bon fonctionnement des mesures de sécurité prises par l'entreprise.
John the Ripper
John the Ripper (ou JTR, ou John) est un logiciel libre de cassage de mot de passe, utilisé notamment pour tester la
sécurité d'un mot de passe. (audit, crack). D'abord développé pour tourner sous les systèmes dérivés d'UNIX, le
programme fonctionne aujourd'hui sous une cinquantaine de plate-formes différentes, telles que BeOS, BSD et ses
dérivés, DOS, Linux, OpenVMS, Win32…
John est l'un des craqueurs de mots de passe les plus populaires, car il inclut l'autodétection des tables de hachage
utilisées par les mots de passe, l'implémentation d'un grand nombre d’algorithmes de cassage, par le fait qu'il soit
très facilement modifiable, et aussi qu'il soit possible de reprendre une attaque après une pause (arrêt de la
machine).
sudo
sudo
sudo
sudo
john mypasswd
unshadow /etc/passwd /etc/shadow > passwd
john mypasswd
john --show passwd
Un audit concerne plusieurs critères :
- Le niveau de sécurité des mots de passe.
- La vérification du changement des mots de passe tous les six mois.
- L'étude des notes délivrées par le responsable sécurité aux employés sur la politique des choix de mots de passe.
Un exemple concret de test consisterait à évaluer la sécurité des mots de passe de 30 utilisateurs, et à identifier la
proportion de mots de passe faibles.
SpamAssasin
Le but de ce logiciel est de filtrer le trafic des courriels pour éradiquer les courriels reconnus comme
pourriels ou courriels non sollicités.
Face à l'augmentation importante du spam, ce logiciel connaît un engouement important et est
adaptable sur de nombreux serveurs de courriels dont procmail, sendmail, Postfix, Exim, qmail ; il
peut être installé sur la plupart des systèmes basés sur Linux, Windows et Mac OS X.
SpamAssassin est distribué gratuitement sous la licence Apache Software License.
SpamAssassin est un programme (en Perl) qui fait passer un certain nombre de tests au message.
En fonction du résultat de ces tests, il attribue un score au message.
Si le score dépasse un certain seuil, le courriel est alors considéré comme du Spam. SpamAssassin
modifie alors le titre du message (il l'encadre par ***** SPAM *****). De plus, SpamAssassin
positionne deux nouveaux en-têtes au message : X-Spam-Status et X-Spam-Level.
Ces deux en-têtes permettent alors de créer des filtres dans votre client de messagerie pour
orienter le message (par exemple vers la corbeille).
Tous les messages doivent donc passer par SpamAssassin pour être traités, avant d’arriver dans
leur dossier définitif.
HoneyPot Perdition
Un honeypot, ou pot de miel, est un ordinateur ou un programme volontairement vulnérable destiné
à attirer et à piéger les pirates.
Perdition est un serveur proxy pour les protocoles POP3, POP3S, IMAP4 et IMAP4S. Il est capable de
gérer des connexions SSL ou non-SSL et rediriger les utilisateurs vers un serveur réel suivant
l'utilisateur (qui se trouve dans une base de données ou pas).
Perdition est essentiellement utilisé pour créer des systèmes e-mail de grande envergure où les
boîtes e-mails des utilisateurs se trouvent sur un ou plusieurs hôtes différents. Il peut être
également utilisé comme solution transitoire pour passer d'une authentification "texte brut" à SSL.
Denyhosts
Finies les attaques bruteforce sur mon serveur...
Il permet automatiquement de bloquer les IPs qui tentent un peu trop de connexion vers votre
serveur. Le script s'installe sous Debian avec apt-get install denyhosts et est directement
fonctionnel.
Les options de configuration sont très nombreuses et se trouvent dans le fichier /etc/denyhosts.conf
qui est bien documenté.
Vous pouvez :
-choisir le nombre de tentatives au bout desquelles bloquer une IP
-choisir de bloquer plus rapidement les tentatives en root ou sur des comptes inexistants
-bloquer les IPs que pour le SSH ou bien pour tous les services du serveur
-retirer automatiquement les IPs du fichier /etc/hosts.deny après une durée déterminée
-ne pas oublier de mettre au moins son IP dans le fichier /etc/hosts.allow
Ssh
OpenSsh Server
vi /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
Iptables
vi /etc/init.d/iptables
chmod a+x /etc/init.d/iptables
#INTERDIRE IP
iptables -A INPUT -s 192.168.1.1 -j DROP
#INTERNET
iptables -I INPUT -d 192.168.1.100 -p tcp --dport 80 -m string --to 700 --algo bm --string 'Host: 192.168.1.100' -j DROP
iptables -I INPUT -d 192.168.1.100 -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.' -j DROP
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --update --seconds 10 --hitcount 10 --rttl -j DROP
1/ Interdit de pointer sur son serveur web via l'ip
2/ Si vous avez un serveur apache qui tourne et vous avez accès aux log il est plus que probable que tu ai déjà vu ce genre de logs :
213.211.134.23 [date] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400
Ce n'est enfait qu'un scanner de vulnérabilités (DFind) sans grand intérêt si ce n'est qu'il pollue en permance vos logs.
3/ Avec les deux règles précédentes je refuse (DROP) les nouvelles (-m state --state NEW) connexions entrantes (-A INPUT) au port http (--dport 80) qui atteignent le taux de
10 connexions (--hitcount 10) sur une période de 10 secondes (--seconds 10) et qui utilisent le protocol tcp (-p tcp).
La première règle sert à mettre à jour l'adresse IP dans la liste BLACKLIST et la seconde règle permet de limiter les connexions.

Documents pareils