Les certificats sont-ils utiles pour intranet SSL?
j'ai été chargé de développer une interface intranet pour les logiciels de ligne de commande, et maintenant je suis à la recherche d'options de sécurité. Notre application en ligne de commande est terminée, mais je n'ai pas commencé à écrire l'interface web. Je ne sais pas exactement quelles sont les exigences de sécurité pour les clients potentiels, bien que je crois que ssh
est généralement acceptable pour l'interface en ligne de commande. Avec cela à l'esprit, je demande de l'aide pour développer un menu de choix avec leur avantages/inconvénients. Un jour, nous pourrions envisager de libérer notre interface web sur internet, donc je suis prêt à envisager plus de sécurité qu'actuellement nécessaire si c'est facile et/ou gratuit.
j'ai fait beaucoup de lecture, et ma conclusion provisoire est que la sécurité SSL Sans certificat est la meilleure approche, non pas parce que moins de sécurité est inacceptable, mais parce que SSL est la norme et parce qu'il ne semble pas être difficile à mettre en place. Moi, un non-expert en sécurité, je n'aurais pas besoin pour expliquer pourquoi une sécurité moindre est acceptable pour la sécurité non-experts. Je pourrais mettre à jour mon application pour utiliser un certificat dans le futur si nécessaire.
Voici une liste des choix de sécurité liés à SSL, classés selon mon niveau de sécurité avec mes commentaires. De quel niveau de protection ai-je besoin?
-
pas de SSL. cela pourrait être acceptable si nos clients ne sont pas inquiets pour leurs employés voir/modifier des uns et des autres données. Leurs employés pourraient vouloir partager les résultats entre eux de toute façon, et je pourrais utiliser le contrôle D'accès basé sur IP et/ou des mots de passe pour la sécurité.
-
Do SSL Sans certificat. cela crypte la communication, qui au moins protège les données d'être lu par des employés non autorisés. En utilisant un mot de passe, c'est le même niveau de sécurité que
ssh
sur la ligne de commande, non? Je n'ai pas on doit s'inquiéter des attaques d'un homme au milieu dans un intranet, Non? Un inconvénient pour cette approche serait s'il y avait des charges de messages d'avertissement du navigateur. -
Faire SSL avec un certificat auto-signé. Qu'est-ce que cela me donne qu'aucun certificat ne me donne? Si le DNS peut être modifié de manière inappropriée, alors le client alors mon application est le dernier de leurs soucis. Formulé d'une autre manière, si le DNS peut changer, alors je pense
ssh
serait vulnérable aussi. -
Faire SSL auprès d'une Autorité de certification locale. OpenSSL me permet de faire ma propre autorité de certification. Qu'est-ce qu'elle me donne un certificat auto-signé n'est pas? Je suppose que sur un réseau local, c'est moins important que le serveur soit vérifié.
-
Faire SSL avec un Certificat d'Autorité. est là une raison de faire cette route pour un intranet? J'ai trouvé des "certificats intranet" à vendre en ligne -- mais ce qu'ils offrent n'est pas clair Je ne peux pas le faire moi-même.
pour référence, cette page pourrait être utile pour comparer les certificats:
http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html#aboutcerts
[mise à jour]
article traitant des risques et des règles d'obtention d'un certificat interne d'une AC publique.
2 réponses
Oui, Les certificats sont toujours utiles pour Intranet SSL.
il y a une différence importante entre SSH et SSL-sans-a-certificate: lorsque vous vous connectez pour la première fois à un serveur avec SSH, votre SSH stocke l'empreinte digitale du serveur. Si vous essayez ensuite de vous connecter à ce que le client SSH croit être la même machine, mais obtient une empreinte digitale différente, il vous avertit qu'il pourrait y avoir quelqu'un qui intercepte vos communications.
Par contre, SSL-without-a-certificate ne stocke pas les empreintes digitales du serveur. Vos communications seront toujours cryptées, mais si quelqu'un détourne d'une manière ou d'une autre le serveur DNS comme vous l'avez mentionné, ou comme Rushyo note , fait un empoisonnement ARP ou quelque chose de similaire , ils seraient en mesure d'effectuer une attaque homme-dans-le-milieu. SSH, comme mentionné précédemment, remarquerait (en supposant que vous vous soyez connecté au bon serveur un certain temps dans le passé) que l'empreinte digitale a changé et de vous alerter.
un certificat auto-signé serait comparable en sécurité à SSH. Un homme au milieu pourrait générer son propre certificat auto-signé, mais tant que vos applications sont configurées pour n'accepter que que certificat auto-signé, vous devriez recevoir une alerte similaire à celle que SSH vous donnera.
une autorité de certification locale vous offre une sécurité similaire aux certificats auto-signés, mais peut être plus évolutive. Si vous avez plusieurs serveurs, chacun peut avoir son propre certificat, mais un client a seulement besoin de haut niveau de confiance en eux. Si un serveur est compromis, vous pouvez révoquer son certificat plutôt que d'avoir à changer le certificat de chaque serveur.
Je ne crois pas qu'une autorité de certification externe ait des avantages, autres que peut-être moins de configuration si vos machines ont déjà l'autorité de certification de confiance.
enfin, je ne en savoir assez sur l'authentification à deux facteurs pour l'évaluer, mais pour la plupart des applications, SSL devrait être suffisant.
avertissement: Je ne suis pas un expert en sécurité.
- Do SSL avec une autorité de certification externe. Y a-t-il une raison de faire cette route pour un intranet? J'ai trouvé des "certificats intranet" à vendre en ligne -- mais ce qu'ils offrent n'est pas clair Je ne peux pas le faire moi-même.
L'avantage est que vous n'avez pas besoin d'apprendre comment configurer votre propre Autorité de certification si vous avez besoin de gérer un nombre décent de certificats et/ou des machines. Un tel certificat serait déjà fiable par tous les navigateurs sans que vous ayez besoin d'installer vos propres certificats dans le magasin de confiance.
cependant , c'est en fait moins sûr parce que quelqu'un pourrait acheter un certificat pour un autre intranet et l'utiliser sur votre réseau. Pour cette raison, les fournisseurs de SSL n'offrent plus ce service. Pour plus d'informations, voir: https://www.godaddy.com/help/phasing-out-intranet-names-and-ip-addresses-in-ssls-6935
si vous avez seulement un très petit intranet, alors je recommanderais d'utiliser un certificat auto-signé, et puis juste ajouter chaque certificat auto-signé à la boutique de confiance de chaque ordinateur.
Cependant, il devient rapidement impossible d'installer un nouveau certificat sur chaque ordinateur de votre réseau intranet chaque fois que vous voulez ajouter un nouvel ordinateur. À ce stade, vous voulez configurer votre propre autorité de certification de sorte que vous n'avez besoin d'installer QU'une seule AC certificat dans le magasin de confiance de chaque ordinateur.