EU-Postaren estatistikak ikusi eta beste zenbait kudeaketa lanak egiteko, MailWatch erabilikodugu. MailWatch aplikazioak MySQL behar du MailScanner-en erregistroak gordetzeko, Apache weborriak emateko, eta PHP. Instala ditzagun.
ES-Vamos a utilizar MailWatch para realizar estadísticas de virus en el correo, y otras labores de gestión. MailWatch necesita MySQL para guardar los logs de MailScanner, Apache para servir las páginas y PHP. Vamos a instalarlos.
apt-get install apache2 mysql-server php4 php4-mysql php4-gdEU-Atzipen kode bat esleituko diogu root-i MySQL datu-basean.
ES-Asignamos una clave de acceso al usuario root en MySQL.
mysqladmin -u root password 'MIPASSWORD'EU-Internetetik deskargatuko dugu MailWatch, eta deskonprimiitu egingo dugu.
ES-Nos descargamos MailWatch de internet y lo descomprimimos.
mkdir -p/root/download/mailwatchEU-mailscanner datu-basea sortuko dugu.
ES-Creamos la base de datos mailscanner.
cd mailscannerEU-Baimenak emango dizkiogu mailscanner datu-basearen erabiltzaileari (mailwatch).
ES-Damos permisos al usuario de la base de datos mailscanner (mailwatch).
mysql -u root -pEU-Orain MailWatch.pm editatuko dugu, eta gure baloreekin aldatuko ditugu hurrengo lerroak (43-44 lerroak ggb).
ES-Ahora editamos MailWatch.pm y cambiamos las siguinetes líneas con nuestros valores (aprox: lineas 43 y 44).
my($db_user) = 'mailwatch';EU-MailWatch.pm fitxategia kopiatuko dugu /etc/MailScanner/CustomFunctions direktoriora.
ES-Copiar el fichero MailWatch.pm al directorio /etc/MailScanner/CustomFunctions.
mv MailWatch.pm /etc/MailScanner/CustomFunctions/EU-Web erabiltzaile bat sortuko dugu MailWatch-kudeatzeko.
ES-Creamos un usuario Web para gestionar MailWatch.
mysql mailscanner -u mailwatch -pEU-Orain, mailscanner direktorioa kopiatuko dugu web zerbitzariaren errora.
ES-Ahora copiamos el directorio mailscanner al directorio raiz del servidor web.
mv /root/download/mailwatch/mailwatch/mailscanner /var/www/EU-Bailmenak aldatuko diegu mailscanner-en dauden images eta images/cache azpidirektorioei. Irakurri eta idazteko baimenak eman behar dizkiogu web zerbitzariari.
ES-Modificamos los permisos de los subdirectorios images e images/cache del directorio mailscanner. Debemos hacer que sean legibles y escribibles por el servidor web.
chown root:www-data /var/www/mailscanner/imagesEU-Orain conf.php fitxategia sortuko dugu /var/www/mailscanner/ direktorioan. Hortarako, conf.php.example fitxategia kopiatuko dugu.
ES-Ahora creamos el fichero conf.php en /var/www/mailscanner/. Para ello copiamos el fichero conf.php.example.
cp /var/www/mailscanner/conf.php.example /var/www/mailscanner/conf.phpEU-Gure instalaziora egokitzeko, /var/www/mailscanner/conf.php aldatuko dugu. Hurrengo lerroak, honela geratu behar dute.
ES-Modificamos /var/www/mailscanner/conf.php para adaptarlo a nuestra instalación. Las siguientes líneas deben quedar como sigue:
define (DB_USER, 'mailwatch');EU-Orain MailScanner aldatuko dugu, erregistro edukiak MySQL datu-basera bidal ditzan. Lehenengo, zerbitzua geldiaraziko dugu.
ES-Ahora vamos a configurar MailScanner para enviar el registro de logs a la base de datos de MySQL. Primero paramos el servicio MailScanner
/etc/init.d/mailscanner stopEU-/etc/MailScanner/MailScanner.conf konfigurazio fitxategian, hurrengo parametroak agertu behar dira.
ES-Nos aseguramos que en el fichero de configuración /etc/MailScanner/MailScanner.conf aparezcan los siguientes parámetros.
Always Looked Up Last = &MailWatchLoggingEU-/root/download/mailwatch/mailwatch direktorioan dagoen SQLBlacklistWhitelist.pm fitxategia, /etc/MailScanner/CustomFunctions direktoriora kopiatu behar dugu.
ES-Copiar el fichero SQLBlacklistWhitelist.pm, de /root/download/mailwatch/mailwatch a /etc/MailScanner/CustomFunctions.
cp /root/download/mailwatch/mailwatch/SQLBlacklistWhitelist.pm /etc/MailScanner/CustomFunctions/EU-/etc/MailScanner/MailScanner.conf konfigurazio fitxategian, hau jarri behar dugu:
ES-En el fichero de configuración /etc/MailScanner/MailScanner.conf poner:
Is Definitely Not Spam = &SQLWhitelistEU-Aldatu egingi dugu /etc/MailScanner/CustomFunctions/SQLBlacklistWhitelist.pm fitxategia. CreateList funtzioan, datu-basearen atzipen parametroak, MailWatch.pm fitxategian dauden bezala jarriko ditugu. 105. lerroan ggb. hau eduki behar dugu:
ES-Modificar /etc/MailScanner/CustomFunctions/SQLBlacklistWhitelist.pm. En la función CreateList, poner los parámetros de acceso a la base de datos iguales que en el fichero MailWatch.pm. En la línea 105 (aprox.) y siquiente se debe tener:
my($db_user) = 'mailwatch';EU-Bayes datu-baseak mugituko ditugu, eta baimenak jarriko ditugu. /etc/MailScanner/spam.assassin.prefs.conf fitxategian, hau jarriko dugu:
ES-Movemos las base de datos bayesianas, y ponemos los permisos. En /etc/MailScanner/spam.assassin.prefs.conf ponemos:
bayes_path /etc/MailScanner/bayes/bayesEU-Direktorio berria sortuko dugu. Jabetza emango diogu web zerbitzariari, eta setgid bit-a jarriko diogu.
ES-Creamos el nuevo directorio, le damos la propiedad al servidor web, y le ponemos el setgid.
mkdir /etc/MailScanner/bayesEU-Ditugun bayes datu-baseak kopiatu, eta baimenak aldatuko dizkiegu.
ES-Copiamos las bases de datos bayesianas existentes y cambiamos los permisos.
cp /var/lib/MailScanner/* /etc/MailScanner/bayes/EU-Egiaztatu egingo dugu SpamAssassin-ek ongi funtzionatzen duela bayes datu-base berriekin.
ES-Verificamos que SpamAssassin funciona correctamente con las nuevas bases de datos bayesianas.
spamassassin -p /etc/MailScanner/spam.assassin.prefs.conf --lintEU-Holako zerbait agertu behar da.
ES-Y debe aparecer algo así como:
debug: using "/etc/MailScanner/spam.assassin.prefs.conf" for user prefs fileEU-Baina... bi errore ditugu.
ES-Pero... aparecen dos errores.
EU-SpamAssassin-en errore bat dirudi. /usr/share/spamassassin/20_dnsbl_tests.cf fitxategian dauden hiru lerro komentatu behar ditugu. Horrela, ez du lerro horietan jartzen duen test-a egingo. Horrela geratuko lirateke (190. lerroa ggb).
ES-Parece ser que hay un bug en esta versión de SpamAssassin. Debemos comentar tres líneas en el fichero /usr/share/spamassassin/20_dnsbl_tests.cf, para que no realice cierto test de listas negras a través de dns. Quedarían de la siguiente manera (aprox: línea 190 y siguientes):
# header DNS_FROM_AHBL_RHSBL ................EU-Gainera, /usr/share/spamassassin/50_scores.cf fitxategian beste lerro bat komentatu behar dugu. Honela geratuko litzateke:
ES-Además, en el fichero /usr/share/spamassassin/50_scores.cf debemos comentar otra línea que quedaría:
# score DNS_FROM_AHBL_RHSBL .............EU-Beste bug bat. /usr/share/spamassassin/25_body_tests_es.cf fitxategian, kate luzeegi bat dago. 50 karaktere baino gehiago ditu, eta beraz, azken hitza moztuko dugu. Hola geratuko da:
ES-Otro bug. En el fichero /usr/share/spamassassin/25_body_tests_es.cf hay una cadena demasiado larga. Tiene más de 50 caracteres, por lo que hay que acortar la última palabra. Debe quedar así:
describe EXCUSE_ES_03 Someone requested a spammer to spam you in SpEU-Berriz probatzerakoan, ez dago errorerik.
ES-Al verificar de nuevo SpamAssassin, no indica error alguno.
EU-MailScanner abiaraziko dugu.
ES-Reiniciamos MailScanner.
/etc/init.d/mailscanner startEU-/var/log/mail.log erregistro fitxategian, holako zerbait agertuko zaigu:
ES-En el fichero de registro /var/log/mail.log debemos ver algo parecido a:
Jun 13 12:18:23 pagasarri MailScanner[26388]: MailScanner E-Mail Virus Scanner version 4.41.3 starting...EU-Dena dago martxan. Orain web orrira sartuko gara. Makina DMZn dagoenez, HTTP atzipena gaitu behar dugu suhesian.
ES-Ya tenemos todo funcionando. Ahora necesitamos acceder a la máquina desde un navegador. Como la máquina está, en una DMZ, tenemos que habilitar en el cortafuegos el acceso HTTP desde el interior.
Source | Destination | Service | Action |
---|---|---|---|
Zerbitzariak Administraritza Irakasleak |
antivirus perimetral |
HTTP (80) | Accept |
EU-MySQL eta grafikoak erabiltzeko, php luzapenak gaitu behar ditugu orain. /etc/php4/apache2/php.ini fitxategian, luzapenei dagozkien lerroan deskomentatu egin behar ditugu. Honela geratuko lirateke:
ES-Ahora habilitamos las extensiones de php para usar MySQL y los gráficos. En el fichero /etc/php4/apache2/php.ini, las líneas que corresponden a las extensiones han de ser descomentadas. Quedarían de la siguiente forma:
extension=mysql.soEU-Apache konfiguratuko dugu gure sareetatik eginiko eskakizunei soilik erantzuteko. Gainera, lotura sinbolikoak jarraitu behar ditu. Azken hau mailwatch programak behar du. /etc/apache2/conf.d/ direktorioan, mailwatch fitxategian, Gure eskolako lau sareak, 172.16.0.0/24, 172.16.1.0/24, 172.16.2.0/24, 172.16.3.0/24 direla suposatuz, hurrengo hau jarriko dugu:
ES-Vamos a configurar Apache para que solo responda a peticiones realizadas desde nuestras subredes, y para que siga los enlaces simbólicos. Esto último lo realizamos porque el programa mailwatch utiliza dichos enlaces. En el directorio /etc/apache2/conf.d/, y suponiendo que las cuatro subredes de nuestra escuela son 172.16.0.0/24, 172.16.1.0/24, 172.16.2.0/24, 172.16.3.0/24, creamos el fichero mailwatch con el siguiente contenido:
ServerAdmin webadmin@nire-eskola.netEU-Apacheren exekuzioa egiten duen erabiltzailea postfix taldekoa izan behar da. Horrela, koarentenako direktorioan baimenak izango ditu. Aginte hau egikarituko dugu:
ES-Vamos a hacer que el usuario en que se ejecuta Apache en Debian (www-data) sea del grupo postfix para que se pueda acceder al directorio de cuarentena. Ejecutamos el siguiente comando:
usermod -a -G postfix www-dataEU-Hau agertu behar da /etc/groug fitxategian (Sarge-n):
ES-En el fichero /etc/group, debe aparecer (en Sarge):
postfix:x:104:www-dataEU-Apacheren /etc/apache2/apache2.conf konfigurazio fitxategian, bi lerro deskomentatzea komeni zaigu. Horrela geratuko lirateke:
ES-Hay dos líneas en el fichero de configuración de apache /etc/apache2/apache2.conf, que conviene descomentar. Quedarían así:
AddType application/x-httpd-php .phpEU-MailScanner-ekin sistema konplexuak egin ditzakegu, non erreglan hierarkizatuak dauden. Hortarako, defektuzko erreglan toki batean jartzen dira, tokikoak beste batean, lokalak beste batean, etab. MailWatch-ek toki guzti horietan bilatzen ditu, eta denak erkusten ditu web orrian. Gainera, konfigurazio fitxategia bi tokitan bilatzen du. Ez badugu hierarkia hori definitzen, ez da ezer gertatzen, baina fitxategien bilaketen errorean, apacheren erregistro fitxategian agertzen dira. Hori saihesteko, erabiltzen dugun direktoriora egingo ditugu lotura sinbolikoak. Gure kasuan:
ES-MailScanner permite sistemas complejos, donde las reglas de spam, etc, están jerarquizadas. Esto hace qye las reglas por defecto se pongan en un sitio, las del site en otro, las locales en otro, etc. MailWatch las busca en esos lugares, y las "suma", para mostrarlas en la página web, y para actualizarlas. Además también busca el fichero de configuración en dos sitios. Si no tenemos definida esa jerarquía, no pasa nada, pero los errores en la búsqueda de ficheros quedan en el registro de errores de apache. Podemos subsanarlo creando unos enlaces simbíolicos al directorio que utilizemos. En nuestro caso:
ln -s /usr/share/spamassassin /usr/local/share/spamassassinEU-Errealitatean, MailWatch-en bug bat da hau. Konfiguragarria izan beharko litzateke, eta ez suposatu existitzen ditrela.
ES-En realidad, esto es un bug de MailWatch, pues debería de ser configurable en lugar de suponer su existencia.
EU-Web nabigatzaileetan, helbide barrab, agertzen den ikonotxoa (favicon.ico) badaukagu, /var/www/mailscanner direktorioan jarriko dugu.
ES-Si tenemos el típico iconillo que aparece en la barra de los navegadore (favicon.ico), lo ponemos en el directorio /var/www/mailscanner.
EU-Arazotxo bat dagoela dirudi temp direktorioarekin IPen informazio geografikoa deskargatzerakoan. Jabetza emango diogu web zerbitzariari.
ES-Parece que hay un problemilla con el directorio temp, cuando descarga el fichero de información geográfica de las IPs. Vamos a darle la propiedad al servidor web.
chown www-data:www-data /var/www/mailscanner/tempEU-Errore bat dago mailq.php fitxategiaren PHP kodean. 15. lerroan, switch-aren azkenean, case default jartzen du. case hitza soberan dago. Honela geratuko da kodea:
ES-Hay un BUG en el código PHP del fichero mailq.php. En la línea 15, al final del switch, pone case default. Sobra el case. El código quedaría:
default:EU-Web zerbitzaria berrabiarazi.
ES-Reiniciamos el servidor web:
/etc/init.d/apache2 restartEU-Orain, nabigatzailea apuntatuko dugu gure perimetroko antibirusaren estatistiken web orrira (http://antibirusa.nire-eskola.net/mailscanner). MailWatch-en web orria agertzen zaigu. Bere barnean, estatistikak ikusteko orria, SpamAssassin eguneratzekoa, etab. Kontuz honekin. index.php, status.php-ren lotura sinboliko bat da. Navigatzailean, zerbitzariaren izena jartzen badugu, funtzionatuko du. IP helbidea jartzen badugu, ordea, ez du jarraituko lotura sinbolikoa. Kasu hontan, http://172.16.0.5/mailscanner/status.php jarri beharko genuke. Nahi badugu hau aldatu, ServerAlias bat definitu behar dugu VirtualHost-ean, adibidez.
ES-Ahora apuntamos el navegador al antivirus (http://antibirusa.nire-eskola.net/mailscanner). Nos aparece la página de MailWatch con menús para acceder a las estadísticas, actualización de SpamAssassin, etc. Cuidado con esto. index.php es un enlace simbólico al fichero status.php. Si en la barra del navegador ponemos el nombre del servidor, funcionará. Si ponemos la IP no sigue al enlace simbólico. En este último caso deberemos de poner p.ej: http://172.16.0.5/mailscanner/status.php. En caso de querer también que lo haga al poner la IP, debemos definir un ServerAlias en el VirtualHost, por ejemplo.