OpenVAS 9 – audit de vulnérabilités

OPENVAS 9 – audit de vulnérabilité

Concept d’OpenVAS

OpenVAS est  un framework, et un fork (ou une branche dérivée) de NESSUS. Nessus étant sous licence propriétaire, OpenVAS s’est développé sous licence GNU GPL.
Il est constitué d’éléments Backoffice :
– Scanner en charge du scan des vulnérabilités
-Manager qui contient toute l’intelligence du framework, il contrôle notamment le scanner, écrit dans la base SQLite. Il planifie, les audits, génère les reports, …
– Administator qui se charge de la gestion des utilisateurs, de l’alimentation en modèle de vulnérabilités ou en plugins,
D’éléments FrontEnd :
o Interface CLI en ligne de commande pour transmettre les ordres d’audit au Manager
o Greenbone Security Desktop, l’interface complète qui suit via un tableau de bord l’état des audits, des vulnérabilités. Disponible pour Linux comme pour Windows.
o GreenBone Security Assistant, un client http/HTTPS pour le Manager.
A noter que la solution OpenVAS s’appuie sur un ensemble de vulnérabilités connues (environ +55000 NVTs connues en 2017).
Le schéma présente les différents composants de l’architecture d’OpenVAS ainsi que les sources d’alimentation des NVTs.
Depuis 2017, il existe 2 éditions bien distinctes : l’edition Entreprise (GSF = Greenbone Security Feed) et l’édition Communautaire (GCF = Greenbone Communauty Feed). Le tableau ci-dessous précise  les NVTs auxquels vous pourrez souscrire.

 Il peut être utile de rappeler que cet outil ne peut être utilisé sur son propre réseau, uniquement à destination de son environnement, à l’exclusion de tout autre serveur, application, site web tiers.

Installation/Configuration

L’installation documentée est sur une base KALI 2018.4 avec OpenVas 9 ; testé également sur un Raspiberry 3+ (avec Raspian Buster).

Préparation de Kali :

  • mise à jour complète (prévoir de patienter…)
    • sudo apt-get clean && sudo apt-get update && sudo apt-get upgrade --fix-missing -y && sudo apt-get dist-upgrade --fix-missing  -y
  • Installation de NMAP 5.51.6  : la version 7 installée n’est réellement supportée que pour des scan « Full & Fast »,  si vous prévoyez d’utiliser les NVT NSE alors installez la version NMAP recommandée.

Options :

Vous pouvez choisir d’installer les packages suivants pour la partie reporting (polices de caractère et génération de documents PDF) :
  • sudo apt-get install texlive-latex-extra --no-install-recommends
  • sudo apt-get install texlive-fonts-recommended
Si vous prévoyez des scans d’environnement Windows, notamment sur des partages SMB, installez le client SMB (normalement déjà installé sous Kali):
  • sudo apt-get install smbclient

 Installation de OpenVas :

  • Installation :
    • sudo apt-get install openvas
  • Le Setup (le script intégra la mise à jour des bases de vulnérabilité depuis 2002, et plus de 1.2 Go de données, donc prévoir un peu de temps, voire un peu plus sur un PI3 ….) :
    • sudo openvas-setup
  • Vérification que l’installation s’est bien déroulée : il ne doit y avoir aucun warning.
    • sudo openvas-check-setup
  • Par la suite, il sera nécessaire d’effectuer les mises à jour des bases de vulnérabilités avec les commandes ci-dessous :
    • sudo greenbone-scapdata-sync
    • sudo greenbone-certdata-sync
    • sudo greenbone-nvt-sync
      sudo openvasmd --update

Configuration d’OPENVAS

  • Pour changer le mot de passe Admin de la console Web :
    • sudo openvasmd --user=admin --new-password=le-nouveau-motdepasse
  • Pour pouvoir vous connecter sur l’interface Web depuis une IP autre que KALI, il faut modifier l’IP 127.0.0.1 par l’IP de KALI :
    • sudo nano /lib/systemd/system/greenbone-security-assistant.service
  • Complétez les modifications sur ces fichiers par un :
    • sudo systemctl daemon-reload
C’est fini, le re-démarrage d’OpenVAS se fait par la commande :
 sudo openvas-stop && sudo openvas-start

Time out au démarrage d’OpenVAS ?

Si vous avez ce message d’erreur au démarrage du service openvas : Redirecting to /bin/systemctl start openvas-scanner.service.service Job for openvas-scanner.service failed because a timeout was exceeded. See "systemctl status openvas-scanner.service" and "journalctl -xe" for details.
  1. Effacer le fichier  dump.rdb (dans /var/run/redis )
  2. Sur le fichier redis.conf (/etc/redis), retirez le commentaire devant save xy z
  3. Faites un flush de votre base de données redis  redis-cli -s /var/run/redis/redis.sock flushall
  4. Redémarrez redis :  service redis-server restart
  5. Redémarrez le Scanner (openvassd)

Mon premier scan !

La connexion à l’interface se fait via https://@ip:9392 avec le login admin et le mot de passe défini plus haut. Deux méthodes pour lancer un audit depuis Openvas :
  • la plus rapide (et la moins efficace)
    1. aller dans le menu Scans / Tasks
    2. cliquer sur l’icone assistant et sélectionnez Task  Wizard
    3. saisir l’adresse IP à scanner et cliquer sur Start Scan
  • la plus complète : cf paragraphe ci-dessous.

Un scan « complet »

Le principe d’un scan dans Openvas  consiste à configurer au préalable son environnement de test ; cela consiste à définir au préalable les éléments suivants :
  • le type de scan (listés dans Configuration / Scan Configs) qui définir le nombre de vulnérabilités testées (nombre de NVTs actives), ce qui aura un impact sur la richesse des résultats, la lenteurs d’exécution,.. il est possible de créer, personnaliser son propre scan en utilisant le bouton News Scan Config (étoile blanche/bleue en haut à gauche).
  • les identifiants (dans Configuration/ Credentials). Pour le cas, où vous avez déjà des indices sur les identifiants, mots de passe à utiliser pour l’exécution de certains tests applicatifs : vous pouvez déclarez ceux-ci en créant un nouveau « Credential »
  • la liste des ports (dans Configuration/ Port Lists) ; un certain nombre de listes de port est déjà préconfigurée, mais vous pouvez ajouter/créer une liste de ports personnalisés comme par exemple  vouloir scanner que ce qui touche au HTTPS (en ajouter une nouvelle liste, déclarer dans port range : T:443 pour ne scanner que le port 443 sur TCP).
  • et enfin, les cibles (dans Configuration / targets) ; ici vous déclarer vers quelles IP l’audit va s’exécuter, en se basant sur quels ports (présents dans Port Lists), en utilisant quelle authentification (parmi celles présentent dans Credential) et enfin avec quelle méthode de détection (Alive Test) : le choix par défaut « Scan Config Default » est trop souvent bien inadapté, il est préférable de test avec TCP-ACK Service Ping  ou ICMP & TCP-Ack Service Ping (voire ARP Ping si vous êtes sur un réseau local direct).
  • Quand vous avez précisé tous les paramètres, cliquez sur CREATE.
  • Allez ensuite dans Scans /Tasks, puis cliquez sur l’icone NEW TASK
  • Nommez votre tâche d’audit, sélectionnez la TARGET créée précédemment, choisissez le type de scan (Full, Fast, ou personnalisé), si vous avez plusieurs IP vous pouvez choisir un scan basé sur un choix séquentiel ou aléatoire, et enfin vous pouvez ajuster (baisser)  le nombre d’IP scannée en simultanée ainsi que le nombre de tests de vulnérabilités simultanés par IP.
  • Puis créez la tâche en finissant sur Create.
  • Retournez dans le menu Scans / Tasks puis au regard de votre nouvelle tâche, cliquez sur le bouton Play pour lancer l’exécution de l’audit. Celui-ci sera terminé lorsque le status passera à DONE.
  • la colonne Reports indiquera le nombre d’audit exécuté, la dernière date de l’audit et le niveau de sévérité détecté.
  • En cliquant sur la date der dernier audit vous afficherez le résultat de l’audit
  • En cliquant sur chacune des vulnérabilités, vous aurez accès au résumé, au détail de la détection, la solution proposées, les logiciels affectés, la méthode de détection ainsi que les références CVE/CERT ou autres organisme.
  • Sur la page de report, en haut à gauche, vous pourrez exporter le rapport complet au format XML, HTML ou PDF (entre autres).

