Come posso recuperare da un sito di WordPress compromesso e prevenire futuri attacchi?

3

Ho un server dedicato che esegue WordPress e di recente ho notato che è stato violato e PHPShell è stato caricato un controller del server web remoto. Questo ha permesso all'hacker di visualizzare e modificare i file incluso il mio database!

Da allora ho eliminato la cartella PHPShell. Modificate tutte le password possibili (database, account utente, FTP, disattiva SSH ecc.) E di recente ha ottenuto l'accesso di nuovo!

Tuttavia penso che originariamente fosse in grado di caricarlo tramite il plugin Akismet dopo aver controllato i miei registri:

xx.xxx.208.130 - - [05/Feb/2014:02:18:29 -0600] "GET /phpshell-2.4/ HTTP/1.0" 403 1431 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"

xx.xxx.208.130 - - [05/Feb/2014:02:17:47 -0600] "POST /wp/wp-content/plugins/akismet/.!31.php HTTP/1.0" 200 17503 "https://example.com/wp/wp-content/plugins/akismet/.!31.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36" .!31.php

Eliminando i dettagli sopra sembra che sia stato in grado di caricare questo PHPShell attraverso il plugin Akismet. Ho contattato i loro sviluppatori e sono stato informato che /akismet/.!31.php non faceva parte del pacchetto originale e che l'hacker avrebbe potuto creare questo come un'esca. Prima di eliminare il plug-in Akismet e andare a https://example.com/wp/wp-content/plugins/akismet/.!31.php , sei stato in grado di caricare ed eseguire file sul server, attraverso il mio firewall!

DEVO togliere questo hacker dal mio server. Ho lanciato scanner timthumb e non ho trovato nulla. Dove altro inizio?

    
posta user40132 15.02.2014 - 15:41
fonte

2 risposte

10

Quando viene compromesso, la scelta migliore è di eliminarla dall'orbita. Rimuovi tutti i file dal tuo sito, ricarica da un'immagine pulita conosciuta. Se non si dispone di un'immagine pulita conosciuta, reinstallare nuovamente e migrare sui record del DB dopo aver verificato che siano validi. Sposta le risorse immagine e tutte le risorse personalizzate dopo aver controllato attentamente che non sono state compromesse.

Assicurati di mantenere aggiornato il tuo server e usa solo plugin affidabili. Assicurati che le autorizzazioni della cartella siano impostate correttamente in modo che il pubblico non possa scrivere nella cartella del tuo contenuto wp.

Probabilmente vale anche la pena usare l'addon di WordFence come meccanismo di sicurezza aggiuntivo. Anche se non catturerà tutto, analizzerà i plug-in popolari per assicurarsi che non siano stati alterati. Probabilmente questo avrebbe rilevato il tuo secondo compromesso, ma non è così sicuro come nuking dall'orbita o revisione manuale del codice. Aiuterà anche a fornire notifiche quando WordPress o un Addon non è aggiornato.

    
risposta data 15.02.2014 - 21:08
fonte
4

Mi concentrerò sulla seconda parte della domanda:

and prevent future attacks?

In sostanza, cosa puoi fare per evitare attacchi futuri è:

  • mantieni aggiornato il tuo Wordpress

considera l'utilizzo di aggiornamenti automatici, aggiungendo questa tranquillità di codice in wp-config.php

add_filter( 'auto_update_plugin', '__return_true' );

o aggiornamento automatico per tutti i temi:

add_filter( 'auto_update_theme', '__return_true' );

Ulteriori informazioni sugli aggiornamenti automatici che puoi trovare qui: link

  • seleziona una password sicura e cambia il tuo nome utente se è admin
  • limitare i tentativi di accesso, utilizzando alcuni plugin o mi piace usare fail2ban
  • considera l'utilizzo dell'autenticazione a due fattori per una migliore sicurezza di WordPress
  • ripulisci il tuo sito Wordpress eliminando temi o plug-in non utilizzati
  • assicurati che le autorizzazioni per file e cartelle siano corrette

Ecco come impostare le autorizzazioni correttamente:

find /path/to/your/wordpress/ -type d -exec chmod 755 {} \;
find /path/to/your/wordpress/ -type f -exec chmod 644 {} \;
  • usa SSL per la tua pagina di accesso (puoi utilizzare una firma autofirmata o gratuita da letsencrypt)

link

E considera le opzioni di sicurezza dal tuo lato server:

  • proteggi il tuo php, disabilitando le pericolose funzioni PHP
  • installa un firewall per applicazioni Web (Modsecurity)
  • effettua il backup del tuo sito web
risposta data 19.04.2016 - 19:42
fonte

Leggi altre domande sui tag