Configuration Baruwa · 15 min read · Dec 25, 2025
Le SpamSnake Parfait - Ubuntu Jeos 10.10 Maverick Meerkat - Page 3
8. Baruwa
Téléchargez le paquet deb baruwa personnalisé :
cd /usr/src
wget baruwa_1.0.1-2sn_all.deb Mis à jour 021811
wget baruwa-doc_1.0.1-2_all.deb
gdebi baruwa*.debVous serez invité à configurer la base de données baruwa pour la journalisation, y compris un nom d’utilisateur et un mot de passe d’accès, qui seront utilisés par les scripts Baruwa. Vous serez également invité à configurer les informations de l’utilisateur administrateur pour l’interface Baruwa.
vi /usr/share/pyshared/baruwa/settings.pyChangez l’URL d’hôte de la quarantaine selon vos préférences :
QUARANTINE_REPORT_HOSTURL = 'http://baruwa-alpha.local'vi /opt/MailScanner/etc/MailScanner.confVous devez vous assurer que les options suivantes sont définies :
Always Looked Up Last = &BaruwaSQL
Is Definitely Not Spam = &BaruwaWhitelist
Is Definitely Spam = &BaruwaBlacklist
Required SpamAssassin Score = &BaruwaLowScore
High SpamAssassin Score = &BaruwaHighScore Mise à niveau de Baruwa
*Remarque : Cette section est uniquement pour ceux qui exécutent une version antérieure de Baruwa. Ignorez ceci si vous effectuez une nouvelle installation.
Téléchargez le dernier paquet deb baruwa :
cd /usr/src
wget baruwa_1.0.2-4sn_all.deb Mis à jour 052011
wget baruwa-doc_1.0.2-4_all.deb
gdebi baruwa*.debLorsque vous êtes invité à configurer la base de données mysql, sélectionnez non. Nous allons réutiliser la base de données et les paramètres actuels.
Assurez-vous que /usr/share/pyshared/baruwa/settings.py est configuré avec les bonnes informations de base de données avant de vous connecter, sinon votre connexion échouera.
vi /usr/share/pyshared/baruwa/settings.pyDATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' ou 'oracle'.
DATABASE_NAME = 'baruwa' # Ou chemin vers le fichier de base de données si vous utilisez sqlite3.
DATABASE_USER = 'baruwa' # Non utilisé avec sqlite3.
DATABASE_PASSWORD = 'password' # Non utilisé avec sqlite3.
DATABASE_HOST = '' # Défini sur une chaîne vide pour localhost. Non utilisé avec sqlite3.
DATABASE_PORT = '' # Défini sur une chaîne vide pour par défaut. Non utilisé avec sqlite3.*Remarque : En raison de quelques conflits mineurs de mise à niveau, ces étapes pourraient devoir être prises pour mettre à niveau correctement baruwa.
Si /opt/MailScanner a été supprimé :
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/MailScannerAssurez-vous de mettre à jour votre chaîne de connexion à la base de données dans les fichiers /etc/MailScanner/CustomFunctions/*.pm.
Enfin, exécutez
manage.py syncdbRedémarrez Uwsgi et Nginx
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartBaruwa devrait être mis à niveau vers 102-4sn.
Mise à niveau de Baruwa 102-4 à 111-3sn
Installez Rabbitmq-Server 2.2.0 et configurez db/utilisateur/mot de passe :
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 pour se lier à localhost :
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1Ajoutez les informations d’identification de la base de données :
rabbitmqctl add_user baruwa password
rabbitmqctl add_vhost baruwa
rabbitmqctl set_permissions -p baruwa baruwa ".*" ".*" ".*"Redémarrez rabbitmq-server :
/etc/init.d/rabbitmq-server restartAjoutez des sources pour Baruwa 1.1.1-3 et installez les dépendances :
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 mainInstallez les dépendances :
apt-get update
apt-get install python-django-celery python-importlib*Remarque : La commande ci-dessus devrait installer toutes les dépendances pour Baruwa.
Téléchargez et installez 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*Remarque : Installez la version du mainteneur du paquet des fichiers lorsque cela est demandé. Sélectionnez non pour configurer mysql car nous mettons à niveau à partir d’une version précédente.
Corrigez le lien symbolique pour 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 et corrigez la configuration de la base de données baruwa :
DATABASES = {
'default': {
# Ajoutez 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3'
# ou 'oracle'.
'ENGINE': 'django.db.backends.mysql',
# Ou chemin vers le fichier de base de données si vous utilisez sqlite3.
'NAME': 'baruwa',
# Non utilisé avec sqlite3.
'USER': 'baruwa',
# Non utilisé avec sqlite3.
'PASSWORD': 'password',
# Défini sur une chaîne vide pour localhost. Non utilisé avec sqlite3.
'HOST': '',
# Défini sur une chaîne vide pour par défaut. Non utilisé avec sqlite3.
'PORT': '',
}
}Mettez à jour la structure de la base de données Baruwa :
baruwa-admin syncdb --noinputExécutez une migration fictive pour initier une mise à niveau :
for name in $(echo "accounts messages lists reports status config"); do
baruwa-admin migrate $name 0001 --fake;
doneExécutez la migration normale :
for name in $(echo "accounts messages lists reports status fixups config"); do
baruwa-admin migrate $name;
donevi /etc/MailScanner/MailScanner.conf changez les éléments suivants :
Run As Group = celeryd
Quarantine User = celeryd
Quarantine Group = celerydvi /etc/MailScanner/conf.d/baruwa.conf :
Quarantine User = postfix #(Ou quel que soit votre `Run As User`)
DB DSN = DBI:mysql:database=baruwa;host=localhost;port=3306 #définir sur un DSN valide
DB Username = baruwa # votre nom d'utilisateur DB
DB Password = password # votre mot de passe DBvi /etc/init.d/mailscanner et changez les entrées de groupe de www-data à 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} #Nécessaire pour créer le dossier
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 \Ajoutez l’utilisateur celeryd au groupe clamav :
usermod -a -G celeryd clamavChangez la propriété de groupe du dossier de quarantaine et de son contenu :
chgrp -R celeryd /var/spool/MailScanner/quarantineSi vous allez utiliser des signatures, initialisez-le en exécutant :
baruwa-admin initconfigSinon, désactivez les options dans /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.customizeRedémarrez votre système et profitez de Baruwa 111-3sn.
9. Nginx avec Uwsgi
Téléchargez et installez à la fois Nginx et Uwsgi depuis le Launchpad de 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*Utilisez les fichiers de configuration suivants pour uwsgi et 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;
#journal d'accès principal
access_log /var/log/nginx/access.log;
#journal d'erreur principal
error_log /var/log/nginx/error.log;
location /static {
root /usr/share/pyshared/baruwa/static/;
}
# ressources statiques
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;
}
}*Remarque : Assurez-vous de changer example.com en un FQDN qui correspond à votre configuration.
Supprimez l’hôte virtuel par défaut et copiez 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.confRedémarrez les services :
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartVous devriez être prêt.
Configurer les tâches Cron
Créez un lien symbolique vers manage.py :
ln -s /usr/share/pyshared/baruwa/manage.py /usr/bin/manage.py
chmod +x /usr/bin/manage.pyAjoutez des tâches cron :
@daily manage.py cleanquarantine &> /dev/null #Nettoyer la quarantaine
@daily manage.py sendquarantinereports &> /dev/null #Envoyer des rapports de quarantaine
@monthly manage.py dbclean &> /dev/null #Nettoyer le journal des mails
@weekly manage.py updatesarules &> /dev/null #Mettre à jour les règles spamassassin
@daily manage.py sendpdfreports &> /dev/null #Envoyer des rapports PDFDémarrez MailScanner :
/etc/init.d/mailscanner startPointez votre navigateur vers http://hostname_used connectez-vous avec l’utilisateur admin et le mot de passe et commencez à travailler. Vous pouvez maintenant utiliser l’interface pour ajouter des utilisateurs et traiter des messages, etc.
Instructions de configuration pour Baruwa
Connectez-vous à Baruwa en tant qu’administrateur –> Paramètres –> Comptes –> Créer un compte
Une fois que vous avez créé le compte utilisateur, vous obtiendrez deux nouveaux onglets sur cette page, Paramètres de profil et Adresses associées.
Remplissez les paramètres de profil en choisissant Administrateur de domaine et définissez un score bas de 6 et un score élevé de 9 et cochez scanner les e-mails.
Cliquez sur le signe + sous Adresses associées et entrez un domaine pour lequel l’utilisateur est l’administrateur par exemple. domain.com. domain.com apparaîtra sous Adresses associées.
Cliquez sur domain.com et vous serez dirigé vers Informations sur le domaine, où vous pourrez configurer les informations de livraison SMTP. Allez-y et ajoutez le serveur smtp de réception, ou l’ip du serveur smtp de réception. Sélectionnez activer et si vous utilisez un port non standard, définissez-le, sinon utilisez 25. Une fois que vous avez fait cela, vous pouvez cliquer sur le bouton de test à côté du crayon, pour voir si votre serveur de réception acceptera la connexion.
Maintenant, vous pouvez vous déconnecter en tant qu’administrateur, et vous connecter en tant qu’utilisateur que vous venez de configurer et les mails devraient commencer à circuler.
Les paramètres relay_recipients, relay_domains et transports dans /etc/postfix/main.cf utiliseront les entrées que vous avez fournies dans Baruwa. Par conséquent, aucun fichier de hachage n’est requis.
Les requêtes associées dans les fichiers cf mysql tireront le résultat dans le format approprié et l’alimenteront à postfix pour utilisation.
Cependant, si vous souhaitez utiliser un hachage pour l’un de vos fichiers de configuration, utilisez ce qui suit comme exemple de configuration de /etc/postfix/main.cf :
relay_recipient_maps = hash:/etc/postfix/relay_recipientsBien sûr, vous devrez créer le(s) fichier(s) de hachage, le peupler et le postmapper pour que postfix puisse l’utiliser.
*Remarque : Si vous finissez par utiliser un hachage pour relay_recipients pour des domaines spécifiques, vous devrez supprimer ce domaine de /etc/postfix/access. Tous les autres utilisateurs de domaine peuvent toujours être vérifiés en utilisant look_ahead
De plus, si vous devez effectuer des recherches mx, vous devrez modifier la requête /etc/postfix/mysql-transports.cf pour qu’elle ressemble à :
concat('smtp:', mail_hosts.address, ':', port) 'transport'Les [ et ] ont été supprimés pour permettre les recherches MX.
Profitez de Baruwa !
10. Installer et configurer SPF
Le paquet postfix-policyd-spf-perl dépend des modules Perl Mail::SPF et NetAddr::IP.
Nous devons télécharger postfix-policyd-spf-perl depuis http://www.openspf.org/Software dans le répertoire /usr/src/ et l’installer dans le répertoire /usr/lib/postfix/ comme ceci :
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-perlEnsuite, nous éditons /etc/postfix/master.cf et ajoutons le passage suivant à la fin :
vi /etc/postfix/master.cfpolicy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/lib/postfix/policyd-spf-perl(Les espaces en tête avant user=nobody sont importants pour que Postfix sache que cette ligne appartient à la précédente !)
*Remarque : Nous avons déjà ajouté l’entrée pour main.cf en utilisant le script de configuration de postfix.
Ensuite, redémarrez Postfix :
/etc/init.d/postfix restartC’est déjà tout.
11. Installer et configurer FuzzyOcr
FuzzyOCR a quelques prérequis comme ocrad et gocr que nous pouvons installer comme ceci :
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/Donc FuzzyOCR est maintenant installé, maintenant nous devons le configurer. Le fichier de configuration de FuzzyOCR est /etc/spamassassin/FuzzyOcr.cf. Dans ce fichier, presque tout est commenté. Nous ouvrons ce fichier maintenant et faisons quelques modifications :
vi /etc/spamassassin/FuzzyOcr.cfDécommentez les lignes suivantes :
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, tesseractCommentez le chemin :
#focr_path_bin /usr/local/netpbm/bin:/usr/local/bin:/usr/binNous allons stocker les hachages d’images dans une base de données mysql pour améliorer les performances afin que les images que nous avons déjà scannées ne soient pas scannées à nouveau car l’OCR est une activité gourmande en ressources.
Créez la base de données MySQL :
Le script sql crée la base de données pour fuzzyocr :
mysql -p < FuzzyOcr.mysqlAccordez des privilèges :
mysql –u root –p
GRANT ALL ON FuzzyOcr.* TO fuzzyocr@localhost IDENTIFIED BY ‘password’;Mettez à jour FuzzyOcr.cf
vi /etc/spamassassin/FuzzyOcr.cfActivez les lignes suivantes :
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*Remarque : Assurez-vous de changer les lignes en rouge.
Configurer le nettoyeur de base de données FuzzyOcr
vi /usr/sbin/fuzzy-cleanmysql#!/usr/bin/perl
#Script pour nettoyer les tables mysql des données. Par défaut, il laisse les données dans Safe pendant 1 jour et Hash pendant 10 jours.
#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';
# valeurs par défaut
my $cfgfile = "/etc/spamassassin/FuzzyOcr.cf";
my %App;
my %age;
$age{'age'} = 10*24; # 10 jours
$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 "Usage: fuzzy-cleanmysql [Options]\n";
print "\n";
print "Options disponibles :\n";
print "--age=i Âge global en heures à conserver dans la base de données\n";
print "--config=s Spécifiez l'emplacement de FuzzyOcr.cf\n";
print " Par défaut : /etc/spamassassin/FuzzyOcr.cf\n";
print "--hash=i Nombre d'heures à conserver dans la base de données Hash\n";
print "--safe=i Nombre d'heures à conserver dans la base de données Safe\n";
print "--verbose Afficher plus d'informations\n";
print "\n";
exit 1;
}
# Convertir les heures en secondes
$age{'age'} *= 60 * 60;
$age{'hash'} *= 60 * 60;
$age{'safe'} *= 60 * 60;
$age{'safe'} = $age{'safe'} ? $age{'safe'} : $age{'age'};
# Lire les chemins personnalisés depuis FuzzyOcr.cf
my $app_path = q(/usr/local/netpbm/bin:/usr/local/bin:/usr/bin);
open CONFIG, "< $cfgfile" or warn "Impossible de lire le fichier de configuration, utilisation des valeurs par défaut...\n";
while () {
chomp;
if ($_ =~ m/^focr_bin_(\w+) (.+)/) {
$App{$1} = $2;
printf "Chemin personnalisé trouvé \"$2\" pour l'application \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_path_bin (.+)/) {
$app_path = $1;
printf "Nouveau chemin trouvé : \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_enable_image_hashing (\d)/) {
$App{hashing_type} = $1;
printf "Hachage DB trouvé\n" if ($verbose and $1 == 2);
printf "Hachage MySQL trouvé\n" if ($verbose and $1 == 3);
}
if ($_ =~ m/^focr_mysql_(\w+) (.+)/) {
$MySQL{$1} = $2;
printf "Option MySQL trouvée $1 => '$2'\n" if $verbose;
}
if ($_ =~ m/^focr_threshold_max_hash (.+)/) {
$App{max_hash} = $1;
printf "Seuil mis à jour{max_hash} = $1\n" if $verbose;
}
}
close CONFIG;
# assurez-vous que ce seuil est défini
$App{max_hash} = 5 unless defined $App{max_hash};
# rechercher le chemin pour bin_util à moins qu'il ne soit déjà spécifié dans le fichier de configuration
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 "Connexion à : $dsn\n" if $verbose;
return DBI->connect($dsn, $username, $password,\%dopts) or die("Impossible de se connecter !");
}
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 "Supprimer de la table $MySQL{$ff}\n";
print "$sql, $timestamp\n";
print "L'horodatage est ", scalar(localtime($timestamp)), "\n";
print "C'est $age{$ff} secondes plus tôt que maintenant.\n";
print "\n";
}
$ddb->do($sql,undef,$timestamp);
}
$ddb->disconnect;
}
}chmod +x /usr/sbin/fuzzy-cleanmysqlAjoutez-le à cron
crontab -e@weekly /usr/sbin/fuzzy-cleanmysql &> /dev/null #Nettoyeur de base de données FuzzyOcrC’est déjà tout pour la configuration de FuzzyOCR. Voyons maintenant si cela fonctionne comme prévu.
Nous pouvons maintenant alimenter chacun de ces e-mails à SpamAssassin pour voir si FuzzyOCR est correctement lié à SpamAssassin.
spamassassin --debug FuzzyOcr < /usr/src/FuzzyOcr-3.6.0/samples/ocr-gif.eml > /dev/nullVous devriez maintenant voir beaucoup de sorties, la fin devrait ressembler à ceci :
[...]
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: Vendredi 4 août, 16h01 ET
[10025] dbg: FuzzyOcr: LAS VEGAS, NEVADA--(MARKET WIRE)--4 août 2006 -- auantum Energy, lnc. (OTC
[10025] dbg: FuzzyOcr: BB:aEGY.oB-_-
[10025] dbg: FuzzyOcr: auantum Energy, lnc. est heureux d'annoncer qu'il a demandé à faire inscrire ses actions pour
[10025] dbg: FuzzyOcr: négociation à la Bourse de Francfort. La société a retenu les services de Baltic
[10025] dbg: FuzzyOcr: lnvestment Group de Hambourg, Allemagne pour aider à la demande.
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: _ qEGY,OB "12. Filtrage des PDF, XLS et des spams de phishing avec ClamAV (Signatures Sanesecurity)
Il y a actuellement beaucoup de spam où les “informations” de spam sont jointes sous forme de fichiers .pdf ou .xls, parfois également cachés à l’intérieur d’un fichier .zip. Bien que ces e-mails de spam ne soient pas faciles à attraper avec par exemple SpamAssassin ou un filtre Bayes, le scanner de virus ClamAV peut les attraper facilement lorsqu’il est alimenté avec les bonnes signatures car ClamAV est conçu pour scanner les pièces jointes de mails.
Créez un dossier pour sanesecurity et téléchargez et donnez au script les permissions appropriées.
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.confet changez les variables suivantes pour correspondre à votre installation :
clam_dbs="/var/lib/clamav"La variable clamav_dbs contient le chemin vers le répertoire où vos signatures ClamAV sont stockées.
Chemin vers clamd.pid :
clamd_pid="/var/run/clamav/clamd.pid"Rechargez après mise à jour :
reload_dbs="yes"
reload_opt="kill -USR2 `cat $clamd_pid`" #Signale PID pour recharger les bases de donnéesRépertoire de travail :
work_dir="/var/lib/clamav"Et une fois que vous avez terminé la configuration, définissez ce qui suit sur oui :
user_configuration_complete="yes" Maintenant, nous exécutons le script de mise à jour pour vérifier si le téléchargement fonctionne :
clamav-unofficial-sigs.shAjoutez-le à cron :
00 04 * * * /usr/sbin/clamav-unofficial-sigs.sh -c /etc/clamav-unofficial-sigs.conf &> /dev/null Veuillez éditer /etc/clamav-unofficial-sigs.conf et commenter la section de base de données MalwarePortal. Il y a eu des tonnes de faux positifs lors de l’utilisation de ses définitions.
13. Greylisting avec Greyfix
Greyfix est un petit démon de greylisting qui fonctionne extrêmement bien et est léger en ressources.
Installez :
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.cfet ajoutez ce qui suit :
greyfix unix - n n - - spawn
user=nobody argv=/usr/local/sbin/greyfix --greylist-delay 60 -/ 24Nous avons déjà ajouté l’entrée pour main.cf en utilisant le script de configuration de postfix.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.