Web Sitesi Güvenliği İçin Dikkat Edilmesi Gereken 3 Ana Zafiyet ve Önleme Yöntemleri

Web sitesi güvenliği, günümüzde büyük bir önem arz etmektedir çünkü birçok web sitesi, kişisel bilgilerin veya maddi varlıkların saklanmasına olanak sağlamaktadır. Bu nedenle, web sitesi sahipleri ve geliştiricileri, web sitelerinin güvenliğini sağlamak için bu tarz önemli zafiyetlere dikkat etmelidirler.

Zafiyet Türleri

Bir web sitesinde bulunabilecek çok sayıda zafiyet vardır, bu makalede her birine tek tek değinememiz ne yazık ki mümkün olmasada, konu ile alakalı seçtiğimiz özellikle dikkat edilmesi gereken en çok karşılaşılan kritik derecede olan üç zafiyet şu şekildedir;

1. SQL Injection (SQL Enjeksiyonu):

SQL injection, web uygulamalarında yaygın bir güvenlik açığıdır. SQL enjeksiyonu, bir saldırganın, web sitesindeki SQL veritabanına kötü amaçlı kodlar göndererek, verileri çalmasına veya değiştirmesine olanak tanır.

2. Cross-Site Scripting (XSS):

Cross-Site Scripting, (XSS) kullanıcıların güvenilir web siteleri aracılığıyla kötü amaçlı web sitelerine yönlendirilmesini sağlar. Bu saldırı, saldırganların, web sitesine gönderilen form alanları ve arama kutuları gibi giriş alanlarını kullanarak, kötü amaçlı kodları web sitesinde yayınlamasına olanak tanır.

3. DoS (Denial of Service) Saldırıları:

DoS saldırıları, web sitesine gelen istekleri engelleyerek, web sitesinin kullanılamaz hale getirilmesine neden olur. Bu saldırı, web sitesindeki sunucuların veya ağ kaynaklarının yüksek trafik seviyelerine maruz kalması nedeniyle gerçekleşir.

Zafiyet Etkileri

Bahsi geçen kritik derecede öneme sahip üç güvenlik açığının gerçekleşmesi durumunda ise etkileri şu şekildedir;

SQL Injection

SQL injection saldırıları, web uygulamalarına gönderilen giriş verilerindeki kötü amaçlı SQL kodlarını kullanarak, veritabanlarına erişim sağlamak için kullanılır. Bu saldırıların etkileri şunlardır:

1. Veri Çalma: SQL injection saldırıları, veritabanında saklanan hassas bilgilerin çalınmasına neden olabilir. Bu, kullanıcıların kişisel bilgilerinin (kredi kartı numaraları, adresler, telefon numaraları vb.) ifşa olmasına neden olabilir.

2. Veri Değiştirme: Saldırganlar, SQL injection kullanarak veritabanındaki verileri değiştirebilirler. Bu, web sitesindeki tüm kullanıcıların verilerinin değiştirilmesine ve hatta veritabanının tamamen bozulmasına neden olabilir.

3. Veri Silme: SQL injection saldırıları, veritabanındaki verilerin silinmesine neden olabilir. Bu, web sitesindeki tüm verilerin kaybedilmesine ve hatta web sitesinin tamamen kullanılamaz hale gelmesine neden olabilir.

4. Sistem Komplikasyonları: SQL injection saldırıları, web sitesindeki veritabanı sistemlerinin tümünün ele geçirilmesine neden olabilir. Bu, saldırganların web sitesindeki tüm verileri ele geçirmesine ve hatta web sitesindeki tüm kullanıcıların hesaplarını ele geçirmesine neden olabilir. Bunların yanında saldırganların veri tabanı üzerinden tüm sisteme erişimi, veri tabanı sunucusunu zombiye çevirerek aynı veya farklı ağdaki cihazlara erişmesi mümkündür.

Cross-Site Scripting (XSS)

Cross-Site Scripting (XSS) saldırıları, bir web sitesindeki güvenlik açığından yararlanarak, saldırganların kullanıcılara zararlı kodlar enjekte etmesine olanak sağlar. Bu saldırıların etkileri şunlardır:

1. Kişisel Bilgilerin Çalınması: XSS saldırıları, kullanıcıların kişisel bilgilerinin çalınmasına neden olabilir. Saldırganlar, kullanıcılara zararlı kodlar enjekte ederek, kullanıcıların girdiği bilgileri (kullanıcı adı, şifre, kredi kartı bilgileri vb.) çalabilirler.

2. Oturum Çalma: XSS saldırıları, kullanıcıların oturum açma bilgilerini çalabilir ve saldırganların kullanıcıların hesaplarına erişim sağlamasına olanak tanır. Bu, saldırganların kullanıcının hesabını ele geçirmesine ve hassas bilgilere erişim sağlamasına neden olabilir.

3. Zararlı Kodların Yürütülmesi: XSS saldırıları, saldırganların web sitesindeki kullanıcılara zararlı kodlar enjekte etmelerine neden olabilir. Bu, kullanıcıların tarayıcılarında kötü amaçlı yazılımların yürütülmesine ve hatta kullanıcının bilgisayarının tamamen ele geçirilmesine neden olabilir.

