.htaccess Dosyasını Tanımak
İlk önce .htaccess dosyasının ne olduğunu ve neden bu kadar önemli olduğunu anlatmak gerek. .htaccess dosyası, Apache sunucuları için yapılandırma dosyasından başka bir şey değildir. Bu dosya, web sitenizin sunucu tarafındaki birçok önemli ayarı kontrol eder. Genellikle güvenlik, yönlendirmeler, hata sayfaları gibi işlemleri yönetmek için kullanılır.
1. HTTPS Yönlendirmesi
Web sitesi güvenliği denince akla ilk gelenlerden biri, HTTPS kullanımıdır. Tarayıcılar, HTTPS’yi güvenli olarak tanır ve SEO açısından da çok önemlidir. Eğer sitenizin HTTPS kullanmıyorsa, kullanıcılarınız tarayıcılarda güvenlik uyarıları görebilir ve bu da güven kaybına yol açar.
Yapılacak işlem:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu kod parçası, HTTP üzerinden gelen trafiği otomatik olarak HTTPS’ye yönlendirir. SEO açısından da faydalıdır çünkü Google, HTTPS kullanımını sıralama faktörü olarak değerlendirir.
2. IP Adresine Göre Erişim Kısıtlaması
Eğer belirli bir bölgede yaşayan kullanıcılar haricindeki herkesin web sitenize erişmesini istemiyorsanız, .htaccess dosyasını kullanarak IP adreslerine göre erişimi kısıtlayabilirsiniz.
Yapılacak işlem:
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
Bu örnek, yalnızca 192.168.1.1 IP adresine sahip kullanıcılara erişim izni verir. Diğer tüm IP adreslerinden gelen istekler engellenir.
3. Dosya ve Dizin Listelemeyi Engelle
Web sitenizin dizin yapısını kullanıcılar ile paylaşmak istemezsiniz. Eğer bu yapı görünürse, kötü niyetli kişiler hangi dosyaların hangi klasörlerde olduğunu kolayca öğrenebilir. Bu da güvenlik açığı yaratır.
Yapılacak işlem:
Options -Indexes
Bu basit satır, sunucunuzun dizin listeleme özelliğini devre dışı bırakır.
4. Brute Force Saldırılarını Engelleme
Brute force saldırıları, hackerların şifreleri tahmin etmeye çalıştığı saldırılardır. Bu tür saldırıları engellemek için, belirli bir sayıda başarısız oturum açma denemesi sonrasında kullanıcıları geçici olarak engellemek iyi bir fikir olabilir.
Yapılacak işlem:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^/wp-login.php
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.1$
RewriteRule ^(.*)$ - [R=403,L]
Bu kod, belirli IP adreslerinin dışında, başarısız oturum açma girişimleri için 403 hatası döndürecektir.
5. XSS Saldırılarına Karşı Koruma
Cross-Site Scripting (XSS) saldırıları, kötü niyetli kullanıcıların sitenizin sayfalarına zararlı kod yerleştirmeye çalıştığı saldırılardır. .htaccess dosyasına küçük bir güvenlik eklemesi, bu tür saldırılara karşı savunmanızı artırabilir.
Yapılacak işlem:
Header set X-XSS-Protection "1; mode=block"
Bu satır, tarayıcılara XSS koruması sağlayan bir başlık ekler ve XSS saldırılarını engellemeye yardımcı olur.
6. Dosya Türü Engellemeleri
Web sitenizde, ziyaretçilerin yüklemesini istemediğiniz dosya türlerini engellemek, olası tehditlere karşı koruma sağlar. Örneğin, zararlı yazılımlar barındıran .exe veya .php dosyalarının yüklenmesini engellemek isteyebilirsiniz.
Yapılacak işlem:
Order Deny,Allow
Deny from all
Bu kod, belirtilen dosya türlerinin yüklenmesini yasaklar.
7. Hızlı Yönlendirme ve 404 Hatalarını Düzeltme
SEO için önemli olan bir diğer konu, hatalı sayfa yönlendirmelerinin engellenmesidir. 404 hatası aldığınızda, bu kullanıcı deneyimini bozar ve SEO’yu olumsuz etkiler.
Yapılacak işlem:
ErrorDocument 404 /404.html
Bu işlem, kullanıcıları özel bir 404 hata sayfasına yönlendirir, bu da onların kaybolmuş hissetmelerini engeller ve SEO açısından daha iyi bir deneyim sunar.
8. Hotlinking’i Engelleme
Hotlinking, başka sitelerin sizin sunucunuzdaki görselleri ve medya dosyalarını izinsiz olarak kullanmasıdır. Bu tür bir durum sunucu kaynaklarınızı aşırı tüketebilir.
Yapılacak işlem:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www\.)?siteniz\.com/ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
Bu kod, yalnızca kendi sitenizden gelen medya dosyalarına erişimi kabul eder, diğer sitelerden gelen istekleri engeller.
9. Güvenlik Başlıkları ile Sitelerinizi Koruma
Güvenlik başlıkları, tarayıcıların belirli güvenlik politikalarını uygulamalarını sağlar. Bu, sitenizi daha güvenli hale getirebilir.
Yapılacak işlem:
Header always set X-Content-Type-Options "nosniff"
Bu başlık, tarayıcının içerik türünü "kokusuz" hale getirerek potansiyel güvenlik açıklarını önler.
10. Web Uygulama Güvenlik Duvarı (WAF) Kurulumu
Web sitenize yönelik saldırıları engellemek için bir WAF kurmanız da faydalı olabilir. .htaccess dosyasına, güvenlik duvarı kurallarını entegre edebilirsiniz.
Yapılacak işlem:
SecRuleEngine On
Bu basit satır, WAF’ın etkinleştirilmesine yardımcı olur.
Sonuç
Web sitenizin güvenliği, sadece kullanıcılarınızın korunmasını sağlamakla kalmaz, aynı zamanda SEO performansınızı da artırır. Yukarıda paylaştığımız .htaccess dosyasındaki 10 pratik iyileştirme ile web sitenizi daha güvenli hale getirebilir, performansını artırabilir ve SEO sıralamalarınızda daha üst sıralarda yer alabilirsiniz. Unutmayın, güvenlik her zaman bir öncelik olmalıdır!