Exemple PDF

Exemple d’un scan sur un Windows 2008R2 standard, mise à jour en date de 07/2016, donc vulnérable à Wannacry reportW2K8

Richesse d’Openvas

Ce qu’on voit ici est puissant et plutôt basique : OPENVas offre des fonctionnalités à ne pas négliger comme, la programmation régulière d’audit afin d’identifier automatiquement si de nouvelles vulnérabilités sont trouvées (par exemple après une livraison ou mise à jour applicative) ; il est également possible de générer des alertes par mail au delà d’un certain seuil, …

Liens complémentaires :

http://wiki.networksecuritytoolkit.org/index.php/OpenVAS https://www.blackmoreops.com/2014/03/03/20-things-installing-kali-linux/ http://docs.kali.org/general-use/kali-linux-sources-list-repositories https://hackertarget.com/openvas-9-install-ubuntu-1604/ Article sous licence Creative Commons « CC-NC »

WordPress : liste de 22 points de sécurisation.

CMS parmi d’autres, Wordpress permet comme les autres de créer et gérer facilement un site web, de le personnaliser à l’extrême, d’y ajouter des tonnes de fonctionnalités. Bien que ce CMS soit l’un des plus infectés en 2018 sur internet (source Suciri.net ), c’est aussi l’un des plus répandus, et qui bénéficie de nombreux articles pour le sécuriser. L’objet de l’article n’est pas de faire la retape de Wordpress mais de se concentrer sur les meilleurs moyens pour rendre son installation la plus securisée possible. Les recommandations ci-dessous ne concernent pas les couches inférieures qui supportent Wordpress (environnement virtuel ou physique, OS , moteur PHP,…). Tous ces éléments se doivent d’être à jour, bénéficier des derniers correctifs de sécurité, ne pas être obsolètes (EOL). Très utile pour vérifier l’efficacité des mesures ci-dessous, quelques sites « d ‘audit » automatiques de votre propre CMS à la seule condition que vous en soyez le gestionnaire, propriétaire ou que vous ayez toutes les autorisations nécessaires (opérateur, hébergeur,…) avant de lancer ces tests.

Effectuer un scan de vos entêtes HTTP et obtenir une note (de A+ à R). L’outil sous licence CC-BY-SA 4 sponsorisé par Sophos.

https://securityheaders.com/

Effectuer un scan gratuit dédié à WP.

https://wpscans.com/

Effectuer un scan gratuit de WP avec un faible impact sur la stabilité de votre site

https://hackertarget.com/wordpress-security-scan/ plus https://firstsiteguide.com/tools/free-fsg/wordpress-security-online-scanner/ …. Toutes les mesures proposées ci-dessous visent à renforcer le niveau de sécurité de WordPress mais peuvent aussi provoquer un crash de votre CMS pour plein de raisons : ne les appliquez que UNE  par UNE , en vous assurant de bien avoir sauvegardé au préalable votre CMS (fichiers + base) avant chaque opération. Si vous ne savez pas restaurer votre CMS,  ou si votre CMS est en production/critique, abandonnez la lecture de cet article.

1 – règles de bon sens

Avant d’aller plus loin dans les aspects techniques, quelques règles essentielles lors de l’installation du CMS

1.1 Mises à jour AUTO WP

Vérifier que son Wordpress soit mis à jour automatiquement : depuis la version 3.7, c’est automatique pour les versions mineures mais vous devrez rester vigilant pour appliquer les mises à jour majeures. Si les mises à jour sont configurées en manuel, vous recevrez un email prévenant de la mise à disposition de nouvelles versions. Le paramétrage précis des mises à jour WP se fait dans le fichier wp-config.php, en modifiant sur la valeur de la constante  suivante : 
define( 'WP_AUTO_UPDATE_CORE', true);
Si true, alors toutes les mises à jour sont appliquées automatiquement Si minor, alors seules les mises à jour mineures sont appliquées Si false, aucune mise à jour… donc fortement déconseillé (sauf incompatibilité avec un dev spécifique ou un plugin).

1.2 Plugins et Thèmes

Limitez au maximum l’utilisation des Plugins ou des Thèmes sans en justifiant réellement le besoin ou en maitriser la source ou sa conception. Les Plugin notamment sont régulièrement des sources d’introduction de backdoor, de fuite de données, de contournement d’authentification, de collecte d’information personnelle des visiteurs,… Quelques soient le nombre de plugin ou thèmes installés (le moins possible de préférence), pensez à en faire la mise à jour régulièrement. Les site https://wpvulndb.com/ recense les vulnérabilités connues autour de l’écosystème de WordPress.

1.3 HTTPS

Là aussi, c’est sans doute redondant de dire pourquoi :
  • votre site sera mieux indexé dans les moteurs de recherche
  • tout le trafic réseau et les données entre votre site et le navigateur web seront chiffrées, y compris les authentifications (notamment lorsque vous vous connectez à l’interface d’administration).
La mise en œuvre d’un certificat TLS/SSL ne relève pas de cet article, mais le meilleur conseil serait d’utiliser Let’s Encrypt , gratuit, automatique et ouvert ! Une fois le certificat ajouté, pensez à préciser la nouvelle URL dans WordPress : Menu Réglages / Général :

1.4 Inscription automatique des visiteurs

Si cette fonction ne présente pas d’intérêt pour votre site web (l’auto inscription des visiteurs), désactivez-là ! Menu Réglages / Général :

1.5 Mise à jour des articles par email

Si cette fonctionnalité n’est pas utilisée (et évitez), assurez-vous qu’elle ne soit pas exploitable. Menu Réglages / Ecriture

1.6 Mots  de passe de BDD et mot de passe du compte d’administration

Là aussi c’est élémentaire, mais prévoyez des mots de passe longs et complexes (12 caractères minimum, avec un mélange de chiffres/lettres/majuscules/minuscules/caractères exotiques,…). Références : https://www.cnil.fr/fr/authentification-par-mot-de-passe-les-mesures-de-securite-elementaires https://www.ssi.gouv.fr/administration/precautions-elementaires/calculer-la-force-dun-mot-de-passe/

1.7 Renommer le compte admin

Par défaut, vous utiliserez le compte ADMIN créé avec l’installation de WP ; autant le changer par un compte qui vous soit propre et inconnu. Il faut :
  1. créer un nouvel utilisateur (menu utilisateurs/Ajouter)
  2. ajouter à cet utilisateur avec un rôle Administrateur (en renseignant @mail, mot  de passe complexe,…)
  3. connectez-vous avec ce nouveau compte et cela fonctionne passez à l’étape 4
  4. supprimer le compte nommé ADMIN
En complément : vous pouvez envisager de créer un second compte Wordpress qui vous servira à la publication des articles, ainsi le nom de votre compte d’administration ne sera jamais affiché ou associé à vos articles.

1.8 Activer l’authentification double facteur sur votre compte admin.

