Certyfikat SSL dla publicznego adresu IP?


10

Właśnie próbowałem kupić Comodo Positive SSL, ale zostało odrzucone z powodu braku obsługi publicznego adresu IP, ale zamiast tego obsługują tylko nazwę domeny.

Czy ktoś zna jakiegoś dostawcę certyfikatu SSL, który obsługuje publiczny adres IP zamiast nazwy domeny?

Moja firma ma dedykowany serwer obsługiwany przez firmę hostingową, która służy do uruchamiania narzędzia do śledzenia błędów dla wielu projektów (dla wielu klientów). Ponieważ jest używany tylko do śledzenia błędów, nie potrzebujemy nazwy domeny (nasi klienci uzyskują do niej dostęp, wpisując publiczny adres IP w przeglądarce).


2
Ustawiłbym nazwę domeny, abyś nie musiał pamiętać adresu IP, gdy jesteś w miejscu, w którym nie ma zakładek. Ponadto po zmianie adresów IP będzie przezroczysty.
Mark Wagner,

Odpowiedzi:


16

Myślę, że możesz to zrobić, ale nie w taki sposób, w jaki próbujesz to zrobić.

Certyfikat SSL to instrukcja wiążąca publiczny klucz szyfrowania ze strukturą X.500, która zawiera element CN lub Common Name; podpisany certyfikat to taki, w którym powiązanie jest weryfikowane w sposób wiarygodny przez zewnętrzny urząd certyfikacji, przy użyciu klucza publicznego znanego już użytkownikom końcowym (stos certyfikatów urzędu certyfikacji (CA) znajdujących się w przeglądarce).

Gdy odwiedzasz witrynę internetową zabezpieczoną protokołem SSL za pomocą przeglądarki, podpisany kod CN jest przekazywany do przeglądarki. To, co wybierze przeglądarka, zależy od przeglądarki. Przeglądarki, które znam, porównują je z żądaną nazwą hosta i popełniają błąd, jeśli jest inny (lub jeśli to uwierzytelnione powiązanie nie wytrzymuje analizy, np. Certyfikat podpisywania nie jest znany przeglądarce lub powiązanie jest poza daty, ale to inny problem). Nic nie stoi na przeszkodzie, aby uzyskać publicznie podpisany certyfikat, w którym CN to adres IP, a nie FQDN (w pełni kwalifikowana nazwa domeny) [1], ale to nie magicznie zmusi przeglądarki do porównania CN z IP adres zamiast żądanej nazwy hosta .

Podejrzewam, że najprostszym sposobem rozwiązania problemu jest założenie własnego urzędu certyfikacji, co jest łatwe do zrobienia i istnieje wiele publicznych samouczków na temat; jeden jest tutaj . Gdy użytkownicy końcowi zaimportują urząd certyfikacji do swoich przeglądarek, wszystkie wybrane przez Ciebie certyfikaty zostaną zaakceptowane jako wiarygodne.

Możesz wtedy mieć drugi problem polegający na tym, że chcesz uruchomić wiele witryn NameVirtualHost na jednym adresie IP. Historycznie było to nie do pokonania, ponieważ (w przeciwieństwie do TLS) negocjacje SSL odbywają się zanim cokolwiek innego na połączeniu; oznacza to, że CN osadzony w certyfikacie jest znany klientowi i używany przez niego, zanim klient będzie w stanie powiedzieć z jakim hostem próbuje się połączyć.

Ostatnio wydaje się, że wprowadzono rozszerzenie protokołu o nazwie SNI (Server Name Indication), które pozwala klientowi i serwerowi wskazać, że chcieliby zrobić pewne nazwy hosta przed przedstawieniem certyfikatu SSL, pozwalając na właściwy zestaw certyfikatów wydawanych przez serwer. Najwyraźniej wymaga to Apache 2.2.10, wystarczająco nowej wersji OpenSSL i (co ważne ) wsparcia po stronie klienta.

