Salta al contenuto
Nessun risultato
Maurizio Pelizzone
  • Info
  • Blog
  • wordpress
  • maker
  • newsletter
  • musica
  • cinema
  • fotografia
Maurizio Pelizzone
  • Blog
  • About me
  • WordPress
  • Maker
  • Newsletter
  • Altro
    • musica
    • cinema
    • fotografia
Maurizio Pelizzone

WordPress: Evitare “brute force” via .htaccess

  • .:: Maurizio Pelizzone.:: Maurizio Pelizzone
  • 18 Aprile 2012
  • security, wordpress
  • better securityhide loginhtaccesssnippetwordpress plugin

Sempre più spesso dando un’occhiata ai log di sistema vedo attacchi “brute force” sulle pagina di login standard (wp-login.php) di WordPress.
Su alcuni sito sono arrivato ad avere centinaia di tentativi al giorno ma fortunatamente avendo password alfanumeriche da 12 caratteri e non usando l’utente “admin” di default non mi sono mai preoccupato più di tanto.

 

Nel tempo però mi sono reso conto di due grossi problemi problemi:

  1. Banda e sovraccarico del server: in questo caso e stato semplice intervenire e plugin come Simple Login Lockdown hanno reso la cosa molto semplice. In pratica dopo un numero configurabile di tentativi falliti, per un periodo di tempo altrettanto configurabile, viene bloccato l’IP impedendo l’accesso alla pagina.
    Io lo avevo configurato in modo che dopo 3 tentativi venisse bannato per 4 ore.
  2. Utenti Utonti: Questo è stato il problema più grave. Dato che nella maggior parte dei casi non sono io l’utilizzatore del sito ma il mio lavoro termina creado le credenziali per gli utenti che andranno ad operare, succede che per alcuni una password alfanumerica sia troppo complicata. Ecco quindi che di loro iniziativa la modificano con delle robe tipo “la data di nascita del figlio” perchè così è più facile da ricordare. La soluzione a questa “esigenza imprescindibile” l’ho trovata modificando e nascondendo l’url della pagina di login.
    Inizialmente ho usato “hide login” e successivamente anche “better security” ma alla fine ho preferito preparare uno snippet (che trovatre qui sotto) da mettere manualmente nel file .htaccess evitando in questo modo che il plugin possa essere disattivato.

Se volte implementarlo nel nostra installazione vi lascio solo alcune avvertenze in quanto prima di usarlo vanno modificate alcune variabili che sono dipendenti dal vostra configurazione.

[key] = chiave di controllo per il login – es. “0agw7afK” (2 sostituzioni)
[custom-login-path] = nuovo url per la pagina di login – es. “custom-login” (2 sostituzioni)

Attenzione: Prima di metterlo in produzione vi consiglio di provarlo localmente e di fare un backup del vostro precedente .htaccess. (non mi assumo responsabilità).

Rimango comunque disponibile nel caso doveste avere problemi o vogliate segnalarmi come migliorarlo.

—
update: maggio 2015
ho aggionto il file riducendo il numero di variabili

.:: Maurizio Pelizzone

.:: Maurizio Pelizzone

Sono Maurizio Pelizzone, mi occupo di #wordpress per lavoro realizzando siti, temi e plugin personalizzati.
Quando serve faccio anche consulenza e formazione a distanza su WordPress, Woocommerce e Gutenberg

13 commenti

  1. asd

    asd

    3 Maggio 2012 / 11:19 am

    Ma la bella patata a che serve solo ad attirare traffico?
    Ma fai il serio scusa è

  2. Mar

    Mar

    4 Gennaio 2013 / 7:56 pm

    Lo snippet funziona anche troppo bene, quello che non riesco a capire e come far sì che io possa accedere alla url di login, grazie alla Key. Devo scrivere la stringa in maniera particolare nel browser?

  3. .:: Maurizio Pelizzone

    Maurizio Pelizzone

    5 Gennaio 2013 / 11:31 am

    @ASD, funzione prettamente “ornamentale” 😀

    @MAR
    teoricamente in un’installazione standard dovresti accedere con una url del genere:
    http://www.nomesito.com/wp-login.php?hide_in_key=12345&redirect_to=/wp-admin/

    (dove 12345 è la nostra chiave)

    nel tempo penso di aver migliorato questo script è qui ne trovi una versione più aggiornata: https://gist.github.com/3003290

    qui anche alcune slide in cui ho parlato di questa tecnica: http://maurizio.mavida.com/2012/11/26/wordpress-hardening/

  4. Mar

    Mar

    6 Gennaio 2013 / 4:48 pm

    Grazie, testerò nei prossimi giorni 🙂

  5. mino

    mino

    11 Febbraio 2014 / 11:05 am

    Ciao,

    inizio con il rigraziarti per il tuo condividere e ti faccio i miei complimenti per il tuo creare…

    Sto provando questa tecnica ma non capisco dove sbaglio, funziona tutto, ossia viene bloccato l’accesso a wp-admin e wp-login ma non a login ho tenuto conto del tuo aggiornamento sto usando “.htaccess | vanillia installation” limitato a questa sola parte.

    Hai qualche prezioso consiglio da darmi :-)?

  6. mino

    mino

    11 Febbraio 2014 / 11:38 am

    Ok ho capito! Grazie al tuo video

    http://youtu.be/LtksvHORoNg

    perdona la mia sterminata ignoranza 🙂

    Grazie ancora!

  7. Stefano

    Stefano

    16 Maggio 2015 / 10:39 am

    Ciao Maurizio,
    complimenti per l’articolo! Ti chiedo solo una cosa: per facilitare l’accesso agli “utenti” cosa ne pensi di sistemi di login con autenticazione tipo Clef?

  8. .:: Maurizio Pelizzone

    .:: Maurizio Pelizzone

    16 Maggio 2015 / 11:08 am

    In generale sono assolutamente a favore dell’autenticazione a due fattori ma non lo vedo applicabile a tutte le realtà sopratutto in considerazione del livello medio degli utenti.

  9. Enrico

    Enrico

    22 Ottobre 2015 / 9:51 am

    Ciao Maurizio,
    ho provato a modificare il mio file .htaccess con il tuo snippet. Dopo i primi minuti in cui tutto sembrava funzionare alla grande il server ha cominciato a restituirmi un errore 500. Ho risolto inserendo un file .htaccess “vuoto”. Non ho assolutamente capito il motivo dell’errore e del perché non si è presentato subito. Per onestà devo dirti che sono autodidatta del mondo internet e ci sono ancora parecchie cose che devo imparare. Grazie in anticipo.

  10. .:: Maurizio Pelizzone

    .:: Maurizio Pelizzone

    23 Ottobre 2015 / 9:46 am

    Ciao Enrico,
    per aiutarti dovrei vedere cosa hai scritto nel tuo htaccess (magari tramite screenshot)

    potrebbe anche essere solo un problema di sintassi dovuto ad un copia ed incolla sbagliati o ad una sostituzione sbagliata dei valori tra le parentesi quadre.

    infine come ultimo consiglio prova ad eliminare una riga alla volta per capire quale genera il problema

  11. Renato

    Renato

    31 Luglio 2017 / 5:05 pm

    Ciao, mi sono imbattuto in questo articolo ed è stato amore a prima vista, la sicurezza del login passando solo per l’.htaccess senza plugin senza parole… sono andato a cercare il file su github, e pi iol tuo intervento al wordcamp di Bologna su youtube (mitico FTP Brutto)…
    Mi chiedevo, visto le date di pubblicazione, il tutto è ancora valido è “sicuro”? e poi visto la mia non eccelsa dimistichezza con codici e affini la “loginkey=12345g&redirect” (che ho ovviamente cambiato) a cosa serve? io ho personalizzato il login e ci vado direttamente digitando cicciologin, ma la key non mi viene mai chiesta e se scrivo wp-admin mi riindirizza alla home, sbaglio qualcosa?
    Scusa se ti ho tempestato di domande, grazie del tuo lavoro e delle risposte (se vorrai darmele)

  12. .:: Maurizio Pelizzone

    .:: Maurizio Pelizzone

    1 Agosto 2017 / 9:20 am

    la loginkey (che devi cambiare due volte sia alla riga 5 che alla riga 11) serve solo come chiave per verificare che l’utente sia passato dal link corretto.
    il redirect che viene effettuato in modo trasparente dall’htaccess reindirizza con la chiave ma se arrivo su wp-login senza quella chiave (accesso diretto) vengo ributtato in home…

  13. Renato

    Renato

    4 Agosto 2017 / 4:05 pm

    continua però ad esserci una stranezza se vado a “cicciologin” mi indirizza correttamtente se cambio o tolgo un carattere per esempio cicciologn mi rimanda all’hone ma se scrivo qualsiasi cosa dopo ciccilogin che sò cicciologinvattelapesca mi indirizza al wp-admin …
    come mai?

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Magari ti interessa...

blocksy 2 migliore tema wordpress

Blocksy 2.0 – il tema WordPress perfetto

blocksy

Blocksy: il miglior tema per WordPress

wordpress current user filter

WordPress: Visualizzare solo i “contenuti” di cui si è autore

Sezioni principali

  • wordpress
  • maker
  • musica
  • cinema
  • fotografia
  • Progetti
  • Wishlist

Ultimamente ho scritto:

Pulizie di Primavera 2026: Vibe Coding e WordCamp Torino

tra codice & plastica

Almeno una è andata

Coloni di catan stampato in 3D

Nuovo Bambu Studio 1.8.2

I miei primi 20 anni di WordPress

Programmi 3d gratuiti

Bambu Lab confronto e differenze tra P1P P1S X1

Blocksy 2.0 – il tema WordPress perfetto

Elenco categorie

  • blogopalla (28)
  • cinema (13)
  • fatti … e pugnette (49)
  • featured (42)
  • fotografia (4)
  • google analytics (3)
  • humor (59)
  • maker (21)
  • musica (15)
  • newsletter (1)
  • pensieri … e parole (139)
  • review (21)
  • security (14)
  • segnalazioni (97)
  • software (89)
  • sviluppo (122)
  • tutorial (57)
  • videogames (16)
  • web e tecnologia (30)
  • wordpress (100)
  • Info
  • Blog
  • wordpress
  • maker
  • newsletter
  • musica
  • cinema
  • fotografia