0Pricing
Cyber Security Academy · Lekcja

Walidacja certyfikatów

Weryfikuj tożsamość serwera

Walidacja certyfikatów to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Dlaczego weryfikować certyfikaty

Samo szyfrowanie nie wystarczy. Jeśli szyfrują Państwo połączenie z napastnikiem, zabezpieczają Państwo niewłaściwą rozmowę.

Weryfikacja certyfikatu zapewnia, że komunikują się Państwo rzeczywiście z zamierzonym serwerem.

Co sprawdza klient

Podczas uzgadniania połączenia klient weryfikuje kilka elementów:

  • Łańcuch certyfikatów prowadzi do zaufanego certyfikatu głównego.
  • Certyfikat znajduje się w okresie ważności.
  • Certyfikat nie został unieważniony.
  • Nazwa hosta jest zgodna.

Dopasowanie nazwy hosta

Nazwa hosta, z którą nawiązano połączenie, musi odpowiadać wpisom Subject Alternative Name (SAN) w certyfikacie.

Stare pole Common Name (CN) jest w tym celu przestarzałe; współczesne klienty wymagają SAN.

openssl x509 -in cert.pem -noout -ext subjectAltName

Daty ważności

Każdy certyfikat zawiera znaczniki czasu Not Before i Not After. Poza tym przedziałem certyfikat jest odrzucany.

openssl x509 -in cert.pem -noout -dates

Weryfikacja łańcucha zaufania

Klient przechodzi wzdłuż łańcucha od certyfikatu końcowego do certyfikatu głównego w swoim magazynie zaufania, weryfikując każdy podpis.

Jeśli nie istnieje ścieżka do zaufanego certyfikatu głównego, weryfikacja kończy się niepowodzeniem, nawet jeśli certyfikat wygląda poprawnie.

Sprawdzanie unieważnienia

Klient sprawdza, czy certyfikat nie został wcześniej unieważniony, korzystając z OCSP lub CRL.

Wiele przeglądarek korzysta z mechanizmu OCSP stapling lub z wyselekcjonowanych list unieważnień, aby przyspieszyć sprawdzanie.

Ograniczenia zastosowania klucza

Certyfikaty określają dozwolone zastosowania w rozszerzeniach Key Usage i Extended Key Usage.

Certyfikat serwera musi zawierać serverAuth, a certyfikat CA musi mieć ustawioną flagę CA. Certyfikaty użyte niezgodnie z przeznaczeniem są odrzucane.

Przypinanie certyfikatu

Przypinanie polega na zapisaniu w kliencie oczekiwanego certyfikatu lub klucza publicznego (jest to częste w aplikacjach mobilnych).

Odrzucany jest nawet prawidłowy certyfikat podpisany przez CA, jeśli nie jest to certyfikat oczekiwany. Chroni to przed złośliwymi lub przejętymi CA.

Gdy weryfikacja kończy się niepowodzeniem

Typowe błędy weryfikacji to:

  • NET::ERR_CERT_DATE_INVALID (certyfikat wygasł)
  • NET::ERR_CERT_COMMON_NAME_INVALID (niezgodność nazwy hosta)
  • NET::ERR_CERT_AUTHORITY_INVALID (niezaufany wystawca)

Niebezpieczeństwo pomijania weryfikacji

Wyłączenie weryfikacji certyfikatu (na przykład za pomocą curl -k lub verify=False) usuwa całą ochronę przed podszywaniem się.

Nie należy nigdy używać tego w kodzie produkcyjnym, ponieważ umożliwia to ataki typu man-in-the-middle.

# DO NOT do this in production
curl -k https://example.com

Weryfikacja z wiersza poleceń

Mogą Państwo przeprowadzić pełne sprawdzanie względem działającego serwera.

openssl s_client -connect example.com:443 \
  -verify_hostname example.com -verify_return_error

Szybkie sprawdzenie

Programista ustawia verify=False, aby wyciszyć błąd certyfikatu w środowisku produkcyjnym. Jakie ryzyko się z tym wiąże?

Podsumowanie

Dowiedzieli się Państwo, jak klienci przeprowadzają weryfikację certyfikatów.

  • Sprawdzane są między innymi zaufanie do łańcucha, daty ważności, unieważnienie oraz nazwa hosta (SAN).
  • Przypinanie zapewnia dodatkową ochronę przed złośliwymi CA.
  • Nigdy nie należy wyłączać weryfikacji w środowisku produkcyjnym.

W dalszej części omówimy typowe ataki na TLS.

Często zadawane pytania

Czy lekcja „Walidacja certyfikatów” jest bezpłatna?

Tak — pełny tekst „Walidacja certyfikatów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Walidacja certyfikatów”?

Weryfikuj tożsamość serwera Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Walidacja certyfikatów”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Uzgadnianie TLS
  2. Pakiety szyfrów
  3. Walidacja certyfikatów
  4. Typowe ataki na TLS
← Powrót do Cyber Security Academy