Archivio

Posts Tagged ‘Apache’

Blocca lo spam sul tuo forum e gli attacchi al sito con mod_spamhaus

7 settembre 2009 Nessun commento

apachemod_spamhaus e’ un modulo per il server web apache che utilizza le DNS-based Blackhole List per bloccare l’inoltro di spam via contact form o sui forum, le URL injection ed attacchi DDoS. Piu’ generalmente possiamo dire che ‘protegge’ il servizio web negando o limitando l’accesso ad indirizzi ip presenti nelle DNSBL.
L’installazione puo’ essere effettuata scaricando il pacchetto precompilato oppure compilando il sorgente del modulo.
Con la distribuzione Ubuntu (jaunty jackalope) bastera’ eseguire questo comando per installare il modulo e passare direttamente nella sezione dell’articolo dedicata alla configurazione del web server:

apt-get install libapache2-mod-spamhaus

Queste sono invece le istruzioni per compilarlo da sorgente:

- Scaricare il modulo dal sito http://sourceforge.net/projects/mod-spamhaus/

oppure con l’applicazione ‘wget’ dalla shell

wget http://downloads.sourceforge.net/project/mod-spamhaus/mod-spamhaus/0.7/mod-spamhaus-0.7.tar.gz

Decomprimere l’archivio

tar zxvf mod-spamhaus-0.7.tar.gz

Compilarlo in questo modo

cd mod-spamhaus
make

N.B. Per compilare mod_spamhaus viene utilizzata l’applicazione ‘apxs2′ (APache eXtension). Se non e’ presente nel vostro sistema dovrete installarla. Per chi utilizza la distribuzione Debian bastera’ digitare “apt-get install apache2-prefork-dev”

Per installare sul sistema i dati compilati eseguire

make install

Adesso dovremo abilitare il modulo aggiungendo nella configurazione del web server (/etc/apache2/httpd.conf per Debian) questo:

LoadModule spamhaus_module   /usr/lib/apache2/modules/mod_spamhaus.so

Non ci rimane che configurarlo!
Queste sono le direttive ammesse:

MS_Methods – Il metodo http che bisogna controllare, ad esempio POST,GET,ecc.
MS_WhiteList – Qui puo’ essere immesso il percorso di un eventuale file di whitelist contenente gli indirizzi ip da ignorare
MS_DNS -
l’indirizzo della DNSBL da utilizzare
MS_CacheSize – Numero degli indirizzi ip da mettere in cache
MS_CustomError – Messaggio di errore restituiro all’utente in caso di blocco

Aprire quindi la configurazione del web server ed inserire questo:

<IfModule mod_spamhaus.c>
MS_METHODS POST
MS_CacheSize 256
</IfModule>

Riavviare infine apache

/etc/init.d/apache2 restart

Riavvio di apache fallito

2 settembre 2009 2 commenti

Può capitare, specialmente su server con un alto traffico, che il riavvio del web server fallisca con un errore del tipo:

failed: No space left on device

Se lo spazio non è realmente terminato, il problema è sicuramente legato ai semafori di apache.

Con il seguente comando potete verificare se sono rimasti attivi alcuni semafori :

ipcs -s

—— Semaphore Arrays ——–
key        semid      owner      perms      nsems
0×00000000 1835008    www-data  600        1
0×00000000 1867777    www-data  600        1
0×00000000 1900546    www-data  600        1
0×00000000 1933315    www-data  600        1

A questo punto potete cancellare i semafori rimasti attivi con il comando:

for i in `ipcs -s | awk ‘/www-data/ {print $2}’`; do (ipcrm -s $i); done

Nel caso volessimo aumentare le capacità del nostro webserver:

vi /etc/sysctl.conf

aggiungere le seguenti variabili:

kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024

per far caricare le impostazioni al kernel direttamente:

sysctl -p

Per vedere se il kernel ha preso le nuove impostazioni:

ipcs -l

—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

—— Semaphore Limits ——–
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767

—— Messages: Limits ——–
max queues system wide = 1024
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384

Per approfondimenti:

kernel-msgmni, kernel-sem

Velocizzare i siti utilizzando mod_deflate di Apache

1 settembre 2009 Nessun commento

apache

Attivando questo modulo sara’ possibile comprimere i dati trasferiti dal vostro sito al browser web del visitatore, velocizzando cosi’ l’apertura delle pagine web ed utilizzando minor banda di connessione. Se state utilizzando la distribuzione linux Debian potrete abilitare mod_deflate con questo comando:

a2enmod deflate

Nella configurazione di apache (/etc/apache2/httpd.conf ) bastera’ scrivere:

<IfModule mod_deflate.c>

SetOutputFilter DEFLATE

DeflateMemLevel 9

DeflateWindowSize 15

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/x-httpd-php application/xhtml+xml application/xml

</IfModule>

 

Non ci resta che riavviare apache per convalidare le nuove impostazioni:

/etc/init.d/apache2 restart

Bloccare gli attacchi al vostro sito con un file .htaccess

28 agosto 2009 4 commenti

Gran parte degli attacchi viene effettuata da un bot che utilizza una collezione di moduli scritti in Perl per interfacciarsi con il Web, chiamata libwww.
Per impedire l’accesso al vostro sito da parte di questi script, bastera’ creare un file chiamato ‘.htaccess’ memorizzando al suo interno queste direttive:

SetEnvIfNoCase User-Agent “^libwww” libwwwbot
SetEnvIfNoCase User-Agent “^libwww-perl” libwwwbot

<Limit GET POST>
Order Allow,Deny
Allow from all
Deny from env=libwwwbot
</Limit>

N.B. E’ necessario che sul server web apache sia installato il modulo “mod_setenvif”