W przypadku korzystania z narzędzia Google – Google Search Console (GSC) możemy otrzymać wiadomość zatytułowaną: Samodzielnie podpisany certyfikat SSL/TLS dla witryny (i tu podana zostaje nazwa witryny, której wiadomość dotyczy).
Oczywiście takiej wiadomości nie otrzymamy jeśli nie korzystamy z Google Search Console. W jakich sytuacjach taką wiadomość możemy otrzymać? I czy faktycznie jest to błąd po naszej stronie? Jak się okazuje, odpowiedź w tym przypadku nie jest jednoznaczna. Poniżej wyjaśniamy dlaczego.
1. Włączona obsługa SNI.
SNI (Server Name Indication) to rozszerzenie protokołu SSL, które umożliwia zainstalowanie kilku certyfikatów SSL na jednym adresie IP bez konieczności posiadania dedykowanego adresu IP. Rozwiązanie to zostało wprowadzone m.in. z uwagi na kurczące się zasoby adresacji IPv4. Dzięki zastosowaniu SNI np. firmy hostingowe mogą ograniczyć zużycie adresacji IPv4 a klienci mogą na swoich domenach instalować dowolną liczbę certyfikatów SSL. Niestety to rozwiązanie niesie za sobą również określone ograniczenia m.in. dla starszych systemów operacyjnych czy przeglądarek. W przypadku „odwiedzin” strony, która korzysta ze SNI i w oparciu o SNI został zainstalowany certyfikat SSL, użytkownik starszego systemu/przeglądarki może ujrzeć komunikat o niezaufanym certyfikacie. I taka informacja będzie się pojawiać pomimo poprawnej instalacji certyfikatu SSL. I tak też może być w przypadku bota Google. Jak wiadomo naszą stronę odwiedza Googlebot, który identyfikuje się różnymi przeglądarkami oraz systemami operacyjnymi np.:
66.249.76.137 - - [08/Aug/2018:14:15:10 +0200] "GET xxxx HTTP/1.1" 200 17979 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.66.159 - - [08/Aug/2018:06:41:46 +0200] "GET xxxx HTTP/1.1" 200 1006 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36"
Może się więc zdarzyć sytuacja, że naszą stronę Googlebot odwiedzi identyfikując się przeglądarką bądź systemem, który nie obsługuje SNI i w efekcie możemy otrzymać w GSC informację o samodzielnie podpisanym certyfikacie SSL. Oczywiście takie sytuacje są sporadyczne ale niestety mają miejsce. Co w tym przypadku? Przede wszystkim nie należy wpadać w panikę – najlepiej sprawdzić czy certyfikat SSL poprawnie jest rozpoznawany w aktualnych wersjach przeglądarek. Możemy przy tym również skorzystać z narzędzia SSLLabs: https://www.ssllabs.com/ssltest/index.html. Jeśli wszystko jest w porządku to taką wiadomość można zignorować. Natomiast jeśli chcemy zapewnić 100% kompatybilność naszego certyfikatu SSL z systemem operacyjnym/przeglądarką odwiedzającego należy ustawić dla swojej domeny/serwisu dedykowany (niewspółdzielony) adres IP. Więcej informacji na temat mechanizmu SNI znajdziesz np. w Wikipedii: https://en.wikipedia.org/wiki/Server_Name_Indication
2. Przenosiny serwisu między serwerami.
To jest dość szczególny przypadek ale również przewijający się w przypadku otrzymania wiadomości z GSC. Czasami zdarza się sytuacja, że musimy nasz serwis przenieść na inny serwer (niezależnie od tego czy po prostu wymagamy mocniejszej jednostki czy nasz dostawca hostingu ma problemy). Przeniesienie serwisu między serwerami najczęściej skutkuje również zmianą adresu IP a takowa zmiana musi zostać rozpropagowana poprzez DNSy. I o ile w większości przypadków zmiany są widoczne dość szybko to zdarzają się sytuacje, że zmiany są widoczne np. po 24 godzinach – generalnie przyjęte jest, że propagacja zmian DNS może trwać 48-72 godziny. Jeśli przy przenosinach usunęliśmy nasz serwis ze „starego” serwera to może zdarzyć się, że w tę lukę „trafi” Googlebot co może skutkować otrzymaniem wiadomości z GSC. Dlatego po przenosinach najlepiej jest się upewnić czy wszystko działa poprawnie, a w szczególności czy certyfikat poprawnie wyświetla się w przeglądarce. Jeśli pomimo przenosin mamy problem z certyfikatem SSL warto sprawdzić konfigurację lub w szczególnych przypadkach należy się w tym zakresie skontaktować z pomocą techniczną hostingu.
3. Wygasły lub niepoprawnie zainstalowany certyfikat SSL.
O ile może wydać się to za dość kuriozalny przypadek to jednak zdarza się i to dość często. Jak wiadomo każdy certyfikat SSL ma określoną ważność. Od 30 do 90 dni dla certyfikatów SSL trial po standardowo rok lub dwa lata. Każdy certyfikat SSL zakupiony na rok lub 2 lata można przedłużyć już na 90 dni przed jego wygaśnięciem. Oczywiście jeśli przedłużmy certyfikat np. na 89 dni przed jego wygaśnięciem, nie oznacza to, że ważność odnowionego certyfikatu ssl będzie skrócona o te 89 dni. Jeśli przy zamówieniu wybierzemy opcję RENEWAL/ODNOWIENIE to automatycznie 90 dni zostanie doliczone do nowego certyfikatu ssl niezależnie od tego czy przedłużymy go na 89 dni czy na 2 dni przed wygaśnięciem. Dlatego warto zadbać o terminowe odnowienie, szczególnie, że przypomnienia o wygasającym certyfikacie SSL również są przesyłane. Dodatkowo oprócz informacji z GSC komunikat o wygasłym certyfikacie SSL pojawi się każdemu, kto odwiedzi serwis, na którym certyfikat SSL wygasł. Co oczywiście może skutkować „porzuceniem” odwiedzin. Komunikat z GSC może się również pojawić jeśli nasz certyfikat SSL nie został poprawnie zainstalowany (np. zgłasza się certyfikat serwera) lub brakuje np. certyfikatów pośrednich. Po otrzymaniu wiadomości warto sprawdzić nasz certyfikat czy jest on poprawnie rozpoznawany przez przeglądarki lub można wykonać diagnostykę poprzez wcześniej przedstawione narzędzie SSLLABS: https://www.ssllabs.com/ssltest/index.html.
W każdym przedstawionym powyżej przypadku, po otrzymaniu wiadomości od Google, warto sprawdzić certyfikat ssl na stronie, której wiadomość dotyczyła. Dzięki czemu wyeliminujemy błędy, które mogą spowodować nie tylko obniżenie bezpieczeństwa ale również wpłynąć na pozycję w wyszukiwarce google.