Dans la configuration par dĂ©faut, les pares-feux Stormshield tĂ©lĂ©chargent leurs mises Ă jour depuis les serveurs de Stormshield. Cependant, il existe des situations oĂč vous devrez peut-ĂȘtre tĂ©lĂ©charger ces fichiers Ă partir dâun serveur de mise Ă jour interne (par exemple, pour les rĂ©seaux isolĂ©s dâInternet...).
C'est dans cette procédure de réalisation que nous allons pouvoir mettre en place un tel systÚme afin de permettre aux pares-feux SNS de récupérer leurs mises à jours sans Internet et communiquer ainsi via le serveur Active Update local. Ce dernier doit par contre obtenir un accÚs Internet réglementé afin de récupérer les fichiers nécessaires.
Un serveur de mise à jour Active Update est en fait un simple serveur Web HTTP avec une structure de répertoires spécifique et quelques fichiers spécifiques. Il est assez simple de configurer un tel serveur.
Ce serveur Web peut ĂȘtre soit Apache, Nginx ou un Windows Server IIS. Le pare-feu Stormshield Network Security va en effet rĂ©cupĂ©rer les fichiers de mises Ă jour pour les transmettre ensuite aux pares-feux SNS.
Dans l'installation du serveur Active Update Stormshield, nous réaliseront la procédure sous un serveur Linux avec Nginx. Une procédure d'installation et de configuration est disponible juste ici !
Afin de télécharger les sources, il est nécessaire de récupérer le script .sh proposé par Stormshield sur son portail client.
Sur le portail client MyStormshield, il est nĂ©cessaire de s'y connecter afin de rĂ©cupĂ©rer le script Bash qui permets de tĂ©lĂ©charger les sources depuis les serveurs officiels Active Update de Stormshield. Pour cela, rendez-vous dans TĂLĂCHGARGEMENTS > STORMSHIELD NETWORK SECURITY > TOOLS, puis dans la section STORMSHIELD NETWORK SECURITY - TOOLS - V 2.1. Cliquez sur le lien surlignĂ© en jaune afin de tĂ©lĂ©charger le fichier "Active Update mirroring script" (fichier ActiveUpdate_mirroring_script_v2.1.sh - 6.7K).
Si vous ne disposez pas d'un accÚs à MyStormshield, vous pouvez directement télécharger le script mis à jour depuis le lien suivant : https://www.vemotech.fr/downloads/public/SNSMakeYourOwnActiveUpdateServer/activeupdate_updater.sh.
Pour information, j'ai adapté le script afin de télécharger les métadonnées correspondant aux objets des Services Web (pour les Objets > Services Web), obtenir la version 2 des données IP (IPData_v2) et la récupération du nouveau moteur antiviral Bitdefender (remplace Kaspersky). Le script actuel ne supporte pas pour le moment le téléchargement des sources...
Renommez ensuite le fichier en un nom plus simple tel que par exemple activeupdate_updater.sh
. Pour ma part, je l'ai placé dans le dossier /var/prod
:
cd /var/prod
mv activeupdate_mirroring_script_v2.1.sh activeupdate_updater.sh
Ăditez le script et modifiez les constantes TEMP_DIRECTORY
et WEB_DIRECTORY
afin de télécharger les fichiers dans le répertoire du serveur spécifiques (dans mon cas /var/prod/www
pour le chemin du dossier Nginx) :
Enfin, on n'oublie pas d'effectuer un chmod afin de rendre ce fichier exécutable et on lance ensuite celui-ci :
chmod +x activeupdate_updater.sh
Vous pouvez lancer le script soit avec l'argument all ou alors une famille spécifique parmi les valeurs suivantes :
Suite à un récent changement, le moteur antiviral n'est plus sur Kaspersky mais maintenant sur Bitdefender. Il est nécessaire alors d'ajouter en plus la catégorie "advancedAV" (Bitdefender Advanced Antivirus database).
L'utilisation du script s'effectue de la maniĂšre suivante :
./activeupdate_updater.sh <upgrade family name>
Voici le résultat de la commande effectuée de la commande ./activeupdate_updater.sh all
. Le téléchargement se lance bien :
./activeupdate_updater.sh all
...et les sources sont bien copiés à la racine du site Web :
N'oubliez pas d'autoriser l'accÚs aux serveurs Active Update de Stormshield en créant une rÚgle de filtrage pour les adresses URL : update1-sns.stormshieldcs.eu, update2-sns.stormshieldcs.eu, update3-sns.stormshieldcs.eu, update4-sns.stormshieldcs.eu (les serveurs 2/3/4 si dans le script l'appel au serveur est aléatoire afin de réduire la surcharge réseau des serveurs de Stormshield) sur le port HTTP.
Dans certains cas, sur les versions supĂ©rieures Ă 4.0 de SNS, il peut ĂȘtre intĂ©ressant de chiffrer les communications TCP/IP sur le port 443, autrement dit avec le protocole HTTPS. C'est pour cela que nous allons crĂ©er dans un premier temps, sur un pare-feu SNS, une PKI (une CA) qui sera dĂ©diĂ©e dans notre cas au serveur Active Update.
Cette autoritĂ© de certification (CA) se nommera "VemoTech Cloud Services CA". Un certificat pour le serveur Web Nginx doit ĂȘtre crĂ©Ă© et doit ĂȘtre placĂ© sur le serveur Web avec sa clĂ© publique et sa clĂ© privĂ©e.
Enfin, il sera nécessaire d'exporter la clé publique de l'autorité de certification "VemoTech Cloud Services CA" sur le pare-feu devant recevoir les mises à jour Active Update et communiquer ainsi en HTTPS.
Ce passage n'est pas obligatoire et est tout Ă fait optionnel si vous ne souhaitez pas que votre serveur Active Update et les pares-feux SNS communiquent en HTTPS. MĂȘme chose si vous disposez dĂ©jĂ d'une CA ou d'un certificat TLS issu de votre organisation par exemple.
Afin de créer cette nouvelle autorité de certification, dans CONFIGURATION > OBJETS > Certificats et PKI, cliquez sur le bouton Ajouter, puis Autorité racine afin de lancer l'assistant de création d'une nouvelle autorité de certification racine.
Renseignez ensuite les informations demandées tel que le nom et les attributs de l'autorité de certification :
Renseignez ensuite un mot de passe Ă garder prĂ©cieusement dans le cas oĂč vous souhaitez crĂ©er de nouveaux certificats et Ă©ventuellement supprimer l'autoritĂ©. SĂ©lectionnez ensuite la durĂ©e de validitĂ© de l'organisation, une adresse E-mail, le type et la taille de clĂ© :
Vous pouvez si vous le souhaitez ajouter des points de distributions de CRL, puis un résumé des informations de la CA. Valider Terminer pour créer l'autorité. Celle-ci a bien été créée :
Un certificat machine doit ĂȘtre crĂ©Ă© pour le serveur Web. SĂ©lectionner la CA souhaitĂ©e en cliquant dessus et cliquer ensuite sur le bouton Ajouter, puis IdentitĂ© serveur. On demande ensuite de spĂ©cifier le nom de domaine (FQDN).
On sélectionne, l'autorité de certification parente et les attributs de l'organisation se remplissent automatiquement :
Renseignez les valeurs du certificat tel que la durée de validité du certificat (par défaut : 1an), le type et la taille de la clé (par défaut : RSA, 2048) :
Enfin, renseignez les adresse URI ou les adresses IP qui doivent matcher avec le certificat afin que certificat soit bien associé (dans notre cas, le domaine activeupdate.vemo.tech sera "trusté") :
Une fois les informations résumées, le certificat machine est créé. Il sera disponible sous l'autorité de certificat créée.
Afin d'utiliser ce certificat, il est nécessaire d'exporter l'identité du certificat, c'est-à -dire la clé publique et la clé privé.
Pour cela, sélectionnez le certificat en question et cliquez sur Télécharger > Identité > Au format P12. Spécifier ensuite un mot de passe afin de protéger le fichier .p12 et cliquez sur le lien de téléchargement.
Maintenant que nous avons notre fichier P12, exécutez les commandes suivantes afin d'extraire les deux fichiers avec OpenSSL :
Extraire le certificat : openssl pkcs12 -in activeupdate.vemo.tech.p12 -nodes -nokeys -out activeupdate.vemo.tech.crt Extraire la clé privé : openssl pkcs12 -in activeupdate.vemo.tech.p12 -nodes -certs -out activeupdate.vemo.tech.crt
Nos deux fichiers sont maintenant disponibles. Il est nécessaire maintenant de les ajouter sur notre serveur Web Nginx.
Les deux fichiers sont nécessaires afin d'activer le HTTPS sur le serveur. Afin de configurer celui-ci, voici un article qui explique comment activer le HTTPS sur un serveur Nginx
La partie est similaire à l'ajout de certificat auto-signés, sauf qu'il faudra remplacer les bons fichiers par ceux générés précédemment et leur attribuer un nom tel que activeupdate.vemo.tech.crt (pour la clé publique du certificat) et activeupdate.vemo.tech.crt (clé privée).
Pour utiliser notre propre serveur local Active Update, il est nécessaire d'exporter la clé publique de l'autorité de certification "VemoTech Cloud Services CA". Sur l'interface de SNS, on exporte la clé publique de l'autorité, dans CONFIGURATION > OBJETS > Certificats et PKI, sélectionner la CA, puis cliquez sur Télécharger > Certificat > Au format PEM.
Le fichier est alors téléchargé sur votre ordinateur. Ce fichier au format PEM sera nécessaire afin d'utiliser le serveur Active Update en HTTPS. Rappelons que l'autorité de certification exportée correspond à celle qui a signée le certificat du serveur Web Nginx
Maintenant que notre serveur Active Update est opérationnel et recense ainsi l'ensemble des sources Stormshield Network Security, il est maintenant nécessaire de configurer les pares-feux à chercher les mises à jour sur notre serveur Active Update local.
Si vous ne disposez que de trÚs peu de pare-feu SNS dans votre réseau, vous pouvez effectuer cette manipulation depuis le menu CONFIGURATION > Active Update. C'est à cet endroit que nous allons gérer les différents serveurs de mise à jour :
Supprimez tous les serveurs par défaut et ajoutez ensuite, dans la section "SERVEURS DE MISE à JOUR", l'adresse ou les adresses URL/IP du serveur Active Update local. Si il s'agit d'un serveur en HTTP, aucune CA ne sera demandée :
Contrairement en HTTPS oĂč il faudra dans un premier temps importer la CA du serveur Web Active Update sur le pare-feu pour effectuer ensuite la rĂ©cupĂ©ration des diffĂ©rentes mises Ă jour.
Le fichier .pem que nous avons précédemment exporté correspond à la clé publique de l'autorité de certification du serveur Web. il est donc nécessaire d'importer la CA du serveur Web Active Update sur le pare-feu en question afin effectuer la récupération des différentes mises à jour depuis le serveur local en HTTPS.
Dans CONFIGURATION > OBJETS > Certificats et PKI, cliquez sur le menu déroulant Ajouter > Importer un fichier. Comme fichier à importer, prenez le fichier .pem de la CA et sélectionnez comme format de fichier : "PEM" :
La CA correspond donc au certificat de l'autorité de certification "VemoTech Cloud Services CA" qui a été exporté précédemment. Celui-ci a donc été importé sur le pare-feu qui souhaite se rattacher au serveur Active Update local.
Valider ensuite les modifications qui ont été effectuées.
Stormshield Management Center (SMC), est un outil commercialisĂ© par l'entreprise qui permets d'administrer de maniĂšre centralisĂ©e et sĂ©curisĂ©e les diffĂ©rents pares-feux Stormshield Network Security (SNS). SMC permet dâoptimiser les tĂąches de supervision, de configuration et de maintenance afin de regrouper efficacement l'administration des politiques de sĂ©curitĂ©s tels que les rĂšgles de filtrages ou la configurations des accĂšs VPN entre-autre.
Cet outil permets notamment, avec la notion des déploiements de configuration sur les SNS, d'injecter des scripts NSRPC.
Afin d'Ă©viter toute erreur de dĂ©ploiement, il est nĂ©cessaire d'importer dans un premier temps l'autoritĂ© de certification de notre serveur Active Update. CrĂ©er un fichier en .script (exemple : SNS_CLI_ImportCA_AutoUpdate_Servers.script) oĂč nous allons inscrire les instructions NSRPC. Ce fichier doit contenir les instructions suivantes :
# Importation de la CA
PKI IMPORT format=pem type=ca $FROM_DATA_FILE("Corporate_Demo_CA.crt")
Enregistrez le fichier au format .script
sur votre poste.
Il est nécessaire ensuite de modifier les serveurs de mise à jour du firewall par notre propre serveur. Créer un fichier en .script
(exemple : SNS_CLI_Custom_AutoUpdate_Servers.script) oĂč nous allons inscrire les instructions NSRPC. Ce fichier doit contenir les instructions suivantes :
Dans un premier temps, nous allons crĂ©er l'objet correspondant au serveur de mise Ă jour en CLI oĂč le nom est "sns-activeupdate.domain.local", suivi de l'adresse IP. L'objet doit ĂȘtre en rĂ©solution dynamique si le nom de l'objet est un domaine :
CONFIG OBJECT HOST NEW name=sns-activeupdate.domain.local ip=<YOUR_IP_ADDRESS> resolve=dynamic update=1
CONFIG OBJECT ACTIVATE
On ajoute Ă la suite du fichier l'adresse URL en HTTPS de notre serveur Active Update (disponible dans la WebUI dans CONFIGURATION > SYSTĂME > Active Update) suivi de l'autoritĂ© de certification qui doit ĂȘtre la mĂȘme que celle du serveur Web du serveur Active Update :
CONFIG AUTOUPDATE SERVER url=https://sns-activeupdate.domain.local CA="C=FR ST=HAUTS-DE-FRANCE L=LILLE O=VemoTech emailAddress=demo@example.com" state=on
CONFIG AUTOUPDATE SERVER state=0 update=CustomPatterns
CONFIG AUTOUPDATE ACTIVATE
On lance ensuite la mise Ă jour des signatures en CLI NSRCP :
MONITOR AUTOUPDATE update=on force=1
Enregistrez ce fichier et rendez-vous sur l'interface d'administration de Stormshield Management Center (SMC), puis dans le module DĂPLOIEMENTS > Scripts CLI SNS. Cliquer sur le bouton "+" afin d'importer le script :
Importez Ă©galement le fichier .crt
de l'autorité de certification, exporté au préalable en tant que "PiÚces jointes liées aux scripts" :
Le script est maintenant importé :
Sélectionnez un script dans le volet supérieur afin de téléverser celui-ci sur un ou plusieurs firewalls en simultané. Pour cela, sélectionnez les pares-feux désirés, puis cliquez sur "Exécuter le script" :
Une fois les serveurs Active Update opérationnels, connectez-vous soit en console ou en SSH sur le pare-feu et effectuez la commande AutoUpdate
afin de forcer la mise à jour des signatures du SNS si nécessaire :
autoupdate -f -v 2
Et voilà , laissez la magie opérée. Le déroulé des mises à jour affiche généralement des informations (avec le tag [INFO]
). Si des tags [ERRORS]
surviennent, investiguez... soit il manque des dépendances sur le serveur local Active Update et dans ce cas relancez le script ou sinon, vérifiez la date et la capacité de la maintenance de l'équipement
Et voilà , vous avez maintenant un serveur Active Update local totalement opérationnel !