Dans la version 4.9.0 de S-Filer Portal, nous avons décidé de régler un irritant important de la solution: la configuration TLS. Nous sommes une entreprise de sécurité et nous promouvons l’usage du TLS, mais configurer ces certificats correctement était complexe, et les administrateurs se retrouvaient avec des connexions internes non sécurisées. Pour y remédier, nous avons décidé de rendre le processus facile!
Quelques notions sur le TLS et la confiance
D’abord un résumé ciblé du TLS, pour comprendre l’objet de cette fonction. Dans une connexion TLS, le serveur possède une clé privée, qui sert à sécuriser la connexion, et un certificat correspondant à cette clé. Lorsque le client se connecte, le serveur envoie son certificat pour que le client puisse communiquer de façon sécuritaire avec lui. Mais avant d’utiliser ce certificat, le client vérifie s’il est digne de confiance. Pour cela, il examine deux éléments principaux du certificat, et beaucoup d’autres éléments secondaires:
- Le nom alternatif du sujet (SAN) du certificat doit correspondre à l’adresse du serveur, afin de confirmer que le certificat a bien été émis pour ce serveur;
- Le certificat est directement présent dans son magasin de confiance, ou a été émis par une autorité de certification qui s’y trouve.
Un magasin de confiance (« truststore ») est simplement une liste de certificats auxquels le client fait confiance. Cette fonction porte sur l’ajout et le retrait de certificats dans ce magasin.
Pourquoi était-ce complexe dans S-Filer Portal?
Voici un déploiement typique de S-Filer Portal:
La plupart des liens du schéma devraient être en TLS, ce qui représente beaucoup de configuration. Avant cette fonction, toutes les clés et tous les certificats devaient être importés dans le magasin de confiance Java à l’aide d’outils en ligne de commande. De plus, trouver le bon certificat à importer suppose généralement d’utiliser des outils pour se connecter et exporter le certificat reçu.
Pour ce qui est du TLS dans S-Filer Portal, voici les cas d’usage:
- Le serveur S-Filer Portal agit comme serveur TLS pour l’interface de configuration;
- Le serveur S-Filer Portal agit comme serveur TLS pour les services Web;
- Le serveur S-Filer Portal agit comme client TLS pour les services de l’organisation (AD, serveur LDAP, serveur de courriel, serveur ICAP);
- La ou les passerelles S-Filer Portal agissent comme clients TLS auprès du serveur S-Filer Portal;
- La ou les passerelles agissent comme serveurs TLS pour l’interface Web présentée aux utilisateurs;
- La ou les passerelles agissent comme serveurs TLS pour les connexions FTPS.
Comment consulter le magasin de confiance?
L’interface de configuration comprend maintenant des pages pour configurer les magasins de confiance TLS et les clés privées, tant pour le serveur que pour les passerelles S-Filer Portal.

1
Dans l’arborescence, de nouveaux éléments ont été ajoutés pour configurer les certificats du serveur et de chaque passerelle.
2
Nous avons ajouté des options permettant de faire confiance au magasin de confiance Java par défaut (nommé cacerts) et, sous Windows, au magasin de certificats de Windows. Par défaut, ces magasins sont approuvés.
3
Ces cases contrôlent l’affichage, dans la liste, des certificats et des clés des magasins Java et Windows. Comme ils contiennent de nombreuses entrées, ils ne sont pas affichés par défaut.
4
Les clés privées (icône de clé) et les certificats (icône d’étoile) du magasin de confiance apparaissent dans la liste, accompagnés de quelques informations aidant à reconnaître les certificats valides et le système qu’ils protègent.
5
Des clés ou des certificats peuvent être supprimés individuellement du magasin s’ils ne sont plus nécessaires ou plus dignes de confiance.
6
Le bouton Supprimer tout retire tous les certificats du magasin de confiance. Notez que cela ne touche que les certificats ajoutés explicitement dans S-Filer Portal et n’affecte ni le magasin Java par défaut ni le magasin de certificats de Windows.
7
Le bouton Importer affiche la page d’importation de certificats (voir plus bas). De plus, dans les passerelles S-Filer Portal, le bouton « Importer le certificat de la clé du serveur courant » est une façon rapide de faire en sorte que la passerelle fasse confiance au certificat du serveur.
8
Les certificats non approuvés forment une liste de certificats TLS reçus lors d’une connexion, mais non approuvés par le magasin de confiance actuel. Les administrateurs devraient les examiner et approuver ceux qui sont nécessaires à des connexions légitimes. Voir Quel certificat dois-je importer? pour plus de détails sur cette approche.
Comment importer des certificats dans le magasin de confiance?
La page « Importer un certificat » offre plusieurs façons d’ajouter des certificats au magasin. Cela suppose que vous savez déjà quel certificat importer. Sinon, voir Quel certificat dois-je importer?.

