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.4.2. Advanced MUA — Mutt + msmtp
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. Configuración de procmail
6.6.3. Reentrega del contenido de mbox
6.7. Servidor POP3/IMAP4
6.8. Servidor de impresión y utilidades
6.9. Servidor de acceso remoto (SSH) y utilidades
6.9.1. Fundamentos de SSH
6.9.2. Puerto de reenvio para túnel SMTP/POP3
6.9.3. Conectarse sin contraseñas del equipo remoto
6.9.4. Tratando con clientes SSH extraños
6.9.5. Configuración ssh-agent
6.9.6. Apagar un sistemas remoto utilizando SSH
6.9.7. Resolución de problemas de SSH
6.10. Servidores de aplicaciones en otras redes
6.11. Otros clientes de aplicaciones de red
6.12. Diagnóstico de los demonios del sistema

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.

[Sugerencia] Sugerencia

If you enabled "2-Step Verification" with some ISP, you need to obtain an application password to access POP and SMTP services from your program. You may need to approve your host IP in advance.

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.

The mail system involves many server programs and many client programs running on multiple hosts. From the functionality, there are 3 types of mail agent programs:

[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.

[Atención] Atención

It is not realistic to run SMTP server on consumer grade network to send mail directly to the remote host reliably.

[Atención] Atención

It is not realistic to expect a single smarthost to send mails of unrelated source mail addresses to the remote host reliably.

[Atención] Atención

A mail may be rejected by any host en route to the destination quietly. Making your mail to appear as authentic as possible is the only way to send a mail to the remote host reliably.

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.

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).

Tenga en 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.


[Atención] Atención

Configuring exim4 to send the Internet mail via multiple corresponding smarthosts for multiple source email addresses is non-trivial. Please set up exim4 only for a single email address for the system programs such as popcon and cron and set up msmtp for multiple source email addresses for the user programs such as mutt.

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.

Mutt can be configured to use multiple source email addresses with multiple corresponding smarthosts using msmtp.

[Sugerencia] Sugerencia

Msmtp is a sendmail emulator which allows to be installed along another sendmail emulator which provides the /usr/sbin/sendmail command. So you can leave your system mail to be exim4 or postfix.

Let's think about supporting 3 email addresses as an example:

Here is an example of ~/.muttrc customization supporting 3 smarthosts for 3 different source email addresses.

set use_from
set from="My Name3 <myaccount3@example.org>"
set reverse_name
alternates myaccount1@gmail\.com|myaccount1@gmail\.com|myaccount3@example\.org

# ...

# MACRO
macro compose "1" "<edit-from>^UMy Name1 \<myaccount1@gmail.com\>\n"
macro compose "2" "<edit-from>^UMy Name2 \<myaccount2@gmail.com\>\n"
macro compose "3" "<edit-from>^UMy Name3 \<myaccount3@example.org\>\n"

send2-hook '~f myaccount1@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"
send2-hook '~f myaccount2@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"
send2-hook '~f myaccount3@example.org' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"

# ...

Let's install msmtp-gnome and set ~/.msmtprc as follows.

defaults
logfile ~/.msmtp.log
domain myhostname.example.org
tls on
tls_starttls on
tls_certcheck on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
auth on
port 587
auto_from

account myaccount1@gmail.com
host smtp.gmail.com
from  myaccount1@gmail.com
user  myaccount1@gmail.com

account myaccount2@gmail.com
host smtp.gmail.com
from  myaccount2@gmail.com
user  myaccount2@gmail.com

account myaccount3@example.org
host mail.example.org
from  myaccount3@example.org
user  myaccount3@example.org

account default : myaccount3@example.org

Then, add password data into the Gnome key ring. For example:

 $ secret-tool store --label=msmtp \
     host smtp.gmail.com \
     service smtp \
     user myaccount1@gmail.com
 ...
[Sugerencia] Sugerencia

If you don't wish to use the Gnome key ring, you can install msmtp package instead and add an entry such as "password secret123" to each account in ~/.msmtprc. See memtp documentation for more.

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 orden RETR antes de recibir la orden DELE y puede poner en cuarentena en el buzón de Spam. Podría minimizar los daños configurándolos y archivar los mensajes accedidos y no borrándolos. 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

