Spam Management · 14 min read · Dec 25, 2025
El Perfecto SpamSnake - Ubuntu Jeos 10.10 Maverick Meerkat - Página 3
8. Baruwa
Descargar paquete deb personalizado de baruwa:
cd /usr/src
wget baruwa_1.0.1-2sn_all.deb Actualizado 021811
wget baruwa-doc_1.0.1-2_all.deb
gdebi baruwa*.debSe le pedirá que configure la base de datos de baruwa para el registro, incluyendo un nombre de usuario y contraseña de acceso, que serán utilizados por los scripts de Baruwa. También se le pedirá que configure la información del usuario administrador para la interfaz de Baruwa.
vi /usr/share/pyshared/baruwa/settings.pyCambie la URL del host de Cuarentena a su gusto:
QUARANTINE_REPORT_HOSTURL = 'http://baruwa-alpha.local'vi /opt/MailScanner/etc/MailScanner.confNecesita asegurarse de que las siguientes opciones estén configuradas:
Always Looked Up Last = &BaruwaSQL
Is Definitely Not Spam = &BaruwaWhitelist
Is Definitely Spam = &BaruwaBlacklist
Required SpamAssassin Score = &BaruwaLowScore
High SpamAssassin Score = &BaruwaHighScore Actualizando Baruwa
*Nota: Esta sección es solo para aquellos que ejecutan una versión anterior de Baruwa. Salte esto si está haciendo una instalación nueva.
Descargue el último paquete deb de baruwa:
cd /usr/src
wget baruwa_1.0.2-4sn_all.deb Actualizado 052011
wget baruwa-doc_1.0.2-4_all.deb
gdebi baruwa*.debCuando se le pida configurar la base de datos mysql, seleccione no. Reutilizaremos la base de datos y la configuración actuales.
Asegúrese de que /usr/share/pyshared/baruwa/settings.py esté configurado con la información de base de datos correcta antes de conectarse, de lo contrario, su conexión fallará.
vi /usr/share/pyshared/baruwa/settings.pyDATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' o 'oracle'.
DATABASE_NAME = 'baruwa' # O ruta al archivo de base de datos si usa sqlite3.
DATABASE_USER = 'baruwa' # No se usa con sqlite3.
DATABASE_PASSWORD = 'password' # No se usa con sqlite3.
DATABASE_HOST = '' # Establecer como cadena vacía para localhost. No se usa con sqlite3.
DATABASE_PORT = '' # Establecer como cadena vacía para predeterminado. No se usa con sqlite3.*Nota: Debido a algunos conflictos menores de actualización, estos pasos pueden tener que tomarse para actualizar correctamente baruwa.
Si /opt/MailScanner fue eliminado:
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/MailScannerAsegúrese de actualizar su cadena de conexión de base de datos en /etc/MailScanner/CustomFunctions/*.pm.
Finalmente, ejecute
manage.py syncdbReinicie Uwsgi y Nginx
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartBaruwa debería estar actualizado a 102-4sn.
Actualizando Baruwa 102-4 a 111-3sn
Instale Rabbitmq-Server 2.2.0 y configure db/usuario/contraseña:
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 para enlazar a localhost:
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1Agregue las credenciales de la base de datos:
rabbitmqctl add_user baruwa password
rabbitmqctl add_vhost baruwa
rabbitmqctl set_permissions -p baruwa baruwa ".*" ".*" ".*"Reinicie rabbitmq-server:
/etc/init.d/rabbitmq-server restartAgregue fuentes para Baruwa 1.1.1-3 e instale dependencias:
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 mainInstalar dependencias:
apt-get update
apt-get install python-django-celery python-importlib*Nota: El comando anterior debería instalar todas las dependencias para Baruwa.
Descargue e instale 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: Instale la versión del mantenedor del paquete de los archivos cuando se le pregunte. Seleccione no para configurar mysql ya que estamos actualizando desde una versión anterior.
Corrija el enlace simbólico para 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 y corrija la configuración de la base de datos de baruwa:
DATABASES = {
'default': {
# Agregar 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3'
# o 'oracle'.
'ENGINE': 'django.db.backends.mysql',
# O ruta al archivo de base de datos si usa sqlite3.
'NAME': 'baruwa',
# No se usa con sqlite3.
'USER': 'baruwa',
# No se usa con sqlite3.
'PASSWORD': 'password',
# Establecer como cadena vacía para localhost. No se usa con sqlite3.
'HOST': '',
# Establecer como cadena vacía para predeterminado. No se usa con sqlite3.
'PORT': '',
}
}Actualizar la estructura de la base de datos de Baruwa:
baruwa-admin syncdb --noinputEjecutar migración falsa para iniciar una actualización:
for name in $(echo "accounts messages lists reports status config"); do
baruwa-admin migrate $name 0001 --fake;
doneEjecutar la migración normal:
for name in $(echo "accounts messages lists reports status fixups config"); do
baruwa-admin migrate $name;
donevi /etc/MailScanner/MailScanner.conf cambie lo siguiente:
Run As Group = celeryd
Quarantine User = celeryd
Quarantine Group = celerydvi /etc/MailScanner/conf.d/baruwa.conf:
Quarantine User = postfix #(O lo que sea que su `Run As User` esté configurado)
DB DSN = DBI:mysql:database=baruwa;host=localhost;port=3306 #establecer a DSN válido
DB Username = baruwa # su nombre de usuario de DB
DB Password = password # su contraseña de DBvi /etc/init.d/mailscanner y cambie las entradas de grupo de 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} #Requerido para crear carpeta
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 \Agregue el usuario celeryd al grupo clamav:
usermod -a -G celeryd clamavCambie la propiedad del grupo de la carpeta de cuarentena y su contenido:
chgrp -R celeryd /var/spool/MailScanner/quarantineSi va a usar firmas, inicialícelo ejecutando:
baruwa-admin initconfigDe lo contrario, desactive las opciones en /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.customizeReinicie su sistema y disfrute de Baruwa 111-3sn.
9. Nginx con Uwsgi
Descargue e instale tanto Nginx como Uwsgi desde el 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*Utilice los siguientes archivos de configuración para uwsgi y 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 de acceso principal
access_log /var/log/nginx/access.log;
#registro de errores principal
error_log /var/log/nginx/error.log;
location /static {
root /usr/share/pyshared/baruwa/static/;
}
# recursos estáticos
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: Asegúrese de cambiar example.com a un FQDN que coincida con su configuración.
Elimine el host virtual predeterminado y copie 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.confReinicie los servicios:
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartDebería estar todo listo.
Configurar trabajos de Cron
Cree un enlace simbólico a manage.py:
ln -s /usr/share/pyshared/baruwa/manage.py /usr/bin/manage.py
chmod +x /usr/bin/manage.pyAgregue trabajos de cron:
@daily manage.py cleanquarantine &> /dev/null #Limpiar cuarentena
@daily manage.py sendquarantinereports &> /dev/null #Enviar informes de cuarentena
@monthly manage.py dbclean &> /dev/null #Limpiar maillog
@weekly manage.py updatesarules &> /dev/null #Actualizar reglas de spamassassin
@daily manage.py sendpdfreports &> /dev/null #Enviar informes PDFInicie MailScanner:
/etc/init.d/mailscanner startApunte su navegador a http://hostname_used inicie sesión con el usuario administrador y la contraseña y comience a trabajar. Ahora puede usar la interfaz para agregar usuarios y procesar mensajes, etc.
Instrucciones de configuración para Baruwa
Inicie sesión en Baruwa como administrador –> Configuración –> Cuentas –> Crear cuenta
Una vez que haya creado la cuenta de usuario, obtendrá dos nuevas pestañas en esa página, Configuración del perfil y Direcciones asociadas.
Complete la Configuración del perfil eligiendo Administrador de dominio y establezca un puntaje bajo de 6 y un puntaje alto de 9 y marque escanear correo electrónico.
Haga clic en el signo + debajo de Direcciones asociadas e ingrese un dominio para el cual el usuario es el administrador, por ejemplo, domain.com. domain.com aparecerá bajo Direcciones asociadas.
Haga clic en domain.com y será llevado a Información del dominio, donde podrá configurar la información de entrega SMTP. Vaya y agregue el servidor smtp receptor, o la ip del servidor smtp receptor. Seleccione habilitar y si utiliza un puerto no estándar, configúrelo, de lo contrario, use 25. Una vez que haya hecho eso, puede hacer clic en el botón de prueba junto al lápiz, para ver si su servidor receptor aceptará la conexión.
Ahora, puede cerrar sesión como administrador e iniciar sesión como el usuario que acaba de configurar y los correos deberían comenzar a fluir.
Los ajustes relay_recipients, relay_domains y transports en /etc/postfix/main.cf utilizarán las entradas que ha proporcionado en Baruwa. Por lo tanto, no se requiere un archivo hash.
Las consultas asociadas en los archivos cf de mysql extraerán el resultado en el formato adecuado y lo alimentarán a postfix para su uso.
Sin embargo, si desea usar un hash para cualquiera de sus archivos de configuración, use lo siguiente como un ejemplo de cómo configurar /etc/postfix/main.cf:
relay_recipient_maps = hash:/etc/postfix/relay_recipientsPor supuesto, tendría que crear el(los) archivo(s) hash, poblarlo y postmap para que postfix lo use.
*Nota: Si termina usando hash para relay_recipients para dominios específicos, deberá eliminar ese dominio de /etc/postfix/access. Todos los demás usuarios de dominio aún pueden ser verificados utilizando look_ahead
Además, si necesita hacer búsquedas mx, deberá editar /etc/postfix/mysql-transports.cf la consulta para que se vea así:
concat('smtp:', mail_hosts.address, ':', port) 'transport'Los [ y ] fueron eliminados para permitir búsquedas MX.
¡Disfruta de Baruwa!
10. Instalar y configurar SPF
El paquete postfix-policyd-spf-perl depende de los módulos Perl Mail::SPF y NetAddr::IP.
Necesitamos descargar postfix-policyd-spf-perl de http://www.openspf.org/Software al directorio /usr/src/ e instalarlo en el directorio /usr/lib/postfix/ de la siguiente manera:
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-perlLuego editamos /etc/postfix/master.cf y agregamos la siguiente estrofa al final:
vi /etc/postfix/master.cfpolicy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/lib/postfix/policyd-spf-perl(Los espacios iniciales antes de user=nobody son importantes para que Postfix sepa que esta línea pertenece a la anterior)
*Nota: Ya agregamos la entrada para main.cf usando el script de configuración de postfix.
Luego reinicie Postfix:
/etc/init.d/postfix restartEso es todo.
11. Instalar y configurar FuzzyOcr
FuzzyOCR tiene algunos requisitos previos como ocrad y gocr que podemos instalar de la siguiente manera:
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/Así que FuzzyOCR ahora está instalado, ahora necesitamos configurarlo. El archivo de configuración de FuzzyOCR es /etc/spamassassin/FuzzyOcr.cf. En ese archivo casi todo está comentado. Abrimos ese archivo ahora y hacemos algunas modificaciones:
vi /etc/spamassassin/FuzzyOcr.cfDescomente las siguientes líneas:
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, tesseractComente la ruta:
#focr_path_bin /usr/local/netpbm/bin:/usr/local/bin:/usr/binAlmacenaremos los hashes de imágenes en una base de datos mysql para mejorar el rendimiento de modo que las imágenes que ya hemos escaneado no se escaneen nuevamente, ya que OCR es una actividad intensiva en recursos.
Cree la base de datos MySQL:
El script sql crea la base de datos para fuzzyocr:
mysql -p < FuzzyOcr.mysqlOtorgar privilegios:
mysql –u root –p
GRANT ALL ON FuzzyOcr.* TO fuzzyocr@localhost IDENTIFIED BY ‘password’;Actualizar FuzzyOcr.cf
vi /etc/spamassassin/FuzzyOcr.cfHabilite las siguientes líneas:
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: Asegúrese de cambiar las líneas en rojo.
Configurar el limpiador de base de datos de FuzzyOcr
vi /usr/sbin/fuzzy-cleanmysql#!/usr/bin/perl
#Script para limpiar tablas mysql de datos. El valor predeterminado es dejar datos en Safe durante 1 día y Hash durante 10 días.
#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';
# valores predeterminados
my $cfgfile = "/etc/spamassassin/FuzzyOcr.cf";
my %App;
my %age;
$age{'age'} = 10*24; # 10 días
$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 [Opciones]\n";
print "\n";
print "Opciones disponibles:\n";
print "--age=i Edad global en horas para mantener en db\n";
print "--config=s Especificar ubicación de FuzzyOcr.cf\n";
print " Predeterminado: /etc/spamassassin/FuzzyOcr.cf\n";
print "--hash=i Número de horas antiguas para mantener en la base de datos Hash\n";
print "--safe=i Número de horas antiguas para mantener en la base de datos Safe\n";
print "--verbose Mostrar más información\n";
print "\n";
exit 1;
}
# Convertir horas a segundos
$age{'age'} *= 60 * 60;
$age{'hash'} *= 60 * 60;
$age{'safe'} *= 60 * 60;
$age{'safe'} = $age{'safe'} ? $age{'safe'} : $age{'age'};
# Leer rutas personalizadas de FuzzyOcr.cf
my $app_path = q(/usr/local/netpbm/bin:/usr/local/bin:/usr/bin);
open CONFIG, "< $cfgfile" or warn "No se puede leer el archivo de configuración, usando valores predeterminados...\n";
while () {
chomp;
if ($_ =~ m/^focr_bin_(\w+) (.+)/) {
$App{$1} = $2;
printf "Encontrada ruta personalizada \"$2\" para la aplicación \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_path_bin (.+)/) {
$app_path = $1;
printf "Encontrada nueva ruta: \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_enable_image_hashing (\d)/) {
$App{hashing_type} = $1;
printf "Encontrado hashing de DB\n" if ($verbose and $1 == 2);
printf "Encontrado hashing MySQL\n" if ($verbose and $1 == 3);
}
if ($_ =~ m/^focr_mysql_(\w+) (.+)/) {
$MySQL{$1} = $2;
printf "Encontrada opción MySQL $1 => '$2'\n" if $verbose;
}
if ($_ =~ m/^focr_threshold_max_hash (.+)/) {
$App{max_hash} = $1;
printf "Umbral actualizado{max_hash} = $1\n" if $verbose;
}
}
close CONFIG;
# asegúrese de que tengamos este umbral configurado
$App{max_hash} = 5 unless defined $App{max_hash};
# buscar ruta para bin_util a menos que ya se especifique en el archivo de configuración
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 "Conectando a: $dsn\n" if $verbose;
return DBI->connect($dsn, $username, $password,\%dopts) or die("¡No se pudo conectar!");
}
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 "Eliminar de la tabla $MySQL{$ff}\n";
print "$sql, $timestamp\n";
print "La marca de tiempo es ", scalar(localtime($timestamp)), "\n";
print "Eso es $age{$ff} segundos antes que ahora.\n";
print "\n";
}
$ddb->do($sql,undef,$timestamp);
}
$ddb->disconnect;
}
}chmod +x /usr/sbin/fuzzy-cleanmysqlAgregue esto a cron
crontab -e@weekly /usr/sbin/fuzzy-cleanmysql &> /dev/null #Limpiador de base de datos FuzzyOcrEso es todo para la configuración de FuzzyOCR. Ahora veamos si funciona como se espera.
Podemos alimentar cada uno de estos correos a SpamAssassin ahora para ver si FuzzyOCR está vinculado correctamente a SpamAssassin.
spamassassin --debug FuzzyOcr < /usr/src/FuzzyOcr-3.6.0/samples/ocr-gif.eml > /dev/nullAhora debería ver mucha salida, el final debería verse así:
[...]
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: Viernes 4 de agosto, 4:01 pm ET
[10025] dbg: FuzzyOcr: LAS VEGAS, NEVADA--(MARKET WIRE)--4 de agosto de 2006 -- auantum Energy, lnc. (OTC
[10025] dbg: FuzzyOcr: BB:aEGY.oB-_-
[10025] dbg: FuzzyOcr: auantum Energy, lnc. se complace en anunciar que ha solicitado que sus acciones se coticen en
buró de Frankfurt. La empresa ha contratado los servicios de Baltic
[10025] dbg: FuzzyOcr: lnvestment Group de Hamburgo, Alemania para ayudar con la solicitud.
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: _ qEGY,OB "12. Filtrando PDF, XLS y spam de phishing con ClamAV (Firmas de Sanesecurity)
Actualmente hay mucho spam donde la “información” de spam se adjunta como archivos .pdf o .xls, a veces también ocultos dentro de un archivo .zip. Si bien estos correos de spam no son fáciles de atrapar con, por ejemplo, SpamAssassin o un filtro Bayesiano, el escáner de virus ClamAV puede atraparlos fácilmente cuando se le alimenta con las firmas correctas, ya que ClamAV está diseñado para escanear archivos adjuntos de correo.
Cree una carpeta para sanesecurity y descargue y otorgue al script el permiso adecuado.
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.confy cambie las siguientes variables para que coincidan con su instalación:
clam_dbs="/var/lib/clamav"La variable clamav_dbs contiene la ruta al directorio donde se almacenan sus firmas de ClamAV.
Ruta a clamd.pid:
clamd_pid="/var/run/clamav/clamd.pid"Recargar después de la actualización:
reload_dbs="yes"
reload_opt="kill -USR2 `cat $clamd_pid`" #Señales PID para recargar dbsDirectorio de trabajo:
work_dir="/var/lib/clamav"Y una vez que haya terminado con la configuración, establezca lo siguiente en sí:
user_configuration_complete="yes" Ahora ejecutamos el script de actualización para verificar si la descarga funciona:
clamav-unofficial-sigs.shAgregue esto a cron:
00 04 * * * /usr/sbin/clamav-unofficial-sigs.sh -c /etc/clamav-unofficial-sigs.conf &> /dev/null Por favor, edite /etc/clamav-unofficial-sigs.conf y comente la sección de base de datos de MalwarePortal. Ha habido toneladas de falsos positivos al usar sus definiciones.
13. Greylisting con Greyfix
Greyfix es un pequeño demonio de greylisting que funciona extremadamente bien y es fácil en recursos.
Instalar:
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.cfy agregue lo siguiente:
greyfix unix - n n - - spawn
user=nobody argv=/usr/local/sbin/greyfix --greylist-delay 60 -/ 24Ya agregamos la entrada para main.cf usando el script de configuración de postfix.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.