Effettuare il load/stress test di un web server con Siege e Sproxy

Il load/stress test di un server web è una verifica molto importante, per capire se e come un sito web funziona al crescere delle richieste.
Praticamente viene simulata la navigazione da parte di molti utenti contemporanei, e si verificano i tempi di risposta delle varie pagine web ed anche i codici di risposta per capire se il server inizia a restituire pagine con errori.

Il tool più semplice da poter utilizzare è ab (apache benchmark), fornito con il server web apache. Oggi però parliamo di Siege e di Sproxy.
Siege è il tool vero e proprio per fare il test, mentre Sproxy serve a raccogliere le pagine web che Siege richiamerà durante il test.

Leggi tutto

Inviare un messaggio di prova ad un server syslog

Potrebbe essere necessario testare il funzionamento di un server syslog per la raccolta di dati remoti. C’è un comando che permette di inviare un messaggio di prova e poter così verificare se il server funziona o meno. Basta lanciare dal proprio terminale il comando:

ed automaticamente il messaggio verrà inviato al server syslog con … Leggi tutto

NFS e firewall

Attivare un firewall su un server NFS richiede una piccola configurazione del servizio NFS, per fissare le porte da utilizzare in modo da poterle aprire nel firewall. In particolare, NFS viene esportato sulle porte 111 (tcp/udp) e 2049 (udp) e poi altre due porte random per nlockmgr e mountd. Per fissare quest’ultime due porte, bisogna: … Leggi tutto

fail2ban e blocco permanente dopo n tentativi

Di fail2ban ho già parlato diverse volte: è un software che effettua un controllo nei vari log di sistema e se rileva qualche anomalia (es tentativi di accesso ssh non autorizzati), provvede a bloccare l’IP sorgente.

Di default, fail2ban, blocca temporaneamente l’IP sorgente ed il tempo può essere modificato con la direttiva bantime nel file /etc/fail2ban/jail.conf.

Leggi tutto

fail2ban e mod-security

Sicuramente conoscerete fail2ban (ho già scritto diversi articoli) ed anche mod-security. Il primo effettua controlli periodici nei files di log alla ricerca di particolari messaggi, es errori ripetuti di accesso ssh, e provvede a bloccare l’IP sorgente creando una regola in iptables. Il secondo invece è un modulo per apache che controlla le richieste fatte al server web alla ricerca di tentativi di intrusione, sql injections, etc.
Normalmente accade che mod-security provvede a scrivere nel file di log i tentativi di exploit, solo che i tentativi potrebbero continuare all’infinito, finché manualmente non si vanno a controllare i file di log. Potrebbe quindi tornare utile una nuova regola per fail2ban in modo da controllare anche il file di log di mod-security e bloccare gli IP relative alle richieste anomale verso il server web.

Leggi tutto

Memorizzare le sessioni PHP in memcached

Come sicuramente saprete (se state leggendo questo post) PHP utilizza le sessioni (dei files su disco) per mantenere informazioni relative alla navigazione di ogni utente. Questo permette ad esempio di poter “passare” da una pagina all’altra del sito delle informazioni (es i privilegi di accesso) senza che questi dati vengano ogni volta inviati al browser e rimandati al server: il server li conserva nel file delle sessioni e li recupera ogni volta che viene richiamata una nuova pagina dallo stesso utente.

Questo meccanismo però non funziona se si utilizzano più server web “dietro” un load-balancer, perché ovviamente ogni server web avrebbe il suo file delle sessioni che non conterrebbe le informazioni degli altri server. Una soluzione molto rudimentale e poco performante, potrebbe essere quella di utilizzare una condivisione NFS per conservare i files delle sessioni per tutti i server. C’è però una soluzione molto più efficiente, scalabile e performante: memorizzare le sessioni in memcached

Leggi tutto

Eseguire più comandi in modo sequenziale con CRON

Cron è un sistema molto utilizzato su Linux che consente di eseguire comandi a determinati orari (o eventi).
Le regole vanno inserite nel file /etc/crontab oppure in altri files affinché i comandi vengano eseguiti in momenti particolari (ogni giorno, ogni settimana, ogni mese) o ancora se si vogliono raggruppare per tipologia di software utilizzato.

Leggi tutto

Come funziona la rete su VirtualBox

Le modalità di gestione della rete su VirtualBox sono quattro: Network Address Translation (NAT) Bridged networking Internal networking Host-only networking NAT con Port-forwarding Network Address Translation (NAT) Questa è la modalità predefinita per le nuove VM ed è da preferire nella maggior parte delle situazioni in cui il guest è di tipo “client” (nel senso … Leggi tutto

Fare un benchmark del sistema con sysbench per valutarne le performance

Sysbench è un ottimo prodotto che permette di fare benchmark di diversi servizi attivi sulla propria linuxbox.L’installazione di sysbench si può fare con il classico: apt-get install sysbench Iniziamo con i benchmark. Benchmark della CPU sysbench –test=cpu –cpu-max-prime=20000 run Questo test restituisce un valore total time: che può essere paragonato con altri sistemi. Benchmark di … Leggi tutto