Complémentaire au 1.7, le mieux pour éviter les attaques par brute force par exemple (ou la connexion à votre Wordpress par une personne ayant vos identifiants), c’est de mettre en place une solution d’authentification à double facteur (2FA). L’un des plugins confortable et fonctionnel est Google Authenticator https://wordpress.org/plugins/google-authenticator/#installation Une fois installé/configuré ce plugin nécessitera une validation compléntaire de votre mobile (android ou iphone). L’avantage est que l’app Mobile Google Authenticator est utilisée également par d’autres applications ou sites webs ! Cet article décrit très bien toutes les étapes de configuration :
Activer l’authentification à deux facteurs sur WordPress

2 – Configuration de WordPress

Toutes les recommandations ci-dessous s’appliqueront au fichier wp-config.php de votre site web.

2.1 Editeur de thème

Une fonction avancée de WP permet d’éditeur le code du thème installé, dans le principe cela peut être confortable pour le personnaliser, voire y ajouter des fonctions…. mais c’est aussi le meilleur moyen pour qu’une personne malveillante y copie/colle du code mailveillant (trojan, cryptominage,….). Dans si ce n’est pas utile , désactivez cette fonction dans le fichier wp-config.php an ajoutant les 2 lignes
/* désactiver l'édition de fichiers PHP dans l'editeur WP */
define(‘DISALLOW_FILE_EDIT’,true);

2.2 Désactiver les messages d’erreur

Les rapports ou messages d’erreur WP qui peuvent s’afficher pourraient fournir des informations sur la configuration de votre site web (comme le chemin). Autant les désactiver en ajoutant les 3 lignes :
/* désactiver les messages d'erreurs */
error_reporting(0);
@ini_set(‘display_errors’, 0);

2.3 Ajouter des clefs de chiffrement des mots de passe

