Introducción a Linux/Debian

De Wikilibros, la colección de libros de texto de contenido libre.

Wikipedia
Para más información, véase el artículo Debian en Wikipedia.


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
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,

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/*
Herramientas personales
Otros idiomas