Site Overlay

WordPress wp-admin Erişimini IP ile Kısıtlama: Adım Adım Güvenlik Rehberi

WordPress wp-admin Erişimini IP ile Kısıtlama: Adım Adım Güvenlik Rehberi

WordPress yönetim panelinizi (wp-admin) brute-force saldırılarına karşı korumanın en etkili yollarından biri, erişimi yalnızca güvenilir IP adresleriyle sınırlamaktır. Bu rehberde, .htaccess dosyası kullanarak wp-admin erişimini nasıl IP ile kısıtlayacağınızı adım adım anlatıyoruz.

1. Neden wp-admin Erişimini Kısıtlamalısınız?

WordPress sitelerine yönelik saldırıların %90’ı wp-admin ve wp-login.php sayfalarını hedefler. IP kısıtlaması yaparak:

  • Brute-force (deneme-yanılma) saldırılarını %99 oranında engellersiniz
  • Yetkisiz kişilerin yönetim paneline erişimini tamamen kapatırsınız
  • Sunucu kaynaklarınızı gereksiz yükten korursunuz
ÖNEMLİ: Bu işlem yalnızca wp-admin ve wp-login.php erişimini kısıtlar. Müşterilerinizin WooCommerce hesap sayfası (/my-account/) etkilenmez.

2. .htaccess ile IP Kısıtlaması Nasıl Yapılır?

Aşağıdaki kodu sitenizin ana dizinindeki .htaccess dosyasına ekleyin:

# BEGIN WP-ADMIN IP KISITLAMASI
<FilesMatch "^(wp-login\.php|admin-ajax\.php)">
  Order Deny,Allow
  Deny from all
  Allow from 37.130.81.93      # 1. Güvenilir IP
  Allow from 88.250.124.202    # 2. Güvenilir IP
</FilesMatch>
# END WP-ADMIN IP KISITLAMASI

Kodun Açıklaması:

  • FilesMatch: Yalnızca wp-login.php ve admin-ajax.php dosyalarını hedef alır
  • Order Deny,Allow: Önce engelleme kurallarını uygular
  • Deny from all: Tüm IP’leri engeller
  • Allow from [IP]: Sadece belirtilen IP’lere izin verir

3. Ek Güvenlik Önlemleri

IP kısıtlamasıyla birlikte uygulamanızı önerdiğimiz ek korumalar:

A) XML-RPC Dosyasını Kapatma

# XML-RPC KAPATMA
<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
</Files>

B) Brute-Force Koruması

# BRUTE-FORCE KORUMASI
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
  RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
  RewriteCond %{REMOTE_ADDR} !^37\.130\.81\.93$
  RewriteCond %{REMOTE_ADDR} !^88\.250\.124\.202$
  RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

C) Hassas Dosyaları Gizleme

# HASSAS DOSYALARI KORUMA
<FilesMatch "(wp-config\.php|readme\.html|license\.txt)">
  Order Allow,Deny
  Deny from all
</FilesMatch>

4. Test ve Sorun Giderme

Doğru Çalıştığını Nasıl Test Edebilirsiniz?

  1. Güvenilir IP ile test: Belirtilen IP’lerden wp-admin’e erişebilmelisiniz
  2. VPN ile test: Farklı bir IP’den 403 Forbidden hatası almalısınız
  3. Müşteri girişi testi: /my-account/ sayfası normal çalışmalı

Olası Sorunlar ve Çözümleri

Sorun Sebep Çözüm
wp-admin’e hiçbir IP’den erişilemiyor Yanlış IP formatı IP’leri kontrol edin (noktaları unutmayın)
Müşteri girişi çalışmıyor Yanlışlıkla /my-account/ engellenmiş FilesMatch içinde sadece wp-login.php ve wp-admin olduğundan emin olun
Cloudflare kullanıyorum, IP’ler çalışmıyor Cloudflare gerçek IP’yi gizliyor Cloudflare gerçek IP ayarı yapın

5. Sık Sorulan Sorular

1. WooCommerce müşterilerim etkilenir mi?

Hayır. Bu kurallar sadece wp-admin ve wp-login.php için geçerlidir. /my-account/ ve /checkout/ sayfaları normal çalışmaya devam eder.

2. Birden fazla IP ekleyebilir miyim?

Evet. Her yeni IP için Allow from [IP] satırı ekleyin. Örneğin:

Allow from 95.70.45.12

3. IP’m değişirse ne olacak?

Dinamik IP kullanıyorsanız, IP değiştiğinde .htaccess dosyasını güncellemeniz gerekir. Sabit IP kullanmanızı öneririz.

Sonuç

