SSL Sertifikası

WebSocket Güvenliği (WSS)

WebSocket trafiğini düz metin bırakmayın: wss:// için Nginx ayarı, Origin denetimi ve sık karşılaşılan el sıkışma hatalarını adım adım görün.

WebSocket, tarayıcı ile sunucu arasında kalıcı ve çift yönlü bir kanal açar. Bu kanal şifresiz ws:// ile değil, TLS ile korunan wss:// şemasıyla kurulmalıdır; aksi halde oturum verileri ağ üzerinde düz metin akar.

WSS nasıl çalışır?

İstemci önce normal bir HTTPS bağlantısı kurar, ardından Upgrade: websocket başlığıyla protokolü yükseltir. Yani WSS, el sıkışma sırasında sunucunun SSL sertifikasını aynı HTTPS gibi doğrular. HTTPS sayfasından ws:// adresine bağlanmaya çalışırsanız tarayıcı bunu karma içerik (mixed content) olarak engeller.

Nginx ile ters vekil yapılandırması

Uygulama sunucusunu doğrudan internete açmak yerine TLS'i Nginx'te sonlandırmak yaygın bir yöntemdir:

location /ws/ {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_read_timeout 300s;
}

Güvenlik önlemleri

  • Origin denetimi: WebSocket, same-origin politikasına tabi değildir. Sunucu tarafında Origin başlığını beyaz listeyle doğrulayın; aksi halde başka bir sitedeki betik kullanıcının oturumuyla bağlanabilir (CSWSH).
  • Kimlik doğrulama: Bağlantı kurulurken kısa ömürlü bir belirteç kullanın; belirteci URL sorgusuna koymak günlüklere sızabileceği için mümkünse ilk mesajda veya çerezle iletin.
  • Mesaj doğrulama: Gelen her çerçeveyi şema ve boyut açısından kontrol edin, mesaj boyutuna sınır koyun.
  • Hız sınırı: Bağlantı sayısı ve mesaj sıklığını IP veya kullanıcı bazında sınırlayın.

Doğrulama

Bağlantıyı komut satırından denemek için openssl s_client -connect ornek.com:443 -servername ornek.com ile sertifikayı ve TLS sürümünü görebilirsiniz. Sertifika zincirini SSL Checker aracıyla da kontrol edebilirsiniz.

Sık hatalar

  • Sertifika alan adıyla eşleşmiyor veya ara sertifika eksik: tarayıcı WSS el sıkışmasını reddeder.
  • Vekil sunucu Upgrade başlıklarını iletmiyor: bağlantı 400 veya 426 ile düşer.
  • Boşta kalan bağlantılar zaman aşımına uğruyor: uygulama düzeyinde ping/pong gönderin.

Özetle WSS, HTTPS ile aynı sertifika altyapısını kullanır. Geçerli bir SSL sertifikası, Origin denetimi ve doğru vekil ayarlarıyla WebSocket trafiğini güvenle yayınlayabilirsiniz.

Bu makale faydalı oldu mu?

Makale Ara

Güvenlik & En İyi Uygulamalar

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç