Hushfort

WordPress'te giriş denemelerini nasıl sınırlarım?

Yazan: Eureka Studio · Güncellendi

Kısa yanıt

WordPress herkesin sonsuza kadar parola tahmin etmesine izin verir. Giriş denemelerini sınırlamak için başarısız girişleri bir süre penceresi içinde IP başına sayan ve o IP'yi bir süreliğine kilitleyen bir eklenti kullan; örneğin 5 dakikada 8 başarısız deneme 15 dakika bekleme demek olsun. 2FA ve uygulama parolası hatalarının da sayıldığından emin ol ve kendi IP'ni izin listesine ekle.

Adımlar

  1. 1Adım 1

    Sınırsız tahminin neye benzediğini gör

    Sınır yoksa WordPress her yanlış parolaya, kaç kez sorulursa sorulsun aynı hatayla cevap verir; varsayılan mesaj kullanıcı adının var olduğunu bile doğrular.

    WordPress giriş formuna iki kez yanlış parola yazılmış; WordPress her seferinde demo-admin için parolanın yanlış olduğunu söylüyor ve bir sonraki denemeye izin veriyor
  2. 2Adım 2

    Deneme Sınırı'nı aç ve kuralları belirle

    WordPress'te Hushfort → Sınırlar ve Kısıtlamalar sekmesini aç ve Deneme sınırını aç anahtarını aç. Varsayılanlar: 5 dakika içinde 8 başarısız deneme, ardından 15 dakikalık kilit; 24 saat içinde 4 kilitten sonra kilit 1.440 dakika sürer. Kaydet'e bas.

    Hushfort Sınırlar ve Kısıtlamalar sekmesi: deneme sınırı açık; izin verilen başarısız deneme 8, süre penceresi 5 dakika, kilit süresi 15 dakika
  3. 3Adım 3

    Kendi IP'ni izin listesine ekle ve IP kaynağını kontrol et

    Biraz aşağıda IP kaynağı ayarını yap. "Otomatik (yalnız doğrulanmış proxy başlıkları)", Cloudflare arkasındakiler dahil çoğu siteye uyar. Ardından kendini asla dışarıda bırakmaman için ofis ya da ev IP'ni İzinli IP'ler altına ekle ve kaydet.

    IP kaynağı Otomatik (yalnız doğrulanmış proxy başlıkları) olarak ayarlanmış ve İzinli IP'ler altına 203.0.113.10 eklenmiş
  4. 4Adım 4

    Bir IP kilitlendiğinde e-posta al

    Alarm adresi anahtarını aç ve virgülle ayırarak bir ya da birden fazla adres yaz. Bu anahtar sitede çalışan bir SMTP gerektirir; SMTP yoksa Hushfort seçeneği kapalı tutar ve nedenini söyler.

    Alarm adresi açık, iki uyarı adresi yazılmış ve kaydedilmiş
  5. 5Adım 5

    Sınırın çalıştığını izle

    İzin verilen sayıda başarısız denemeden sonra IP yeni bir deneme hakkı almak yerine kilitlenir. Geçmiş ekranı her aktif engeli denenen kullanıcı adı, deneme sayısı ve engelin bitiş zamanıyla, bir Engeli kaldır düğmesiyle birlikte listeler.

    Hushfort Geçmiş ekranı: üç IP adresi için aktif engeller, denedikleri kullanıcı adları, her birinde 8 deneme ve 15 dakika kalan süre; altında başarısız denemelerin tam geçmişi

Neden önemli

Kaba kuvvet saldırısı sabırdan ibarettir: bir parola dene, tutmazsa sonrakini dene. WordPress buna aldırmaz. Aynı adresten gelen bininci yanlış tahmine de ilki kadar kibarca cevap verir. Bir hesabın parolası zayıfsa ya da başka yerde de kullanılıyorsa iş yalnızca zaman meselesidir.

Bir giriş sınırı hesabı değiştirir. Bir IP on beş dakika beklemek zorunda kalmadan önce yalnızca birkaç deneme yapabiliyorsa, düzgün bir parolayı tahmin etmek saatler yerine yıllar sürer. Ayrıca sunucunu bir bot için giriş sayfasını tekrar tekrar oluşturmaktan kurtarır.

Tek başına kapsamadığı şey. Binlerce IP adresine sahip saldırganlar her birinden birkaç tahmin gönderebilir. Bu yüzden giriş sınırı en iyi, tahmin edilen bir parolayı kod olmadan işe yaramaz hale getiren iki adımlı girişle birlikte çalışır.

Sık yapılan hatalar

  • Yalnızca giriş formunu saymak. Parolalar xmlrpc.php üzerinden, REST API uygulama parolaları üzerinden ve iki adımlı doğrulamanın kod adımında da denenebilir. Bunlar sınıra sayılmıyorsa saldırganlar doğrudan onları kullanır. XML-RPC girişini de kapat; XML-RPC'yi güvenle kapatma rehberine bak.
  • Proxy arkasında yanlış IP'yi okumak. Siten Cloudflare arkasındaysa ve eklenti proxy'nin adresini okuyorsa tek bir bot tüm ziyaretçileri kilitleyebilir. Bunun yerine X-Forwarded-For başlığına körü körüne güveniyorsa bir bot her istekte yeni bir IP uydurabilir ve hiç sayılmaz. Güvenli kural, proxy başlıklarına yalnızca istek gerçekten proxy'den geliyorsa güvenmektir.
  • Fazla uzun kilitler. Üç yazım hatası için 24 saatlik kilit kendi çalışanlarını cezalandırır. İlk kilidi kısa tut, tekrarlanan kilitleri uzat.
  • İzin listesi olmaması. Unutulan bir parola seni asla dışarıda bırakmasın diye kendi sabit IP'ni ekle.

