P3Scan
\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
Descripción
P3scan es un proxy de pop3, pop3s y smtp. Es apropiado para ser colocado
en el firewall o proxy para proteger la red local.
Prerequistos
Montar un proxy o firewal y adicionalmente montar clamav (clamd) y spamassassin (spamd).
Procedimiento
A. Instalación básica
Busque el rpm, se consigue .. p3scan-2.3.2-1.i386.rpm
B. Configuración
1. Vincule los templates
Haga
ln -s p3scan-sp.mail p3scan.mail
ln -s p3scan-sp.mail p3scan.extra
2. Adecue el p3scan.conf
Como siempre entre menos toque mas facil es que funcione.
Configure el antivirus
scannertype = clamd
scanner = 127.0.0.1:3310
o tambien se puede
scannertype = basic
scanner = /usr/bin/clamdscan –no-summary
Configure el antispam
checkspam
spamcheck = /usr/bin/spamc
Renatach para el renombre de attachments
renattach = /usr/local/bin/renattach
3. Configure firewall
Como siempre entre menos toque mas facil es que funcione. (Muy similar a squid) En
/etc/rc.d/rc.firewall.skina
/sbin/iptables -t nat -I PREROUTING -s 125.123.1.0/24 -i eth0 -d ! 172.24.1.1/24 -p tcp –dport 110 -j REDIRECT –to-port 8110
/sbin/iptables -t nat -I PREROUTING -s 125.123.1.0/24 -i eth0 -d ! 172.24.1.1/24 -p tcp –dport 995 -j REDIRECT –to-port 8110
C. Renattach
Si quiere hacer algo con las extensiones como quitarlas o renombrarlas. Se consigue
en tar.gz (renattach-1.2.4.tar.gz). Toca estandar y se instala.
Tener cuidado con el /usr/local/etc/renattach.conf . Ahi decide si borra attachements o solo
lo rescribe.
Problemas
1. Se queda subiendo y no termina
- El script de arranque que viene en el rpm no esta bien, tonces toca reescribirlo …
start() {
# Check if p3scan is already running
if [ ! -f /var/lock/subsys/p3scan ]; then
echo -n $“Starting $prog: “
# daemon /usr/sbin/p3scan &
/usr/sbin/p3scan -d > /var/log/p3scan 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
touch /var/lock/subsys/p3scan
fi
echo
fi
return $RETVAL
}
2. El truco Sylvania
Se requeria que ademas se guardara el mail con attachment despues de removerlo,
y que fuera enviado a un correo.
- Reemplace el renatach.exe con un shell renatach.sh .. que esta anexo
- este salva el archivo y lo copia a una maquina remota usando scp (con llaves previamente cruzadas)
- En el destino con un script los pego al buzon del destino.
Referencias
Anexos
——————————————————————————————————-
Renatach.sh .. para reemplazar
——————————————————————————————————-
#!/bin/sh
#
# Si tiene extesion prohibida la envia al mail rechazados
#
#################################### .. variables iniciales
inicio_prog=`date +%s`
NUM=$RANDOM
export FECHA=$NUM.$inicio_prog
export LOGDIR=“/var/log”
export TMPDIR=“/var/tmp”
#################################### .. funciones
borre_temporales(){
rm -f $TMPDIR/*$FECHA
}
#################################### .. salvo el correo
#
## Solo copia hasta que las lineas vacias sean 6 contadas
ELINE=0
while $ELINE < 6
do
read LINE
echo “$LINE” » $TMPDIR/correo$FECHA
if [ “$LINE” = “” ]
then
# let ELINE=ELINE+1
ELINE=`echo “$ELINE + 1” | bc`
else
ELINE=0
fi
done
#################################### .. si es multibody
esprohi=`cat $TMPDIR/correo$FECHA | grep -i “Content-Type:“ | \\
grep -i -e ”.exe” -e “.pif” -e “.com” -e “.zip” -e “.rar” \\
-e “.cab” -e “.arj” -e “.dll” -e “.msi” `
if $esprohi != "" ; then
echo “From root@slicolombia.com ” >$TMPDIR/correo2$FECHA
cat $TMPDIR/correo$FECHA »$TMPDIR/correo2$FECHA
scp $TMPDIR/correo2$FECHA rechazados@slicolfalma.slicolombia.com:~rechazados/tmp/correo$FECHA
fi
#################################### .. Igual quita la extension
cat $TMPDIR/correo$FECHA | /usr/local/bin/renattach $@
borre_temporales()
15-Marzo-2006 J.E.Gomez v1.0 Primera version
\t\t\t \t\t\t \t\t\t \t\t\t \t\t\t \t\t\t \t\t\t \t\t\t \t\t\t
\t\t\t \t\t\t \t\t\t