WordPress Xmlrpc.php Nedir Nasıl Devre Dışı Bırakılır Tüm Yöntemleri ile Ayrıntılı Anlatım
WordPress, kullanıcılarına sunduğu esneklik ve geniş kapsamlı özellikler ile popüler bir içerik yönetim sistemi olmuştur. Bu özelliklerden biri de XML-RPC protokolüdür.
XML-RPC,
WordPress
siteniz ile üçüncü taraf uygulamaların ve hizmetlerin iletişim kurmasını sağlayan bir arabirimdir.
Özellikle mobil uygulamalar, uzaktan yazı gönderme ve diğer API tabanlı hizmetler için kullanılır. Ancak, bu protokol aynı zamanda güvenlik açıklarına da sebep olabilir.
Özellikle brute force saldırıları ve DDoS saldırıları gibi tehditler, XML-RPC’nin kötüye kullanılmasından kaynaklanabilir. Bu yazıda, XML-RPC’nin ne olduğunu, hangi durumlarda devre dışı bırakılması gerektiğini ve tüm yöntemleri ile nasıl devre dışı bırakılacağını ayrıntılı olarak ele alacağız.
Xmlrpc.php Nedir
XML-RPC, HTTP’nin bir tür taşıma mekanizması ve XML’nin kodlama mekanizması şeklinde çalışarak veri transferine imkan sağlayan bir WordPress özelliğidir.
WordPress, kapalı bir sistem olmadığından ve ara ara diğer sistemlerle iletişime geçmesi gerektiğinden, bu işi gerçekleştirmesi için xmlrpc.php dosyası düşünülerek kullanılmaya başlandı.
xmlrpc.php ile akıllı telefonlar vasıtasıyla tıpkı bilgisayarınızdaki gibi uzak sunucu üzerinden bağlantı gerçekleştirebilir ve yazılarınızı bu sayede yayımlayabilirsiniz. Aynı zamanda diğer sitelerden geri izlemeye ve jitpack eklentisinin bazı özelliklerini kullanmanıza olanak tanır.
Xmlrpc.php’nin Kullanım Amacı
xml-rpc.php uygulaması daha WordPress olmadan öncede varlığını sürdürmekteidi.
İnternetin ilk zamanlarında, bağlantılar inanılmaz derecede yavaşken internette yazı yazma ve yayınlama çok zahmetli ve zaman alan bir işlemdi. web Tarayıcılar üzerinde yazmak yerine, çoğu kişi offline olarak yazılarını hazırlar ardından bu içeriği kopyala yapıştır yöntemiyle web sitesinde yayımlardı. bu şekilde yazı yayımlama hala kullanılmaktadır. bizzat kendim bu şekilde yazılarımı hazırlar ve yayımlarım. eskiden gelen bir alışkanlık olsa gerek.
Çözüm (o zamanlarda), içeriğinizi hazırlayıp ardından yayınlayabilmek için blogunuza bağlanan offline bir blog istemcisi oluşturmak oldu. Bu bağlantı XML-RPC aracılığıyla sağlandı. XML-RPC’nin basit sistemi oluşturulduğunda, ilk uygulamalar bu bağlantıyı kullanarak insanların WordPress web sitelerine diğer cihazlardan ulaşabilmelerini sağladı.
Günümüzde Xmlrpc.php
2008 yılında WordPress 2.6 sürümüile birlikte XML-RPC’yi etkinleştirme veya devre dışı bırakma seçeneği eklendi. Ancak WordPress iPhone uygulamasının yayınlanmasıyla birlikte, XML-RPC desteği varsayılan olarak etkinleştirildi ve kapatma seçeneği ayarlardan kaldırıldı.
WordPress çekirdeğinde hala xmlrpc.php uygulaması varsayılan olarak kullanılmakta, ancak gün geçtikçe bu uygulamanın etkisi azalarak bir ihtiyaç halinden uzaklaşmaktadır.
Xmlrpc.php nin Geleceği
Yeni WordPress APIsı ile, XML-RPC’nin tamamen ortadan kaldırılması beklenmektedir. Günümüzde, bu yeni API hala deneme aşamasında ve sadece bir eklenti aracılığıyla etkinleştirilmektedir.
Fakat, gelecekte API’in doğrudan WordPress çekirdeğine kodlanacağını bekleyebiliriz, bu sayede xmlrpc.php dosyasına ihtiyaç tamamen ortadan kalkmış olacaktır.
Yeni API kusursuz değil, ancak xmlrpc.php’nin çözdüğü sorunun altından kalkabilmek için çok daha güçlü ve güvenli bir yöntem olacağı kanaatindeyiz.
WordPress Xmlrpc.php’yi Neden Devre Dışı Bırakmalısınız
XML-RPC’nin en büyük sorunu, ortaya çıkan güvenlik endişeleridir. Sorun doğrudan XML-RPC ile alakalı değil ancak bu dosya kullanılarak nasıl web sitenize brute force saldırıları yapılabileceğidir.
Elbette kendinizi aşırı güçlü şifrelerle ve WordPress güvenlik eklentileriyle koruyabilirsiniz. Ancak en iyi korunma yöntemi, basitçe bu dosyayı devre dışı bırakmak olacaktır.
XML-RPC’nin geçmişte istismar edildiği başlıca iki zayıflığı bulunmaktadır.
- web sitenize erişim kazanmak için brute force saldırılarının kullanımı. Saldırgan xmlrpc.php dosyasını kullanarak şifre ve kullanıcı adı kombinasyonları deneme suretiyle web sitenize erişim sağlamaya çalışıyor. Sadece bir komut kullanarak yüzlerce farklı şifre deneyebiliyorlar. Bu sayede genellikle brute force saldırılarını tespit ederek önüne geçebilen güvenlik araçlarını atlayabiliyorlar.
- web sitenizin bir DDoS saldırısıyla kapatılması. Ardından saldırganlar WordPress’deki pingback özelliğini kullanarak binlerce siteye eş zamanlı olarak geri pingleme gerçekleştiriyor. Xmlrpc.php’deki bu özellik, saldırganlara DDoS saldırısın dağıtımı için neredeyse sınırsız sayıda IP adresi sağlamaktadır.
WordPress Xmlrpc.php Devre Dışı Bırakma Yöntemleri
xmlrpc.php’yi devre dışı bırakmak için birden fazla yöntem bulunmaktadır. Bu yöntemleri sırasıyla yazımızda yer vereceğiz. bu yöntemlerden birini tercih ederek tamamen ve ya kısmi birşekilde xmlrpc.php dosyasını devre dışı bırakabilirsiniz.
Eklenti Kullanarak Xmlrpc.php Dosyasını Devre Dışı Bırakma
Şüphesizki eklenti kullanarak WordPress’te bir çok işlemi kolaylıkla gerçekleştirebilirsiniz. bu yöntemde xmlrpc.php dosyasını devre dışı bırakmanın en kolay yoludur.
Disable xmlrpc
eklentisini kullanarak xmlrpc.php dosyasını devre dışı bırakabilirsiniz. bu eklenti gerekli kodu sizin için otomatik olarak ekler.
Kullanmış olduğunuz bazı eklentilerin özellikleri sebebiyle çeşitli sorunlar ile karşılaşmanız durumunda xmlrpc.php’nin belli özelliklerini kapatmanıza olanak sağlayan eklentilerde mevcuttur.
xmlrpc.php’nin belirli özelliklerini kullanmak istiyorsanız eğer aşağıdaki eklentileri tercih edebilirsiniz.
- Stop XML-RPC Attac
Bu eklenti tüm XML-RPC saldırılarını durdurur ancak Jetpack gibi diğer otomatik araç ve eklentilerin xmlrpc.php dosyasına erişim sağlamasına izin verir. - Control XML-RPC publishing
Bu eklenti size xmlrpc-php tarafından sunulan uzaktan yayınlama özelliğini kullanabilme ve kontrol etme imkanı sağlar.
Xmlrpc.php Dosyasını Manuel Olarak Devre Dışı Bırakma
Eğer bir eklenti kullanmadan manuel olarak yapmak istiyorsanız, bu yöntemi uygulayın. Bu sayede gelecek olan tüm xmlrpc.php taleplerini WordPress’e ulaşmadan kapatabilirsiniz.
.htaccess dosyanızı açın. Bu dosyayı bulabilmek için dosya yöneticisinde veya FTP istemcisinde ‘gizli dosyaları göster’ seçeneğini etkinleştirmeniz gerekebilir.
.htaccess dosyası içine aşağıdaki kodu yapıştırın:
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from 123.123.123.123
Ayrıca bu işlemi php komutları ile yapabilmeniz mümkündür. ilgili php komutlarını functions.php dosyasına uygun yere ekleyin.
Lütfen bakınız
php kod:
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
Bu kod ile Xmlrpc.php dosyasını kapatabilirsiniz.
Sonuç
XML-RPC, WordPress sitenizin üçüncü taraf uygulamalar ile entegrasyonunu sağlarken, aynı zamanda güvenlik riskleri de taşır. Bu nedenle, eğer bu protokolü kullanmıyorsanız veya güvenlik endişeleriniz varsa, XML-RPC’yi devre dışı bırakmak mantıklı bir adım olabilir.
Bu yazıda, XML-RPC’nin ne olduğu ve neden devre dışı bırakılması gerektiğini açıkladık. Ayrıca, .htaccess dosyasını düzenlemekten eklentiler kullanmaya kadar çeşitli yöntemlerle XML-RPC’yi nasıl devre dışı bırakabileceğinizi ayrıntılı bir şekilde anlattık.
Sitenizin güvenliğini artırmak için bu adımları uygulayarak, olası saldırılara karşı daha korunaklı hale gelebilirsiniz. Güvenli bir WordPress deneyimi için XML-RPC’yi devre dışı bırakmanın önemini göz ardı etmemeniz, sitenizin ve kullanıcılarınızın güvenliği açısından büyük önem taşımaktadır.