- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- Apache2 su Server Virtuale: cpu al 99%, errore di configurazione?
-
Mi dispiace se sono lunghissimi ... comunque ...
Vedete qualcosa di strano !?
Come posso capire perchè i demoni di apache2 sono così grassi?
-
L'unica cosa che potrebbe dar vita a problemi è memory_limit impostato a 64M.
Questo succederebbe però se gli script php fossero scritti con i piedi. Quindi alla fine la responsabilità cade su wordpress.
Un'altra cosa fondamentale è di reimpostare il KeepAlive a On, infatti ad off il web server viene spremuto di più.
Poi MaxRequestsPerChild a 5000 è esagerato. E' normale che con 5000 richieste contemporanee ogni istanza di apache occupi quintali di memoria.
Infine deve analizzare il traffico che questi siti hanno, perchè non è detto che si tratti di un malfunzionamento, ma semplicemente del fatto che il server fisico non ce la fa.
E c'è da tenere in conto che potresti essere sotto DDOS, quindi ti conviene pure analizzare i log di apache e/o quelli del sistema operativo e del firewall.
-
@paolino said:
L'unica cosa che potrebbe dar vita a problemi è memory_limit impostato a 64M.
Questo succederebbe però se gli script php fossero scritti con i piedi. Quindi alla fine la responsabilità cade su wordpress.
Immagino tu ti riferisca ad un garbage collector ...
Non ci avevo pensato. Lo riduco subito, l'avevo messo così per ridurre "via web" delle immagini uploadate troppo grandi in una galleria e poi non ho più riportato il valore a livelli normali.@paolino said:
Un'altra cosa fondamentale è di reimpostare il KeepAlive a On, infatti ad off il web server viene spremuto di più.
Poi MaxRequestsPerChild a 5000 è esagerato. E' normale che con 5000 richieste contemporanee ogni istanza di apache occupi quintali di memoria.
Infine deve analizzare il traffico che questi siti hanno, perchè non è detto che si tratti di un malfunzionamento, ma semplicemente del fatto che il server fisico non ce la fa.
E c'è da tenere in conto che potresti essere sotto DDOS, quindi ti conviene pure analizzare i log di apache e/o quelli del sistema operativo e del firewall.
Col KeepAlive Off ho visto notevoli miglioramenti ...
MaxRequestsPerChild prima era a 0, 5000 è sicuramente meglio.
Cosa mi consigli? 1000?p.s. la risposta è sì, sono sotto attacco perchè il server è nuovo, ricevo 2000 tentativi di login errati da root al giorno (e infatti ho disabilitato l'utente root) e google sta ri-ciucciando tutti i siti perchè si è accorto che è cambiato l'ip del server.
Anche via GET ho visto dei log enormi (al dilà dei motori di ricerca) nei primi giorni.
-
@Nokao said:
Col KeepAlive Off ho visto notevoli miglioramenti ...
brutto segno....il keep-alive serve per indicare al web server di mantenere aperta la connessione col client evitando così di riavviare una nuova sessione ogni volta che il client chiede una nuova pagina o un'immagine su una certa pagina, ecc...
se peggiora mettendolo a On vuol dire che o hai un traffico esagerato o sei sotto attacco
MaxRequestsPerChild prima era a 0, 5000 è sicuramente meglio.
Cosa mi consigli? 1000?lo porterei ad almeno 500, zero indica infinito
p.s. la risposta è sì, sono sotto attacco perchè il server è nuovo, ricevo 2000 tentativi di login errati da root al giorno (e infatti ho disabilitato l'utente root) e google sta ri-ciucciando tutti i siti perchè si è accorto che è cambiato l'ip del server.
Anche via GET ho visto dei log enormi (al dilà dei motori di ricerca) nei primi giorni.dovresti verificare questa situazione allora
innanzitutto se gli attacchi sono diretti alla porta 80 può essere una noia ma niente di grave ( però occhio alle vulnerabilità di wordpress )
se l'attacco è rivolto alla porta 22 invece, temo che ci siano degli host infettati nella stessa rete del tuo server e la cosa potrebbe finire in un hacking con tanto di rootkit installato
-
[...]
-
@paolino said:
brutto segno....il keep-alive serve per indicare al web server di mantenere aperta la connessione col client evitando così di riavviare una nuova sessione ogni volta che il client chiede una nuova pagina o un'immagine su una certa pagina, ecc...
se peggiora mettendolo a On vuol dire che o hai un traffico esagerato o sei sotto attacco
Probabilmente allora ogni volta che ho trovato apache2 impallato ero stato attaccato, però preferisco usare più memoria e cpu che perdere il controllo del server ... quindi credo lo terrò Off ...
@paolino said:
lo porterei ad almeno 500, zero indica infinito
Si lo so ... e, appunto, 5000 è meglio di infinito.
Adesso lo metto subito a 500, grazie.Magari con le request per child a 2-300 posso anche rimettere a On il keepalive ...
@paolino said:
dovresti verificare questa situazione allora
innanzitutto se gli attacchi sono diretti alla porta 80 può essere una noia ma niente di grave ( però occhio alle vulnerabilità di wordpress )
se l'attacco è rivolto alla porta 22 invece, temo che ci siano degli host infettati nella stessa rete del tuo server e la cosa potrebbe finire in un hacking con tanto di rootkit installato
No gli ip erano pubblici, e li ho messi in blacklist su iptables.
Erano i soliti 3 cretini ben-noti che si trovano anche con google:
-A INPUT -s 122.160.182.244 -j DROP
-A INPUT -s 207.178.132.24 -j DROP
-A INPUT -s 140.117.32.240 -j DROPAdesso gli attacchi sulla 22 sono finiti a parte qualche stupidaggine.
-
Nokao cambia la porta di default dell'sshd.
-
@Flame Networks said:
Nokao cambia la porta di default dell'sshd.
Lo farò se qualcuno capirà con che utente sudoer mi connetto.
Finchè provano con "root" perdono solo tempo, la risposta è "no" anche se azzeccano la password.
Il mio problema è apache ... però ora ho cambiato la configurazione in questo modo:
KeepAlive On MaxKeepAliveRequests 50 KeepAliveTimeout 5 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 80 MaxRequestsPerChild 500 </IfModule>
Considerando che ho solo applicazioni in WordPress (pesanti) ho pensato di lasciare pochi demoni ciccioni che portano a termine il loro lavoro piuttosto che tanti un pò più deboli.
Adesso quindi ho 150 mega di RAM liberi su 1 giga, però siccome ho messo MaxSpareServers a 10, e sono tutti e 10 aperti, sono sicuro che più o meno la situazione non dovrebbe peggiorare.In PHP la memory massima è per forza 40MB, con 24 certi siti vanno in errore e non posso rischiare.
-
Lascerei il KeepAlive ad Off e comunque modificherei la porta dell'sshd.
Ci sono molti software che effettuano bruteforce sulla porta di default dell'sshd, se la cambi ne guadagni sicuramente in sicurezza.
-
Consiglierei oltre a quello l'utilizzo dei certificati, di gran lunga più sicuri. Purtroppo i bot trovano senza problemi anche la nuova porta di SSH, solo questione di piu tempo