Baruwa Setup · 14 min read · Dec 25, 2025
Il Perfetto SpamSnake - Ubuntu Jeos 10.10 Maverick Meerkat - Pagina 3
8. Baruwa
Scarica il pacchetto deb personalizzato di baruwa:
cd /usr/src
wget baruwa_1.0.1-2sn_all.deb Aggiornato 021811
wget baruwa-doc_1.0.1-2_all.deb
gdebi baruwa*.debTi verrà chiesto di configurare il database di baruwa per il logging, inclusi un nome utente e una password di accesso, che saranno utilizzati dagli script di Baruwa. Ti verrà anche chiesto di configurare le informazioni dell’utente admin per il frontend di Baruwa.
vi /usr/share/pyshared/baruwa/settings.pyCambia l’hosturl di Quarantine a tuo piacimento:
QUARANTINE_REPORT_HOSTURL = 'http://baruwa-alpha.local'vi /opt/MailScanner/etc/MailScanner.confDevi assicurarti che le seguenti opzioni siano impostate:
Always Looked Up Last = &BaruwaSQL
Is Definitely Not Spam = &BaruwaWhitelist
Is Definitely Spam = &BaruwaBlacklist
Required SpamAssassin Score = &BaruwaLowScore
High SpamAssassin Score = &BaruwaHighScore Aggiornamento di Baruwa
*Nota: Questa sezione è solo per coloro che eseguono una versione precedente di Baruwa. Salta questo se stai eseguendo un’installazione fresca.
Scarica l’ultimo pacchetto deb di baruwa:
cd /usr/src
wget baruwa_1.0.2-4sn_all.deb Aggiornato 052011
wget baruwa-doc_1.0.2-4_all.deb
gdebi baruwa*.debQuando ti verrà chiesto di configurare il database mysql, seleziona no. Riutilizzeremo il database e le impostazioni attuali.
Assicurati che /usr/share/pyshared/baruwa/settings.py sia configurato con le informazioni corrette del database prima di connetterti, altrimenti la tua connessione fallirà.
vi /usr/share/pyshared/baruwa/settings.pyDATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' o 'oracle'.
DATABASE_NAME = 'baruwa' # O percorso al file del database se utilizzi sqlite3.
DATABASE_USER = 'baruwa' # Non utilizzato con sqlite3.
DATABASE_PASSWORD = 'password' # Non utilizzato con sqlite3.
DATABASE_HOST = '' # Imposta a stringa vuota per localhost. Non utilizzato con sqlite3.
DATABASE_PORT = '' # Imposta a stringa vuota per predefinito. Non utilizzato con sqlite3.*Nota: A causa di alcuni conflitti minori durante l’aggiornamento, potrebbero essere necessari questi passaggi per aggiornare correttamente baruwa.
Se /opt/MailScanner è stato rimosso:
ln -s /opt/MailScanner-version /opt/MailScanner
rm -r /etc/MailScanner
ln -s /opt/MailScanner/etc /etc/MailScanner
ln -s /opt/MailScanner/lib/MailScanner/CustomFunctions /etc/MailScannerAssicurati di aggiornare la tua stringa di connessione al database in /etc/MailScanner/CustomFunctions/*.pm.
Infine, esegui
manage.py syncdbRiavvia Uwsgi e Nginx
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartBaruwa dovrebbe essere aggiornato a 102-4sn.
Aggiornamento di Baruwa 102-4 a 111-3sn
Installa Rabbitmq-Server 2.2.0 e configura db/utente/password:
cd /usr/src
wget http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu/pool/main/r/rabbitmq-server/rabbitmq-server_2.2.0-1~maverick0_all.deb
gdebi rabbit*vi /etc/rabbitmq/rabbitmq.conf per legare a localhost:
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1Aggiungi le credenziali del database:
rabbitmqctl add_user baruwa password
rabbitmqctl add_vhost baruwa
rabbitmqctl set_permissions -p baruwa baruwa ".*" ".*" ".*"Riavvia rabbitmq-server:
/etc/init.d/rabbitmq-server restartAggiungi fonti per Baruwa 1.1.1-3 e installa le dipendenze:
wget -O - http://apt.baruwa.org/baruwa-apt-keys.gpg | apt-key add -vi /etc/apt/sources.list
#baruwa
deb http://apt.baruwa.org/ubuntu maverick mainInstalla le dipendenze:
apt-get update
apt-get install python-django-celery python-importlib*Nota: Il comando sopra dovrebbe installare tutte le dipendenze per Baruwa.
Scarica e installa Baruwa1.1.1-3sn:
mkdir /usr/src/baruwa1113 && cd /usr/src/baruwa1113
wget https://docs.google.com/open?id=0B9cN15Q3pKnwY2YyMmMwOTQtNGJkMi00ZDc2LWFjMjMtY2UxMzFlYWY5Mzk2
mv open* baruwa_1.1.1-3sn_all.deb
wget https://docs.google.com/open?id=0B9cN15Q3pKnwODk2OGViYmMtMGZmYS00NmJjLTkwZWUtNTJjYTQ1YzAzOTg1
mv open* baruwa-doc_1.1.1-3sn_all.deb
gdebi baruwa_1.1.1-3sn_all.deb
gdebi baruwa-doc_1.1.1-3sn_all.deb*Nota: Installa la versione dei file del manutentore del pacchetto quando richiesto. Seleziona no per configurare mysql poiché stiamo aggiornando da una versione precedente.
Correggi il symlink per settings.py:
rm –r /usr/share/pyshared/baruwa/settings.py && ln –s /etc/baruwa/settings.py /usr/share/pyshared/baruwa/vi /etc/baruwa/settings.py e correggi la configurazione del database di baruwa:
DATABASES = {
'default': {
# Aggiungi 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3'
# o 'oracle'.
'ENGINE': 'django.db.backends.mysql',
# O percorso al file del database se utilizzi sqlite3.
'NAME': 'baruwa',
# Non utilizzato con sqlite3.
'USER': 'baruwa',
# Non utilizzato con sqlite3.
'PASSWORD': 'password',
# Imposta a stringa vuota per localhost. Non utilizzato con sqlite3.
'HOST': '',
# Imposta a stringa vuota per predefinito. Non utilizzato con sqlite3.
'PORT': '',
}
}Aggiorna la struttura del database di Baruwa:
baruwa-admin syncdb --noinputEsegui una migrazione fittizia per avviare un aggiornamento:
for name in $(echo "accounts messages lists reports status config"); do
baruwa-admin migrate $name 0001 --fake;
doneEsegui la migrazione normale:
for name in $(echo "accounts messages lists reports status fixups config"); do
baruwa-admin migrate $name;
donevi /etc/MailScanner/MailScanner.conf cambia i seguenti:
Run As Group = celeryd
Quarantine User = celeryd
Quarantine Group = celerydvi /etc/MailScanner/conf.d/baruwa.conf:
Quarantine User = postfix #(O qualunque sia impostato il tuo `Run As User`)
DB DSN = DBI:mysql:database=baruwa;host=localhost;port=3306 #imposta su DSN valido
DB Username = baruwa # il tuo nome utente DB
DB Password = password # la tua password DBvi /etc/init.d/mailscanner e cambia le voci di gruppo da www-data a celeryd:
check_dir /var/spool/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/lib/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/run/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/lock/subsys ${user:-root} ${group:-root} #Richiesto per creare la cartella
check_dir /var/lock/subsys/MailScanner ${user:-postfix} ${group:-celeryd}
start-stop-daemon --start --quiet --nicelevel $run_nice --chuid postfix:celeryd --exec $DAEMON --name $NAME -- $DAEMON_ARGS \Aggiungi l’utente celeryd al gruppo clamav:
usermod -a -G celeryd clamavCambia la proprietà del gruppo della cartella di quarantena e del contenuto:
chgrp -R celeryd /var/spool/MailScanner/quarantineSe intendi utilizzare le firme, inizializzala eseguendo:
baruwa-admin initconfigAltrimenti, disabilita le opzioni in /etc/MailScanner/conf.d/baruwa.conf:
#Inline HTML Signature = htmlsigs.customize
#Inline Text Signature = textsigs.customize
#Signature Image Filename = sigimgfiles.customize
#Signature Image  Filename = sigimgs.customizeRiavvia il sistema e goditi Baruwa 111-3sn.
9. Nginx con Uwsgi
Scarica e installa sia Nginx che Uwsgi dal Launchpad di Chris Lea:
wget https://launchpad.net/~chris-lea/+archive/nginx-devel/+files/nginx_1.0.0-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-common_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-extra_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-python2.6_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi_0.9.6.6-1chl1%7Emaverick1_all.deb
apt-get install libsctp1
dpkg -i nginx*
dpkg -i uwsgi*Usa i seguenti file di configurazione per uwsgi e nginx:
vi /etc/uwsgi/uwsgi-python2.6/baruwa.ini[uwsgi]
socket = /var/run/uwsgi/uwsgi-python2.6/baruwa/baruwa.sock
pythonpath = /usr/share/pyshared/baruwa/
master = true
processes = 2
env = DJANGO_SETTINGS_MODULE=baruwa.settings
module = django.core.handlers.wsgi:WSGIHandler()vi /etc/nginx/sites-available/baruwa.conf server {
listen 80;
server_name example.com;
root /usr/share/pyshared/baruwa;
#registro di accesso principale
access_log /var/log/nginx/access.log;
#registro di errore principale
error_log /var/log/nginx/error.log;
location /static {
root /usr/share/pyshared/baruwa/static/;
}
# risorse statiche
location ~* ^.+\.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
{
expires 30d;
break;
}
location / {
uwsgi_pass unix:///var/run/uwsgi/uwsgi-python2.6/baruwa/baruwa.sock;
include uwsgi_params;
}
}*Nota: Assicurati di cambiare example.com in un FQDN che corrisponda alla tua configurazione.
Rimuovi l’host virtuale predefinito e copia uwsgi_params:
rm -r /etc/nginx/sites-enabled/default
cp /usr/share/doc/uwsgi-extra/nginx/uwsgi_params /etc/nginx/uwsgi_params
ln -s /etc/nginx/sites-available/baruwa.conf /etc/nginx/sites-enabled/baruwa.confRiavvia i servizi:
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartDovresti essere a posto.
Imposta i lavori Cron
Crea un symlink a manage.py:
ln -s /usr/share/pyshared/baruwa/manage.py /usr/bin/manage.py
chmod +x /usr/bin/manage.pyAggiungi i lavori cron:
@daily manage.py cleanquarantine &> /dev/null #Pulisci la quarantena
@daily manage.py sendquarantinereports &> /dev/null #Invia rapporti di quarantena
@monthly manage.py dbclean &> /dev/null #Pulisci il maillog
@weekly manage.py updatesarules &> /dev/null #Aggiorna le regole di spamassassin
@daily manage.py sendpdfreports &> /dev/null #Invia rapporti PDFAvvia MailScanner:
/etc/init.d/mailscanner startPunta il tuo browser a http://hostname_used accedi con l’utente admin e la password e inizia a lavorare. Ora puoi utilizzare l’interfaccia per aggiungere utenti e processare messaggi, ecc.
Istruzioni di configurazione per Baruwa
Accedi a Baruwa come admin –> Impostazioni –> Account –> Crea Account
Una volta creato l’account utente, riceverai due nuove schede su quella pagina, Impostazioni del profilo e Indirizzi associati.
Compila le Impostazioni del profilo scegliendo Admin di dominio e imposta un punteggio basso di 6 e un punteggio alto di 9 e controlla la scansione delle email.
Clicca sul segno + sotto Indirizzi associati e inserisci un dominio per il quale l’utente è l’amministratore, ad esempio. domain.com. domain.com apparirà sotto Indirizzi associati.
Clicca su domain.com e verrai portato nelle Informazioni sul dominio, dove potrai configurare le informazioni di consegna SMTP. Procedi ad aggiungere il server smtp di ricezione, o l’ip del server smtp di ricezione. Seleziona abilita e se utilizzi una porta non standard, impostala, altrimenti usa 25. Una volta fatto, puoi cliccare sul pulsante di test accanto alla matita, per vedere se il tuo server di ricezione accetterà la connessione.
Ora, puoi disconnetterti come admin e accedere come l’utente che hai appena configurato e le email dovrebbero iniziare a fluire.
Le impostazioni relay_recipients, relay_domains e transports in /etc/postfix/main.cf utilizzeranno le voci che hai fornito in Baruwa. Pertanto, non è necessario alcun file hash.
Le query associate nei file cf mysql estrarranno il risultato nel formato corretto e lo forniranno a postfix per l’uso.
Tuttavia, se desideri utilizzare un hash per uno dei tuoi file di configurazione, utilizza il seguente come esempio di come configurare /etc/postfix/main.cf:
relay_recipient_maps = hash:/etc/postfix/relay_recipientsNaturalmente, dovresti creare il file hash, popolarlo e postmap per l’uso di postfix.
*Nota: Se finisci per utilizzare hash per relay_recipients per domini specifici, dovrai rimuovere quel dominio da /etc/postfix/access. Tutti gli altri utenti di dominio possono ancora essere verificati utilizzando look_ahead
Inoltre, se hai bisogno di eseguire ricerche mx, dovrai modificare la query in /etc/postfix/mysql-transports.cf per apparire come:
concat('smtp:', mail_hosts.address, ':', port) 'transport'I [ e ] sono stati rimossi per consentire le ricerche MX.
Goditi Baruwa!
10. Installa e configura SPF
Il pacchetto postfix-policyd-spf-perl dipende dai moduli Perl Mail::SPF e NetAddr::IP.
Dobbiamo scaricare postfix-policyd-spf-perl da http://www.openspf.org/Software nella directory /usr/src/ e installarlo nella directory /usr/lib/postfix/ in questo modo:
cd /usr/src
wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.007.tar.gz
tar xvfz postfix-policyd-spf-perl-2.007.tar.gz
cd postfix-policyd-spf-perl-2.007
cp postfix-policyd-spf-perl /usr/lib/postfix/policyd-spf-perlPoi modifichiamo /etc/postfix/master.cf e aggiungiamo il seguente stanzone alla fine:
vi /etc/postfix/master.cfpolicy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/lib/postfix/policyd-spf-perl(Le spaziature iniziali prima di user=nobody sono importanti affinché Postfix sappia che questa riga appartiene alla precedente!)
*Nota: Abbiamo già aggiunto l’entry per main.cf utilizzando lo script di configurazione di postfix.
Poi riavvia Postfix:
/etc/init.d/postfix restartEcco fatto.
11. Installa e configura FuzzyOcr
FuzzyOCR ha alcune dipendenze come ocrad e gocr che possiamo installare in questo modo:
apt-get install fuzzyocr netpbm gifsicle libungif-bin gocr ocrad libstring-approx-perl libmldbm-sync-perl libdigest-md5-perl libdbd-mysql-perl imagemagick tesseract-ocr
wget http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-3.6.0.tar.gz
tar xvfz fuzzyocr-3.6.0.tar.gz
cd FuzzyOcr-3.6.0/Quindi FuzzyOCR è ora installato, ora dobbiamo configurarlo. Il file di configurazione di FuzzyOCR è /etc/spamassassin/FuzzyOcr.cf. In quel file quasi tutto è commentato. Apriamo ora quel file e apportiamo alcune modifiche:
vi /etc/spamassassin/FuzzyOcr.cfDecommenta le seguenti righe:
focr_global_wordlist /etc/spamassassin/FuzzyOcr.words
focr_preprocessor_file /etc/spamassassin/FuzzyOcr.preps
focr_scanset_file /etc/spamassassin/FuzzyOcr.scansets<
focr_enable_image_hashing 3
focr_digest_db /etc/spamassassin/FuzzyOcr.hashdb
focr_db_hash /etc/spamassassin/FuzzyOcr.db
focr_db_safe /etc/spamassassin/FuzzyOcr.safe.db
focr_bin_helper convert, tesseractCommenta il percorso:
#focr_path_bin /usr/local/netpbm/bin:/usr/local/bin:/usr/binConserveremo gli hash delle immagini in un database mysql per migliorare le prestazioni in modo che le immagini che abbiamo già scansionato non vengano scansionate di nuovo poiché l’OCR è un’attività che richiede molte risorse.
Crea il database MySQL:
Lo script sql crea il database per fuzzyocr:
mysql -p < FuzzyOcr.mysqlConcedi privilegi:
mysql –u root –p
GRANT ALL ON FuzzyOcr.* TO fuzzyocr@localhost IDENTIFIED BY ‘password’;Aggiorna FuzzyOcr.cf
vi /etc/spamassassin/FuzzyOcr.cfAbilita le seguenti righe:
focr_mysql_db FuzzyOcr
focr_mysql_hash Hash
focr_mysql_safe Safe
focr_mysql_user fuzzyocr
focr_mysql_pass fuzzyocr
focr_mysql_host localhost
focr_mysql_port 3306
focr_mysql_socket /var/run/mysqld/mysqld.sock*Nota: Assicurati di cambiare le righe in rosso.
Imposta il pulitore del database FuzzyOcr
vi /usr/sbin/fuzzy-cleanmysql#!/usr/bin/perl
#Script per pulire le tabelle mysql dei dati. Il valore predefinito è lasciare i dati in Safe per 1 giorno e Hash per 10 giorni.
#Fuzzyocr-cleanmysql
use Getopt::Long;
use DBI;
use MLDBM qw(DB_File Storable);
my %Files = (
db_hash => '/var/lib/fuzzyocr/FuzzyOcr.db',
db_safe => '/var/lib/fuzzyocr/FuzzyOcr.safe.db',
);
use DBI;
$database = "FuzzyOcr";
$hostname = "localhost";
$socket = "/var/run/mysqld/mysqld.sock";
$port = "3306";
$username = "fuzzyocr";
$password = 'password';
# valori predefiniti
my $cfgfile = "/etc/spamassassin/FuzzyOcr.cf";
my %App;
my %age;
$age{'age'} = 10*24; # 10 giorni
$age{'hash'} = $age{'age'};
$age{'safe'} = 0;
my $help = 0;
my $verbose = 0;
GetOptions( \%age,
'age=i',
'config=s' => \$cfgfile,
'hash=i',
'help' => \$help,
'safe=i',
'verbose' => \$verbose,
);
if ($help) {
print "Uso: fuzzy-cleanmysql [Opzioni]\n";
print "\n";
print "Opzioni disponibili:\n";
print "--age=i Età globale in ore da mantenere nel db\n";
print "--config=s Specifica la posizione di FuzzyOcr.cf\n";
print " Predefinito: /etc/spamassassin/FuzzyOcr.cf\n";
print "--hash=i Numero di ore vecchie da mantenere nel db Hash\n";
print "--safe=i Numero di ore vecchie da mantenere nel db Safe\n";
print "--verbose Mostra più informazioni\n";
print "\n";
exit 1;
}
# Converti ore in secondi
$age{'age'} *= 60 * 60;
$age{'hash'} *= 60 * 60;
$age{'safe'} *= 60 * 60;
$age{'safe'} = $age{'safe'} ? $age{'safe'} : $age{'age'};
# Leggi percorsi personalizzati da FuzzyOcr.cf
my $app_path = q(/usr/local/netpbm/bin:/usr/local/bin:/usr/bin);
open CONFIG, "< $cfgfile" or warn "Impossibile leggere il file di configurazione, utilizzo i valori predefiniti...\n";
while () {
chomp;
if ($_ =~ m/^focr_bin_(\w+) (.+)/) {
$App{$1} = $2;
printf "Trovato percorso personalizzato \"$2\" per l'applicazione \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_path_bin (.+)/) {
$app_path = $1;
printf "Trovato nuovo percorso: \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_enable_image_hashing (\d)/) {
$App{hashing_type} = $1;
printf "Trovato Hashing DB\n" if ($verbose and $1 == 2);
printf "Trovato Hashing MySQL\n" if ($verbose and $1 == 3);
}
if ($_ =~ m/^focr_mysql_(\w+) (.+)/) {
$MySQL{$1} = $2;
printf "Trovata opzione MySQL $1 => '$2'\n" if $verbose;
}
if ($_ =~ m/^focr_threshold_max_hash (.+)/) {
$App{max_hash} = $1;
printf "Aggiornato Thresold{max_hash} = $1\n" if $verbose;
}
}
close CONFIG;
# assicurati di avere questa soglia impostata
$App{max_hash} = 5 unless defined $App{max_hash};
# cerca il percorso per bin_util a meno che non sia già specificato nel file di configurazione
foreach my $app (@bin_utils) {
next if defined $App{$app};
foreach my $d (split(':',$app_path)) {
if (-x "$d/$app") {
$App{$app} = "$d/$app";
last;
}
}
}
sub get_ddb {
my %dopts = ( AutoCommit => 1 );
my $dsn = "DBI:mysql:database=$database";
if (defined $socket) {
$dsn .= ";mysql_socket=$socket";
} else {
$dsn .= ";host=$hostname";
$dns .= ";port=$port" unless $port == 3306;
}
printf "Connessione a: $dsn\n" if $verbose;
return DBI->connect($dsn, $username, $password,\%dopts) or die("Impossibile connettersi!");
}
if ($App{hashing_type} == 3) {
my $ddb = get_ddb();
if ($ddb) {
my $sql;
foreach my $ff (sort keys %Files) {
$ff =~ s/db_//;
$sqlbase = "FROM $MySQL{$ff} WHERE $MySQL{$ff}.\`check\` < ?";
my $timestamp = time;
$timestamp = $timestamp - $age{$ff};
$sql = "DELETE $sqlbase";
if ( $verbose ) {
printf "Elimina dalla Tabella $MySQL{$ff}\n";
print "$sql, $timestamp\n";
print "Il timestamp è ", scalar(localtime($timestamp)), "\n";
print "Sono $age{$ff} secondi prima di adesso.\n";
print "\n";
}
$ddb->do($sql,undef,$timestamp);
}
$ddb->disconnect;
}
}chmod +x /usr/sbin/fuzzy-cleanmysqlAggiungilo a cron
crontab -e@weekly /usr/sbin/fuzzy-cleanmysql &> /dev/null #Pulitore DB FuzzyOcrEcco fatto per la configurazione di FuzzyOCR. Ora vediamo se funziona come previsto.
Possiamo alimentare ciascuna di queste email a SpamAssassin ora per vedere se FuzzyOCR è collegato correttamente a SpamAssassin.
spamassassin --debug FuzzyOcr < /usr/src/FuzzyOcr-3.6.0/samples/ocr-gif.eml > /dev/nullDovresti ora vedere un sacco di output, la fine dovrebbe apparire così:
[...]
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: Venerdì 4 agosto, 16:01 ET
[10025] dbg: FuzzyOcr: LAS VEGAS, NEVADA--(MARKET WIRE)--4 agosto 2006 -- auantum Energy, lnc. (OTC
[10025] dbg: FuzzyOcr: BB:aEGY.oB-_-
[10025] dbg: FuzzyOcr: auantum Energy, lnc. è lieta di annunciare di aver presentato domanda per avere le proprie azioni quotate per
[10025] dbg: FuzzyOcr: negoziazione sulla Borsa di Francoforte. L'azienda ha mantenuto i servizi di Baltic
[10025] dbg: FuzzyOcr: Investment Group di Amburgo, Germania, per assistere con la domanda.
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: _ qEGY,OB "12. Filtraggio di PDF, XLS e spam di phishing con ClamAV (Firme Sanesecurity)
Attualmente c’è molto spam in cui le “informazioni” spam sono allegate come file .pdf o .xls, a volte anche nascoste all’interno di un file .zip. Anche se queste email spam non sono facili da catturare con ad esempio SpamAssassin o un filtro Bayes, il virus scanner ClamAV può catturarle facilmente quando viene alimentato con le firme corrette poiché ClamAV è progettato per scansionare gli allegati delle email.
Crea una cartella per sanesecurity e scarica e dai allo script i permessi appropriati.
apt-get install curl rsync
mkdir /usr/src/sanesecurity && cd /usr/src/sanesecurity
wget http://www.inetmsg.com/pub/clamav-unofficial-sigs.tar.gz
tar -zxf clamav-unofficial-sigs.tar.gz && cd clamav-unofficial-sigs-3.7.1
mv clamav-unofficial-sigs.sh /usr/sbin
mv clamav-unofficial-sigs.conf /etc/
chmod +x /usr/sbin/clamav-unofficial-sigs.sh
vi clamav-unofficial-sigs.confe cambia le seguenti variabili per adattarle alla tua installazione:
clam_dbs="/var/lib/clamav"La variabile clamav_dbs contiene il percorso alla directory in cui sono memorizzate le tue firme ClamAV.
Percorso a clamd.pid:
clamd_pid="/var/run/clamav/clamd.pid"Ricarica dopo l’aggiornamento:
reload_dbs="yes"
reload_opt="kill -USR2 `cat $clamd_pid`" #Segnala PID per ricaricare i dbDirectory di lavoro:
work_dir="/var/lib/clamav"E una volta completata la configurazione, imposta il seguente valore su yes:
user_configuration_complete="yes" Ora eseguiamo lo script di aggiornamento per controllare se il download funziona:
clamav-unofficial-sigs.shAggiungilo a cron:
00 04 * * * /usr/sbin/clamav-unofficial-sigs.sh -c /etc/clamav-unofficial-sigs.conf &> /dev/null Si prega di modificare /etc/clamav-unofficial-sigs.conf e commentare la sezione del database MalwarePortal. Ci sono stati molti falsi positivi quando si utilizzano le sue definizioni.
13. Greylisting con Greyfix
Greyfix è un piccolo demone di greylisting che funziona estremamente bene ed è leggero in termini di risorse.
Installa:
cd /usr/src && wget http://www.kim-minh.com/pub/greyfix/greyfix-0.3.9.tar.gz
tar -xf greyfix-0.3.9.tar.gz && cd greyfix-0.3.9
./configure --localstatedir=/var
make
make installvi /etc/postfix/master.cfe aggiungi il seguente:
greyfix unix - n n - - spawn
user=nobody argv=/usr/local/sbin/greyfix --greylist-delay 60 -/ 24Abbiamo già aggiunto l’entry per main.cf utilizzando lo script di configurazione di postfix.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.