Archivio

Archivio autore

Prevenire gli attacchi al web con mod_evasive (Apache)

4 settembre 2011 Nessun commento

Forse nessuno sa che esiste un modulo per Apache la cui funzione è quella di abilitare un controllo sulle richieste verso l’intero sito o verso una singola pagina in un arco di tempo prefissato. Quando le richieste superano il limite prefissato il server web comincia a rispondere all’utente con l’IP in questione con un errore del tipo 403 (Forbidden) per un certo periodo anch’esso definibile.

L’installazione del modulo e’ molto semplice:

Su Debian:
apt-get install libapache2-mod-evasive

Su le altre distro (ma anche su Debian):

. scaricare dal sito l’ultima release di mod_evasive
. tar zxvf mod_evasive_XXX.gz
. cd mod_evasive
. su -
. /usr/sbin/apxs -cia mod_evasive20.c

La parte piu’ importante consiste nella configurazione. Io preferisco creare una configurazione dedicata al modulo nel file:

/etc/apache2/conf.d/evasive.conf

al cui interno inserisco queste direttive:


DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10

I parametri sono sostanzialmente i seguenti:

DOSHashTableSize: dimensione della tabella di hash, più è grande più memoria è richiesta, ma più veloce saranno i lookups.

DOSPageCount: numero di richieste, per la stessa pagina, massime concesse prima che l’indirizzo finisca in blacklist.

DOSSiteCount: numero di richieste, per l’intero sito, massime concesse prima che l’indirizzo finisca in blacklist.

DOSPageInterval: l’arco di tempo, in secondi, entro il quale devono rientrare

DOSSiteInterval: l’arco di tempo, in secondi, entro il quale devono rientrare le richieste massime definite nel sitecount.

DOSBlockingPeriod: l’arco di tempo, in secondi, durante il quale verrà restituito un errore di tipo 403 all’ip blacklistato, il timer verrà resettato qualora durante il conteggio l’ip faccia

Una volta creato il file e’ sufficiente fare il restart di apache per rendere operative da subito le funzionalita’ del modulo.

Categorie:Altro Tag:

Modifica massiva password degli account FTP di Plesk

3 giugno 2011 Nessun commento

Se avete la necessita’ di modificare tutte le password degli account FTP di Plesk potete utilizzare via shell il seguente script:

for i in $(mysql -NB psa -uadmin -p`cat /etc/psa/.psa.shadow` -e ‘select login from sys_users;’); do export PSA_PASSWD=`$(openssl rand 6 -base64)` ; /usr/local/psa/admin/bin/usermng –set-user-passwd –user=$i; echo “$i: $PSA_PASSWD” >> ftp_password; done

Lo script in questione genera delle password random per ogni account e il risultato verra’ inserito all’interno della tabella associativa username/password all’interno del file “ftp_password”.

Abilitare la rubrica di horde (Turba) su Plesk per Windows

7 ottobre 2010 Nessun commento

La soluzione e’ semplice:

occorre prima accedere alla cartella:

%plesk_vhosts%\webmail\horde\config

All’interno della stessa rinominare il file registry.php in registry-OLD.php (eccesso di zelo)

Scaricare il file registry.php (decoprimerlo)

Una volta che avete estratto il file registry.php lanciare dal prompt dei comandi (start/esegui/cmd) il seguente comando:

“%plesk_dir%\Additional\php\php.exe” -c %plesk_vhosts%\webmail\horde\php.ini %plesk_vhosts%\webmail\horde\turba\scripts\upgrades\2007-06-17_flatten_shares.php

Categorie:Altro Tag:

Ottenere le password degli FTP user di Plesk

20 settembre 2010 Nessun commento

Per poter visualizzare rapidamente l’elenco di tutti gli utenti FTP e rispettive password in chiaro e’ possibile accedere al database mysql di Plesk da riga di comando:

mysql -u admin -p`cat /etc/psa/.psa_shadow`

Dopodiché si dice a mysql di voler consultare il db “psa”:

mysql> use psa
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

e questo punto possiamo lanciare la query che ci fornirà l’elenco:


SELECT REPLACE(sys_users.home,'/home/httpd/vhosts/','') AS domain, sys_users.login,accounts.password FROM sys_users LEFT JOIN accounts on sys_users.account_id=accounts.id ORDER BY sys_users.home ASC;

In questo modo possiamo vedere anche l cartella di destinazione del singolo account FTP.

Categorie:Altro Tag: