2009-03-05 10 views
42

Je la mise en place d'un serveur web pour un système qui doit être utilisé uniquement via HTTPS, sur un réseau interne (pas d'accès du monde extérieur)certificat HTTPS pour un usage interne

En ce moment je suis arrivé Il est configuré avec un certificat auto-signé, et il fonctionne correctement, à l'exception d'un avertissement désagréable indiquant que tous les navigateurs sont activés, car l'autorité CA utilisée pour le signer n'est naturellement pas fiable.

L'accès est fourni par un nom de domaine DNS local résolu sur le serveur DNS local (exemple: https://myapp.local/), que les cartes de cette adresse à 192.168.xy

est-il un fournisseur qui peut me délivrer un certificat approprié pour une utilisation sur un nom de domaine interne (myapp.local)? Ou est ma seule option pour utiliser un nom de domaine complet sur un domaine réel, et le mapper plus tard à une adresse IP locale?

Remarque: Je voudrais une option où il n'est pas nécessaire de marquer la clé publique du serveur comme étant de confiance sur chaque navigateur, car je n'ai aucun contrôle sur les stations de travail.

+0

Question intéressante! Je n'ai pas de vraie réponse, mais j'espère qu'une "vraie" CA ne délivrera pas de certificat lié à un nom qui n'est pas unique au monde. Un nom de domaine complet, en raison de son espace de noms global, ou une adresse IP publiquement routable sont acceptables, mais un nom privé peut être usurpé. – erickson

Répondre

5

je l'ai fait ce qui suit, qui a travaillé bien pour moi:

J'ai obtenu un certificat SSL générique pour * .mondomaine.com (Namecheap, par exemple, fournissez-le à peu de frais)

J'ai créé un enregistrement DNS CNAME pointant "mybox.mydomain.com" sur "mybox.local".

J'espère que cela aide - malheureusement, vous aurez le coût d'un cert générique pour votre nom de domaine, mais vous pouvez déjà avoir cela.

+0

J'ai une question pour vous. Cette approche fonctionne même pour le sous-domaine de votre mybox, comme www.mybox.local, mobile.mybox.local, api, mybox.local? Je veux dire, je dois juste configurer un enregistrement CNAME unique ponting à mybox.local pour activer ssl sur tous les sous-domaines pour le mybox.local? Parce que j'ai un conteneur Docker exécutant Apache avec plusieurs sites Web et je voudrais utiliser avec HTTPS l'approche mybox.local que j'utilise déjà pour HTTP. – noun

+0

@noun Désolé, je ne pense pas que cette approche fonctionnerait pour un sous-domaine. En fait, après une enquête plus approfondie, la plupart des serveurs DNS ne renverront pas l'adresse .local (qui ne semble fonctionner que pour les recherches LAN, par exemple à partir d'un routeur domestique). À la fin, je devais juste ajouter un enregistrement A normal avec l'adresse IP du réseau local (par exemple 192.168.1.123) et cela a bien fonctionné. –

+0

Merci, ce que j'ai pensé. – noun

26

Vous avez deux options pratiques:

  1. Levez-vous votre propre CA. Vous pouvez le faire avec OpenSSL et il y a beaucoup d'informations Google disponibles. Continuez à utiliser votre certificat auto-signé, mais ajoutez la clé publique à vos certificats approuvés dans le navigateur. Si vous êtes dans un domaine Active Directory, cela peut être fait automatiquement avec la stratégie de groupe.

+6

Vos options semblent être dans l'ordre inverse, car vous ne devez démarrer votre propre CA que si l'ajout manuel n'est pas une option. (Sinon, il semble que vous utilisiez un bulldozer de 16 tonnes pour faire vos courses) – Guvante

+2

Cela semble être la bonne façon de le faire, mais je voudrais une option où il n'est pas nécessaire de marquer le PK comme étant de confiance sur chaque navigateur, car je n'ai aucun contrôle. sur tous les postes de travail. Je vais ajouter ceci comme note à la question. –

5

Vous devriez demander à des gens de cert typiques pour cela. Pour faciliter l'utilisation, j'utiliserais le nom de domaine complet, mais vous pourriez utiliser un sous-domaine à votre compte déjà enregistré: https://mybox.example.com

Vous pouvez également examiner les certificats génériques en fournissant un certificat général pour (par exemple) https://*.example.com/ - même utilisable pour l'hébergement virtuel, si vous avez besoin de plus qu'un simple CERT.

certificateurs sous-domaines ou sous-sous de FQDN devraient être affaires standard - peut-être pas pour le point & clic gros gars qui se fiers de fournir les certificats en seulement 2 minutes.

En bref: Pour faire la cert confiance par une station de travail que vous auriez soit à

  • modifier les paramètres sur les postes de travail (que vous ne voulez pas) ou
  • utiliser une partie déjà fait confiance à signez votre clé (que vous cherchez un moyen de contourner).

C'est tous vos choix. Choisissez votre poison.

4

J'aurais ajouté cela comme un commentaire, mais il était un peu long ..

Ce n'est pas vraiment une réponse à vos questions, mais dans la pratique que j'ai trouvé qu'il est recommandé de ne pas utiliser un Domaine .local - même s'il se trouve dans votre environnement de test "local", avec votre propre serveur DNS.

Je sais que Active Directory utilise le nom .local par défaut lors de l'installation de votre DNS, mais même les gens de Microsoft disent pour l'éviter.

Si vous contrôlez le serveur DNS, vous pouvez utiliser un domaine .com, .net ou .org, même s'il est interne et privé uniquement. De cette façon, vous pouvez acheter le nom de domaine que vous utilisez en interne, puis acheter un certificat pour ce nom de domaine et l'appliquer à votre domaine local.

+0

Le domaine .local signifie qu'il sera recherché en utilisant mDNS, donc n'importe qui sur le réseau peut "enregistrer" n'importe quel domaine .local. C'est probablement la raison pour laquelle certaines personnes recommandent de ne pas l'utiliser. – Timmmm

0

Je pense que la réponse est NON. Les navigateurs ne feront pas confiance aux certificats, sauf s'ils ont été vérifiés par une personne préprogrammée dans le navigateur, p. Ex. verisign, register.com.

Vous pouvez uniquement obtenir un certificat vérifié pour un domaine unique au monde. Donc, je suggère à la place de myapp.local que vous utilisez myapp.local.yourcompany.com, pour lequel vous devriez être en mesure d'obtenir un certificat, à condition que vous possédiez yourcompany.com. cela vous coûtera plusieurs centaines de dollars par an.

également être averti que les certificats génériques peuvent ne descendre que d'un niveau - donc vous pouvez l'utiliser pour a.votreentreprise.com et local.votreentreprise.com mais peut-être pas bayourcompany.com ou myapp.local.yourcompany.com , sauf si vous payez plus.

(personne ne sait, dépend-il du type de certificat générique sont des sous-sous-domaines approuvés par les principaux navigateurs?)

Questions connexes