Więc gdybym musiał zrobić to, co próbujesz zrobić, zastanowiłbym się nad wybiciem własnego certyfikatu urzędu certyfikacji, mówiącym użytkownikom końcowym, że muszą korzystać z przeglądarek obsługujących SNI i importować mój certyfikat główny urzędu certyfikacji, a także wycinanie i podpisywanie własnych certyfikatów SSL dla każdej strony z błędami.

[1] OK, być może nie znalazłeś nikogo, kto by to zrobił, ale to szczegół implementacji. Próbuję tu pokazać, że nawet gdybyś to zrobił, nie rozwiązałoby to twojego problemu.


4
Do konkretnego zastosowania, dlaczego nie? Jeśli jest wybity przez dostawcę aplikacji, a ty mu nie ufasz, i tak nie rozumiesz tej aplikacji, ponieważ ma on prywatny klucz SSL i może go odszyfrować. a jeśli to ich tak bardzo martwi, może po prostu wyciąć certyfikaty z podpisem własnym dla każdej ze swoich stron buqtrack i mogą je zaimportować w razie potrzeby.
MadHatter

2
@Tom - jeśli nie ufasz osobie oferującej ci certyfikat w powyższym przykładzie, dlaczego w ogóle miałbyś z nią robić interesy? To, czy certyfikat SSL jest wydawany przez / przy wsparciu / znanego urzędu certyfikacji, jest najmniejszym z twoich zmartwień związanych z zaufaniem WRT, jeśli powierzasz dane aplikacji „online”.
Rob Moir

2
Zakładam, że boję się, że ponieważ wydaje się, że nie ma sposobu, aby zainstalować urząd certyfikacji jako autorytatywny tylko dla niektórych domen, po zainstalowaniu mojego katalogu głównego urzędu certyfikacji mogę certyfikować witryny bankowości internetowej równie łatwo, jak moją własną aplikację do śledzenia błędów. Jeśli mogę zatruć ich pamięć podręczną DNS, mogę wykonać atak man-in-the-middle na ich bankowość internetową. Jeśli to naprawdę ich martwi i nie chcą używać niestandardowej przeglądarki dla tego projektu, to jak powiedziałem powyżej, mogę wyciąć samopodpisany certyfikat dla każdego indywidualnego programu do śledzenia błędów, który klienci mogą zainstalować w razie potrzeby.
MadHatter

1
Tom, naprawdę zgodziłbym się z tym powodem, dla którego chciałbyś użyć „zaufanego” certyfikatu. W rzeczywistości zgadzam się z tym w 100%. Jednak nie tak trafił się twój oryginalny komentarz.
Rob Moir

1
Płonąca nazwa domeny? Moim ojczystym językiem nie jest angielski, więc możesz to wyjaśnić? Ponadto mój szef woli używać publicznego adresu IP, być może nie chce, aby strona została znaleziona przez wyszukiwarkę (czy wyszukiwarki mogą znaleźć stronę, nawet jeśli nie ma nazwy domeny?)
silnik szeregowy

10

Jest jeden główny urząd certyfikacji, o którym wiem, że jest wstępnie wypełniony wszystkimi głównymi przeglądarkami i wystawia certyfikaty SSL na publiczne adresy IP: spójrz na GlobalSign . Odczytują informacje RIPE, aby zweryfikować twoje żądanie certyfikatu, więc możesz najpierw sprawdzić, czy wpis RIPE został wydany pod poprawną nazwą.

Jeśli chodzi o opinie, ten wpis otrzymał:

Tak , lepiej kupić nazwę domeny i wystawić certyfikat SSL w tym CN. Jest także tańszy niż powyższa opcja GlobalSign.

