Introducción a Linux/Debian
De Wikilibros, la colección de libros de texto de contenido libre.
Contenido |
[editar] Constrruir un paquete Debian desde código fuente
Primero buscamos el paquete, por ejemplo tinyproxy.
apt-get cache search tinyproxy
Segundo descargamos el código fuente.
apt-get source tinyproxy
Tercero resolvemos dependencias
apt-get build-dep tinyproxy
Cuarto, modificamos lo que nos interese tanto en el código fuente como en las opciones de compilación y seguidamente creamos el paquete.
dpkg-buildpackage -rfakeroot -us -uc
Si todo va bien, que debe ir bien. Al hacer
ls -lha *deb
Veremos el paquete creado para nuestra máquina. Para instalarlo
dpkg -i tinyproxy
[editar] Instalación del servidor de correo Courier
Instalación de un servidor de correo Courier.
Montamos
- SMTP correo saliente
- Envio y recepción de e-mail
- POP3
- Se usa para descargar.
- IMAP
- Descarga tb + por defecto solo descarga encabezados.
- Integraremos el SMTP con maildrop y através de este con un antivirus y un antispam
- A instalar:
- courier-authdaemon
- courier-base
- courier-imap
- courier-maildrop
- courier-mta
- courier-mta-ssl
- courier-pop
- courier-pop-ssl
- A instalar:
apt-get install courier-authdaemon courier-base courier-imap courier-maildrop courier-mta courier-mta-ssl courier-pop courier-pop-ssl
Eliminar script de arranque en Debian
update-rc.d -f exim4 remove
eliminar certificado de prueba del ssl del pop3:
rm /etc/courier/pop3d.pem
editamos el /etc/courier/pop3d.cnf
vi /etc/courier/pop3d.cnf -> /contenido
Salimos y creamos el certificado
mkpop3dcert
Editamos ahora el similar a pop3 pero para servicio smtp
vi /etc/corier/esmtpd.cnf
Despues de editar este fichero, hacemos:
cd /usr/bin rm /usr/lib/courier/esmtpd.pem mkesmtpdcert rm /etc/courier/esmtpd.pem ln -s /usr/lib/courier/esmtpd.pem /etc/courier/esmtpd.pem
Ahora creamos los alias de dominios.
- Se usan para centralizar cuentas.
- Nunca se debe leer el correo como root, postmaster, mailer-daemon, debido a lo cual se redirige a otra cuenta.
Editamos el fichero /etc/courier/aliases/system.
vi /etc/courier/aliases/system
Y ponemos
#Ponemos aquí al usuario del sistema al que queremos que llegue el correo. postmaster: jesus
Creamos el directorio:
mkdir /etc/courier/aliasdir/
Ejecutamos:
makealiases
Ahora vamoa configurar el SMTP-AUTH que consiste en:
ampliar datos sobre relays
- Relay abierto, no pide claves para el envio de coreo.
- Relay cerrado pide clave para enviar correo, básicamente debido al spam
Le vamos aindicar a courrier que debe pedir nombre y contraseña.
vi /etc/courier/esmtpd
Y buscamos AUTHMODULES
Debe poner lo que pone, verificar que no esté vacio ""
Ahora buscamos ESMTPAUTH y ponemos
ESMTPAUTH="LOGIN"
Ahora le indicamos que queremos ser un relay completamente cerrado
vi /etc/courier/smtpaccess/default
No permitimos enviar correo sin contraseña a las redes 10* y 192.168*, para lo cual comentamos las líneas siguientes
10 allow,RELAYCLIENT 192.168 allow,RELAYCLIENT
Siempre que se toca /etc/courier/smtpaccess/default se debe hacer:
makesmtpaccess
Creamos el fichero /etc/courier/me y metemos:
vi /etc/courier/me
pol4.net localhost localhost.localdomain
Y en el fichero /etc/courier/locals metemos lo mismo que antes:
vi /etc/courier/locals pol4.net localhost localhost.localdomain
Con esto ya casi está.
Para arrancar el servicio, se deben parar varios demonios. Debido a esto vamos a hacer un script para que lo haga él solo:
#!/bin/bash /etc/init.d/courier-authdaemon restart && /etc/init.d/courier-mta restart && /etc/init.d/courier-pop restart && /etc/init.d/courier-imap restart && /etc/init.d/courier-mta-ssl restart && /etc/init.d/courier-pop-ssl restart
Le damos permisos de ejecución
chmod u+x /sbin/reiniciacourier
Quedan unos ajustes, pero ya puede enviar y recibir correo.
Hay 2 formas de dejar el correo:
- Mailbox
- Implica que haya un fichero por usuario y dentro todos los correos.
- Maildir
- Es multifichero y
- new, un fichro por correo nuevo sin leer
- cur, un fichero por correo nuevo pero leido
- tmp,
- Es multifichero y
Esta estructura de tipo maildir usa en cada /home/usuario del sistema. Debido a lo cual si queremos que se cree este directorio automáticamente cuando creamos un nuevo usuario, crearemos este direcorio en el /etc/skel. De la siguiente manera:
su - jesus maildirmake Maildir
Esto para cada usuario.
Para usuarios nuevos, en /etv/skel se crea el direcotrio Mail
maildirmake /etc/skel/Maildir
[editar] 22/11/05
Estandares:
crear fichero /etc/courier/bofh
nano /etc/courier/bofh
Y metemos este texto
opt BOFHADMIME=accept
Algunos sistemas mandan cabeceras erroneas, como hotmail. Hay tres formas de solucionar esto
- Rechazarlo
- Aceptarlo
- Por defecto-> Envia un mensaje de aviso con el correo, debido a lo cual puede haber errores. enlace
Para evitar esto, se hace lo comentado antes.
Para conseguir más rapidez de conexión:
En /etc/courier/esmtpd
nano /etc/courier/esmtpd
Buscamos TCPDOPTS y lo cambiamos por:
TCPDOPTS="-stderrlogger=/usr/sbin/courierlogger -nodnslookup -noidentlookup"
-nodnslookup impide que cuando en el correo viene la ip, no la consulta de nuevo.
-noidentlooku, evita que se conecte al servicio ident de la máquina que se conecta.
[editar] Integración de un antivirus con el correo.
[editar] Instalación
Courier --> amavis --> antivirus
1.- Buscar el paquete Debian que instale el fp-linux-ws.
- Lo descargamos.
wget ftp://ftp.f-prot.com/pub/linux/fp-linux-ws_4.6.2-1_i386.deb
- Lo instalamos
dpkg -i /home/jesus/fp-linux-ws_4.6.2-1_i386.deb
2.- Vamos a http://www.amavis.org/ y descargamos el paquete en código fuente.
wget http://www.amavis.org/dist/perl/amavis-0.3.12.tar.gz
3.- Seleccionamos en el software de contribución un parche
wget http://www.amavis.org/contrib/amavis-courier.patch.2
4.-Descomprimimos el amavis.
tar xvfz amavis-0.3.12.tar.gz
5.- Aplicamos el parche que hemos bajado
patch -p1 < /tmp/amavis-courier.patch.2
6.- Ahora hay que instalar una serie de librerias.
apt-get install libmime-perl libconvert-tnef-perl libconvert-uulib-perl libarchive-tar-perl libcompress-zlib-perl libunix-syslog-perl nomarch libconfig-inifiles-perl libfile-mmagic-perl perl-suid unarj lha unrar rar libwww-perl zoo libarchive-zip-perl
-
-
- Básicamente son librería de compresión y descompresión de archivos.
-
7.- Instalar el paquete arc
apt-get install arc
8.- Seguimos
cd `aclocal --print-ac-dir`
Nos da un error debido a que aclocal no está instalado. Lo buscamos en debian.org
Está en el paquete automake como binario. Instalamos automake.
apt-get install automake
Volvemos a ejecutar cd `aclocal --print-ac-dir`
cd `aclocal --print-ac-dir`
Nos da como resultado el cambio de directorio al punto donde se encuentra aclocal.
Debemos buscar un archivo m4source/acx_pthread.m4 en el google y lo copiamos al directorio que nos da el comando anterior.
http://sentinel.dk/cookbook/?Courier-ClamAV-Amavis_combo&print http://www.google.com/search?q=m4source%2Facx_pthread.m4&sourceid=mozilla&start=0&start=0&ie=utf-8&oe=utf-8
Y descargamos el archivo acx_pthread.m4
wget http://autoconf-archive.cryp.to/acx_pthread.m4
En el directorio arriba indicado.
Nos vamos al directorio donde descamprimimos amavis, en nuestro caso
cd /tmp/amavis-0.3.12
Y ejecutamos
aclocal && automake && autoconf
Editamos el fichero de configuración
vi configure
Y buscamos MTA=sendmail
Quitamos sendmail y ponemos courier
MTA=courier
Añadimos un usuario
useradd amavis -d /var/spool/amavis -s /bin/false
Ahora configuramos para compilar, dentro del directorio dónde descomprimimos amavis.
./configure --with-amavisuser=amavis --enable-courier --with-mailto=postmaster --with-mailfrom=postmaster --enable-credits
Salida
-
- Configuration summary for amavis 0.3.12 "2003-03-07":
Install amavis as: ${exec_prefix}/sbin/amavis
Configured for use with: courier
Configuration type: simple
Original sendmail.cf:
Use virus scanner(s): FRISK Antivirus for Linux
Scanner runs as: amavis
Logging to syslog: yes
Run-time directory: /var/amavis
Quarantine directory: /var/virusmails
Max. recursion depth: 20
Max. archive nesting depth: 3
Max. number of extracted files: 500
Add X-Virus-Scanned header: yes
Display AMaViS credits: yes
Warn sender: yes
Warn recipient(s): yes
Reports sent to: postmaster
Reports sent by: postmaster
Y hacemos
make && make install
En estos momentos el Amavis ya está instalado, solo falta integrarlo con courier.
[editar] Integración de Amavis con Courier 24112005
Le damos todos los permisos a la carptea amavis
chmod 777 /var/amavis /var/virusmails
Y que ambas capetas pertenezcan al usuario amavis
chown amavis /var/amavis /var/virusmails
Y por fin solo queda editar el fichero /etc/courier/courierd.
vi /etc/courier/courierd
Buscamos DEFAULTDELIVERY, esta dirección la cambiamos para que pase por el antivirus antes de ir a la carpeta de correo, usamos maildrop para que antes de entregar el correo, lo pase por antivirus, antispam.... Cambiamos lo que hay por defecto por:
DEFAULTDELIVERY="| /usr/bin/maildrop"
Editamos fichero de configuración del maildrop.
vi /etc/courier/maildroprc
Y metemos esto
#Sacamos varias variables que el antivirus necesita import SENDER import RECIPIENT SH_SENDER=escape($SENDER) SH_RECIPIENT=escape($RECIPIENT) xfilter "/usr/sbin/amavis $SH_SENDER $SH_RECIPIENT"
Reiniciamos courier
reiniciacourier
Y hacemos pruebas en envio de correo. Existen varios archivos de test buscar por eicar1.zip a eiacarn.zip
Para obtener actualizaciones del antivirus.
/usr/local/f-prot/tools/check-updates.pl
Y para configurar las actualizaciones para que se ejecuten cada cierto tiempo usamos el crontab. Podemos hacer que se ejecute cada dia, cada semana o cada mes. Vamos a hacer que se ejecute cada dia. Editamos el el /etc/cron.daily
vi /etc/cron.daily/BaseVirus
Le insertamos la orden
#!/bin/bash /usr/local/f-prot/tools/check-updates.pl
Grabamos y salimos.
Y le damos a este archivo permisos de ejecución.
chmod 755 /etc/cron.daily/BaseVirus
[editar] Instalación del AntiSpam
El correo no se elimina, sino que se indica como tal. Y el usuario es quién decide qué hacer con él.
apt-get install spamassassin
Editamos el fichero /etc/default/spamassassin
vi /etc/default/spamassassin
Y ponemos ENABLED=0 a 1
ENABLED=1
Y editamos el fichero de configuración del Maildrop
vi /etc/courier/maildroprc
Añadimos un nuevo xfilter antes del amavis.
#Analiza correos siempre que los correos sean menores de 256K
if ( $SIZE < 262144 )
{
xfilter "/usr/bin/spamassassin -P"
}
Reiniciamos el courier
reiniciacourier
Y probamos con dos ejempos:
Este sin spam
zcat /usr/share/doc/spamassassin/examples/sample-nonspam.txt.gz | mail -s "Correo sin Spam" jesus@pol4.net
Este con spam
cat /usr/share/doc/spamassassin/examples/sample-spam.txt | mail -s "Correo con Spam" jesus@pol4.net
Editamos el fichero /etc/spamassassin/local.cf
nano /etc/spamassassin/local.cf
Y ponemos
rewrite_subject 1 report_header 1 defang_mime 0
Para sacar la ayuda del SpamAssessin
man Mail::SpamAssassin::Conf
Lista de correo válido o inválido.
Editamos /usr/share/spamassassin/60_whitelist.cf
nano /usr/share/spamassassin/60_whitelist.cf
Podemos configurar de forma genérica o individualizada el lenguaje delos mensajes.
vi /home/jesus/.spamassassin/user_prefs
Ó buscando parte del mensaje en el sistema
fgrep -i template /home/jesus/.spamassassin/*