La sécurité informatique est souvent vue comme une contrainte coûtant de l’argent, ce qui la met en première ligne quand il s’agit de faire des économies. Déjà faut-il encore sortir du clivage “Mon McAffee est mieux que ton Symantec“.
Surtout qu’il s’agit de mesurer un risque et une probabilité, un peu comme une assurance vie…
Je vais essayer ici de vous faire une synthèse ici de l’essentiel, avec quelques friandises valant un “++” 😉
Gestion des mots de passes
S’il y a bien un sujet où l’on sent la contrainte, c’est bien celui-là. Vous dites “mot de passe” à n’importe qui, il pense tout de suite sécurité! Et d’ajouter “ils doivent faire au moins 14 caractères” pour qu’il vous réponde “c’est sécurisé chez vous!” (suivi d’un regard plein de compassion sur la souffrance que vous devez éprouver!)
Traite de plaisanterie, les mots de passes sont une rempare comme une autre, et ne servent à rien si d’autres mesures ne sont pas là. J’ai déjà traduis un excellent article de Steve Riley, disponible ici
Gestion du mot de passe administrateur local
Le compte administrateur local est difficile à protéger si l’utilisateur est déterminé. Je vois deux grands axes:
-Rendre les choses difficiles pour décourager ou ralentir
-Faire des vérifications périodiques automatiques pour s’apercevoir des fraudes.
Corser le jeu:
-La longueur du mot de passe doit être supérieure à 14 caractères pour empêcher le stockage en LM hash.
-Chaque station doit avoir un mot de passe administrateur différent. Si c’est le même, n’importe qui l’ayant est admin local du parc, ce qui inclus votre station. Trop facile de vous piéger ensuite!
-Désactivez ce compte. Il n’est pas nécessaire en temps normal, et ne peut se verrouiller.
-Mettez un mot de passe bios, là encore un différent par station. N’autorisez que le boot sur disque dur: pas de CD ni clé USB, ni réseau (si possible).
-Imposez les membres des groupes administrateurs et utilisateurs avec pouvoir locaux via GPO (groupes restreints).
Vérifications récurrentes:
-Mettez un script de logon sur le compte administrateur local. Ce script créera un drapeau pour vous indiquer qu’il a été utilisé et quand. Base de registre ou fichier texte au choix.
-Auditez les journaux d’évènements pour des traces suspectes.
-Changez le mot de passe administrateur local tous les X mois. Quand vous le changez, vérifiez que c’est bien toujours l’ancien. Si quelqu’un l’a claqué, vous le saurez.
-Faites des inventaires des logiciels installés sur les stations. Le droit admin local est recherché pour pouvoir installer ce que l’on veut. Surtout sur les portables, que l’on peut amener chez son meilleur amis,l’expert en informatique bien sûr!
Gérer ses admins
En voilà une idée me direz vous… L’époque où l’admin travaillait avec un compte “administrateurs du domaine” en permanence est révolu, du moins d’un point de vue sécurité. Ils doivent avoir deux comptes, un standard pour la bureautique, et un avec pouvoir (genre monlogin-su), pour les opérations nécessitant des droits supplémentaires. Droits supplémentaires ne voulant pas dire forcément “administrateur du domaine”… Un admin SQL n’a pas besoin de ce privilège par exemple.
Le réseau n’est pas dupe
- Filtrez les adresses mac par vlan. Un poste venant de nulle part ne doit pas avoir un bail de votre serveur dhcp, ni pouvoir causer avec le réseau.
- Filtrez les annonces BPDU sur les ports où il n’y pas d’équipement réseaux, activez rootguard si possible.
- Limitez l’accès aux interfaces de gestion des routeurs/switchs/firewall à vos ip d’administrations.
- Telnet est interdit. SSH V2 est votre amis.
- Limitez à une adresse mac par port réseau pour les stations, afin d’empêcher de mettre des hub et autre joyeuseté.
- Installez une solution de type NAP si vous avez des nomades. Interfacez-là avec vos switch si possible.
Firewall sans trou
- Version de l’os/firmware ou logiciel à jour
- Seulement le strict nécessaire est ouvert
- Les règles de type “accept” ne sont pas logguées sauf raison valable
- Si possible, des restrictions horaires sont en place
- Aucun accès TCP direct vers Internet depuis les postes
- Antispoofing actif
- Firewall de type stateful
Spécifiques Windows
- Le compte administrateur du domaine est désactivé
- Les membres du groupe “Administrateurs du domaine” se comptent sur les doigts de la main. Et tous ces comptes ont un mot de passe > 14 caractères, avec expiration
- Les logs de sécurité des DC tiennent plus de 24H (rétention)
- Les eventlogs sont centralisés
- Il n’y a pas de verrouillage sur les comptes après des essais infructueux
- Vous avez un WSUS, et les patchs mensuels de sécurité sont appliqués
- Les machines du domaine sont dans un nuage IPSEC fermé
- Le firewall Windows est actif sur les stations
- Un antivirus à jour est installé
- Le mscache est à zéro si possible, à 1 sur les portables
Spécifiques Unix/Linux
On retrouve ici pas mal de classique…Rappelez-vous qu’un unix/linux par défaut n’est pas plus sûr qu’un Windows…
- Dites au revoir à inetd et tous les r* (rlogin…)
- Dites bonjour à SSH (v2 et pas de login root direct), NFSV3, NIS
- SNMP, oui mais restreint et protégé
- A jour en terme de patch et noyau ! Vous faites le malin avec un uptime de 800 jours ? Ca en dit long sur la fraicheur de votre kernel…
- Centralisation des logs avec syslogs
Les applications Windows
- Vos applications Windows s’appuient sur Active Directory pour l’authentification des utilisateurs…. Avec une authentification transparente (SSO): ++
- Vos applications se basent sur l’appartenance à un ou des groupes AD, et utilise le SID des groupes pour cette vérification
- Elles fonctionnent avec les droits utilisateurs standards Windows. Elles ont un Manifest pour XP et pour Vista.
- Elles ne contiennent pas de comptes d’accès, que ce soit SQL ou autre dans leur configuration.
Les sites Web
- Utilisez des reverse proxy, par exemple Microsoft ISA 2006. Confiez leur la charge SSL, et activez les protections contre les attaques DOS.
- Protégez la chaîne de connexion à la base de donnée en la cryptant
- Si vous avez un formulaire d’authentification:
- Le nom du formulaire et des champs login/password doivent être dynamiques pour empêcher la saisie semi-automatique
- La page doit être en SSL
- Utilisez une procédure stockée pour vérifier la concordance dans la base de donnée.
La messagerie
C’est presque fusionnel avec les utilisateurs…Ils se plaignent de recevoir trop de mail, coupez le serveur, ils hurlent!
- Mettez toutes vos protections antispam le plus en amont possible, si possible sur le premier relais:
- Whitelist
- Reverse DNS
- SPF / SenderID
- Rbldns multiples
- vérification dans les bases publiques type chainmail et phising
- moteur bayésien
- Gray listing
- Antivirus
- Si vous avez Outlook, utilisez le SCL pour qu’outlook déplace tout seul ces mail dans “courrier indésirable”