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:

Trasferire il contenuto di una casella di Posta tramite IMAPSync

16 giugno 2011 1 commento

Vedremo come trasferire tutti i messaggi di una casella di posta con supporto imap da un server ad un altro. Si tratta di un operazione relativamente semplice usando una distibuzione Linux.

Il primo passo è quello di installare il programma imapsync. Ecco come fare su Debian/Ubuntu:

#apt-get install imapsync

Una volta installato, ecco una sintassi di esempio per spostare una casella da un server all’altro:

#imapsync –host1 [NomeServer1] –user1 : –password1 [Password1] –host2 [NomeServer2] –user2 [NomeUtente2] –password2 [Password2]

In particolare i valori da inserire sono:

[NomeServer1]: ip o dominio server di origine
[NomeUtente1]:Nome utente server di origine
[Password1]: password server di origine
[NomeServer2]: ip o dominio server di destinazione
[NomeUtente2]: nome utente server di destinazione
[Password2]: password server di destinazione

Imapsync presenta anche molte altre opzioni visualizzabili tramite il comando:

#imapsync –help

L’output generato sarà come questo:

imapsync

The option list :

imapsync [--host1 server1] [--port1 <num>]
[--user1 <string>] [--passfile1 <string>]
[--host2 server2] [--port2 <num>]
[--user2 <string>] [--passfile2 <string>]
[--ssl1] [--ssl2]
[--authmech1 <string>] [--authmech2 <string>]
[--noauthmd5]
[--folder <string> --folder <string> ...]
[--folderrec <string> --folderrec <string> ...]
[--include <regex>] [--exclude <regex>]
[--prefix2 <string>] [--prefix1 <string>]
[--regextrans2 <regex> --regextrans2 <regex> ...]
[--sep1 <char>]
[--sep2 <char>]
[--justfolders] [--justfoldersizes] [--justconnect]
[--syncinternaldates]
[--buffersize <int>]
[--syncacls]
[--regexmess <regex>] [--regexmess <regex>]
[--maxsize <int>]
[--maxage <int>]
[--minage <int>]
[--skipheader <regex>]
[--useheader <string>] [--useheader <string>]
[--skipsize]
[--delete] [--delete2]
[--expunge] [--expunge1] [--expunge2]
[--subscribed] [--subscribe]
[--nofoldersizes]
[--dry]
[--debug] [--debugimap]
[--timeout <int>] [--fast]
[--split1] [--split2]
[--version] [--help]

Per la documentazione ufficiale, consultare quindi la pagina ufficiale:
http://linux.die.net/man/1/imapsync

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”.

Plesk 10.2: /etc/psa/.psa.shadow

30 marzo 2011 Nessun commento

Dalla versione 10.2 di Plesk la password presente dentro :

/etc/psa/.psa.shadow

è stata criptata. Questo è il messaggio del README di plesk:

Starting from version 10.2, Panel encrypts the Administrator’s password before
saving it to /etc/psa/.psa.shadow. For security reasons, only users with root
permissions are able to get the plain password. To obtain the password, such
users should run the following command:

/usr/local/psa/bin/admin –show-password

Quindi per vederla da linea di comando è necessario eseguire da root:

/usr/local/psa/bin/admin –show-password