Capítulo 6. Aplicaciones de red

Tabla de contenidos

6.1. Navegadores web
6.1.1. Configuración del navegador
6.2. El sistema de correo
6.2.1. Fundamentos de correo
6.2.2. Fundamentos del servicio moderno de correo
6.2.3. La estrategia de configuración de correo en una estación de trabajo
6.3. Agente de transporte de correo (Mail transport agent, MTA)
6.3.1. Configuración de exim4
6.3.2. Configuración de postfix con SASL
6.3.3. La configuración de la dirección de correo
6.3.4. Operaciones fundamentales MTA
6.4. Agente de usuario de correo (MUA)
6.4.1. MUA fundamental — Mutt
6.5. Utilidad de recuperación y reenvio de correo remoto
6.5.1. configuración de getmail
6.5.2. configuración de fetchmail
6.6. Agente de entrega de correo (MDA) con filtro
6.6.1. configuración de maildrop
6.6.2. procmail configuration
6.6.3. Redeliver mbox contents
6.7. POP3/IMAP4 server
6.8. The print server and utilities
6.9. The remote access server and utilities (SSH)
6.9.1. Basics of SSH
6.9.2. Port forwarding for SMTP/POP3 tunneling
6.9.3. Connecting without remote passwords
6.9.4. Dealing with alien SSH clients
6.9.5. Setting up ssh-agent
6.9.6. How to shutdown the remote system on SSH
6.9.7. Troubleshooting SSH
6.10. Other network application servers
6.11. Other network application clients
6.12. The diagnosis of the system daemons

Puede ejecutar varias aplicaciones de red una vez establecida la conectividad de red (consulte Capítulo 5, Configuración de red).

[Sugerencia] Sugerencia

Puede leer una guía concreta y moderna sobre la infraestrucura de red de Debian en El Manual de Administración de Debian — Infraestructura de red.

[Aviso] Aviso

Este capítulo esta desactualizado ya que esta fundamentado en Debian 7.0 (Wheezy) liberado en 2013.

Existen muchos paquetes de navegadores web para acceder al contenido remoto por medio del Protocolo de Transferencia de Hipertexto (Hypertext Transfer Protocol) (HTTP).


En algunos navegadores puede usar una URL determinada para realizar su configuración.

  • "about:"

  • "about:config"

  • "about:plugins"

Debian en su área "main" ofrece diferentes "plugin" enpaquetados libres que se encargan no solo de ofrecer Java (software platform) y Flash si no también los archivos del tipo MPEG, MPEG2, MPEG4, DivX, Windows Media Video (.wmv), QuickTime (.mov), MP3 (.mp3), Ogg/Vorbis, DVDs, VCDs, etc. Debian también se encarga de ofrecer programas de ayuda para la instalación de paquetes plugins de las áreas "contrib" y "non-free".


[Sugerencia] Sugerencia

Aunque el uso de paquetes Debian es mucho más sencillo, los plugin del navegador aun pueden activarse mediante la instalaciñon de "*.so" en el directorio de "plugins" (p. ej. "/usr/lib/iceweasel/plugins/") y reiniciar el navegador.

Algunos sitios web no permiten la conexión para determinados valores del agente de usuario (user-agent) de su navegador. Se puede evitar este hecho mediante la suplantación de la cadena del agente de usuario. Por ejemplo, puede hacerlo añadiendo la siguiente línea en los archivos de configuración del usuario como "~/.gnome2/epiphany/mozilla/epiphany/user.js" o "~/.mozilla/firefox/*.default/user.js".

user_pref{"general.useragent.override","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"};

También puede aladir y reinciar esta variable escribiendo "about:config" en la URL y pulsando el botón derecho del ratón para mostrar su contenido.

[Atención] Atención

La suplantación de la cadena del agente de usuario puede causar efectos colaterales con Java.

[Atención] Atención

Si quiere tener un servidor de correo en Internet, debería leer la siguiente información básica al respecto.