No como procmail, maildrop no crea los directorios de correo que faltan de forma automática. Debe crearlos por adelantado de forma manual utilizando maildirmake(1) como en el ejemplo «$HOME/.mailfilter».

Si tiene un servidor privado en su red LAN, puede considerar ejectuar un servidor POP3 / IMAP4 para la entrega de correo a los clientes de la LAN.


En sistemas tipo Unix antiguos, el demonio de impresión en línea de BSD fue el estándar. Desde que estándar del formato de salida de impresión del software libre es PostScript en los sistemas tipo Unix, con el sistema de filtro Ghostscript se permite el uso de impresoras que no entienden PostScript.

Actualmente el Sistemas de Impresión Común de UNIX (Common UNIX Printing System, CUPS) es el nuevo estándar de facto. CUPS utiliza Protocolo de Internet de Impresión (Internet Printing Protocol) (IPP). El IPP ahora es soportado por otros SS.OO. como Windows XP y Mac OS X y se ha revelado como nuevo estándar de facto en todas las plataformas para la impresión remota con capacidad de comunicación bidireccional.

El formato de datos estándar de impresión para las aplicaciones del sistema Debian es PostScript (PS) el cual es un lenguaje de descripción de página. Los datos en formato PS se interpretan por el intérprete Ghostscript PostScript para producir datos imprimibles específicos de la impresora. Consulte Sección 11.4.1, “Ghostscript”.

Gracias a la funcionalidad de autoconversión dependiente del formato del archivo, simplemente ofrecen cualquier dato a la orden lpr puede generar la la salida de impresión esperada. (En CUPS, lpr se puede activar mediante la instalación del paquete cups-bsd).

El sistema Debian tiene paquetes importantes de utilidades y servidores de impresión.


[Sugerencia] Sugerencia

Puede configurar su sistema CUPS accediendo mediante su navegador a «http://localhost:631/« .

Secure SHell (SSH) es la manera segura de conectarse a través de Internet. Una versión libre de SSH es OpenSSH y esta disponible en Debian mediante los paquetes openssh-client y openssh-server.


[Atención] Atención

Consulte Sección 4.7.3, “Medidas extraordinarias de seguridad en Internet” si su SSH es accesible desde Internet.

[Sugerencia] Sugerencia

Por favor utilice el programa screen(1) para permitir que los procesos del intérprete de órdenes remotos sobrevivan a las caidas de la conexión (consulte Sección 9.1, “El programa screen”).

[Aviso] Aviso

«/etc/ssh/sshd_no_debe_ser_ejecutado» no debe estar presente si se quiere ejecutar el servidor OpenSSH.

SSH tiene dos protocolos de acreditación.


[Atención] Atención

Tenga cuidado sobre estas diferencias si esta usando un sistema diferente de Debian.

Consulte los detalles en «/usr/share/doc/ssh/README.Debian.gz», ssh(1), sshd(8), ssh-agent(1) y ssh-keygen(1).

Los archivos de configuración claves son los siguientes:


[Sugerencia] Sugerencia

Consulte ssh-keygen(1), ssh-add(1) and ssh-agent(1) para aprender a utilizar las claves público y privada SSH..

[Sugerencia] Sugerencia

Asegurese y compruebe la configuración realizando pruebas de conectividad. En caso de cualquier problema, utilice «ssh -v».

[Sugerencia] Sugerencia

Con «ssh-keygen -p» puede cambiar la frase de paso para cifrar la clave SSH local privada.

[Sugerencia] Sugerencia

Puede añadir opciones a las entradas en «~/.ssh/authorized_keys» para limitar los equipos y ejecutar las órdenes concretas. Los detalles los puede consultar sshd(8).

Lo siguiente inicia una conexión ssh(1) desde el cliente.


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 Salsa service with account name "foo-guest", you set "~/.ssh/config" to contain the following.

Host salsa.debian.org people.debian.org
    User foo-guest

