Jak sprawdzić certyfikat SSL strony i serwera poczty
Do sprawdzenia certyfikatu SSL potrzebujesz nazwy serwera i portu. Strona zwykle korzysta z 443, a poczta z portu zależnego od protokołu i sposobu rozpoczęcia TLS. Sprawdź nazwę, okres ważności i łańcuch certyfikatów, a następnie porównaj wynik z błędem przeglądarki lub programu pocztowego. Test strony nie zastępuje testu poczty w tej samej domenie.
Jak wykonać test certyfikatu SSL strony
- Otwórz narzędzie do sprawdzania certyfikatu SSL. Wpisz nazwę z adresu strony, na przykład example.com, i port 443. Jeśli używasz również www, sprawdź www.example.com osobno.
- Porównaj nazwę z adresami w SAN, czyli liście nazw certyfikatu. Odczytaj początek i koniec ważności. Certyfikat dla example.com nie musi obejmować www.example.com; *.example.com nie obejmuje samego example.com ani a.shop.example.com.
- Sprawdź wynik weryfikacji łańcucha i zaufania. Zapisz datę wygaśnięcia oraz wystawcę. Jeśli nazwę obsługuje CDN, wynik dotyczy certyfikatu zewnętrznego węzła CDN, niekoniecznie serwera, na którym przechowujesz stronę.
Narzędzie przy każdym uruchomieniu nawiązuje nowe połączenie. Pokazuje też obsługiwane wersje TLS i uwagi dotyczące przekierowania na HTTPS. Zapisz dokładny kod błędu przeglądarki: pomoże odróżnić problem certyfikatu od nieudanego połączenia TLS.
Certyfikat SSL dla poczty: port SMTP, IMAP i POP3
Użyj nazwy serwera poczty przychodzącej lub wychodzącej z konfiguracji programu, na przykład mail.example.com. Może być inna niż adres strony. Sprawdzaj nazwę i port faktycznego połączenia. Różne usługi na jednym serwerze poczty również mogą wysyłać różne certyfikaty.
| Port | Usługa | Początek TLS |
|---|---|---|
| 443 | HTTPS: strona | Od razu po połączeniu |
| 25 | SMTP: wymiana między serwerami | STARTTLS, jeśli serwer go obsługuje |
| 587 | SMTP: wysyłanie z programu pocztowego | STARTTLS |
| 143 | IMAP: poczta przychodząca | STARTTLS |
| 110 | POP3: poczta przychodząca | STLS |
| 465 | SMTP: wysyłanie z programu pocztowego | Niejawny TLS od początku połączenia |
| 993 | IMAP: poczta przychodząca | Niejawny TLS od początku połączenia |
| 995 | POP3: poczta przychodząca | Niejawny TLS od początku połączenia |
Przy STARTTLS połączenie zaczyna się od protokołu pocztowego, a potem przechodzi na TLS. Przy niejawnym TLS szyfrowanie zaczyna się od razu. Różnicę opisuje RFC 8314. Nasze narzędzie dobiera sposób na podstawie portu. Zapis mail.example.com:993 ma pierwszeństwo przed osobnym polem portu.
- Sprawdź pocztę przychodzącą z nazwą i portem zapisanymi w programie. Potem przetestuj wychodzącą: jej nazwa lub certyfikat mogą się różnić.
- Jeśli nazwy nie da się rozwiązać albo port pocztowy nie odpowiada, przejrzyj proponowane serwery MX. MX wskazuje trasę poczty przychodzącej, niekoniecznie serwer SMTP do wysyłania z Twojego programu.
- Porównaj SAN, ważność i łańcuch z wynikiem strony. Jeśli 443 przechodzi test, a 993 nie, sprawdź usługę pocztową i jej konfigurację certyfikatu.
Błąd SSL: wygasły certyfikat, niepełny łańcuch, brak zaufania
Łańcuch łączy certyfikat strony lub poczty z urzędem certyfikacji przez certyfikaty pośrednie. Weryfikacja musi dotrzeć do zaufanego certyfikatu głównego. Jeśli serwer wysyła tylko certyfikat usługi, część klientów może się połączyć, a inne odrzucą połączenie.
| Wynik | Co sprawdzić | Następny krok |
|---|---|---|
| Certyfikat SSL wygasł / expired | Daty certyfikatu i zegar urządzenia | Odnów lub wystaw ponownie certyfikat, a potem zainstaluj go w odpowiedniej usłudze. |
| Niezgodna nazwa | Nazwa połączenia i SAN | Użyj właściwej nazwy albo certyfikatu, który ją obejmuje. |
| Niepełny łańcuch / chain incomplete | Certyfikaty pośrednie na serwerze | Zainstaluj łańcuch według instrukcji urzędu certyfikacji dla danego serwera. |
| Certyfikat samopodpisany | Wystawca certyfikatu | Dla usługi publicznej zainstaluj odpowiedni certyfikat zaufanego urzędu. |
| Certyfikat nie jest zaufany / not trusted | Prywatny urząd i magazyn zaufania klienta | Sprawdź zasady zaufania; nie zastępuj naprawy wyłączeniem weryfikacji. |
ERR_SSL_PROTOCOL_ERROR nie wskazuje jednej przyczyny. Negocjację TLS mogą przerwać ustawienia protokołu, serwera lub ingerencja sieci. Wyjaśnia to dokumentacja Cloudflare. Najpierw potwierdź nazwę, port i tryb TLS, potem przejrzyj dziennik serwera. Poprawny test zewnętrzny nie wyklucza problemu wyłącznie na Twoim urządzeniu lub w Twojej sieci.
Sprawdzenie certyfikatu przez OpenSSL w systemie Linux
Jeśli potrzebujesz szczegółów dla administratora, uruchom poniższe polecenia w powłoce Linux z aktualnym OpenSSL i skonfigurowanym magazynem zaufanych urzędów. Zastąp przykładowe nazwy własnymi. Pierwsze polecenie sprawdza stronę, drugie SMTP z STARTTLS na porcie 587.
openssl s_client -connect example.com:443 -servername example.com \
-verify_hostname example.com -verify_return_error -showcerts </dev/null
openssl s_client -connect mail.example.com:587 -starttls smtp \
-servername mail.example.com -verify_hostname mail.example.com \
-verify_return_error -showcerts </dev/null
Opcja -servername przekazuje SNI, -verify_hostname sprawdza zgodność nazwy, a -verify_return_error przerywa weryfikację po błędzie zaufania. Samo -showcerts tylko wyświetla certyfikaty przesłane przez serwer, nie potwierdza poprawności łańcucha. Opcje opisano w dokumentacji OpenSSL.
Co sprawdzić po poprawieniu konfiguracji
Powtórz test każdej nazwy i portu, a następnie otwórz stronę lub połącz się programem pocztowym. Jeśli nadal widać stary certyfikat, sprawdź, która usługa kończy TLS i czy ponownie wczytała pliki. Jeden poprawny wynik nie potwierdza identycznej konfiguracji wszystkich zewnętrznych węzłów.
Jeśli potrzebujesz nowego certyfikatu, najpierw spisz nazwy strony i usług pocztowych, a potem wybierz odpowiedni wariant na stronie certyfikatów SSL. Samo zamówienie certyfikatu nie oznacza, że jest zainstalowany na każdym potrzebnym porcie.