4. Web Sitesi Çökmesi: XSS saldırıları, web sitesindeki kodların çalışmasını engelleyebilir ve hatta web sitesinin tamamen çökmesine neden olabilir. Bu, web sitesinin kullanılamaz hale gelmesine ve hatta işletmelerin maddi kayıplara uğramasına neden olabilir.

DoS (Denial of Service) Saldırıları

Denial of Service (DoS) saldırıları, bir web sitesine aşırı trafik göndererek, sunucunun hizmet verememesine veya verimliliğinin düşmesine neden olur. Bu saldırıların etkileri şunlardır:

1. Hizmet Kesintileri: DoS saldırıları, bir web sitesinin hizmetlerinin kesintiye uğramasına neden olur. Bu, kullanıcıların web sitesine erişememesine ve hatta web sitesinin tamamen çökmesine neden olabilir.

2. Veri Kaybı: DoS saldırıları, sunucuların kapasitesinin üzerinde trafik göndererek, sunucudaki verilerin kaybolmasına neden olabilir. Bu, web sitesinin tüm verilerinin kaybedilmesine ve hatta işletmelerin maddi kayıplara uğramasına neden olabilir.

3. Güvenlik Zafiyetleri: DoS saldırıları, bir web sitesinin güvenliğinde açıklar oluşturabilir. Bu açıklar, saldırganların web sitesine zararlı yazılımlar enjekte etmesine veya kullanıcıların bilgilerine erişmesine neden olabilir.

4. İtibar Kaybı: DoS saldırıları, bir web sitesinin itibarının zarar görmesine neden olabilir. Bu, kullanıcıların web sitesine olan güvenlerinin azalmasına ve hatta işletmelerin müşteri kaybına uğramasına neden olabilir.

Alınabilecek Önlemler

Üzerine durduğumuz bu önemli zafiyetlerin sistemlerinizde meydana gelip olumsuz sonuçlar doğurmaması için bir dizi önlem alınması gerekmektedir. Bu önlemler;

SQL Injection

1. Güvenli Kodlama Uygulamaları: SQL Injection saldırılarının çoğu, web sitesi geliştiricilerinin kötü niyetli kullanıcılara karşı aldıkları yeterli önlemleri almamalarından kaynaklanır. Bu nedenle, güvenli kodlama uygulamalarına uygun kod yazmak, bu tür saldırıları önlemek için en iyi yollardan biridir.

2. Parametrelerin Doğrulanması: SQL Injection saldırıları, web sitelerindeki parametrelerin eksik veya yanlış doğrulanması nedeniyle gerçekleşebilir. Bu nedenle, tüm girdilerin doğru şekilde doğrulandığından emin olunmalıdır.

3. SQL Veritabanı Yönetim Sistemlerinde Parametre Kullanımı: SQL Injection saldırıları, SQL sorgularının doğrudan oluşturulması nedeniyle ortaya çıkabilir. Bu nedenle, SQL sorgularını oluştururken parametre kullanmak, bu tür saldırıları önlemek için en iyi yollardan biridir.

4. Güvenlik Duvarı Kullanımı: Güvenlik duvarları, web sitelerinin SQL Injection gibi saldırılara karşı korunmasına yardımcı olur. Bu duvarlar, gelen istekleri analiz eder ve zararlı istekleri tespit eder. Bu sayede, zararlı isteklerin web sitesine erişimi engellenir.

5. Güncellemeleri Takip Etme: SQL Injection saldırıları, birçok web sitesinin eski veya güncelleştirilmemiş yazılım ve araçları kullanmasından kaynaklanır. Bu nedenle, web sitesi sahipleri, yazılım ve araçları düzenli olarak güncellemeli ve bu tür saldırılara karşı korunmak için gerekli güvenlik yamalarını yüklemelidir.

6. Veri Şifreleme: Web sitelerinde saklanan hassas verilerin şifrelenmesi, SQL Injection gibi saldırılara karşı korunmak için önemlidir. Verilerin şifrelenmesi, kötü niyetli kullanıcıların bu verileri doğrudan erişememelerini sağlar.

7. SQL Injection Testleri: Web siteleri için düzenli SQL Injection testleri yapmak, bu tür saldırılara karşı alınacak önlemlerin belirlenmesine yardımcı olabilir. Bu testler, web sitesinin güvenliğinin test edilmesini sağlar ve zafiyetlerin tespit edilmesine ve kapatılmasına olanak tanır.

Cross-Site Scripting (XSS)

1. Input verilerinin doğrulanması: Web uygulamalarına girilen kullanıcı verilerinin doğrulanması önemlidir. Giriş kontrolleri, kullanıcının girdiği verileri belirli bir formata uygun olup olmadığını kontrol etmelidir. Bu, verilerin gereksiz karakterler veya kodlar içermesini önler ve saldırganların kötü amaçlı kodları göndermesini engeller.

