SSL Offloading Nedir
SSL (Secure Sockets Layer), HTTP istekleri ve cevapları sırasında HTTP güvenliğini amaçlayan bir protokoldür. SSL, istemci ile sunucu arasındaki iletişimi sağlayarak güvenli bir şekilde etkileşim sağlamak için bir anahtar ile şifrelenmesine dayanır. Hassas bilgilerin şifrelenmesi ise siber saldırganları kısıtlayarak Man in The Middle(Ortadaki Adam) saldırılarına karşı koruma sağlamaktadır.
SSL ile şifreleme ve şifre çözme işlemleri kaynakları ciddi şekilde tüketerek zorlayabilmektedir. Bu süreçleri daha etkin ve verimli kılmak adına özel bir sunucu kurularak bu işlemler yapılabilmektedir. Özel olarak kurulan bu web sunucusunda SSL kullanılarak oluşan trafiği dengelenmesi işlemine SSL Offloading denilmektedir.
SSL Offloading Nasıl Çalışır
SSL Offloading, şifreleme ve şifre çözme esnasında tarayıcı ile sunucu arasında Load Balancer(Yük Dengeleyici) adı verilen bir cihazın bulunması ile gerçekleştirilir. Load Balancer yeni bir SSL sertifika içeriği sağlamaz. Sunucuda bulunan mevcut SSL sertifika içeriklerini kullanarak özel bir anahtar ile bu işlemi gerçekleştirir.
İki tip SSL Ofloading yöntemi mevcuttur. Bunlar, SSL Termination (SSL Sonlandırma) ve SSL Bridging (SSL Köprüleme) olarak adlandırılır.
1.SSL Termination (SSL Sonlandırma) asıl amacı şifre çözme işlemini hızlandırmaya yönelik bir yönteme dayanır. İstemci (Client) tarafından talep edilen bağlantı sırasında HTTPS olarak Load Balancer’a bağlandıktan sonra HTTP protokolü aracılığı ile Load Balancer’dan web sunucusuna bağlanır. İstemci ile Load Balancer arasındaki bağlantı şifrelenmiş şekilde sağlanırken, Load Balancer ile Sunucu arasındaki veri alışverişi şifresiz olarak sağlamaktadır.
SSL Termination, en genel hatları ile çalışma yöntemi şu şekildedir:
* Tarayıcı ve sunucu arasına Load Balancer bağlıdır.
* Tarayıcı SSL/TLS bağlantısı kurmaya çalıştığında, oturum sırasındaki Public ve Private Key’ler tarayıcı ile load balancer arasında oluşmaktadır.
* Tarayıcı tarafından şifrelenen tüm veriler ilk olarak load balancer cihazına ulaşır.
* Load Balancer, simetrik oturum anahtarını kullanarak verilerin şifrelerini çözer ve verileri şifrelenmemiş olarak sunucuyay önlendirir.
* Böylelikle sunucu verileri clear text (düz metin) olarak alır ve şifre çözmesi gerekmez.
* Sunucu, load balancer’a yanıtını clear text olarak iletir.
* Load Balancer, şifrelenmemiş verileri oturum anahtarını kullanarak şifreler ve istemciye gönderir.
* İstemci, aynı oturum anahtarını kullanarak verilerin şifresini çözer.
SSL Termination’ın Artıları
* Sunucudan tüm gelen-giden verilerin şifrelenmesi veya şifre çözülmesi gerekmez. Bu durum iş yükünü azalttığından dolayı son derece verimlidir.
* Kurumların sahip olduğu sunucuların hızlı dönüş yapmalarını sağlamaktadır.
* Kullanıcıların hassas verilerinin önem arz etmediği web siteleri için güvenlik açısından etkindir.
SSL Termination’ın Eksileri
* Load Balancer ile sunucu arasındaki trafik şifresiz olduğundan verilerin elde edilmesi, yetkisiz oturum açılması, MitM(Ortadaki Adam Saldırısı) gibi durumlara karşı savunmasızdır.
* Sunucunun sahip olduğu Private Key’in, Load Balancer ile paylaşılması bazı durumlarda vardır. Bu çeşitli risklere sebep olabilmektedir.
* Load Balancer ile Sunucu arasında oluşan HTTP alışverişi sırasında bir tehdit oluşmasında, istemci durumdan haberdar olmaz. Bir başka deyişle kullanıcı güvenli bir bağlantıya sahip olduğunu düşünür.
2.SSL Bridging (SSL Köprüleme) kullanıcıların kredi kartı bilgileri, sağlık verileri, TC kimlik numarası gibi kritik verilerin bulunduğu web siteleri için daha uygun bir yöntemdir. Bazı durumlarda bu tarz web siteleri yüksek miktarda HTTPS trafiğine sahip olabilmektedir. İstemci tarafından yapılan kötü amaçlı aktiviteler sırasında web sitelerinde bu etkiler uzun sürebilmektedir. Bu tarz durumlar için ise SSL Bridging, SSL Termination’a göre daha güvenli ve etkili bir çözümdür. SSL Bridging, SSL Termination’da olduğu gibi istemci ile load balancer arasında bulunmaktadır.
SSL Bridging, en genel hatları ile çalışma yöntemi şu şekildedir
* Bir istemci şifrelenmiş verileri HTTPS kullanarak load balancer’a göndererek verilerin şifresini çözer.
* Load Balancer, HTTPS trafiğindeki paketler inceleyerek şüpheli bir aktivite tespit ederse engelleme yapar.
* Bu işlem MitM (Ortadaki Adam Saldırısı)’e benzemektedir. Fakat bu işlem istismar etmek yerine kontrol amaçlı yapılmaktadır.
* Elde ettiği clear text (düz metin) verileri sunucuya iletmek yerine, load balancer yeniden şifreler ve sunucuya böyle iletilir.
* Böylelikle her aşamada veriler şifrelenmiş bir şekilde iletilir.
SSL Bridging’ın Artıları
* İstemciden yük dengeleyiciye (load balancer), yük dengeleyiciden sunucuya iletişim sırasında tüm veriler şifreli olarak iletişim halindedir.
* Sunucuya yapılan SQL Injection (Sql Enjeksiyonu), DDOS (Dağıtılmış Hizmet Reddi Saldırısı, CSRF (Siteler Arası İstek Sahteciliği) vb. gibi yaygın web uygulama saldırılarına karşı güvenlidir.
SSL Bridging’in Eksileri
* Sunucuda oluşan şifreleme bağlantıları son derece yüksektir. Buda yüksek seviye trafiğe sebebiyet vermektedir.
* Load Balancer kullanıcı verilerini inceleme ve değiştirme yetkisine sahip olduğundan, Load Balancer’a erişim sağlayan bir saldırgan kötü amaçlı aktivitelerde bulunabilir.
Belirli kaynaklardan alıntı yapılarak konu açılmıştır.