Par défaut, vous devriez avoir dans votre fichier wp-config.php les lignes suivantes :
define('AUTH_KEY', 'xxxxxxxxxxxxxx');
define('SECURE_AUTH_KEY', 'xxxxxxxxxxxxxx');
define('LOGGED_IN_KEY', 'xxxxxxxxxxxxxx);
define('NONCE_KEY', 'xxxxxxxxxxxxxx');
define('AUTH_SALT', 'xxxxxxxxxxxxxx');
define('SECURE_AUTH_SALT', 'xxxxxxxxxxxxxx');
define('LOGGED_IN_SALT', 'xxxxxxxxxxxxxx');
define('NONCE_SALT', 'xxxxxxxxxxxxxx');
il est recommandé de changer ces clés/phrases installées par défaut en utilisant le lien https://api.wordpress.org/secret-key/1.1/salt/ A chaque connexion sur cette url, vous aurez une génération auto de nouvelles clés à copier/coller dans votre fichier initial (ceci est un exemple !!!)  :
define('AUTH_KEY','~)rD^kdp<)HqoCLfQu3#n|;9}7TKPmc0oJ?9CVhN-K$F?>a{bVTSMrJq<*Z=>+N8');
define('SECURE_AUTH_KEY',  'lpY(J;9j6EQe`GCYLT|u?V}$-D5vd-|n%!h9Yh12&#%1/JqD?kWCa Y/u2Syd )<');
define('LOGGED_IN_KEY',    'X[h>%!b;kEKj:=aYQ&V_)`5;]E.C6`r+(,)fAA=nzAM/?(44--5E_+`LtO<D?Bhn');
define('NONCE_KEY',        '3hCDkB~T0E9e.vY(F(`XG^m&vSSJw}c9VF10vnb/1~)=@n^I-P0xPaeJp}DnRBfi');
define('AUTH_SALT',        'L]/}[e[19r}7]nB2UZ-3.<-G_n[*%|^hHBf~^Fx+BzQz3+H#p}gx>T0Gw4?tt1M@');
define('SECURE_AUTH_SALT', 'K]L|mcc38&RCw[^[2SylmQ>Z&`~|Rv_d&hW

lt;+]mtI+=J_Z[@GP_!!J+Nv1=99|x'); define('LOGGED_IN_SALT', 'G&Be{v`b6Gb*+2GrZ_6Wiy ?&o>gU,.}X+XQb2-{qrTR64pjHAX551(}[R`{nG |'); define('NONCE_SALT', 'Y3V/f4AIe/a}IHA32b-rW8N^QZu(g-)qvc3TB-`d#pS4p@Hm#Dq&8EGF!IM-6L%A');

2.4 Changer l’URL de connexion au portail

La page de connexion ou d’authentification au WordPress est classiquement https:/www…..truc.fr/wp-admin Le mieux est changer le /wp-admin par un nom improbable  afin d’éviter les tentatives de connexion (même en ayant le bon login et mot de passe). Le plus simple est d’utiliser un plugin Wordpress WPS Hide Login https://wordpress.org/plugins/wps-hide-login/ L’autre solution est d’intervenir dans la configuration du Wordpress + le nom du répertoire.

3 – configuration du .htaccess (pour WP)

Toutes les recommandations ci-dessous s’appliqueront au fichier .htaccess de votre site web.

3.1 Blocage de l’accès au fichier wp-config.php

Ce fichier est central dans la configuration de WP, autant le protéger, notamment en ajoutant dans votre fichier .HTACCESS à la racine de votre site web, la directive suivante :
<Files wp-config.php> order allow,deny deny from all </Files>

3.2 Protection contre le XSS / ClickJacking

Le Click Jacking consiste pour un utilsateur malveillant de superposer par exemple un second bouton sur votre propre bouton de formulaire . Autrement dit, la protection consiste à interdire toute inclusion de page issue d’un autre domaine que le domaine courant (référence : https://www.lexsi.com/securityhub/en-tetes-et-vous-comment-ajouter-de-la-protection-dans-ses-echanges/). Ajouter la ligne  ci-dessous pour s’en protéger :
Header set X-Frame-Options SAMEORIGIN

3.3 Protection contre le XSS / Drive by Download

Cette fois, il s’agit de forcer le type MIME envers le navigateur pour éviter toute mauvaise interprétation du type de données envoyée. Il faut ajouter la directive :
Header always set X-Content-Type-Options "nosniff"

3.4 Mise en œuvre de HSTS

HSTS est l’acronyme de HTTP Strict Transport Security, spécification de HTTPS qui renforce la communication entre le serveur et le navigateur (sur la politique de sécurité) avant de commencer les échanges en HTTPS. Une vaste campagne de mise à jour des navigateurs Web consiste à vérifier que HSTS soit activé sur le serveur Web avant d’en autoriser l’accès (ou sinon d’émettre un warning). Par ailleurs, les sites HSTS peuvent aussi bénéficier d’un meilleur référencement dans certains moteurs de recherche. Il faut ajouter cette ligne :
Header set strict-transport-security "max-age=31536000; includeSubDomains"

3.5 Désactiver la version PHP

Afficher la version du moteur PHP de votre CMS peut déjà renseigner sur les vulnérabilités existantes liées à votre version PHP, autant la masquer. Il faut ajouter cette ligne :
/* masquer la version PHP */
expose_php = Off

3.6 Interdire la navigation dans les répertoires de votre site

Cette option essentielle impose de naviguer dans votre site web par les pages et non en explorant le contenu des répertoires (à l’image de l’explorateur Windows ou d’une liste type FTP).
/* Interdire la navigation */
Options All -Indexes

4 Compléments

4.1 Plugin Utile

Un plugin opensource peut être utile à la protection de l’authentification, il s’agit au choix de
  • Login LockDown https://wordpress.org/plugins/login-lockdown/
  • Limit Login Attempts Reloaded https://wordpress.org/plugins/limit-login-attempts-reloaded/
Ce plugin vous permettra de :
  • limiter le nombre de tentatives de connexions avec un mauvais mot de passe,
  • de le verrouiller automatiquement quelques minutes,
  • de masquer les erreurs si le bon login est renseigné avec le mauvais mot de passe.

4.2  Version WP

Il peut être utile de masquer le numéro de version WP mentionné dans les variables meta renvoyées au navigateur web. Il faut ajouter au fichier functions.php les 2 lignes suivantes :
/* supprimer la version WP*/

 remove_action('wp_head', 'wp_generator');

4.3 Sauvegarde WordPress

La sauvegarde automatique de Wordpress passe inévitablement par un plugin (sauf si vous avez la main sur les tâches CRON…) : BAckupWordPress est un plugin facile , intuitif qui vous créera un backup par jour, avec un mail de notification pour chaque backup. Pensez-juste à sauvegarder le fichier de backup généré quotidiennement vers un autre emplacement (en local). Ponctuellement, avant de grosses mises à jour ou modifications WP : réalisez aussi une sauvegarde via FTP ou SCP de vos fichiers ainsi qu’un DUMP MySQL.

5 Si ca devait arriver.

Il faut prévoir le jour où un chercheur de vulnérabilités  détectera un problème majeur sur votre site, le mieux est alors de prévoir ce cas et de placer  un fichier security.txt placé dans le répertoire /.well-know/ de votre site. Ce fichier contiendra les éléments qui permettront de vous contacter  rapidement si un incident est détecté sur votre site. Ce principe est tellement simple qu’il a été soumis à l’examen de la RFC Pour vous aider à le générer, vous pouvez utiliser ce site : https://securitytxt.org/

6 Conclusion

Refaites les deux premiers test/scan/audit proposés en début d’article, et vous devriez obtenir des résultats corrects ! A suivre :  sauvegarde, page légale,…

Protection de la messagerie par SPF et DKIM

Deux techniques assez efficaces utilisées sur les serveurs de messagerie pour renforcer sa protection vis à vis de tout ce qui s’apparente à du SPAM.

SPF – Sender Policy Framework

Le principe

Lorsqu’un mail va être envoyé par un serveur SMTP A vers un serveur SMTP B, le serveur A va commencer sa séquence de commandes SMTP habituelles type « helo », puis « mail from: toto@mondomaine.org » auprès du serveur B. Le rôle de serveur B (et de la fonctionnalité SPF) va être de vérifier si le serveur A est bien autorisé à envoyer un mail sous le nom du domaine mondomaine.org. Pour faire cette vérification Serveur B va interroger le DNS qui gère le domaine mondomaine.org, et notamment la présence d’un champ TXT qui commence par « v=spf1 ». Cet enregistrement DNS SPF peut être précisé la ou les adresses IP autorisées à envoyer des mails pour le compte du domaine mondomaine.org alors l’enregistrement aura la forme « v=spf1 ip4:109.234.161.30/32 -all »  ou « v=spf1 ip4:109.234.161.30 -all« => Seule l’IP (format v4 !) 109.234.161.30. Partant de ce principe, il serait possible de lister dans le champ SPF les n serveurs SMTP qui envoient des mails pour le compte du domaine mondomaine.org, ce qui donnerait « v=spf1 ip4:109.234.161.30 ip:111.234.116.1167 -all » auquel cas on autorise les 2 IP du champ. Quand c’est possible, une manière simple de configurer ce champ est d’exploiter la présence des champs MX ; normalement le domaine de messagerie contient au moins 2 IP déclarées dans les enregistrements MX du domaine, il suffit alors préciser dans le champ SPF que les serveurs SMTP déclarés dans les champs MX sont « autorisés » , ce qui donnerait simplement : « v=spf1 mx:mondomaine.org -all » ou encore plus simple « v=spf1 mx -all » Il est aussi possible (et parfois nécessaire) de combiner les options de test, notamment lorsque vous n’êtes pas gestionnaire de l’émetteur de mail de votre domaine (cas d’un domaine parqué chez un hébergeur qui fournit une messagerie clé en main comme OVH, Gandi, o2switch ou Office365), ou que votre système de messagerie comprend des passerelles émettrices distinctes etc… . Les serveurs qui envoient des mails pour votre domaine sont parfois distincts des serveurs qui les reçoivent (<> MX). En ce cas, il suffit de préciser par exemple : « v=spf1 ip4:109.234.161.30/32 include:spf.protection.outlook.com include:mx.ovh.com » . On autorise à la fois une plage de 256 IP , l’envoi des mails depuis Office365 et OVH pour le compte du domaine mondomaine.org. A noter qu’une longueur excessive du champ SPF peut ne pas être lue par tous les serveurs SMTP, et du coup toutes les conditions ne sont pas traitées donc les mails peuvent être rejetés anormalement.

Options SPF

Si l’enregistrement est de la forme « v=spf1 ip4:10.0.0.148/32 ~all » , le mail est accepté mais marqué dans son entête comme non conforme SPF ce qui laisse l’outil de messagerie (serveur ou client) agir pour le classer comme SPAM potentiel. Avec « … -all« le mail est purement rejeté. -all => rejette le mail si il n’est pas conforme aux critères précédents (enregistrement MX ou IP) ~all => accepte le mail mais le marque dans son entête SMTP, en laissant la possibilité au client de messagerie (Outlook, Thunderbird,…) ou serveur (Domino, Exchange,…) de le marquer comme indésirables ou non,  à la de l’administrateur ou l’utilisateur. include => permet d’inclure un domaine externe au domaine courant (par exemple si il faut autoriser un tiers comme mx.ovh.com). + => selon certaines version SPF, il peut être recommandé de faire précéder chaque condition par un + afin que les critères soient tous pris en compte du premier au dernier, ce qui donnerait par exemple « v=spf1 +ip4:109.234.161.30/32 +include:spf.protection.outlook.com +include:mx.ovh.com »

Vérifier le bon paramétrage SPF

La première chose est de tester la présence de l’enregistrement SPF avec DIG « dig TXT mondomaine.org » ou NSLOOKUP « nslookup -type=TXT mondomaine.org » La seconde est de vérifier l’interprétation du champ SPF  avec : http://www.kitterman.com/spf/validate.html https://mxtoolbox.com/spf.aspx ou encore https://www.mail-tester.com/

DKIM – Domain Keys Identified Mail

Principe

Cette technique est plus avancée que SPF car elle utilise un système cryptographique pour valider l’authenticité et l’intégrité (partielle) du mail envoyé. Côté serveur d’envoi de mails : le serveur de mail (A) va disposer d’une clé privée pour signer tous les mails envoyés sur internet. Chaque mail contiendra alors dans l’entete SMTP le champ « DKIM-Signature » avec notamment la signature sur le contenu du mail : « DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=TEST.onmicrosoft.com; s=selector1-TEST-onmicrosoft-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=0+yZl+O+5j+9zxhyuFJNecLjWjl/UNkbPS1zLzoDW5s=; b=Jt4uYq2EDtdOQdVe6B4G6VgPPM++JAa4K4UeJ5tQHKJyzwNeI1tHQR/cELwOd2f47ecMDvJkgUZSY6edY8+NWBzdNwrN4ZCOC1xKH1RSIX/Vi4PNgV2LwUFYsCmxnFFzeKv8CGVMeWGPRpTj48dBGjwecrVr6EUKWggtT9eZo9I= » Le champ précise les champs du mails qui ont fait l’objet de la signature, dans l’exemple ci-dessus la signature porte sur l’émetteur, le destinataire, la date, l’objet, l’ID du message et son type. Lorsque le serveur A envoi ce mail à un serveur B, le serveur B peut alors détecter le champ DKIM dans l’entete SMTP ; en ce cas, le serveur B interrogera la zone DNS du domaine émetteur pour chercher la clé publique dans le champ TXT  du DNS qui ressemble à cela : « v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtEC6GaaDSq5/92jozjayuKRY3+KSq6Cg9LpAaRW0cSJp9d8rTWfPhA8HPD9tkBhBtwgxQ++I0Wu5Aj/bPqAfJ8kIu8thrhyZbx/uah0SizN5lEXLWS ….. » A partir de cette clé publique, le serveur B pourra vérifier que la signature du mail corresponde. Si la signature est vérifiée OK avec la clé publique, alors le mail sera accepté et réputé intégre sur les champs signés ; si la signature est invalide, soit par ce que le mail a été modifié par un outils antivirus/antispam après l’envoi du mail par le serveur A, soit parce que le mail a été envoyé par un autre serveur alors ce mail pourra être rejeté selon la politique du serveur de messagerie B. L’utilisation de DKIM suppose que le serveur émetteur sache intégrer une signature DKIM dans les messages SMTP sortants, et que le serveur de réception (serveur de mail ou moteur antispam) soit en mesure d’interroger le contenu DNS du domaine émetteur pour chaque mail reçu. Quelques outils web qui permettent de vérifier la bonne implémentation de DKIM/SPF et plus généralement d’évaluer la configuration de votre domaine de messagerie : https://internet.nl/mail/ https://ssi.economie.gouv.fr/ https://www.mail-tester.com/ https://mxtoolbox.com/spf.aspx

Email ou mot de passe volé ?

Une liste de sites webs qui permet d’identifier si son compte email ou son mot de passe se retrouvent parmi les nombreuses fuites de données.   Il existe plusieurs ressources utiles pour détecter si vos données se sont retrouvées dans la nature.   Le plus connu, peut-être le plus complet « Have I Been Pwned » avec plus de 5 milliards de comptes. Il suffit de mettre son adresse email, puis le site indiquera sur quels sites votre compte aura été dérobé. https://haveibeenpwned.com/   Un nouveau proposé par Mozilla: Monitor qui s’appuie entre autre sur le lien précédent. Un avantage, le site permet d’être alerté si votre email apparait dans une fuite de données à venir. https://monitor.firefox.com/   Pour finir, le site Ghostproject permet de connaitre si son email, son compte (login) ou son mot de passe a fait l’objet d’une fuite de données.  A noter que si l’un des éléments est trouvé, alors il affiche l’information complémentaire en clair !! https://ghostproject.fr/ Dans l’exemple ci-dessous , une adresse email soumise, et le site renvoi que l’email fait bien partie d’une fuite de données, puis renvoi le mot de passe associé (vérifié, le couple login/mot de passe a bien existé… il y a 8 ou 9 ans).  

Chiffrer vos données avec VeraCrypt

Le menu : 1 – Intro. 2 – Modes opératoires possibles avec TrueCrypt 3 – Installation. 4 – Configuration. 5 – Montage automatique des volumes 6 – Montage de volume en ligne de commande 7 – Sauvegarde / Restauration. 8 – Les  KeyFiles pour une authentification renforcée 9 – Chiffrement du volume contenant le Système d’Exploitation. 10 – Chiffrer ET cacher sa partition (système). 11 – Détecter la présence de volume VeraCrypt  

1 – Intro.

Sur la base de TrueCrypt, VeraCrypt est un logiciel qui permet le chiffrement des fichiers et partitions sous forme de conteneur global ou fichier unique. Dans la continuité de Truecrypt, sans les problèmes identifiés en 2014, une société Française Idrix a développé un produit similaire disponible sur SourceForge et CodePlex. VeraCrypt est sous licence TrueCrypt et surtout MS-PL (Licence Microsoft Public).   Qu’apporte VeraCrypt vis à vis de la version de TrueCrypt ? Les équipes de VeraCrypt ont tenu compte et corrigé  un bon nombre de faiblesses/vulnérabilités identifiées par l’Open Crypto Audit Project sur TrueCrypt. Le rapport d’origine sur l’audit de TrueCrypt  : https://opencryptoaudit.org/reports/iSec_Final_Open_Crypto_Audit_Project_TrueCrypt_Security_Assessment.pdf La liste des corrections apportées suite à l’audit de TruceCrypt : https://veracrypt.codeplex.com/discussions/569777#PostContent_1313325   Le document présente différentes utilisations possibles de VeraCrypt: un usage classique avec création d’un fichier(volume) chiffré et protégé par un mot de passe, la même chose protégé par un fichier clé (keyfile), le chiffrement de tout votre PC ou portable y compris la partition système ( !), et le chiffrement d’un volume qui sera caché. VeraCrypt effectue le chiffrement/déchiffrement à la volée après lecture du fichier, avant enregistrement du fichier. C’est aussi ce qu’on appelle le chiffrement OFT = On The Fly La version 1.0f2 présente les fonctionnalités suivantes :
  • Compatibilité Mac OS X  10.6 à 10.10
  • Compatibilité Windows XP à 8.1 en 32 et 64 bits
  • Compatibilité Linux kernel 2.6+ en 32 et 64 bits
  • Montage automatique des volumes VeraCrypt. Si vous posséder un volume VeraCrypt sur un support amovible que vous connectez celui-ci sur votre PC, le volume pourra être monté automatiquement.
  • Comptabilité entière des volumes TrueCrypt (merci Korben : http://korben.info/veracrypt-est-maintenant-compatible-avec-les-conteneurs-truecrypt.html)
  • Les partitions supportent des secteurs de taille 1024 à 4096 octets.
  • La gestion de Volumes Favoris présente de nombreuses options (montage lecture seule, ordre de montage, etc…)
  •  la possibilité de chiffrer une partition contenant des données, sans perdre le contenu (sous Vista/Windows 2008)
  •  le support des tokens et smart cards
  •  l’interopérabilité d’un volume chiffré sous Windows et utilisable sous Linux/Mac
  •  …
Cette dernière release intègre des corrections aux vulnérabilités identifiées dans la phase II de l’audit de TrueCrypt (https://opencryptoaudit.org/reports/TrueCrypt_Phase_II_NCC_OCAP_final.pdf) Précaution élémentaire : n’effectuez pas les opérations ci-dessous sur un environnement de production ou bien acceptez que ce soit en totalité à vos risques et périls .  

2 – Modes opératoires possibles avec VeraCrypt

Il existe plusieurs variantes à l’usage de VeraCrypt : certains ont la première utilité de chiffrer ses fichiers pour se protéger de tout vol alors que d’autres visent à masquer, voire leurrer l’hypothèse que vous puissiez chiffrer vos fichiers. En voici cinq :   –      Créer un conteneur VeraCrypt dans un fichier visible. Cette option basique vous permet de vous promener avec votre conteneur (fichier) sur une clé USB, votre disque externe, vos sauvegardes, etc avec un minimum de confidentialité. C’est ce qui est expliqué dans la partie 3 –      Dédier une partition (non système) en tant que conteneur VeraCrypt . Option similaire à la précédente avec un conteneur qui fera la taille de votre partition ou de votre disque complet, donc particulièrement confortable pour les disques externes par exemple. –      Mettre sa partition Système dans un conteneur VeraCrypt . Cette fois-ci, votre système d’exploitation et tout l’environnement/paramètres/données qui se trouvent sur la partition système se trouvent chiffrés, de manière transparente pour l’OS, hormis le VeraCrypt Boot Loader initial qui vous demandera un mot de passe pour lancer votre OS. Partie 7. –      Déclarer un conteneur dans un fichier qui contiendra lui-même un autre conteneur caché. Imaginez un coffre-fort caché derrière un tableau de maitre, ce coffre-fort une fois découvert s’avère posséder quelques documents peu compromettants mais possède surtout un double fond contenant vos véritables documents confidentiels. A ceci près qu’en fonction du mot de passe du conteneur initial, soit vous ouvrez le conteneur leurre, soit vous ouvrez le conteneur qui vous est cher. –      A l’image de l’option précédente, vous chiffrez votre partition système, qui se trouve contenir également une autre partition systèmes chiffrée accessibles l’une comme l’autre selon le mot de passe saisi. Cet usage est détaillé en partie 8   Enfin, une fonctionnalité commune à tous les modes ci-dessus concerne la clé d’accès au conteneur chiffré : dans les cas les plus simples, la clé sera un mot de passe mais peut également être un fichier de votre choix.    

3 – Installation

Parce que le parc de postes Windows est encore important, c’est cet OS qui est utilisé pour expliquer un peu plus comment çà s’installe. Il vous faudrait donc : Windows 7+ VeraCrypt 1.19 (https://veracrypt.codeplex.com) – le package d’installation fait environ 23 Mo Etre administrateur du poste (uniquement durant la phase d’installation)   Après avoir accepté la licence, un premier choix : VeraCrypt1     Vous pouvez choisir de poursuivre une installation classique ou d’extraire VeraCrypt: ce choix est utile si vous souhaitez utiliser VeraCryptponctuellement sans installer quoique soit sur l’ordinateur (utilisation dans un cadre mobile). Choisissons le cas le plus répandu : install VeraCrypt2 Rien de particulier dans cet écran sauf à noter la possibilité de forcer un point de restauration Windows.   L’installation finie Veracrypt3 Vous aurez cette icône sur votre bureau : Capture.4PNG Pour avoir une interface en langue autre qu’US : Allez simplement dans Settings / Langages….  

4 – Configuration

L’étape primordiale est ensuite de créer un volume (unité logique de type e, f, g,…) qui sera chiffrée et qui contiendra l’ensemble de vos données protégées. Allez dans le menu Volumes, Créer un Nouveau Volume ou cliquez sur le bouton « Creer un volume » Capture5   Trois choix s’offrent à vous : 1 – « Créer un fichier conteneur  chiffré», créer un volume qui sera associé à un fichier unique de type confidentiel.tc qui contiendra les fichiers chiffrés sur votre volume habituel (par exemple sur C :) 2 – « Chiffrer une partition/ un disque non système », créer un volume complet sur un espace disque disponible tel que une clé USB, une partition de disque non-utilisée, un disque externe 3 – « Chiffrer la partition ou l’intégralité du disque système », modifier une partition actuelle pour la rendre chiffrée en totalité. Cette partition peut-être la partition système ou le disque système.   Ces 3 choix définissent ce à quoi ressemblera le container chiffré qui stockera les fichiers chiffrés.   Choisissons la première option .   L’écran suivant vous propose deux options (disponibles également pour les autres choix précédents) : Capture6 –          Standard TrueCrypt Volume : globalement, vous allez créer un espace (fichier ou partition) qui sera visible en tant qu’élément chiffré. Traditionnel… –          Hidden TrueCrypt Volume (ou mode paranoïa) : le container qui recevra les fichiers chiffrés sera ‘invisible’, cet espace sera plus précisément sur un espace de disque non partitionné donc non visible sous Windows. Dans le détail, c’est un schéma de fonctionnement peu plus compliqué mais davantage sécurisé puisqu’une analyse rapide d’un ordinateur ne permettra pas de repérer l’existence d’un volume chiffré. Capture7     Vous devez ensuite définir de l’emplacement de votre container (ou fichier global) qui contiendra vos éléments à protéger). Cet emplacement peut être vos disque local, externe, USB,… précisez un chemin, voir un nom de fichier. Si celui-ci existe, il ne sera pas réutilisé mais écrasé par TrueCrypt. Sans titre8   L’étape suivante consiste à sélectionner en premier le type de chiffrement que vous souhaitez utiliser. AES, Serpent ou TwoFish mais plus amusant encore, vous pouvez choisir d’additionner séquentiellement 1 ou 2 voire 3 de ces algorithmes déjà forts puissants utilisés de manière individuelle. Partons sur AES, un système de chiffrement à clé symétrique très répandu dans maintes applications informatiques, système robuste et approuvé par le NIST, le FIPS et la NAS comme algorithme de chiffrement fort. Pour l’anecdote qui n’en pas une, l’algorithme a été conçu par deux Belges Vincent Rijmen et Joan Daemen. Le menu Outils / Banc de Test vous permettra d’évaluer le chiffrement le plus rapide.   Sélectionnez aussi le type de hachage retenu. Le hachage étant l’algorithme qui permet de définir une empreinte « unique » pour un fichier donné. Si le contenu du fichier est modifié, le hachage ne sera plus vérifiable et confirmera que le fichier a été modifié. Choisissez SHA-512, relativement répandu et très fiable (produit un condensat ou Hash de 512 bits, ce qui est assez important). Sans titre9   Définissez le volume que fera votre conteneur (en Ko ou Mo ou Go). L’espace sera alors alloué dans son intégralité sur le disque mais comme une coquille vide. Petit rappel : un Ko est Kilo Octet = 1000 octets et qu’il ne faut pas confondre avec un Kibi Octet = 1024 octets. Le CEI a normalisé tout ceci (le kibi octet, le mebioctet,…) en 1998. Sans titre10   Sur le choix du mot de passe, inutile de préciser que plus c’est long plus c’est bon … mais si c’est trop long et trop compliqué on est obligé de le noter sur un post-it… Cela n’empêche pas pour autant d’y glisser quelques caractères exotiques, chiffres, majuscules, minuscules,…). Le mot de passe est limité à 64 caractères. C’est ce mot de passe qui vous sera demander pour accéder au volume chiffré. Si vous cochez « Fichier Clé », vous devrez indiquer un fichier qui servira de « clé » supplémentaire au mot de passe. Ce fichier sera ensuite toujours nécessaire pour pouvoir ouvrir le fichier TrueCrypt. Cela peut-être un fichier mp3, avi, texte… Mais un fichier qui ne soit plus modifié !   En fonction de l’utilisation de votre conteneur (notamment si la taille des fichiers hébergés dans le volume sont > 4 Go), TrueCrypt utilisera le système de fichier adapté (exclusion de FAT). Sans titre11 L’étape suivante est de générer les clés nécessaires au chiffrement du volume sur un modèle le plus aléatoire possible sans utiliser la fonction pseudo aléatoire de votre ordinateur. Plus le mouvement de la souris sera long, plus la clé sera difficile à reproduire.       Sélectionnez également le système de fichier retenu (FAT, NTFS) L’option « Dynamique » permet de créer un conteneur de taille limité qui grossira au fur et à mesure des besoins (mais ne diminuera pas) :  cette fonction mérite de ne pas occuper la totalité du volume spécifié au départ, en revanche cela a un impact sur les performances. Vous devez donc bouger la souris puis faire « Formater » Sans titre12 Le container sera formaté et l’espace chiffré Sans titre13   Vous pouvez ensuite quitter sans quoi l’assistant vous re-proposera de créer un nouveau volume… Sans titre14 Le conteneur créé (sous forme de fichier)  avec l’extension que vous avez choisi.  

5 – Montage automatique des volumes

Une icône en bas à droite est apparue :Capture1 Faites un double-click pour accéder à l’interface 2 –          Sélectionnez la lettre de lecteur qui sera affectée au volume chiffré, –          Dans Volume, sélectionnez le fichier que vous avez généré. –          Cliquez sur  « Monter » –          Saisissez votre mot de passe Sans titre3 – l’option « Mode Truecrypt » vous permet de spécifier que le volume sélectionné a été créé par TrueCrypt. –        Cliquez sur   OK Sans titre4 –          Aller ensuite dans le menu Favorites, et sélectionnez « Add mounted volumes to Favorites…» Sans titre5 De nombreuses options associables au montage de ce volume favori : –          Mettre un label pour rendre le volume facile à identifier parmi d’autres. –          Monter le volume en lecture seule, –          Préciser que le volume est monté à partir d’un support amovible, –          Ne monter le volume que pendant que la session est ouverte, –          Préciser que le volume est monté à partir d’un lecteur réseau –          Ouvrir l’explorateur Windows dès que le volume est monté, –          Ne pas monter le volume favori quand la hot key est pressée. –          Choisir parmi plusieurs volumes, l’ordre de montage des volumes chiffrés. Validez par OK.   Lorsque vous redémarrez votre PC, VeraCrypt se lancera au démarrage (à l’ouverture de session) et vous demandera votre mot de passe (ou le fichier clé et/ou le mot de passe) puis montera automatiquement le volume chiffré.   L’idéal est dans la plupart des cas, d’avoir VeraCrypt exécuté et initialisé à chaque démarrage de Windows. Dans le menu Paramètres / Préférences des options sont à activer pour permettre cela : Sans titre6 Notamment  « Start VeraCrypt Background Task »   Vous trouverez alors dans votre explorateur windows,  l’unité logique montée comme une partition ; tout ce que vous y mettrez sera chiffré et accessible uniquement avec VeraCrypt + votre mot de passe (ou votre fichier clé+mot de passe) A chaque lancement de VeraCrypt , le (ou les) volumes sauvegardés dans les favoris seront montés automatiquement.  

6 – Montage de volume en ligne de commande

Un volume VeraCrypt peut être monté en ligne de commande.
Exemple : "C:\Program Files\VeraCrypt\VeraCrypt.exe" /a /v d:\temp\test.vc /l m /e /p montmotdepasse

/a => pour monter automatiquement le volume qui va suivre

Ransomware & Cryptolocker – limiter les dégâts en entreprise

Locky puis … puis …. puis WannaCry … puis (not)Petya

Des malware particulièrement dangereux se propagent dans nombre d’entreprises de taille différente, de secteur d’activité, dans nombre de pays ; leur but est d’infecter un premier PC de la société, puis par ce biais de chiffrer tous les fichiers bureautiques que le malware va rencontrer aussi bien sur le poste local et que sur les partages des serveurs de fichiers.  Une fois les dizaines de fichiers chiffrés, la société est condamnée à restaurer ses fichiers… à payer…. ou avec un peu de chance à utiliser l’un des outils proposés par certains éditeurs d’Antivirus (cf point 3). Attention : Petya ne permet aucune récupération (même avec paiement), il semble que l’objectif soit de rendre inaccesiblement les données (au niveau de la partition et des fichiers), il se classe donc moins dans la catégorie des ransomwares que des destructeurs. Tous ces malwares ne sont pas à mettre dans le même sac et n’ont pas les mêmes objectifs : mais tous justifient de respecter quelques règles d’hygiène en terme de sécurité informatique pour s’en prémunir efficacement.

1 – Fonctionnement d’un cryptolocker / ransomware

Comment l’utilisateur contribue à infecter son poste de travail et surtout les serveurs de sa société ?
  • un mail assez bien rédigé est envoyé à l’utilisateur, le mail contient soit une pièce jointe, soit un lien URL.
  • le mail est souvent envoyé en rafale à un nombre important de collaborateurs supposant qu’il s’en trouvera bien pour ouvrir la pièce jointe.
  • pour les 2 vecteurs de propagation (mail ou URL), la charge active est rarement détectée par les antivirus voire jamais les premières heures de l’attaque. Il faut souvent attendre 12 heures pour commencer à voir les premiers antivirus se mettre à jour.
  • dès qu’un poste informatique est infecté, le malware va chercher tous les lecteurs réseaux accessibles en écriture puis chiffrer tous les fichiers en les renommant avec une extension particulière (par exemple *.locky ou dernièrement *.wcry)
  • même si l’utilisateur n’est pas admin de son poste Windows, l’infection fonctionne correctement.
  • Les ransomwares rencontrés (janvier 2016) se limitent à se connecter aux lecteurs réseaux des postes de travail. Il faut prévoir que progressivement ces malware iront chercher les partages réseau (même sans lecteur réseau connecté) et mieux encore, les partages administratifs ou cachés (avec le $).  Depuis début mars 2016, ces mêmes logiciels savent se propager non seulement sur les lecteurs réseaux, mais aussi sur les partages réseaux des serveurs de fichiers.

L’infection d’un poste de votre entreprise voire de vos serveurs est un scénario hautement probable voire inévitable….

…Autant vous y préparer au mieux.  

2 – La prévention

En quelques points rapides :
  • 1 – Maintenez votre parc de PC et Serveurs avec les dernières mises à jour !!!WannaCry ne se propage que sur des Windows non à jour avec le patch MS017-10, Petya fait de même mais peut aussi utiliser les comptes windows locaux pour se propager sur les autres postes.
  • 2 – Assurez vous d’avoir des sauvegardes fonctionnelles et régulières de vos serveurs de fichiers.
  • 3 – Assurez-vous de tester régulièrement vos sauvegardes du point 1
  • 4 – Activer les Clichés Instantanés de Windows , plusieurs fois par 24h si vous avez assez d’espace  sur vos stockages. La restauration des versions précédentes, en cas d’infection sera particulièrement efficace et rapide.
  • 5 – Filtrer tous vos mails internet entrants contenant scripts (type js, js dans du ZIP, macro dans les XLS, DOC, PPT, PDF) – exemple de Petya
  • 6 – Rejetez les mails internet envoyés depuis votre domaine interne en vérifiant que tous les procédés d’obfsucation soient détectés dans la rédaction du domaine source.
  • 7 – Vérifiez que le contrôle des mails entrant se fasse bien sur le  type MIME et SMTP.
  • 8  – A partir de Windows 2008R2, activez la fonctionnalité de filtrage d’extension de fichier. Cette fonctionnalité doit être installée et permet de bloquer la création de nouveaux fichiers avec une extension définie, et/ou de générer une alerte mail auprès des sysadmins dès qu’un fichier avec une extension non désirée apparait sur le serveur de fichiers (par exemple *.locky ou *.wcry). L’article ici détaille les opérations pour un exemple avec LOCKY. mais c’est très simple de l’adapter à WannaCry
  • 9 – si votre parc de PC est en Windows 7 Entreprise , activez APPLOCKER : pour Petya, interdire PSExec a un effet immédiat.
  • 10 – Ne naviguez pas sur internet ou ne consultez pas vos mails avec un compte utilisateur privilégié (ou administrateur) : exemple avec Petya se sert du compte Admin pour se propager.
  • 11 – Sensibilisez, Sensibilisez, et recommencer, à sensibiliser vos utilisateurs. Comme pour les sauvegardes : ce point est primordial.
Ne comptez pas sur les seuls « antivirus, antispam et firewall  » pour vous protéger efficacement.  Les points ci-dessous seront un parfait début, à compléter par le trio. Une plaquette de prévention éditée par l’ANSSI en 4 points à respecter en entreprise : https://www.ssi.gouv.fr/uploads/2016/06/20160819_flyers_eben_a4_v10.pdf  

3 – Touchés  ?

La question est de savoir comment vous allez avoir l’information qu’un PC du parc est infecté (au moins 1…). Vous vous en rendez compte par une alerte sur un serveur de fichiers ou par un utilisateur. Dans l’ordre, il faudra stopper la propagation du chiffrage, identifier quels postes sont infectés et mettre de côté vos dernières sauvegardes pour ne pas qu’elles soient ré-écrasées par une sauvegarde corrompue. Immédiatement : éteignez le serveur identifié puis tous les serveurs de fichiers de votre parc ayant un partage réseau (ou sur lesquels les postes informatiques ont un lecteur réseau).  Cette seule opération vise à stopper le cryptage des fichiers, cela va très vite : en 1 heure, un PC infecté peut chiffrer près de 40 000 fichiers d’un seul serveur. Reste à identifier le ou les PC ayant causés ces infections :
  • demandez à l’ensemble des utilisateurs de se manifester, si ils pensent avoir cliqué sur un lien ou une pièce jointe mais que rien ne s’est produit  : cela aide, certains utilisateurs se manifesteront et cela permettra rapidement d’isoler ces postes du réseau puis de les soumettre à une analyse complète à partir d’ISO antivirus proposé par les éditeurs.. le temps que les définitions soient mises à jour.
  • redémarrez le premier serveur détecté, hors réseau, puis en tant qu’admin du serveur  et après avoir affiché tous les systèmes / cachés des volumes du serveur, recherchez tous les fichiers ayant été infectés. Un DIR *.locky /S  > C:\temp\diag-date-heure.txt permettra de faire un premier journal des fichiers infectés. Ce journal texte vous indiquera quels sont les premiers fichiers infectés (date et heure). Mieux encore, il est possible que certains fichiers infectés n’auront été accessibles que par un utilisateur (lecteur  individuel) ou une poignée d’utilisateurs ce qui vous permettra très vite d’isoler les postes des personnes identifiées.
  • Faites de même avec l’ensemble des autres serveurs de fichiers pour vous assurer de ne pas avoir laissé un poste infecté.
  • Si le fichier chiffré contient une extension non filtré par le serveur de fichiers, ajoutez cette extension au filtre (passif ou actif).
  • Identifiez la source potentielle d’infection (mail ou URL) par l’utilisateur puis soumettez le fichier infecté à www.virustotal.com .

Rappel précieux, les conseils de l’ANSSI : https://www.ssi.gouv.fr/actualite/alerte-campagne-de-rancongiciel-2/

+ un lien spécifique pour Petya : http://www.cert.ssi.gouv.fr/site/CERTFR-2017-ALE-012/CERTFR-2017-ALE-012.html  

4 – Remise en route

Lors que les PC infectés semblent avoir été identifiés, que les filtres sur les serveurs de fichiers sont effectifs et correspondent à l’attaque actuelle, remettez les serveurs sur le réseau progressivement en vérifiant (par la commande Dir /s *.locky) si de nouveaux fichiers apparaissent ou pas. Restaurez les répertoires touchés via les clichés instantanés ou par les backups. Ne remettez les postes soupçonnés sur le réseau que lorsque vous avez en main un antivirus à jour qui détecte la charge active.

Des outils gratuits pour retrouver vos fichiers chiffrés.

Kaspersky propose 6 décrypteurs de fichiers – https://noransom.kaspersky.com/

Constat via Internet

Le constat via internet, analyse technique.

C’est l’une des activités d’un Huissier ; pour effectuer le constat, l’Huissier (qui peut se faire assister d’un expert judiciaire) suit la norme AFNOR NF Z67-147 qui a été poussée par la commission « actes authentiques d’huissiers de Justice « , basée sur du bon sens, du pragmatisme et l’addition des jurisprudences passées. Respecter cette norme permettra à l’Huissier de produire un constat depuis internet plus difficilement remis en cause par une tierce partie puisque les conditions techniques de constat sont précisément définies et explicitées. En quelques points, les points nécessaires pour être dans le cadre de la norme AFNOR NF Z67-147 :
  • description de l’ordinateur utilisé (marque, modèle, numéro de série, versions précises d’OS et du navigateur)
  • description de la configuration réseau d’accès à internet (notamment l’absence d’un serveur proxy)
  • Adresse IP locale et publique
  • Scan de l’ordinateur avec un ou plusieurs moteurs antivirus/antimalware
  • Un historique purgé (ou une utilisation en mode navigation privée)
  • Une synchronisation horaire via NTP (avec la source de temps),
  • une configuration du navigateur expurgée de tout proxy local (ou réseau), historique (cookies, mots de passe, cache, formulaire,…)
  • un Wireshark prêt à capturer tout le trafic le temps de la navigation web.
On voit bien que tous ces points paraissent finalement du bon sens. Mais quelques difficultés apparaissent, notamment :
  • est-ce qu’il n’y a pas dans le réseau de sortie internet un proxy transparent au niveau du firewall, au niveau de la box d’accès internet ou au niveau de l’opérateur ?
  • est-ce que les flux (type http voire https) ne sont pas modifiés ou altérés par des équipements réseaux ou même via l’opérateur ?
Pistes : Une fois ces précautions respectées, il reste la création d’une trace du constat afin de pouvoir l’insérer dans un DVD, une clé ou sur copie papier (oui…). Soit des copies d’écrans du site web sont effectuées (horodatées) puis intégrées dans un document principal, soit le site est aspiré pour être stocké sur un support électronique, soit sur le site en ligne, soit sur l’un des sites web qui archives des versions antérieures avec notamment : archive.org , archive-it.org , google.com et screenshots.com (en 2014, archives.org a été intégré dans un arrêt de la cour de Cassation). Nouvelles difficultés pour l’Huissier :
  • aspirer un site Web dans les années 90 était jouable et réaliste : à ce jour, l’aspiration d’un site web par un outil devient extrêmement complexe voire irréaliste ou cela revient à prendre le risque de ne capturer que les partie statiques du site web. Sur un site web dynamique, effectuer un hash de la capture web devient même impossible.
  • aspirer un site web pourrait aussi emmener sur le terrain de la contrefaçon… Donc à manipuler avec une grande précaution (ou validation par l’Huissier auprès du magistrat).
Piste : utiliser un  outil d’acquisition de site web accessible depuis internet comme FAW. Un tel outil se chargera de faire toutes les copies d’écran horodatées au format UTC, de générer la vidéo de navigation (pratique lorsqu’il y a des animations ou vidéos), de capturer les bulles, le code HTML du navigateur et de l’intégration à Wireshark.    

Charte Informatique

Charte Informatique ou

Charte des Systèmes ou d’Information

 
Le principe d’une telle charte :
  • Rappeler aux salariés le contexte légal liés aux Technologies de l’Information
  • Exprimer auprès des salariés les limites spécifiques au contexte de l’entreprise avec transparence.
  • Lister les bonnes pratiques, les précautions d’hygiène de l’usage du système d’information au cœur de l’entreprise.
  • Protéger à la fois l’employeur et les salariés de l’entreprise, vis-à-vis des responsabilités respectives
  • Evoluer au gré de l’évolution de l’entreprise, des lois, et des services du système d’information.
Applicabilité :
Pour qu’elle soit pleinement applicable donc opposable au salarié ou exploitable en cas de conflit, la charte informatique doit être :
  • Soumise à l’avis des membres du Comité d’Entreprise,
  • Faire l’objet d’un dépôt au greffe du conseil de prud’hommes
  • Transmise à l’Inspection du Travail accompagné de l’avis du CE.
  • soit signée par chaque collaborateur (ce qui peut s’avérer simple au début deviendra complexe à gérer lorsque celle-ci évoluera), soit intégrée ou annexée au règlement intérieur (ce qui peut sembler un peu plus long mais plus facile à faire évoluer.
  • Communiquée à tous les salariés concernés et mis à disposition (affichage, lien intranet,..)
 
Contenu d’une charte :
La charte va être présentée au CE, lue par les salariés : elle doit être la plus succincte possible, claire, avec des termes compréhensibles par tous les salariés. Attention aux chartes de plus de 10 pages… Voici les thèmes principaux à aborder.

Usage Professionnel

Les comptes utilisateur / politique des mots de passe :

Un compte utilisateur est théoriquement nominatif : les salariés ne doivent pas communiquer leur compte+mot de passe.