Come modificare IP a server SMTP in blacklist

Può capitare di dover usare un indirizzo IP secondario del nostro server Linux per collegarsi ad un server remoto su una determinata porta.

È utile nel caso in cui l’IP del server di posta SMTP è stato messo in una blacklist per un problema temporaneo di spam (virus, furto di credenziali, web hacking).
Dopo aver risolto il problema che ha causato lo spam, possiamo far utilizzare al nostro SMTP uno degli IP secondari del server per aggirare le blacklist, dando così il tempo all’IP principale di “ripulirsi”. Per fare ciò è sufficiente configurare il source NAT con iptables.


iptables -t nat -A POSTROUTING -p tcp --dport 25 -j SNAT --to-source xx.xx.xx.xx

dove xx.xx.xx.xx è un IP secondario del server.
Ora la posta risultarà partire dall’IP secondario, senza aver modificato la configurazione del server di posta.

È importante accertarsi che l’IP secondario abbia una risoluzione DNS inversa e diretta configurate correttamente, onde evitare che la nostra posta non venga accettata dal server destinatario.

Come simulare una connessione lenta

Può capitare a volte di voler simulare una connessione lenta. Ad esempio per analizzare meglio la performance di un sito web che si sta sviluppando in locale.

Come sappiamo i motori di ricerca (soprattutto Google) prediligono i siti veloci, pertanto con una connessione lenta possiamo valutare meglio le ottimizzazioni che applichiamo al sito. Ogni secondo risparmiato può farci guadagnare posizioni nelle serp.

Linux permette di simulare una connessione lenta con il modulo netem del kernel usando il comando tc. Ad esempio:


# tc qdisc add dev eth0 root netem delay 300ms 30ms
# tc qdisc change dev eth0 root netem loss 0.10%

Questi comandi aggiungeranno un ritardo casuale tra 300ms e 30ms e una perdita di pacchetti dello 0.10% per l’interfaccia eth0.
Molti altre funzioni e esempi sono visibili qui.

Consiglio anche questo programma in Java multipiattaforma che funziona da “slow proxy” http://www.dallaway.com/sloppy/

Potete contattarmi per consigli su come ottimizzare un sito web.

Attenzione all’aggiornamento di awstats in Plesk 10 e Centos 5

Recentemente ho avuto una brutta sorpresa aggiornando i pacchetti di un server Centos 5 con Plesk 10.4.4.

Il sistema di statistiche awstats ha smesso di funzionare. La causa è stata l’aggiornamento del pacchetto awstats-7.0-12012611.swsoft con l’aggiornamento di Centos awstats-7.0-2.el5.rf.

Ho risolto il problema rimuovendo brutalmente il pacchetto di Centos e reinstallando il pacchetto del Plesk.


rpm -e --nodeps awstats 
wget http://64.131.90.31/PSA_10.4.4/dist-rpm-CentOS-5-x86_64/contrib/awstats-7.0-12012611.swsoft.noarch.rpm 
rpm -ivh awstats-7.0-12012611.swsoft.noarch.rpm 

Come risolvere “mod_fcgid: read data timeout in 40 seconds” in centos 5

Nella versione di mod_fcgid di centos 5 sembra esserci un bug che causa l’errore


mod_fcgid: read data timeout in 40 seconds

nei VirtualHost a prescindere dal valore di IPCCommTimeout e IPCConnectTimeout configurato in /etc/httpd/conf.d/fcgid.conf

In rete ho trovato una soluzione che consiste nell’inserire in ogni VirtualHost i parametri IPCCommTimeout e IPCConnectTimeout, ma per me ha funzionato il semplice inserire come primo VirtualHost il seguente codice:


<VirtualHost *:80>
Include conf.d/virtualfcgi.conf
</VirtualHost>

e modificare i parametri di mod_fcgi all’interno del file /etc/httpd/conf.d/virtualfcgi.conf


<IfModule mod_fcgid.c>
IdleTimeout 3600
ProcessLifeTime 7200
MaxProcessCount 64
DefaultMaxClassProcessCount 8
IPCConnectTimeout 300
IPCCommTimeout 7200
BusyTimeout 300
</IfModule>