Web sitesi güvenliği: siteler nasıl ele geçiriliyor?
KOBİ sitelerinin ele geçirilme yolları, saldırganların neyin peşinde olduğu, alınması gereken önlemler ve site hacklendiğinde izlenecek adımlar.
Yazan: OSBSA Bilişim
Küçük firmaların siteleri hedef seçilerek değil, otomatik tarama yapan yazılımlar tarafından bulunarak ele geçiriliyor. Kimse sizin firmanızı araştırmıyor. Bilinen bir açığı olan bütün siteler taranıyor ve listede siz de varsınız.
"Bizde çalınacak bir şey yok" cümlesini çok duyuyoruz. Saldırganın istediği zaten verileriniz olmayabilir. Sunucunuzu spam göndermek, başka sitelere saldırmak ya da Google'da görünmek için kullanmak çoğu zaman yeterli.
Siteler pratikte nasıl ele geçiriliyor?
Sahada karşılaştığımız vakaların neredeyse tamamı şu beş başlıktan birine giriyor.
Güncellenmemiş eklenti veya tema. İçerik yönetim sistemlerinde en yaygın yol. Bir eklentide açık bulunduğunda, açığın ayrıntısı yayımlanır ve saatler içinde bunu deneyen otomatik araçlar dolaşmaya başlar. Yıllardır güncellenmeyen bir site bu taramaların hepsine açıktır.
Zayıf veya tekrar kullanılan şifre. Yönetici kullanıcı adı "admin", şifre firmanın adı ve yılı. Bunu deneyen yazılımlar dakikada binlerce kombinasyon gönderiyor. Başka bir sitede sızan şifrenizi burada da kullanıyorsanız denemeye bile gerek kalmıyor.
Dosya yükleme alanının denetimsiz bırakılması. Ziyaretçinin dosya yükleyebildiği bir form varsa ve yüklenen dosyanın türü denetlenmiyorsa, sunucuda çalışabilen bir dosya yüklenebilir. Bu, sitenin tamamının kontrolünü devretmek demek.
Form alanlarından veritabanına müdahale. Arama kutusuna yazılan metin doğrudan veritabanı sorgusuna eklenirse, o kutudan komut çalıştırılabilir. Buna SQL enjeksiyonu deniyor ve eski usulle yazılmış özel yazılımlarda hâlâ karşımıza çıkıyor.
Hosting hesabının kendisi. FTP şifresi bir çalışanın bilgisayarında düz metin kayıtlıysa ve o bilgisayara zararlı yazılım bulaştıysa, sitenin kodu ne kadar sağlam olursa olsun fark etmez.
Hangi önlemler gerçekten işe yarıyor?
Bir güvenlik eklentisi kurup rahatlamak yaygın ama yetersiz. Sıralamayı etkiye göre yapalım.
| Önlem | Zorluğu | Etkisi |
|---|---|---|
| Sistem ve eklentileri güncel tutmak | Düşük, düzenli iş gerektirir | Çok yüksek |
| Yönetici hesaplarında iki adımlı doğrulama | Düşük | Çok yüksek |
| Kullanılmayan eklenti ve temaları silmek | Düşük | Yüksek |
| Rol bazlı yetki, herkese yönetici vermemek | Orta | Yüksek |
| Düzenli ve dışarıda saklanan yedek | Orta | Çok yüksek |
| HTTPS ve güncel sertifika | Düşük | Orta |
| Yönetim paneline erişimi kısıtlamak | Orta | Yüksek |
| Güvenlik duvarı ve bot filtreleme | Orta | Orta |
| Bağımlılıkların düzenli taranması | Orta | Yüksek |
Yedek maddesine dikkat edin. Yedek bir güvenlik önlemi gibi görünmez ama kötü gün geldiğinde sizi kurtaran tek şey odur. Bu konuyu yedekleme ve felaket kurtarma yazısında ayrıca ele aldık.
Devre dışı bıraktığınız eklentinin de silinmesi gerektiğini ekleyelim. Pasif durumdaki bir eklentinin dosyaları sunucuda durmaya devam eder ve bazı açıklar eklenti kapalıyken de çalışır.
HTTPS yeterli mi?
Hayır. HTTPS, ziyaretçi ile sunucu arasındaki trafiği şifreler. Yani kimse aradaki veriyi okuyamaz. Sitenizin içindeki bir açığı kapatmaz.
Yine de zorunlu sayın. Sertifikası olmayan siteler tarayıcıda uyarı gösteriyor, arama motorları tarafında da dezavantaj yaratıyor. Ücretsiz sertifika seçenekleri var ve otomatik yenilenecek şekilde kurulabiliyor. Süresi dolmuş sertifika, hiç olmamasından daha kötü görünüyor.
Özel yazılımda güvenlik nasıl kuruluyor?
Hazır sistemlerde güvenlik büyük ölçüde güncel kalmakla ilgilidir. Özel yazılımda ise kodun kendisiyle. Teklif alırken şunların yazılı olmasını isteyin:
- Parolalar geri döndürülemez biçimde saklanıyor. Düz metin veya basit şifreleme kabul edilmez
- Yetki denetimi sunucuda yapılıyor. Arayüzde düğme gizlemek yetki değildir
- Veritabanı sorguları parametreli yazılıyor
- Kullanıcıdan gelen veri hem tarayıcıda hem sunucuda doğrulanıyor
- Yüklenen dosyaların türü ve boyutu denetleniyor, çalıştırılabilir dosyalar reddediliyor
- Oturum çerezleri güvenli işaretlerle üretiliyor
- Erişim anahtarları kod içine değil, sunucu ayarlarına yazılıyor
- Kullanılan kütüphaneler düzenli taranıyor ve güncelleniyor
Son madde çoğu projede unutuluyor. Yazılımınız kendisi kusursuz olsa bile, kullandığı hazır kütüphanelerden birinde açık çıkarsa siz de etkilenirsiniz. Bu taramanın kimin sorumluluğunda olduğunu bakım sözleşmesine yazdırın.
Site ele geçirildiğinde ne yapılmalı?
Sırayı bozmayın, aceleyle atılan adımlar delili siliyor ve temizliği zorlaştırıyor.
- Siteyi bakım moduna alın veya geçici olarak kapatın. Ziyaretçilerin zarar görmesini ve arama motorlarının zararlı içeriği taramasını önler
- Mevcut halin bir kopyasını alın. Bozuk olsa bile bu kopya, ne olduğunu anlamak için gerekir
- Bütün şifreleri değiştirin. Hosting, veritabanı, FTP, yönetici hesapları, e-posta
- Temiz bir yedeğe dönün. Hangi tarihten sonra bulaştığını bilmiyorsanız geriye doğru giderek en eski sağlam kopyayı bulun
- Açığı bulun ve kapatın. Bunu yapmadan yedeğe dönerseniz aynı yoldan tekrar girilecektir
- Sunucuda kalan arka kapıları arayın. Saldırganlar genelde bir dosya bırakır ve şifreleri değiştirseniz bile o dosyayla geri gelir
- Google Search Console'a bakın. Site zararlı olarak işaretlendiyse temizlik sonrası yeniden inceleme talebi gönderin
- Kişisel veri sızdıysa yasal bildirim yükümlülüğünüz olabilir, hukuk danışmanınıza sorun
Beşinci maddeyi atlayan firmaların çoğu birkaç hafta içinde aynı sorunla tekrar karşılaşıyor.
E-posta ve alan adı da güvenlik konusu
Saldırıların bir kısmı siteye değil, sitenin etrafındaki hesaplara yöneliyor.
Kurumsal e-posta hesabınız ele geçirilirse, saldırgan sizin adresinizden müşterinize sahte hesap numarası gönderebiliyor. Bu tuzağa düşen firma sayısı sandığınızdan fazla. E-posta hesaplarında da iki adımlı doğrulama açılmalı ve ödeme bilgisi değişikliğinin telefonla teyit edilmesi bir kural haline getirilmeli.
Alan adı hesabınız da aynı ölçüde kritik. O hesaba giren biri siteyi başka bir sunucuya yönlendirebilir. Alan adının firma adına kayıtlı olduğundan, kayıt e-postasının okunan bir adres olduğundan ve transfer kilidinin açık olduğundan emin olun.
Düzenli olarak ne yapılmalı?
Güvenlik bir kerelik iş değil. Küçük bir firmada bile aşağıdaki ritim sürdürülebilir:
Haftada bir güncellemeleri kontrol edin ve uygulayın. Ayda bir yedeğin gerçekten açılıp açılmadığını deneyin, alınmış ama bozuk yedeklerle çok karşılaşıyoruz. Üç ayda bir kullanıcı listesini gözden geçirin, işten ayrılan kişilerin hesapları hâlâ açık mı bakın. Yılda bir sertifikaların, alan adı kaydının ve hosting sözleşmesinin yenilenme tarihlerini kontrol edin.
Bu işleri kendiniz yapmayacaksanız bakım sözleşmesine yazdırın. "Bakım dahildir" cümlesi tek başına bir taahhüt değil, neyin ne sıklıkta yapılacağı yazılmalı.
Sizin siteniz için ne gerekiyor?
Mevcut sitenizin durumunu bilmiyorsanız başlangıç noktası bir denetim. Hangi sistem üzerinde çalışıyor, ne zamandır güncellenmemiş, kaç yönetici hesabı var, yedek alınıyor mu. Bu dört sorunun cevabı çoğu firmada zaten sorunu gösteriyor.
Yenileme mi gerekiyor yoksa mevcut siteyi güvenli hale getirmek mi yeterli, bunu denetimden sonra konuşuyoruz. Site yenilemenin nasıl yapıldığını sıralama kaybetmeden yenileme yazısında anlattık. Durumunuzu konuşmak için bize yazın.
- web güvenliği
- siber güvenlik
- wordpress güvenliği
- ssl