Eklentisiz

WordPress'te her başarısız girişten sonra tetiklenen bir kanca var: wp_login_failed. Başarısız denemeleri bir transient ile sayabilir ve sayı çok yükseldiğinde girişleri reddedebilirsin. Bir must-use eklentisi (wp-content/mu-plugins/login-limit.php) için en sade sürüm:

<?php
add_action( 'wp_login_failed', function () {
    $key = 'll_' . md5( $_SERVER['REMOTE_ADDR'] );
    $n   = (int) get_transient( $key );
    set_transient( $key, $n + 1, 15 * MINUTE_IN_SECONDS );
} );

add_filter( 'authenticate', function ( $user ) {
    $key = 'll_' . md5( $_SERVER['REMOTE_ADDR'] );
    if ( (int) get_transient( $key ) >= 8 ) {
        return new WP_Error( 'too_many', 'Too many failed attempts. Try again later.' );
    }
    return $user;
}, 30 );

İşe yarar ama neleri kaçırdığı konusunda dürüst olalım: yalnızca REMOTE_ADDR okur, yani proxy arkasında proxy'yi sayar; XML-RPC multicall tahminlerini ayrı denemeler olarak saymaz; izin listesi, uyarı e-postası ve kayıt yoktur. Bunların her biri yazılacak ve bakımı yapılacak daha fazla kod demektir.

Bazı barındırma firmaları erişim kaydını izleyen fail2ban gibi sunucu düzeyinde araçlar da sunar. Firman bunu senin için çalıştırıyorsa güçlü bir çözümdür; paylaşımlı hostingde genellikle kuramazsın.

Bir şeyler ters giderse

  • Kendini dışarıda bıraktın. Kilidin bitmesini bekle, mobil veri gibi başka bir ağdan dene ya da başka bir yöneticiden IP'ni izin listesine eklemesini iste.
  • Herkes aynı anda kilitleniyor. Siten büyük ihtimalle bir proxy arkasında ve eklenti proxy'nin IP'sini okuyor. IP kaynağı ayarını değiştir.
  • Hiç kilit oluşmuyor. IP kaynağının botların sahteleyebileceği bir başlığa güvenip güvenmediğini kontrol et. Her deneme farklı bir "IP" gösteriyorsa sebep budur.

İçeri dönmenin tüm yolları için Giriş adresini değiştirdikten sonra dışarıda kaldıysan sayfasına bak.

Hushfort ile

Deneme Sınırı, ücretsiz WordPress güvenlik eklentisi Hushfort Security'nin üzerine kurulan ücretli eklenti Hushfort Pro'nun parçasıdır.

Hushfort'un Deneme Sınırı katmanı başarısız girişleri senin seçtiğin bir süre penceresi içinde IP başına (ya da IP ve kullanıcı adı başına) sayar ve IP'yi senin seçtiğin süre kadar kilitler. 24 saat içinde tekrarlanan kilitler daha uzun bir kilidi tetikleyebilir.

  • Başarısız iki adımlı doğrulama kodları ve başarısız uygulama parolası girişleri de sayılır; tahmin için bir yan kapı kalmaz.
  • Proxy başlıklarına yalnızca istek gerçekten Cloudflare'den ya da özel bir ağdan geliyorsa güvenilir.
  • Uyarı e-postaları listelediğin tüm adreslere gider.
  • Her başarısız ve engellenen deneme filtrelenebilir bir Geçmiş'te görünür.
  • İzin listesi diğer tüm Hushfort katmanlarıyla ortaktır; kendini bir kez eklersin.

Hushfort'u devre dışı bırakmak mevcut tüm kilitleri kaldırır.

Sık sorulan sorular

Kaç giriş denemesine izin vermeliyim?

Birkaç kez yanlış yazan bir insana yetecek kadar, tahmini anlamsız kılacak kadar az. Birkaç dakika içinde 5 ila 10 başarısız deneme ve 15 dakikalık kilit makul bir orta yoldur.

WordPress giriş denemelerini varsayılan olarak sınırlıyor mu?

Hayır. Çekirdek WordPress sınırsız başarısız girişi kabul eder. Bazı barındırma firmaları sunucu düzeyinde bir sınır ekler, kendi firmana sor; ama buna güvenemezsin.

Bir giriş sınırı beni kendi sitemin dışında bırakabilir mi?

Yanlış yazmaya devam edersen bırakabilir. Kendi IP'ni izin listesine ekle ya da kilidin bitmesini bekle. Başka bir yönetici de IP'ni izin listesine ekleyebilir.

Giriş denemelerini sınırlamak kaba kuvvet saldırısını durdurmaya yeter mi?

Tahmini kaplumbağa hızına düşürür ama çok sayıda IP adresi olan saldırganlar denemelerini dağıtabilir. İki adımlı giriş, güçlü parolalar ve XML-RPC girişini kapatmakla birleştir.

Cloudflare arkasında kilitler neden yanlış kişilere denk geliyor?

Bir proxy arkasında her ziyaretçi proxy'nin IP'sinden geliyormuş gibi görünebilir. IP kaynağını, eklentinin gerçek IP başlığına yalnızca istek gerçekten o proxy'den geldiğinde güveneceği şekilde ayarla.

Hata bildir ya da özellik iste

Mesajın doğrudan Hushfort’u geliştiren ekibe gider.

Konu ne?

Yalnızca sana yanıt vermek için kullanılır.

Bu bilgileri yalnızca sana yanıt vermek için kullanırız. Gizlilik