SSL / HTTPS
SSL / HTTPS nedir?
Tarayıcı ile sunucu arasındaki yazı sertifikayla şifrelenir. Sertifika alan adını doğrular. Bağlantı 443 portundan gelir. Eski SSL protokolleri kapatılmıştır. Konuşmada SSL dense de çalışan düzenek TLS’tir.
SSL / HTTPS ne için kullanılır?
Site adresini ve formu yolda okunmaz yapmak içindir.
- Giriş sayfasını korumak
- API çağrısını şifrelemek
- Tarayıcı uyarısını kapatmak
- HTTP’yi HTTPS’e yönlendirmek
SSL / HTTPS ile ne yapılabilir?
Let's Encrypt ücretsiz sertifika verir, süresi yaklaşık 90 gündür. certbot Nginx yapılandırmasına 443 ve yönlendirme ekleyebilir. Sertifika bitince site uyarı verir. Otomatik yenileme denetlenmelidir. Firewall portu açar, sertifika içeriği şifreler. İkisi ayrıdır.
SSL / HTTPS öğrenmek zor mu?
Bir alan adı için ilk sertifika artık araçla kolaydır. Zorluk ad uyumu, bitiş süresi ve karışık proxy’dir. Sertifika example.com içinse www ayrı ad olarak yazılmalıdır. Kendi imzaladığı sertifika tarayıcıda güvenilir sayılmaz.
Avantajları ve sınırları
Avantaj: ücretsiz sertifika vardır, tarayıcı açık siteyi uyarır, içerik yolda gizlenir. Sınır: sertifika sunucunun kendisinin temiz olduğunu kanıtlamaz. Çalınmış anahtar ve kötü program şifrenin arkasında da durabilir.
Temel kavramlar
Anahtar gizli kalır. Sertifika açıktır. Zincir sertifikayı kimin imzaladığını gösterir.
- 443 HTTPS portudur
- 80 eski HTTP portudur
- Let's Encrypt yaklaşık 90 gün verir
- HSTS tarayıcıdan yalnız HTTPS ister
Kısa örnek
Bu komut Nginx olan sunucuda bir alan adı için sertifika ister. Alan adı ve Nginx yapılandırması önce hazır olmalıdır.
sudo certbot --nginx -d example.com
Sık sorulan sorular
- SSL ve TLS aynı mı? Konuşmada karışır. Bugün çalışan protokol TLS’tir. SSL eski addır.
- HTTPS siteyi güvenli yapar mı? Yolu şifreler. Sitenin kendi kodunu temizlemez.
- Sertifika bir kerelik mi? Hayır. Süresi biter ve yenilenmelidir.