Site Güvenliği: SSL Dışında Alınması Gereken Temel Önlemler
SSL sertifikası, tarayıcı ile sunucu arasındaki trafiği şifreler. Yani araya giren birinin form verilerini okumasını engeller. Bunun dışında hiçbir şey yapmaz.
Zayıf bir yönetici parolası, güncellenmemiş bir eklenti ya da yanlış dosya izni varsa SSL bunları görmez. Kötü amaçlı yazılım bulaşmış bir site de yeşil kilit simgesiyle gayet düzgün açılır; sertifika içeriğin temiz olduğunu değil, aktarımın şifreli olduğunu söyler.
Aşağıdaki başlıklar, paylaşımlı hosting üzerinde çalışan tipik bir kurumsal site veya e-ticaret için gerçekten fark yaratan önlemlerdir. Sıralama, saldırıların pratikte kullandığı yollara göre yapılmıştır.
Parola ve iki adımlı doğrulama
Ele geçirilen sitelerin büyük kısmında açık bir yazılım açığı değil, tahmin edilen ya da başka bir sızıntıdan bilinen bir parola vardır. Üç kural yeterlidir:
- Her hesap için ayrı parola. cPanel parolası, WordPress yönetici parolası, FTP parolası ve e-posta parolası aynı olmamalı.
- En az 16 karakter, rastgele üretilmiş. Anlamlı kelime türevleri (
Sirket2026!gibi) sözlük saldırısında ilk denenenler arasındadır. - Parola yöneticisi kullanın; akılda tutulabilir parola zaten güvenli değildir.
İki adımlı doğrulamayı önce en kritik iki noktada açın: alan adı kayıt paneli ve hosting paneli. Alan adı hesabı ele geçirilirse saldırgan nameserver kayıtlarını değiştirerek siteyi ve e-postalarınızı tamamen başka bir sunucuya taşıyabilir; bu, siteye hiç dokunmadan yapılan en yıkıcı saldırıdır.
Yazılım güncelliği
WordPress, Joomla veya özel yazılım fark etmez; saldırılar çoğunlukla yayımlanmış ve yaması çıkmış açıklar üzerinden yürür. Açık duyurulduktan sonra otomatik tarama botları internetteki bütün siteleri o açık için taramaya başlar, genelde ilk 48 saat içinde.
- Çekirdek güncellemelerini otomatik açın.
- Eklenti ve temaları ayda en az bir kez elden geçirin.
- Kullanılmayan eklenti ve temaları devre dışı bırakmakla yetinmeyin, silin. Pasif bir eklentinin dosyaları hâlâ sunucudadır ve doğrudan çağrılabilir.
- PHP sürümünü güncel tutun. Desteği bitmiş bir PHP sürümü artık güvenlik yaması almaz.
Dosya izinleri
Paylaşımlı hostingde yanlış izin, sunucudaki başka bir hesabın ya da yüklenmiş bir betiğin dosyalarınıza yazmasına izin verir. Doğru değerler şunlardır:
| Nesne | İzin | Not |
|---|---|---|
| Dizinler | 755 | 777 asla kullanılmamalı |
| Dosyalar | 644 | Çalıştırma izni gerekmez |
wp-config.php |
640 veya 600 | Veritabanı parolasını içerir |
.htaccess |
644 | Yazılabilir kalırsa zararlı yönlendirme eklenebilir |
wp-content/uploads |
755 | Bu dizinde PHP çalıştırmayı kapatın |
Yükleme dizininde PHP çalıştırmayı engellemek en etkili tek önlemlerden biridir. wp-content/uploads/.htaccess dosyasına <FilesMatch ".(php|phtml|php5)$"> bloğu ile erişimi kapatırsanız, bir açıktan yüklenen zararlı dosya sunucuda çalışamaz.
Yönetici panelini koruma
Giriş sayfası, kaba kuvvet saldırılarının tek hedefidir. Üç katman uygulayın:
- Deneme sınırı: Aynı IP’den 5 başarısız denemeden sonra 15 dakika kilit. Bu, saniyede binlerce parola deneyen botları işlevsiz bırakır.
- IP kısıtı: Yönetici girişine yalnızca ofis IP’sinden erişiliyorsa
.htaccessile diğer adresleri kapatın. - Kullanıcı adı:
adminkullanmayın. Ayrıca WordPress’te yazar arşivi kullanıcı adını dışarı sızdırabilir;/?author=1adresini test edin.
Yetkileri de daraltın. İçerik girenlere yönetici değil editör rolü verin; yönetici sayısı ne kadar azsa saldırı yüzeyi o kadar küçüktür.
Sunucu tarafı tarama, güvenlik duvarı ve yedek
Sunucuda çalışan bir kötü amaçlı yazılım tarayıcısı (Imunify360, ClamAV gibi), tarayıcı eklentilerinin göremediği enjekte edilmiş dosyaları yakalar. Paylaşımlı hosting hesabınızda böyle bir tarayıcı varsa haftalık tarama raporunu okuyun; “quarantine” klasörüne düşen dosyaları görmezden gelmeyin.
Web uygulama güvenlik duvarı (WAF), bilinen saldırı desenlerini istek sunucuya ulaşmadan keser. SQL enjeksiyonu ve dosya dâhil etme denemelerinin büyük kısmı bu katmanda durur.
Yedek ise güvenlik önlemi değil, kurtarma planıdır ve en çok ihmal edilen kısımdır. Üç şeyi doğrulayın: yedek sunucu dışında mı duruyor, veritabanı da dâhil mi, ve en önemlisi son 6 ay içinde geri yükleme denemesi yaptınız mı? Denenmemiş yedek yedek sayılmaz. Yedekleme düzenini kurarken en az 14 günlük geriye dönük sürüm tutun; zararlı yazılım fark edilene kadar genelde bir hafta geçer ve tek günlük yedek bulaşmış hali geri yükler.
Hacklenen sitenin belirtileri ve ilk müdahale
Şu işaretlerden biri varsa siteye müdahale edilmiş olabilir:
- Google arama sonuçlarında sitenizin altında alakasız (bahis, ilaç, sahte marka) başlıklar çıkıyor.
- Site mobil tarayıcıda başka bir adrese yönleniyor ama masaüstünde normal açılıyor.
public_htmliçinde tanımadığınız, rastgele adlı PHP dosyaları veya son değiştirme tarihi bugün olan çekirdek dosyalar var.- Sunucudan yüksek miktarda giden e-posta çıkıyor, e-posta kuyruğu doluyor.
- Search Console “Güvenlik Sorunları” bölümünde uyarı görünüyor.
İlk müdahale sırası şudur: siteyi bakım moduna alın veya geçici olarak kapatın; cPanel, FTP, veritabanı ve tüm yönetici parolalarını değiştirin; aktif oturumları sonlandırın; sunucu taramasını çalıştırın; bulaşma öncesine ait temiz bir yedeği geri yükleyin; sonra giriş noktasını kapatın. Bu son adım atlanırsa site birkaç gün içinde tekrar aynı yöntemle ele geçirilir. Temizlik bittikten sonra Search Console üzerinden yeniden inceleme talebi gönderin.
Özetle
- SSL aktarımı şifreler; parola, güncelleme ve dosya izni sorunlarına karşı hiçbir koruma sağlamaz.
- Her hesaba ayrı ve uzun parola verin, alan adı ve hosting panelinde iki adımlı doğrulamayı açın.
- Kullanılmayan eklenti ve temaları silin, PHP sürümünü desteklenen bir sürümde tutun.
- Dizinlerde 755, dosyalarda 644 izni kullanın ve yükleme dizininde PHP çalıştırmayı kapatın.
- Yedeği sunucu dışında tutun, en az 14 gün geriye dönük sürüm saklayın ve geri yüklemeyi gerçekten deneyin.
- Ele geçirme sonrası temizlik, giriş noktası kapatılmadan tamamlanmış sayılmaz.