1
Si vous avez un fichier .cer, .der, .pem, .pfx ou .p12, vous pouvez le glisser ici ou le sélectionner avec le bouton « Parcourir ». Le certificat sera lu depuis le fichier et importé dans le magasin. Pour les fichiers .p12 et .pfx, le système demandera le mot de passe permettant de les ouvrir.
2
Si vous disposez directement du contenu du certificat, vous pouvez le coller dans la boîte. Il s’agit habituellement d’un bloc de texte commençant par la ligne « —–BEGIN CERTIFICATE—– ».
3
Cette option génère une paire de clés RSA entièrement nouvelle et le certificat correspondant, selon les paramètres fournis. Elle produit un certificat autosigné.
Il existe une autre façon d’ajouter des certificats au magasin de confiance de S-Filer Portal, sans passer par l’interface Web: voir Comment importer des certificats sans l’interface Web?
Comment importer une clé privée pour le côté serveur d’une connexion TLS?
La méthode décrite à Comment importer des certificats dans le magasin de confiance? permet aussi d’importer des paires de clés accompagnées de leur certificat. Concrètement, fournir un fichier .pfx ou .p12 dans la boîte de téléversement importera la clé privée qu’il contient.
Comment importer des certificats sans l’interface Web?
Il existe une autre façon d’importer des certificats dans le magasin de confiance. Le dossier d’installation contient un dossier conf/certs.d. Tout certificat ajouté à ce dossier sera automatiquement approuvé au démarrage du serveur ou de la passerelle S-Filer Portal.
C’est utile pour les scripts ou les déploiements automatisés, où des certificats doivent être approuvés sans passer par une interface Web.
Quel certificat dois-je importer?
La question est délicate, car tout dépend de la situation. Voici les cas à considérer:
- Si l’organisation dispose d’une autorité de certification, tous les certificats TLS internes sont généralement émis et signés par elle, et c’est le certificat de l’autorité qu’il faut importer dans le magasin de confiance;
- Dans une organisation Windows, le certificat de l’autorité est habituellement déjà présent dans le magasin de certificats de Windows, approuvé par défaut: il n’y a donc rien à importer explicitement;
- En l’absence d’autorité de certification, les certificats internes sont généralement autosignés. Dans ce cas, la solution la plus simple est de configurer les paramètres de connexion aux différents systèmes. Les premières connexions échoueront, puisque les certificats ne sont pas approuvés, mais ceux-ci seront ajoutés au magasin des « certificats non approuvés ». Il suffira ensuite de consulter cette liste pour voir les certificats reçus. Les administrateurs devraient examiner ces certificats non approuvés et les approuver s’ils sont légitimes.
Comment changer le certificat servant l’interface de configuration?
C’est le problème de la poule et de l’œuf: l’interface de configuration sert à configurer facilement les certificats TLS, mais elle a besoin d’un certificat TLS pour démarrer!
À l’installation initiale, le serveur S-Filer Portal génère une paire de clés et un certificat autosigné, et l’interface de configuration utilise cette clé. Si vous devez changer le certificat, vous pouvez importer la clé privée et le certificat par la fonction d’importation; vous ne pouvez toutefois pas encore indiquer que cette clé doit servir à l’interface de configuration. Pour cela, il faut encore utiliser l’outil keytool de Java afin de récupérer l’alias de la clé importée, puis inscrire cet alias dans le fichier de configuration, à la clé « cfg.configurator.private.key ». Nous travaillons à un outil en ligne de commande qui facilitera cette tâche.
