Co to jest certyfikat SSL?
Certyfikat SSL (Secure Sockets Layer) to cyfrowy certyfikat uwierzytelniający tożsamość witryny internetowej i ustalający szyfrowane połączenie między serwerem internetowym a przeglądarką. Chociaż SSL został zastąpiony przez TLS (Transport Layer Security), termin "certyfikat SSL" pozostaje powszechnie używany. Certyfikaty te są niezbędne dla witryn HTTPS, wyświetlając ikonę kłódki sygnalizującą bezpieczeństwo odwiedzającym.Jak działają certyfikaty SSL
Proces uścisku dłoni
1. Browser requests secure connection
2. Server sends SSL certificate + public key
3. Browser verifies certificate with CA
4. Browser creates session key, encrypts with public key
5. Server decrypts with private key
6. Encrypted session established
Typy certyfikatów
Według poziomu weryfikacji
| Typ | Weryfikacja | Czas | Poziom zaufania | Przypadek użycia |
|---|---|---|---|---|
| DV (Domena) | Tylko własność domeny | Minuty | Podstawowy | Blogi, małe witryny |
| OV (Organizacja) | Weryfikacja biznesu | 1-3 dni | Średni | Witryny biznesowe |
| EV (Rozszerzony) | Obszerna weryfikacja | 1-2 tygodnie | Najwyższy | Banki, e-commerce |
Według zakresu
| Typ | Pokrywa | Przykład |
|---|---|---|
| Pojedynczą domenę | Jedną domenę | example.com |
| Wildcard | Domenę + wszystkie subdomeny | *.example.com |
| Multi-domain (SAN) | Wiele określonych domen | example.com, example.org |
Urzędy certyfikacji (CA)
Zaufane jednostki wydające certyfikaty:
- Komercyjne: DigiCert, Sectigo, GlobalSign
- Bezpłatne: Let's Encrypt, ZeroSSL
- Dostawcy w chmurze: AWS Certificate Manager, Cloudflare
Uzyskiwanie certyfikatu SSL
Opcje bezpłatne (Let's Encrypt)
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Proces zakupu komercyjnego
1. Wygeneruj CSR (Certificate Signing Request)
2. Prześlij do urzędu certyfikacji
3. Ukończ weryfikację (DV/OV/EV)
4. Pobierz i zainstaluj certyfikat
Konfiguracja DNS (rekordy CAA)
Określ, które CA mogą wydawać certyfikaty:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
Komponenty certyfikatu
| Komponent | Cel |
|---|---|
| Klucz publiczny | Szyfruje dane wysyłane na serwer |
| Klucz prywatny | Deszyfruje dane (keep secret!) |
| Łańcuch certyfikatów | Łączy się z zaufanym głównym CA |
| Okres ważności | Data wygaśnięcia (zwykle 90 dni - 1 rok) |
Najlepsze praktyki
1. Użyj TLS 1.2+: Wyłącz starsze protokoły
2. Automatyzuj odnowienie: Zapobiegaj outage'om z powodu wygaśnięcia
3. Zabezpiecz klucz prywatny: Nigdy nie udostępniaj ani nie ujawniaj
4. Użyj silnych szyfrów: Skonfiguruj bezpieczne suity szyfrów
5. Implementuj HSTS: Wymuś połączenia HTTPS
6. Monitoruj wygaśnięcie: Ustaw alerty przed wygaśnięciem
Typowe problemy
- Niedopasowanie certyfikatu: Domena nie odpowiada certyfikatowi
- Wygasły certyfikat: Okres ważności przekroczony
- Niekompletny łańcuch: Brakuje pośrednich certyfikatów
- Mieszana treść: Zasoby HTTP na stronie HTTPS
Certyfikaty SSL są fundamentalne dla bezpieczeństwa internetowego, umożliwiając szyfrowaną komunikację chroniącą dane wrażliwe podczas transmisji.