WordPress wp-admin erişimini IP ile kısıtlamak, sitenizi brute-force saldırılarına karşı korumanın en etkili yollarından biridir. Bu rehberde anlatılan adımları uygulayarak:

  • Yönetim panelinizin güvenliğini maksimum seviyeye çıkarabilirsiniz
  • Sunucu kaynaklarınızı gereksiz yükten koruyabilirsiniz
  • Müşteri deneyimini etkilemeden güvenlik sağlayabilirsiniz

Unutmayın: Güvenlik katmanlı bir yaklaşım gerektirir. IP kısıtlamasıyla birlikte Wordfence 2FA ve Cloudflare WAF gibi ek önlemler almanızı öneririz.

WooCommerce Güvenliği: .htaccess ile Kritik Dosyaları Koruma

WooCommerce mağazanızı kötü niyetli saldırılardan korumak için .htaccess dosyasını doğru şekilde yapılandırmanız kritik önem taşır. Bu rehberde, hangi WordPress dosyalarını engellemeniz gerektiğini ve müşteri deneyimini nasıl koruyacağınızı adım adım açıklayacağız.

1. Temel Dosya Koruma Kuralları

Aşağıdaki kurallar, en yaygın saldırı vektörlerini engellerken mağaza işlevselliğini korur:

<FilesMatch "^(wp-config\.php|install\.php|wp-login\.php|xmlrpc\.php|debug\.log|error_log)">
Order Allow,Deny
Deny from all
</FilesMatch>
Dosya Neden Engellenmeli?
wp-config.php Veritabanı bilgilerinizi içerir
install.php Yeni WordPress kurulumunu engeller
xmlrpc.php Brute force saldırılarına açıktır

2. WooCommerce Özel Koruma Kuralları

Ödeme Sistemleri için Whitelist

Ödeme gateway’lerinin IP adreslerini izin verilenler listesine eklemeyi unutmayın:

<FilesMatch "^(wc-api\.php|ajax\.php)">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
# İyzico IP'leri
Allow from 185.161.211.88
Allow from 185.161.211.89
</FilesMatch>

Dizin Erişim Kısıtlamaları

# wp-includes dizini
<Directory /wp-includes/>
Order Allow,Deny
Deny from all
</Directory>

# Uploads dizininde PHP çalıştırmayı engelle
<FilesMatch "\.(php|php\.|phtml|phar|exe)$">
Order Allow,Deny
Deny from all
</FilesMatch>

3. Müşteri Deneyimini Korurken Güvenlik

Admin-Ajax için Güvenli Kurallar

WooCommerce’in çalışması için gerekli olan admin-ajax.php’yi tamamen engellemeyin:

RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^https://(www\.)?siteniz\.com [NC]
RewriteRule ^wp-admin/admin-ajax\.php - [F]

Bu kural sadece siteniz dışından gelen istekleri engeller.

Cache Eklentileri için İstisnalar

<FilesMatch "^(wp-rocket\.php|advanced-cache\.php)">
Order Allow,Deny
Allow from all
</FilesMatch>

4. Uygulama Kontrol Listesi

Adım Durum
Temel WordPress dosyaları engellendi
Ödeme sistemleri IP’leri whitelist’e eklendi ❌ (Kendi IP’lerinizi eklemeyi unutmayın)
Uploads dizininde PHP çalışması engellendi
Admin-ajax.php için güvenli kurallar eklendi

Test Etmeden Yayınlamayın!

Bu kuralları uyguladıktan sonra mutlaka:

  1. Sepet ve ödeme işlemlerini test edin
  2. Müşteri girişi ve hesap sayfalarını kontrol edin
  3. Google Analytics’te 403 hatası olup olmadığını izleyin

5. Ek Güvenlik Önlemleri

  • Yönetici giriş URL’sini değiştirin: WPS Hide Login eklentisi kullanın
  • Two-Factor Authentication: Wordfence ile 2FA etkinleştirin
  • Düzenli yedek alın: UpdraftPlus ile günlük yedekler

Son Tavsiye

Kuralları aşamalı olarak ekleyin. Her değişiklik sonrası site fonksiyonlarını test edin. Tüm kuralları bir anda uygulamak kritik işlevleri bozabilir.


image
Başka cihazda görüntüle
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Author: Arif Akyüz

Arif Akyüz - Siber Güvenlik Uzmanı ve Dijital Dönüşüm Lideri 15 yılı aşkın süredir bilişim sektöründe, özellikle siber güvenlik ve dijital dönüşüm alanlarında hizmet veren bir uzmanım. Hem stratejik hem de teknik düzeyde çözümler sunarak organizasyonların güvenlik altyapılarını güçlendiriyor ve dijitalleşme süreçlerini yönetiyorum.