2. Çıktı verilerinin temizlenmesi: Çıktı verileri, kullanıcının girdiği verileri doğrudan yansıtmamalıdır. Veriler, özel karakterlerin yerine kodlanmalıdır. Bu, kötü amaçlı kodların çalışmasını önler ve kullanıcılara güvenli bir deneyim sunar.

3. HTTPOnly ve Secure Cookie kullanımı: Web uygulamaları, kullanıcıların kimlik doğrulama bilgilerini (örneğin, oturum bilgileri) saklarlar. Bu bilgiler, saldırganlar tarafından ele geçirilebilir ve kötüye kullanılabilir. HTTPOnly özelliği, JavaScript aracılığıyla erişilemeyen ve sadece sunucu tarafından kullanılabilen çerezler oluşturur. Secure özelliği, çerezlerin sadece HTTPS bağlantıları üzerinden iletilmesini sağlar.

4. Güvenli kodlama uygulamaları: Web uygulamalarının kodlama sürecinde güvenlik en iyi uygulamaları takip edilmelidir. Kodlama sürecinde, güvenli yazılım geliştirme döngüsü (SDLC) gibi özel prosedürler takip edilmeli ve sık sık kod incelemeleri yapılmalıdır.

5. Güncel yazılım kullanımı: Web uygulamaları, açıkların giderilmesi için düzenli olarak güncellenmelidir. Ayrıca, web uygulamaları için yayınlanan güvenlik yamaları da zamanında uygulanmalıdır.

6. WAF (Web Uygulama Güvenliği) kullanımı: Web Uygulama Güvenliği (WAF), saldırıları tespit eden ve önleyen bir güvenlik cihazıdır. WAF, web uygulamalarına erişen trafikleri izleyerek zararlı trafiği engeller ve kötü amaçlı kodların sunuculara ulaşmasını önler.

DoS (Denial of Service) Saldırıları

1. DDoS koruma hizmeti kullanın: Bu hizmetler, gelen DDoS saldırılarını tespit etmek ve mümkün olan en kısa sürede engellemek için tasarlanmıştır. Örneğin: Cloudflare DDoS

2. Sunucu kapasitesini artırın: Sunucunuzun kapasitesini artırmak, DoS saldırılarını engellemeye yardımcı olabilir. Sunucunun işleme gücü arttırkça gelen saldırıların sistemi dar boğaza sokma ihtimali azalacaktır.

3. Web Uygulaması Güvenlik Duvarı (WAF) kullanın: Bir web uygulama güvenlik duvarı, web uygulamasına giden ve uygulamadan gelen tüm HTTP trafiğini filtreler, inceler ve saldırı esnasında bloklamaya yarar. Örneğin: Cloudflare WAF

4. İstek filtreleme kullanın: Web sitesine gelen isteklerin filtrelenmesi, özellikle DoS saldırılarına karşı etkilidir. Bu filtreler, web sunucusu üzerinden ayarlanabilir. Örneğin belirli IP adreslerinden veya belirli türde isteklerden gelen trafikleri engelleyebilir.

5. Load Balancer kullanın: Load Balancer ile desteklenen Cluster yapıları web uygulamasına gelen aşırı trafiği birden fazla alana yayarak yoğunluğun azaltılmasını sağlamaktadır.

Bir başka önemli adım, web sitesinin Zafiyet Testlerinin gerçekleştirilmesidir. Bu testler, web sitesinde bulunan yeni güvenlik açıklarının tespit edilmesi ve düzeltilmesi için önemlidir.

Ayrıca, web siteleri için SSL (Secure Sockets Layer) sertifikası kullanılması da önemlidir. Bu sertifika, web sitesinin güvenli bir şekilde veri aktarımı yapmasını sağlar ve kullanıcıların bilgilerinin şifrelenmesini sağlar.

Sonuç olarak, web sitesi güvenliği, web sitelerinin başarısı ve kullanıcıların güvenliği için kritik önem taşımaktadır. Web site sahipleri ve geliştiricileri, kullanıcıların bilgilerinin güvenliği için doğru önlemleri alarak, kullanıcıların güvenli bir şekilde web sitelerini kullanmalarını sağlayabilirler.

Yazar: Ömer Akincir

İlgili Yazılar

DES-619_BlogHeader_PassTheTicket-1167x500

Pass The Ticket

Yazar: Onur Savaş Pass-the-ticket saldırısı, Windows Active Directory ortamında bilet adı verilen kimlik doğrulama bilgilerinin çalınmasını ve yeniden kullanılmasını içeren bir...
adli-bilisimin-onemi

Adli Bilişimin Önemi

Küçük yerel bir işletme veya dünya devi bir şirket fark etmez, kurumsal yapının omuriliği bilgi işlem altyapısıdır. Mahiyetine bakmaksızın, bilgi...
dijital-delil-tespiti-nasil-istemeliyim

Dijital Delil Tespiti Nasıl İstemeliyim?

Dijital Delil Tespiti Nasıl İstemeliyim? Türkiye’de veya dünyanın neresinde olursa olsun, ADALET önemli bir yapı taşıdır. İnsanların yaşadıkları toplumlarda hava...