Qualcuno sta cercando di hackerare il mio server PHP

0

Oggi, al mattino presto. Il mio server dedicato stava rallentando perché c'erano numerose richieste in arrivo.

Un errore che ricordo è un messaggio di MYSQL, ha detto qualcosa di simile a, max_number_of_connections superato.

Sembra strano perché il sito su cui sto lavorando non è ancora stato lanciato, questo enorme traffico era irragionevole.

Quando sono andato a vedere i numeri degli utenti online, era anche enorme. Uno stesso indirizzo IP stava tentando di accedere ai miei collegamenti (come 1000 link al secondo). La maggior parte di loro ha restituito 404. Non li ho salvati né mi sono ricordato che i link strani erano mostrati.

Sono andato a cPelel il mio server PHP, per vedere che error_log è enorme (l'ultimo giorno era 4.0 KB):

Continua a ingrandirsi, sono stato in grado di estrarlo, sembra che sia lo schema ripetuto.

[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252

Sembra che l'errore sia stato stampato milioni di volte, ha fatto finora error_log 1.7 GB.

Che cosa posso fare? C'è un modo semplice per bloccare un indirizzo IP usando un software per interrompere il mio server?

    
posta George Chalhoub 24.08.2014 - 00:42
fonte

1 risposta

2

Penso che ci siano problemi più grandi in gioco, perché uno dei log sembra suggerire che c'è un problema con l'applicazione causato da un file che non può essere aperto. Il fatto che ci fossero dozzine di log tutti all'interno dello stesso secondo implica che questo errore si verifica anche più volte nella stessa richiesta. Questo può o non può contribuire al rallentamento del tuo sito, l'ordinamento è probabilmente una domanda per un altro sito SE.

Come ho accennato nel mio commento sopra, il problema potrebbe anche essere più relativo alla tua applicazione rispetto ai (probabilmente) bot che fanno richieste al tuo sito. Se una certa risorsa può essere esaurita da un volume relativamente piccolo di richieste, la tua applicazione è vulnerabile a un attacco DOS. Potrebbe essere necessario cercare i colli di bottiglia nell'applicazione, utilizzare le risorse in modo più efficiente o limitare chi può accedere a determinate funzionalità (ad esempio tramite un CAPTCHA).

In termini di mitigazione, ecco alcune opzioni:

  • Blocca l'IP, preferibilmente tramite un firewall esterno, ma in caso contrario dovresti essere in grado di utilizzare una regola .htaccess . Se si tratta di un attacco mirato e non di un malfunzionamento di un bot isolato, probabilmente questo sarà uno spreco di tempo perché l'hacker modificherà il proprio IP.

  • Aggiungi un firewall per applicazioni Web (WAF). CloudFlare è un prodotto relativamente popolare che include un WAF e può essere utilizzato gratuitamente.

  • Contatta il tuo host web. Visto che stai usando cPanel, presumo che tu sia solo un cliente dell'hosting condiviso. Il tuo host dovrebbe essere responsabile di garantire che la rotazione del registro funzioni e potrebbe anche aiutarti a bloccare il traffico non valido.

risposta data 25.08.2014 - 13:00
fonte

Leggi altre domande sui tag