Un sistema de correo consta de un conjunto de programas que pueden ser servidores y clientes y que se ejecutan en varios equipos. Desde un punto de vista funcional existen tres tipos de agentes de correo:

[Nota] Nota

Los siguientes ejemplos de configuración son correctos para la típica estación de trabajo ubícua en conexiones a Internet para consumidores domésticos.

Un mensaje de correo electrónico consta de tres componentes, el sobre del mensaje, la cabecera del mensaje, y el cuerpo del mensaje.

SMTP utiliza la información del sobre de "destino (To)" y "origen(From)" para entregar el correo electrónico. (La información del "origen(From)" también se denomina como dirección de retorno (bounce address), Origen_, etc.).

La información de la cabecera sobre el "origen(From)" y el "destine(To)" es la que muestra por parte del cliente de correo. (Generalmente será la misma que conste en el sobre del mensaje, pero no siempre es el caso.)

El cliente de correo (MUA) necesita interpretar la cabecera del mensaje y los datos del cuerpo que usan Extensiones de Correo de Internet Multipropósito (Multipurpose Internet Mail Extensions, MIME) con el fin de acordar el tipo de datos del contenido y la codificación.

Con en fin de minimizar el problema del correo no deseado (spam) , muchos ISPs que ofrecen conexiones de internet a usuarios finales han implementado contramedidas.

Cuando configure su sistema de correo o resuelva problemas de entrega de correo, debe tener en cuenta estas limitaciones.

Para aliviar esta situación de hostilidad y limitaciones las limitaciones de Internet, algunos ISP independientes como Yahoo.com y Gmail.com ofrecen un servicio de correo seguro al cual se puede conectar desde cualquier punto de Internet mediante el uso de Seguridad de Capa de Transporte (TLS) y su predecesor , Capa de Conexión Segura (SSL).

  • El servicio de equipos inteligentes sobre en puerto 465 con SMTP sobre SSL en desuso (protocolo SMTPS).

  • El servicio de equipo inteligente en el puerto 587 con STARTTLS.

  • El correo entrante se accede mediante el puerto TLS/POP3 (995) con POP3.

[Atención] Atención

No es realista ejecutar un servidor SMTP desde una red doméstica para el envio de correo a un equipo confiable. Tiene todas los opciones de ser rechazado. Usted debería usar algún servicio de equipo inteligente de los que ofrece su ISP o un ISP de correo de independiente.

Por sencillez en adelante, asumiré que el equipo inteligente esta ubicado en "smtp.hostname.dom", necesita autenticación SMTP, y usa el puerto de envio (587) mediante STARTTLS.

La configuración más sencilla es que el correo se envie al "equipo inteligente" de ISP y se reciban por medio del servidor POP3 del ISP mediante el propio MUA (see Sección 6.4, “Agente de usuario de correo (MUA)”). Este tipo de configuración es común en los MUA con interfaz grafica de usuario completa como icedove(1), evolution(1), etc. Si usted necesita filtrar los correos dependiendo de su tipo, use la función de filtrado del MUA. En este caso, el MTA local (see Sección 6.3, “Agente de transporte de correo (Mail transport agent, MTA)”) solo realizará la entrega local (cuando el remitente y el destinatario están en el mismo equipo).

Dese cuenta que el sistema Debian es un sistema multiusuario. Incluso si usted es el único usuario, existen multitud de programas en ejecución como superusuario que le enviarán correos.

La configuración de correo alternativa es que el correo se envia por medio del MTA local al equipo inteligente del ISP y se recibe del POP3 del ISP por el recuperador de correo (see Sección 6.5, “Utilidad de recuperación y reenvio de correo remoto”) al buzón local. Si necesita el filtrado de correo dependiendo de sus tipos, usará el MDA con filtrado (see Sección 6.6, “Agente de entrega de correo (MDA) con filtro”) para separar el correo en diferentes buzones. Este tipo de configuración es común en MUA sencillos de consola como mutt(1), mew(1), etc., aunque es posible con cualquier MUAs (see Sección 6.4, “Agente de usuario de correo (MUA)”). Para este caso , el MTA local (see Sección 6.3, “Agente de transporte de correo (Mail transport agent, MTA)”) necesita realizar la entrega al equipo inteligente y entrega local. Ya que las estaciones de trabajo ubicuas no tienen un FQDN correcto, debe configurar su MTA local para que oculte y trampee el nombre real de correo en los correo de salida para evitar errores en la entrega (see Sección 6.3.3, “La configuración de la dirección de correo”).

[Sugerencia] Sugerencia

Usted querrá configurar el MUA/MDA para utilizar Maildir para el almacenamiento de los mensajes de correo en algún lugar de su directorio personal.

En una estación de trabajo, la elección más común epara el agente de transporte de correo (MTA) está entre los paquetes exim4-* o postfix. La elección depende de usted.


Aunque la contabilidad del sistema de votación popcon de exim4-* parece más utilizado que postfix, eso no significa que postfix no sea común entre los desarrolladores de Debian. El sistema servidor de Debian usa ambos, exim4 y postfix. El análisis de la cabecera de correo de los envios a las listas de correo de desarrolladores importantes indica que ambos MTAs son comunes.

Los paquetes exim4-* son reconocidos por su mínimo consumo de memoria y una configuración muy flexible. El paquete postfix es reconocido por ser compacto, rápido, simple y seguro. Ambos poseen una documentación amplia y son igual de buenos en cuanto a calidad y licencias.

Existen muchas elecciones de paquetes como agente de transporte de correo (MTA) especializados y con diferentes capacidades en el repositorio Debian.


Para configurar el correo de Internet por medio de un equipo inteligente, (re)configure el paquete exim4-* como se muetra a continuación.

$ sudo /etc/init.d/exim4 stop
$ sudo dpkg-reconfigure exim4-config

En "Tipo general de configuración de correo" seleccione "correo enviado por equipo inteligente; recibido por SMTP o fetchmail".

Asigne a "Nombre del sistema de correo:" a su valor por defecto como FQDN (consulte Sección 5.1.1, “La resolución del nombre del equipo”).

Asigne "Direcciones IP escuchan en las conexiones SMTP de entrada:" a sus valores por defecto como "127.0.0.1 ; ::1".

Borre el contenido de "Otros destinos desde los cuales se acepta correo:".

Borre el contenido de "Máquinas para el reenvio de correo:".

Asigne "Direcciones de IP o nombre de equipos para correo inteligente de salida:" a "smtp.hostname.dom:587".

Asigne "<No>" a "Ocultar el nombre de correo local en el correo de salida?". (Utilice en su lugar "/etc/email-addresses" como en Sección 6.3.3, “La configuración de la dirección de correo”.)

Conteste a "Mantener el número de peticiones DNS a mínimo (Marcado bajo demanda) como sigue.

  • "No" si el sistema esta conectado a Internet en el arranque.

  • "Si" si el sistema no esta conectado a Internet el el arranque.

Asigne "Método de entrega para correo local:" a "mbox format in /var/mail".

Selecciones "<Si>" a "Dividir la configuración en archivos pequeños?:".

Crear las entradas de contraseñas para el equipo inteligente editando "/etc/exim4/passwd.client".

$ sudo vim /etc/exim4/passwd.client
 ...
$ cat /etc/exim4/passwd.client
^smtp.*\.hostname\.dom:username@hostname.dom:password

Inicie exim4 como se muestra.

$ sudo /etc/init.d/exim4 start

El nombre del equipo en "/etc/exim4/passwd.client" no debería ser un alias. Compruebe el nombre real del equipo como sigue.

$ host smtp.hostname.dom
smtp.hostname.dom is an alias for smtp99.hostname.dom.
smtp99.hostname.dom has address 123.234.123.89

Yo utilizo las expresiones regulares en "/etc/exim4/passwd.client" para trabajar sobre el tema de los alias. SMTP AUTH probablemente funciones incluso si el ISP redirige el equipo señalado por medio de alias.

Puede actualiza su confiugración de exim4 de forma manual como sigue:

  • Actualice los archivos de configuración de exim4 en "/etc/exim4/".

    • Creando "/etc/exim4/exim4.conf.localmacros" para asignar MACROS y editando "/etc/exim4/exim4.conf.template". (no dividir la configuración)

    • creando nuevos archivos y editando los existente en los subdirectorios en "/etc/exim4/exim4.conf.d". (dividir la configuración)

  • Ejecute "invoke-rc.d exim4 reload".

Por favor, lea la guía oficial en: "/usr/share/doc/exim4-base/README.Debian.gz" y update-exim4.conf(8).

[Atención] Atención

Iniciar exim4 tarda mucho tiempo si (valor por defecto) "No" fue elegido a la pregunta de denconf "Mantener el número de preguntas DNS al mínimo (Marcar bajo demanda)?" y el sistema no esta conectado a Intenet cuando se inicia.

[Aviso] Aviso

Es inseguro utilizar contraseñas en texto plano sin ciftrado incluso cuando el ISP lo permite.

[Sugerencia] Sugerencia

Incluso si se usa SMTP con STARTTLS en el puerto 587 que se recomienda, algunso ISP todavía usan el puerto en desuso de SMTPS (SSL en el puerto 465). Exim4 tras la versión 4.77 tiene protocolo SMTPS en desuso tanto para el cliente como para el servidor.

[Sugerencia] Sugerencia

Si esta buscando un MTA ligero que respete "/etc/aliases" para su equipo portátil, podría considerar exim4(8) con "QUEUERUNNER='queueonly'", "QUEUERUNNER='nodaemon'", etc. en "/etc/default/exim4".

Para el correo de Internet por medio de un equipo inteligente, podría leer primero postfix documentation y las páginas de manual importantes.


(Re)configure los paquetes postfix y sasl2-bin según se explica a continuación.

$ sudo /etc/init.d/postfix stop
$ sudo dpkg-reconfigure postfix

Elija "Internet con equipo inteligente".

Asigne "equipo de reenvio SMTP (el blanco para no elegir ninguno):" a "[smtp.hostname.dom]:587" y configúrelo según sigue.

$ sudo postconf -e 'smtp_sender_dependent_authentication = yes'
$ sudo postconf -e 'smtp_sasl_auth_enable = yes'
$ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
$ sudo postconf -e 'smtp_sasl_type = cyrus'
$ sudo vim /etc/postfix/sasl_passwd

Cree las entradas de las contraseñas para el equipo inteligente.

$ cat /etc/postfix/sasl_passwd
[smtp.hostname.dom]:587     username:contraseña
$ sudo postmap hush:/etc/postfix/sasl_passwd

Inicie postfix con lo siguiente.

$ sudo /etc/init.d/postfix start

Aquí la utilización de "[" y "]" en el diálogo dpkg-reconfigure y "/etc/postfix/sasl_passwd" asegura que no se marque la entrada MX pero que se utilice directamente el nombre del equipo especificado. Consulte "Enabling SASL authentication in the Postfix SMTP client" en "/usr/share/doc/postfix/html/SASL_README.html".

Existen algunos archivos de configuraciñon de la dirección de correo para el transporte de correo, su entrega y los agentes de usuario.


El nombre del correo en el archivo "/etc/mailname" normalmente es un nombre de dominio totalmente cualificado (FQDN) que corresponderá a una dirección IP del equipo. Para un equipo ubicuo la cual no tiene un nombre asociado a una dirección IP, asigne este nombre de correo al valor de "hostname -f". (Esta es una elección segura que funciona tanto con exim4-* como con postfix.)

[Sugerencia] Sugerencia

El contenido de "/etc/mailname" se usa por muchos programas que no son MTA para determinar su comportamiento por defecto. En mutt, se asignan las variables "hostname" y "from" en el archivo ~/muttrc y sobreescribe el valor de mailname. Para los programas en el paquete devscripts, como bts(1) y dch(1), exporta las variables de entorno "$DEBFULLNAME" y "$DEBEMAIL" para sobreescribirlo.

[Sugerencia] Sugerencia

El paquete popularity-contest de forma habitual envia el correo desde la cuenta de superusuario con FQDN. Necesita asignar MAILFROM en /etc/popularity-contest.conf como se describe en el archivo /usr/share/popularity-contest/default.conf. De otra forma, su correo será rechazado por el servidor SMTP del equipo inteligente. Aunque es aburrido, esta aproximación es más segura que reescribir la dirección remitente de todos los correos por el MTA y podría ser usado por otros demonios y archivos de órdenes cron.

Cuando se asigna mailname a "hostname -f", la simulación de la dirección de correo remitente por medio de MTA puede ser realizado por lo siguiente.

  • El archivo "/etc/email-addresses" para exim4(8) se explica en exim4-config_files(5)

  • El archivo "/etc/postfix/generic" para postfix(1) se explica en el general(5)

Los siguientes pasos añadidos son necesarios para postfix.

# postmap hash:/etc/postfix/generic
# postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'
# postfix reload

Puede probar la configuarción de la dirección de correo usando lo siguiente.

  • exim(8) con las opciones -brw, -bf, -bF, -bV, …

  • postmap(1) con la opción -q.

[Sugerencia] Sugerencia

Exim proporciona varias herramientas como exiqgrep(8) y exipick(8). Consulte "dpkg -L exim4-base|grep man8/" para las órdenes disponibles.

Si esta suscrito al alguna lista de correo de Debian, puede ser una buena idea utilizar como MUA mutt y mew el cual es el estándar de facto para los participantes y su comportamiento es el esperado.


Personalice "~/.muttrc" como sigue para utilizar mutt como agente de correo de usuario (MUA) en combinación con vim.

#
# Fichero de configuración de usuario que sustituye /etc/Muttrc
#
# dirección de remitente de correo falsa
set use_from
set hostname=example.dom
set from="Name Surname <username@example.dom>"
set signature="~/.signature"

# vim: "gq" para reconiigurar parámetros
set editor="vim -c 'set tw=72 et ft=mail'"

# "mutt" va al  Inbox, mientras "mutt -y" enumera los buzones
set mbox_type=Maildir           # utiliza el formato gmail para el formato Maildir para crear mbox
set mbox=~/Mail                 # ubica los buzones en $HOME/Mail/
set spoolfile=+Inbox            # correo se entrega en $HOME/Mail/Inbox
set record=+Outbox              # guarda correos fcc en HOME/Mail/Outbox
set postponed=+Postponed        # mantiene los pospuestos en $HOME/Mail/postponed
set move=no                     # no mueve los elementos Inbox a mbox
set quit=ask-yes                # no usa solo "q" para cerrar
set delete=yes                  # borra siempre preguntado en la salida
set fcc_clear                   # almacena fcc no cifrados
# buzones en Maildir (actualiza automáticamente)
mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr "\n" " "`
unmailboxes Maillog *.ev-summary

## Por defecto
#set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s"
## Índices de conversaciones con remitentes (collapse)
set index_format="%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&(%4l)? %s"

## Por defecto
#set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
## nombres de carpetas unicamente
set folder_format="%2C %t %N %f"

Añada lo siguiente a "/etc/mailcap" o "~/.mailcap" para mostrar los correos HTML y adjuntos MS Word incrustados.

text/html; lynx -force_html %s; needsterminal;
application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
[Sugerencia] Sugerencia

Mutt puede ser utilizado como cliente IMAP y conversor de formatos de buzón. Puede etiquetar mensajes con "t", "T", etc. Esos mensajes etiquetados pueden ser copiados entre diferentes buzones con ";C" y borrados con ";d" en una única acción.

En lugar de ejecutar un MUA para acceder a los correos en remoto y procesarlos manualmente, puede desear automatizarlo para tener todos los correos entregados al equipo local. La utilidad de reenvio y recogida de correo remoto es la herramienta para usted.

Aunque fetchmail(1) ha sido el estándar de facto en GNU/Linux para la recogida de correo remoto, al autor le gusta ahora getmail(1). Si quiere rechazar correo antes de descargarlo para optimizar el ancho de banda, mailfilter o mpop puede ser útil. Cualquiera que sea la utilidad usada para recuperar el correo, es una buena idea configurar el sistema para entregar el correo recuperado al MDA, como es maildrop, por medio de una tubería.


La configuración de getmail(1) se describe en la documentación de getmail. Aquí esta mi configuración para acceder a varias cuentas POP3 como usuarios.

Cree "/usr/local/bin/getmails" como sigue.

#!/bin/sh
set -e
if [ -f $HOME/.getmail/running ]; then
  echo "getmail is already running ... (if not, remove $HOME/.getmail/running)" >&2
  pgrep -l "getmai[l]"
  exit 1
else
  echo "getmail has not been running ... " >&2
fi
if [ -f $HOME/.getmail/stop ]; then
  echo "do not run getmail ... (if not, remove $HOME/.getmail/stop)" >&2
  exit
fi
if [ "x$1" = "x-l" ]; then
  exit
fi
rcfiles="/usr/bin/getmail"
for file in $HOME/.getmail/config/* ; do
  rcfiles="$rcfiles --rcfile $file"
done
date -u > $HOME/.getmail/running
eval "$rcfiles $@"
rm $HOME/.getmail/running

Configurelo como sigue.

$ sudo chmod 755 /usr/local/bin/getmails
$ mkdir -m 0700 $HOME/.getmail
$ mkdir -m 0700 $HOME/.getmail/config
$ mkdir -m 0700 $HOME/.getmail/log

Cree el archivo de configuración "$HOME/.getmail/config/pop3_name" para cada cuenta POP3 como sigue.

[retriever]
type = SimplePOP3SSLRetriever
server = pop.example.com
username =  pop3_name@example.com
password = <your-password>

[destination]
type = MDA_external
path = /usr/bin/maildrop
unixfrom = True

[options]
verbose = 0
delete = True
delivered_to = False
message_log = ~/.getmail/log/pop3_name.log

Configurelo como sigue.

$ chmod 0600 $HOME/.getmail/config/*

Configure "/usr/local/bin/getmails" con cron(8)para que se ejecute cada 15 minutos ejecutando "sudo crontab -e -u <user_name>" y añadiendo lo siguiente a la entrada del usuario cron.

5,20,35,50 * * * * /usr/local/bin/getmails --quiet
[Sugerencia] Sugerencia

Los problemas de acceso con POP3 pueden no venir de getmail. Algunos servicios gratuitos POP3 pueden no seguir el protocolo POP3 y su filtro de SPAM puede no ser perfecto. Por ejemplo, pueden borrar los mensajes tras recibir la órden RETR antes de recibir la órden DELE y puede poner en cuarentena en el buzón de Spam. Podría minimizar los daños configurandolos y archivar los mensajes accedidos y no borrandolos. Consulte también "No se descargan algunos correos".

La mayor parte de los MTA, como postfix y exim4, funcionan como MDA (agente de entrega de correo). Existen MDA especializados con capacidades de filtrado.

Aunque procmail(1) ha sido el estándar de facto en GNU/Linux como MDA con filtrado, al autor le gusta ahora maildrop(1). Independientemente de las utilidades de filtrado que se utilicen, es una buena idea para configurar el sistema para la entrega de correo filtrado al estilo de directorio de correo qmail Maildir.


La configuración de maildrop(1) se decribe en la documentación de maildropfilter. Aquí esta un ejemplo de configuración para "$HOME/.mailfilter".

# Configuración local
MAILROOT="$HOME/Mail"
# set this to /etc/mailname contents
MAILHOST="example.dom"
logfile $HOME/.maildroplog

# las reglas son hechas para escribir el valor inicial por otro

# correo de la listas de correos ?
if (     /^Precedence:.*list/:h || /^Precedence:.*bulk/:h )
{
    # reglas de correos de listas de correos
    # buzón por defecto para correos  de una lista
    MAILBOX="Inbox-list"
    # buzon por defecto para correos de debian.org
    if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h )
    {
        MAILBOX="service.debian.org"
    }
    # buzón por defecto para correos de bugs.debian.org (BTS)
    if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h )
    {
        MAILBOX="bugs.debian.org"
    }
    # buzón para cada lista de correo mantenida correctamente con "List-Id: foo" or "List-Id: ...<foo.bar>"
    if ( /^List-Id: ([^<]*<)?([^<>]*)>?/:h )
    {
        MAILBOX="$MATCH2"
    }
}
else
{
    # reglas para correos que no son de la lista de correos
    # buzón de entrada por defecto
    MAILBOX="Inbox-unusual"
    # correos locales
    if ( /Envelope-to: .*@$MAILHOST/:h )
    {
        MAILBOX="Inbox-local"
    }
    # correos html (99% spams)
    if ( /DOCTYPE html/:b ||\
         /^Content-Type: text\/html/ )
    {
        MAILBOX="Inbox-html"
    }
    # reglas de lista negra para spams
    if ( /^X-Advertisement/:h ||\
         /^Subject:.*BUSINESS PROPOSAL/:h ||\
         /^Subject:.*URGENT.*ASISSTANCE/:h ||\
         /^Subject: *I NEED YOUR ASSISTANCE/:h )
    {
        MAILBOX="Inbox-trash"
    }
    # reglas de lista negra para correos normales
    if ( /^From: .*@debian.org/:h ||\
         /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\
         /^Subject: .*(debian|bug|PATCH)/:h )
    {
        MAILBOX="Inbox"
    }
    # reglas de lista blanca para correos de BTS
    if ( /^Subject: .*Bug#.*/:h ||\
         /^(To|Cc): .*@bugs.debian.org/:h )
    {
        MAILBOX="bugs.debian.org"
    }
    # reglas de lista blanca para correos con de getmails
    if ( /^Subject: Cron .*getmails/:h )
    {
        MAILBOX="Inbox-getmails"
    }
}

# comprueba la existencia de $MAILBOX
`test -d $MAILROOT/$MAILBOX`
if ( $RETURNCODE == 1 )
{
    # crea el directorio de correo para el  buzón para $MAILBOX
    `maildirmake $MAILROOT/$MAILBOX`
}
# entrega al directorio de correo $MAILBOX
to "$MAILROOT/$MAILBOX/"
exit
[Aviso] Aviso

Unlike procmail, maildrop does not create missing maildir directories automatically. You must create them manually using maildirmake(1) in advance as in the example "$HOME/.mailfilter".

If you are to run a private server on LAN, you may consider to run POP3 / IMAP4 server for delivering mail to LAN clients.


In the old Unix-like system, the BSD Line printer daemon was the standard. Since the standard print out format of the free software is PostScript on the Unix like system, some filter system was used along with Ghostscript to enable printing to the non-PostScript printer.

Recently, Common UNIX Printing System (CUPS) is the new de facto standard. The CUPS uses Internet Printing Protocol (IPP). The IPP is now supported by other OSs such as Windows XP and Mac OS X and has became new cross-platform de facto standard for remote printing with bi-directional communication capability.

The standard printable data format for the application on the Debian system is the PostScript (PS) which is a page description language. The data in PS format is fed into the Ghostscript PostScript interpreter to produce the printable data specific to the printer. See Sección 11.4.1, “Ghostscript”.

Thanks to the file format dependent auto-conversion feature of the CUPS system, simply feeding any data to the lpr command should generate the expected print output. (In CUPS, lpr can be enabled by installing the cups-bsd package.)

The Debian system has some notable packages for the print servers and utilities.


[Sugerencia] Sugerencia

You can configure CUPS system by pointing your web browser to "http://localhost:631/" .

The Secure SHell (SSH) is the secure way to connect over the Internet. A free version of SSH called OpenSSH is available as openssh-client and openssh-server packages in Debian.


[Atención] Atención

See Sección 4.7.3, “Medidas extraordinarias de seguridad en Internet” if your SSH is accessible from the Internet.

[Sugerencia] Sugerencia

Please use the screen(1) program to enable remote shell process to survive the interrupted connection (see Sección 9.1, “The screen program”).

[Aviso] Aviso

"/etc/ssh/sshd_not_to_be_run" must not be present if one wishes to run the OpenSSH server.

SSH has two authentication protocols.


[Atención] Atención

Be careful about these differences if you are using a non-Debian system.

See "/usr/share/doc/ssh/README.Debian.gz", ssh(1), sshd(8), ssh-agent(1), and ssh-keygen(1) for details.

Following are the key configuration files.


[Sugerencia] Sugerencia

See ssh-keygen(1), ssh-add(1) and ssh-agent(1) for how to use public and secret SSH keys.

[Sugerencia] Sugerencia

Make sure to verify settings by testing the connection. In case of any problem, use "ssh -v".

[Sugerencia] Sugerencia

You can change the pass phrase to encrypt local secret SSH keys later with "ssh-keygen -p".

[Sugerencia] Sugerencia

You can add options to the entries in "~/.ssh/authorized_keys" to limit hosts and to run specific commands. See sshd(8) for details.

The following starts an ssh(1) connection from a client.


If you use the same user name on the local and the remote host, you can eliminate typing "username@". Even if you use different user name on the local and the remote host, you can eliminate it using "~/.ssh/config". For Debian Alioth service with account name "foo-guest", you set "~/.ssh/config" to contain the following.

Host alioth.debian.org svn.debian.org git.debian.org
    User foo-guest

For the user, ssh(1) functions as a smarter and more secure telnet(1). Unlike telnet command, ssh command does not stop on the telnet escape character (initial default CTRL-]).

You need to protect the process doing "shutdown -h now" (see Sección 1.1.8, “Cómo apagar el sistema”) from the termination of SSH using the at(1) command (see Sección 9.3.13, “Scheduling tasks once”) by the following.

# echo "shutdown -h now" | at now

Running "shutdown -h now" in screen(1) (see Sección 9.1, “The screen program”) session is another way to do the same.

Here are other network application servers.


Common Internet File System Protocol (CIFS) is the same protocol as Server Message Block (SMB) and is used widely by Microsoft Windows.

[Sugerencia] Sugerencia

See Sección 4.5.2, “La actual gestión centralizada de sistemas” for integration of server systems.

[Sugerencia] Sugerencia

The hostname resolution is usually provided by the DNS server. For the host IP address dynamically assigned by DHCP, Dynamic DNS can be set up for the hostname resolution using bind9 and isc-dhcp-server as described in the DDNS page on the Debian wiki.

[Sugerencia] Sugerencia

Use of proxy server such as squid is much more efficient for saving bandwidth than use of local mirror server with the full Debian archive contents.

Here are other network application clients.


The telnet program enables manual connection to the system daemons and its diagnosis.

For testing plain POP3 service, try the following

$ telnet mail.ispname.net pop3

For testing the TLS/SSL enabled POP3 service by some ISPs, you need TLS/SSL enabled telnet client by the telnet-ssl or openssl packages.

$ telnet -z ssl pop.gmail.com 995
$ openssl s_client -connect pop.gmail.com:995

The following RFCs provide required knowledge to each system daemon.


The port usage is described in "/etc/services".