Jednak istnieją przypadki, w których certyfikaty SSL z przewozem publicznego IP, co CN są użyteczne. Wielu dostawców Internetu i rządów blokuje niechciane strony w oparciu o infrastrukturę DNS. Jeśli oferujesz jakąś stronę, która może zostać zablokowana, na przykład z powodów politycznych, dobrze jest mieć dostęp do tej witryny za pośrednictwem jej publicznego adresu IP. Jednocześnie będziesz chciał zaszyfrować ruch dla tych użytkowników i nie chcesz, aby użytkownicy niebędący specjalistami przechodzili przez kłopot z klikaniem ostrzeżeń dotyczących wyjątków bezpieczeństwa w swojej przeglądarce (ponieważ CN certyfikatu nie jest zgodny faktycznie wprowadzony). Zmuszenie ich do zainstalowania własnego Root CA jest jeszcze bardziej kłopotliwe i nierealne.


Warto zauważyć, że „serwer dedykowany hostowany przez firmę hostingową” raczej nie będzie miał własnego RIP, ale raczej otaczająca sieć będzie miała wpis RIPE (o firmie hostingowej)
Hagen von Eitzen

1

Śmiało i kup nazwę domeny. Są tanie, nie bądź tańszy niż to. Potrzebujesz tylko jednego. Może nawet skonfigurujesz bugtracker.twojafirma.com.

Następnie dla każdego robaka błędów skonfiguruj poddomenę dla tej nazwy. Uzyskaj certyfikat SSL dla każdej z tych subdomen. Ponieważ wydajesz się szczególnie niechętny kosztom, firma, z którą chcesz robić interesy, nazywa się StartSSL.

http://www.startssl.com/

Powodem, dla którego chcesz ich używać, jest to, że (oprócz zaufania głównych przeglądarek) ich certyfikaty nie kosztują ręki i nogi. Najbardziej podstawowy rodzaj certyfikatu jest naprawdę, szczerze mówiąc, wolny od gówna. Sprawdzają twoją tożsamość, a następnie pozwalają wydać tyle, ile potrzebujesz. Jeśli chcesz bardziej wyszukanych certyfikatów (które zwykle kosztują kilkaset dolarów), szukasz około 50 USD na 2 lata na obsługę SSL dla wielu domen w jednym adresie IP.

Są super tanie za to, co dostajesz. Wydają prawdziwe certyfikaty, którym ufają przeglądarki Twoich klientów, a nie 90-dniowe wersje próbne, jak inne miejsca.


1
Chyba też tego nie rozumiem. Prawidłowo wydany certyfikat SSL sam w sobie jest tokenem identyfikującym; instytucja certyfikująca nie świadczy żadnych usług po wydaniu. Moja witryna jest zabezpieczona certyfikatem RapidSSL, ale jeśli jutro upadną, mój certyfikat będzie równie skuteczny jak teraz.
MadHatter

2
Ilu klientów zamierza przeprowadzić pełne sprawdzenie Twojego dostawcy SSL? Musieliby naprawdę kopać, zanim zdadzą sobie sprawę, że prowadzą interesy z firmą, która prowadziła interesy z firmą izraelską. Jak powiedział MadHatter, niestabilność polityczna ma niewiele wspólnego z tym, czy twój certyfikat jest ważny. Po wydaniu jest ważny do momentu wygaśnięcia, kropka. Ale fajnie jest, jeśli chcesz zapłacić komuś innemu śmiesznemu pieniądze za coś, co nie jest technicznie skomplikowane. Certyfikaty SSL są jednym z najbardziej absurdalnych oszustw.
Paul McMillan,

2
Hej, wystarczy jeden klient, żeby go zdmuchnął. Przepraszam, ponieważ od początku nie jestem zbyt jasny. Mój kraj nie pozwala swoim narodom na prowadzenie interesów z Izraelem. To wszystko.
silnik szeregowy

1
Tak, byłoby to bardziej przydatne do powiedzenia. Certyfikaty SSL są niepotrzebnie drogie, ale w skali prowadzonej działalności koszt jest prawie niczym.
Paul McMillan,

2
„Po wydaniu jest ważny do momentu wygaśnięcia, kropka”. O ile nie zawiera informacji o odwołaniu, zostanie odwołany, a klient wymusi sprawdzenie odwołania. Podejście urzędu certyfikacji prawdopodobnie byłoby zmuszone do unieważnienia wszystkich certyfikatów. Tylko mówię
Ryan Bolger,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.