Para el usuario, ssh(1) funciona de una forma más inteligente y segura que telnet(1). No como la orden telnet, la orden ssh no para con el carácter de escape telnet (inicio por defecto CTRL-]).

Se puedo no tener que recordar contraseñas del sistema remoto usando «RSAAuthentication» (protocolo SSH-1) o « PubkeyAuthentication» (protocolo SSH-2).

En el sistema remoto cree las entradas respectivas, «RSAAuthentication yes» o «PubkeyAuthentication yes», en «/etc/ssh/sshd_config».

Genere las claves de acreditación locales e instale las claves públicas en el sistema remoto según se muestra.

  • «RSAAuthentication»: clave RSA para SSH-1 (en desuso ya que ha sido sustituido.)

$ ssh-keygen
$ cat .ssh/identity.pub | ssh usuario1@remoto «cat - >>.ssh/authorized_keys«
  • «PubkeyAuthentication»: clave RSA para SSH-2

$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub | ssh usuario1@remoto «cat - >>.ssh/authorized_keys«
  • «PubkeyAuthentication»: clave DSA para SSH-2 (en desuso por ser lento.)

$ ssh-keygen -t dsa
$ cat .ssh/id_dsa.pub | ssh usuario1@remoto «cat - >>.ssh/authorized_keys«
[Sugerencia] Sugerencia

El uso de la clave DSA para SSH-2 esta en desuso ya que la clave es pequeña y lento. No existen más razones para evitar el uso de RSA y usar DSA ya que su pantente ha expirado. DSA es el acrónimo de Digital Signature Algorithm (Algoritmo de Firma Digital) y es lento. Consulte además DSA-1571-1.

[Nota] Nota

Para que «HostbasedAuthentication» trabaje con SSH-2, usted debe ajustar la configuración de «HostbasedAuthentication» a «yes» tanto en «/etc/ssh/sshd_config» en el equipo servidor y «/etc/ssh/ssh_config» o «~/.ssh/config» en el equipo cliente.

Se necesita proteger el proceso que ejecuta «shutdown -h now» (consulte Sección 1.1.8, “Cómo apagar el sistema”) de la finalización de ssh utilizando la orden at(1) (consulte Sección 9.3.13, “Planificación una vez de las tareas”) como se muestra.

# echo «shutdown -h now« | at now

Otra forma de obtener el mismo resultado es ejecutar «shutdown -h now» en una sesión de screen(1) (consulte Sección 9.1, “El programa screen”).

Aquí hay otros servidores de aplicaciones de red.


El Protocolo de Sistema de Archivo Común de Internet (Common Internet File System Protocol, CIFS) es el mismo protocolo que Servidor de Mensajes de Bloque (Server Message Block, SMB) y se utiliza de forma generalizada en Microsoft Windows.

[Sugerencia] Sugerencia

Consulte Sección 4.5.2, “La actual gestión centralizada de sistemas” para la integración de los servidores de sistema.

[Sugerencia] Sugerencia

La resolución del nombre del equipo normalmente se realiza por medio del servidor de DNS. Para las direcciones IP del equipo asignadas de forma dinámica por DHCP, un DNS Dinámico puede ser configurado para la resolución de nombres utilizando bind9 y isc-dhcp-server como se describe en lapágina wiki de Debian sobre DDNS.

[Sugerencia] Sugerencia

La utilización de un servidor proxy como squid es muy eficiente para ahorrar ancho de banda ya que utiliza un servidor espejo local con todo el contenido del archivo Debian.

Aquí están otro clientes de aplicaciones de red.


El programa telnet permite la conexión manual a los demonios del sistema para evaluarlos.

Para probar un servicio POP3 sencillo, intente lo siguiente

$ telnet mail.ispname.net pop3

Para la prueba del servicio POP3 con TLS/SSL activado por parte de algún ISP, necesitará activar TLS/SSL en el cliente de telnet mediante los paquetes telnet-ssl o openssl.

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

Los siguientes RFCs aportan el conocimiento necesario sobre cada uno de los demonios del sistema.


La utilización de los puertos esta recogida en «/etc/services».