Red Kit

WFN Üye
Konular
718
Mesajlar
718
Çözüm
0
Ticaret Puanı
0
Üyelik
25 Gün
Konum
Adana
Web Sitesi
Var
Alanı
Makale Yazarı
1/1
Konu sahibi
XML-RPC’yi kullanan bir uygulamanız veya entegrasyonunuz yoksa xmlrpc.php dosyasına dış erişimi web sunucusunda engelleyin; ardından gerçek site adresine istek göndererek kuralı doğrulayın. Kullanıyorsanız tamamen kapatmak yerine erişimi güvenilir istemcilerle sınırlayın veya istek hızını güvenlik duvarında kontrol edin. Böylece meşru bağlantıları gereksiz yere kesmeden saldırı yüzeyini daraltabilirsiniz.

XML-RPC, harici uygulamaların WordPress ile iletişim kurmasını sağlayan bir arayüzdür. Bu arayüze yönelik parola denemeleri ve pingback istekleri kötüye kullanılabilir. Aşağıdaki engel, yalnızca bu giriş noktasını hedefler; sitenin diğer giriş yollarını veya bütün saldırıları durdurmaz.

Engellemeden önce kullanımı belirleyin​

Siteye bağlanan yayınlama uygulamalarını, eklentileri ve üçüncü taraf servisleri gözden geçirin. Bir entegrasyonun XML-RPC kullanıp kullanmadığından emin değilseniz sağlayıcısına sorun ve değişiklikten sonra bağlantıyı sınayın. Engelleme bu arayüzü kullanan hizmetleri durdurabilir.

Kararınızı şu ayrıma göre verin:
DurumUygun yaklaşım
XML-RPC kullanılmıyorUç noktaya erişimi tamamen engelleyin.
Belirli istemciler kullanıyorMümkünse yalnız güvenilir kaynaklara izin verin.
İstemci adresleri sabit değilGüvenlik duvarında istek hızı ve kötüye kullanım kuralları uygulayın.
İzin listesi kullanacaksanız servis sağlayıcısının doğruladığı güncel IP adreslerini esas alın. Güvenlik duvarı veya CDN kullanıyorsanız doğrudan sunucu adresine erişimin kuralı aşmaması için sunucu tarafındaki erişimi de barındırma sağlayıcınızla değerlendirin.

Apache üzerinde erişimi engelleyin​

Bu örnek Apache 2.4 ve .htaccess yetkilendirme kurallarına izin veren bir kurulum içindir. Nginx veya farklı bir sunucu kullanıyorsanız bu dosyadaki kuralı genel bir çözüm olarak kabul etmeyin; sunucu yapılandırmasında ya da güvenlik duvarında eşdeğer engel uygulanmalıdır.
  1. Dosya yöneticisi veya SFTP ile WordPress’in kurulu olduğu dizine, yani xmlrpc.php dosyasının bulunduğu yere erişin. Mevcut .htaccess dosyasının bir yedeğini alın.
  2. Dosyayı açın ve mevcut WordPress kurallarını silmeden, onların dışına aşağıdaki bloğu ekleyin. Dosya yoksa aynı dizinde oluşturun.
  3. Dosyayı kaydedin ve aşağıdaki testleri çalıştırın. Site genelinde 500 hatası oluşursa yedeği geri yükleyin; sunucunun hata günlüğündeki ilgili kaydı inceleyin.
Kod:
<Files "xmlrpc.php">
    Require all denied
</Files>

Bu kural ilgili dosyaya erişimi reddetmeyi amaçlar. Barındırma yapılandırması .htaccess dosyasını dikkate almıyorsa veya başka bir sunucu katmanı isteği farklı ele alıyorsa tek başına etkili olmayabilir. XML-RPC dosyasını silmek yerine erişimi kuralla sınırlamak, engeli daha sonra kaldırmayı da kolaylaştırır.

Engeli test edin ve sonucu yorumlayın​

Komut satırında aşağıdaki örnek adresi kendi sitenizin gerçek adresiyle değiştirin. WordPress bir alt dizindeyse o dizini de yola ekleyin. Önce normal sayfanın, sonra XML-RPC uç noktasının yanıtını inceleyin:

Bash:
curl -i https://ornek.com/
curl -i -X POST https://ornek.com/xmlrpc.php

Normal sayfa çalışırken XML-RPC isteğinin 403 Forbidden dönmesi, test edilen adresten erişimin reddedildiğini gösterir. Bu sonuç tek başına bütün alternatif alan adlarının veya doğrudan sunucu adresinin de korunduğunu kanıtlamaz; kullanılıyorsa onları da yetkiniz dahilinde sınayın. İsteklerin erişim günlüğünde hangi durum koduyla göründüğüne bakın.

Uç nokta 200 ya da XML-RPC’ye ait bir yanıt veriyorsa engel beklenen biçimde uygulanmamış olabilir. Doğru alan adını ve WordPress dizinini kullandığınızı, dosyanın kaydedildiğini ve sunucunun Apache olup .htaccess kurallarını işlediğini kontrol edin. 404 yanıtı ise test edilen adreste dosyanın bulunmadığını veya başka bir katmanın isteği farklı işlediğini gösterebilir; tek başına kuralın çalıştığını kanıtlamaz.

Sorun sürerse barındırma sağlayıcısına test edilen yol, denemenin zamanı, görülen HTTP durum kodu ve varsa ilgili hata günlüğü kaydıyla başvurun; xmlrpc.php erişiminin hangi katmanda engellendiğinin doğrulanmasını isteyin. Günlük paylaşırken parola, oturum bilgisi ve diğer hassas verileri çıkarın.

XML-RPC kullanılıyorsa korumayı daraltın​

Tam engel yerine sunucu veya güvenlik duvarında yalnız gerekli istemcilere erişim tanıyın. Sabit kaynak adresleri yoksa xmlrpc.php yoluna gelen istekler için hız sınırlaması ve şüpheli trafiği engelleme kuralları uygulayın; eşiği meşru uygulamanızın çalışma düzenini bozmayacak şekilde belirleyin. Ardından uygulamayla gerçek bir bağlantı veya yayınlama denemesi yapın ve engellenen istek kayıtlarını izleyin. Hız sınırlaması tek başına başarılı parola denemelerini bütünüyle önlemez; hesaplarda güçlü ve benzersiz parolalar kullanın.

Yalnız xmlrpc_enabled filtresini kapatmak, XML-RPC uç noktasını bütünüyle kapatmaz. Bu filtre kimlik doğrulaması gerektiren XML-RPC yöntemlerini etkiler; pingback gibi kimlik doğrulaması gerektirmeyen yöntemleri veya dosyaya gelen istekleri genel olarak engellemez. Amacınız uç noktayı tamamen kapatmaksa sunucu veya güvenlik duvarı düzeyindeki engeli kullanın.
 
Moderatör tarafında düzenlendi:

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic