luzblanco

 
  • Decrease font size
  • Default font size
  • Increase font size
Inicio arrow Ubuntu 6.06 arrow Últimas arrow Ubuntu 6.06+Postfix+Cuenta Gmail
Ubuntu 6.06+Postfix+Cuenta Gmail PDF Imprimir E-mail
Calificación de usuario: / 9
MaloBueno 
Escrito por Valc   
viernes, 02 de noviembre de 2007

Esta pequeña guía, está basada en este otro artículo en inglés, con unas pocas modificaciones.

Básicamente, se trata de poder usar nuestra cuenta en Gmail para enviar/recibir correo desde la web.

Los siguientes pasos, se han aplicado sobre Ubuntu Dapper Drake, versión de escritorio y arquitectura i386. Por lo tanto, téngase en cuenta, antes de ponerse manos a la obra,  que las instrucciones o paquetes a isntalar, podrían variar sobre otras distribuciones.

 

Comprobaciones

Asegúrate de que el sistema operativo está actualizado. Para ello, desde una consola, introduce las siguientes instrucciones:

sudo aptitude update
sudo aptitude upgrade

Asegúrate que, para usar el comando "su", tienes establecida la clave de root.

Empecemos..


Paso 1

Instalamos los paquetes que vamos a necesitar:

sudo aptitude install postfix libsasl2 sasl2-bin libsasl2-modules libdb3-util procmail

 

La instrucción instalará, si no lo estuvieran ya, Postfix (nuestro programa para servir correo) con soporte sasl y tls (para la autentificación encriptada que necesita Gmail) y procmail como agente de correo que usará Postfix.

 

Paso 2

Reconfiguramos Postfix 

 

sudo dpkg-reconfigure postfix

 

Para ello, respondemos a una serie de preguntas mientras se va reconfigurando:

 

General type of configuration? Internet Site

Where should mail for root go? NONE
Mail name?usuario-desktop

 

(En el archivo /etc/hostname podreis ver cual es el nombre del equipo. Normalmente, es "usuario-desktop". Comprobad cual es el nombre que aparece dentro del archivo "hostname" y es ese el que hay que indicar en la pregunta anterior "mail-name?")


Other destinations to accept mail for? usuario-desktop.nombre_dominio.com, localhost.nombre_dominio.com, localhost

 

(La pregunta anterior, nos solita  otros nombres, separados por una coma, que se van a aceptar aparte de "usuario-desktop", os he agregado unos cuantos por si disponeis de un nombre de dominio registrado. Si se deja en blanco, no se aceptarán otros nombres.)


Force synchronous updates on mail queue? No
Local networks? 127.0.0.0/8
Use procmail for local delivery? Yes
Mailbox size limit?0
Local address extension character? +
Internet protocols to use? all

Paso 3

Ahora, introducimos estas instrucciones para agregar algo más de información en el archivo de configuración, porque posteriormente nos será necesario tenerlo de este modo (las dos últimas instrucciones,  permiten autentificar a los usuarios que se conecten a él). Desde la consola:

su

(nos pedirá la clave de root y, tras acertarla, entraremos en "consola de root")
 

sudo postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

 

sudo postconf -e 'inet_interfaces = all'

 

sudo postconf -e 'broken_sasl_auth_clients = yes'

 

sudo echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
 

sudo echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

 

Salimos del modo root tecleando Exit en la consola.
 


Paso 4

Antes de entrar en nuestro archivo de cofiguración, tenemos que crear un certificado para contactar con Gmail. Este certificado sirve para verificar que realmente eres tú o tu red la que realmente esrá enviando un mensaje. En todo caso, no es un certificado de los "de pago" sino más bien uno de propio para cubrir con nuestras necesidades sin gastar dinero.

Para crear el certificado:
 

sudo /usr/lib/ssl/misc/CA.pl -newca

 

Si todo ha ido bien, verás algo similar a siguiente 


CA certificate filename (or enter to create)

Making CA certificate ...
Generating a 1024 bit RSA private key
.......++++++
...................++++++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:

 

Tienes que introducir una clave y  reescribirla para evitar posibles errores de tipeo. Es importante que no te olvides de ella, porque te la irá pidiendo más adelante (guárdala en un archivo de texto, o apúntala exactamente en papel)

 

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

 

Tras ello, se te irán formulando una serie de preguntas. Pon un punto "."(sin las comillas), cuando quieras dejar alguna de las preguntas en blanco.


Anota exactamente lo que vayas respondiendo, porque más adelante, tendrás que reesctibir, exactamente, esos mismos datos. Obviamente, los datos introducidos más abajo son ejemplificativos y cada cual debe sustituirlos por los suyos (Nombre común, País, Estado o Provincia, Ciudad, nombre de la organización, Correo.. son preguntas que tienes que responder)

 

Country Name (2 letter code) [US]:ES
State or Province Name (full name) [Pennsylvania]:Baleares
Locality Name (eg, city) []:Palma
Organization Name (eg, company) []:correo

 

(Y así.. vamos respondiendo al resto de preguntas, y a las que no quieras responder las puedes dejar en blanco con punto ".") 

 

Si por lo que fuera, te has equivocado en la creación del certificado, puedes volver a iniciar el proceso con la misma instrucción que al principio sudo /usr/lib/ssl/misc/CA.pl -newca sin embargo, tienes que borrar primero la carpeta "demoCA" (que estará normalmente en "/home/usuario", o, en el directorio donde estés trabajando desde la consola)

Ahora que ya tenemos nuestro certificado, podremos hacerle el certificado al servidor y la llave pública, a usar en el proceso de autentificación. Aquí, es donde tenemos que sustituir lo destacado en rojo por los datos introducidos cuando creábamos el cretificado:

 

sudo openssl req -new -nodes -subj '/CN=Tu_Nombre/O=Tu_Organizacion/C=SP/ST=BALEARES/L=PALMA/emailAddress== Esta dirección de correo está protegida contra los robots de spam y necesitas tener Javascript activado para poder verla ' -keyout FOO-key.pem -out FOO-req.pem -days 3650

 

CN es el nombre común que hayas usado,  O es el nombre de la organización, C es el país, ST es el estado, L la ciudad, emailAddress es la dirección del correo. Asegúrate que todas estas preguntas están respondidas en la creación del certificado y que lo escribes EXACTAMENTE en esta intrucción , o tu llave no autentificará.

 

Lo que hace esta instrucción es crearnos un certificado llamado FOO-key.pem y otro archivo requerido llamado FOO-req.pem. Este último, se usará para crear el archivo que necesitamos.

 

sudo openssl ca -out FOO-cert.pem -infiles FOO-req.pem

 

Con esto se crea un certificado firmado para verificar nuestra identidad originada desde el servidor. Simplemente, responde "yes" a todas las preguntas que vayan formulándose

 

Finalmente, copia el certificado en la ruta /etc/postfix y asígnale los permisos necesarios:

 

sudo cp demoCA/cacert.pem FOO-key.pem FOO-cert.pem /etc/postfix


sudo chmod 644 /etc/postfix/FOO-cert.pem /etc/postfix/cacert.pem


sudo chmod 400 /etc/postfix/FOO-key.pem

 

Paso 5

Ahora, debemos ir a nuestra arcivo de configuración de Postfix y aplicar algunos cambios. Nos movemos al directorio de postfix

 

cd /etc/postfix 

 

Antes de editar, hacemos un respaldo del archivo:

 

sudo cp main.cf main.cf.old

 

Editamos el  archivo main.cf

 

sudo gedit /etc/postfix/main.cf 

 

Copia las siguientes líneas al final del archivo main.cf

 

## Add these lines to the bottom on main.cf
##
##


## TLS Settings
#
# For no logs set = 0
smtp_tls_loglevel = 1
#
# smtp_enforce_tls = yes
# Above is commented because doing it site by site below
smtp_tls_per_site = hash:/etc/postfix/tls_per_site
#
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_cert_file = /etc/postfix/FOO-cert.pem
smtp_tls_key_file = /etc/postfix/FOO-key.pem
smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache
smtp_use_tls = yes
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_cert_file = /etc/postfix/FOO-cert.pem
smtpd_tls_key_file = /etc/postfix/FOO-key.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom

## SASL Settings
# This is going in to THIS server
smtpd_sasl_auth_enable = no
# We need this
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_local_domain = $myhostname
smtp_sasl_security_options = noanonymous
#smtp_sasl_security_options =
smtp_sasl_tls_security_options = noanonymous
smtpd_sasl_application_name = smtpd


## Gmail Relay
relayhost = [smtp.gmail.com]:587

## Good for Testing
# sender_bcc_maps = hash:/etc/postfix/bcc_table

# Disable DNS Lookups
disable_dns_lookups = yes
#
# Great New feature Address Mapping
# for example may mchirico@localhost to Esta dirección de correo está protegida contra los robots de spam y necesitas tener Javascript activado para poder verla
smtp_generic_maps = hash:/etc/postfix/generic
#
#
transport_maps = hash:/etc/postfix/transport

 

Paso 6

En necesario asignar la clave al archivo sasl_passwd y obtener su hash para poder loguearse en Gmail. Introduce dentro del directorio /etc/postfix la siguiente instrucción:

 

sudo gedit sasl_passwd

 

Esto creará un nuevo archivo en /etc/postfix llamado sasl_passwd.

 

introduce en su interior:

 

[smtp.gmail.com]:587 Esta dirección de correo está protegida contra los robots de spam y necesitas tener Javascript activado para poder verla :tu_password_gmail

 

(guardamos los cambios)

Ahora creamos su salida hash:

 

sudo postmap sasl_passwd

 

Paso 7

Con un procedimiento similar al anterior, creamos el archivo generic y  su hash:

 

sudo gedit generic

 

e introducimos la siguiente línea:

 

usuario_ubuntu@usuario-desktop Esta dirección de correo está protegida contra los robots de spam y necesitas tener Javascript activado para poder verla

 

Debes reemplazar usuario_ubuntu@usuario-desktop por el nombre de usuario con el que inicias la sesión en ubuntu y por el nombre de tu equipo (el que hay en el archivo /etc/hostname) respectivamente. También debes reemplazar tu_cuenta_gmail@gmail.com por tu dirección de correo Gmail.

Guardamos el archivo y obtenemos el hash

 

sudo postmap generic

 

Paso 8

Ahora, lo mismo que antes, pero con el archivo transport y su hash:

 

sudo gedit transport

 

Introducimos las siguientes líneas en el archivo:

 

# This sends mail to Gmail
gmail.com smtp:[smtp.gmail.com]:587

 

Guardamos el archivo y obtenemos el hash:

 

sudo postmap  transport

 


Paso 9

Necesitamos crear el archivo tls_per_site y su hash. Esto es posiblemente el archivo más importante a crear después del  main.cf. Este archivo, nos protegerá de posibles ataques por forzar una conexión segura antes de enviar cualquier contraseña.

 

Creamos el archivo:

 

sudo gedit tls_per_site

 

Introducimos:

 

smtp.gmail.com MUST
 p>

 

(el espacio antes de la "p>" es necesario o pueden saltar errores)

Guardamos el archivo y vamos a por el hash :

 

sudo postmap tls_per_site 

 

Paso 10

Abrimos  el archivo master.cf con:

 

sudo gedit master.cf

 

Y buscamos una línea en la que se lee lo siguente:

 

relay unix - - n - - smtp

 

Vas a ver algunas configuraciones que empiezan con '-o', y se trata de añadir una nueva entrada, justo por debajo, que contenga esto:

 

-o smtp_generic_maps=

 

(guardamos el archivo) 

Recargamos Postfix 

 

sudo postfix reload

 

(si postfix no estuviera ejecutaándose, la instrucción anterior, debería sustituirse por esta otra sudo postfix start ). Arggggggh  

 

Tararí tarariiiiiiiií, Fín :)

 

 

Nota informativa: Valorar los artículos o noticias que vayas leyendo, aunque no ofrezca lecturas reales, pues no todo el que lee algo, lo valora dejando constancia; puede ayudar sensiblemente a esta web a la hora dar prioridad a las nuevas publicaciones, según el interés que despierten otras de referencia y su valoración recibida . Por favor, considéralo, solo toma unos segundos.
También si te interesa, puedes ayudar a incrementar/modificar/actualizar/rectificar la información desde una base lo más real posible, dejando tus aportes, dudas o comentarios en el foro general, sin para ello tener que estar registrado. Gracias!

 

Un cordial saludo. Valc
Modificado el ( domingo, 04 de noviembre de 2007 )
 
Siguiente >
Advertisement

Formulario de acceso






¿Recordar contraseña?
¿Registrarte? Regístrate aquí

Mini-Chat

Último mensaje: 18 horas, 10 minutos hace
  • M : Como configurar LAMP
  • morfel : esta muy buena la info ayuda en mucho para las personas que nos estamos iniciando en el mundo de linux
  • eeeee : we
  • gast_9584 : hola
  • BioVirus : www.joomlaencolombia.org
  • sktd! : Chicos, he seguido todo el tuto de Postfix con Gmail... pero cómo ejecutar Postfix?
  • gast_9682 : que pasa
  • gast_3979 : enhorabuena
  • DINAMI : www.formacionacademica.com
  • gast_2034 : ji

Emoticonos

Escaparate


Encuestas

¿Sobre qué tipo de contenido te gustaría encontrar más información?
 

Estadísticas

Usuarios: 98
Noticias: 42
Enlaces: 6
Visitantes: 431567

Sindicación

¿Quién está en línea?

Hay 3 Invitados y no Usuarios en línea

Destacamos

Al no ser profesional de la informática, ni experto del tema, puedo avanzarte que también está a tu alcance montar y administrar portales en internet, aún sin tener conocimientos de HTML u otros lenguajes de programación.

Ésto se debe en gran medida a que prácticamente todo el proceso, se puede realizar con intuitivos "golpes de ratón" ..y lo que no se puede realizar a "golpes de ratón", se puede resolver siguiendo tutoriales "limpios" o con soporte.

El escollo de mucha gente y por tanto factor decisivo a la hora de tomar la determinación de "montar una web", es la economía o un cierto temor a "tirar su dinero", es decir y por ejemplo, "me gustaría tener una web para tratar tal o cual tema; pero, no puedo afrontar el gasto mensual que ello supone." o "Estoy pensando en este proyecto para internet, pero si no tiene aceptación ¿Qué pasa con mi inversión?".... Así que, inicialmente se intentará afrontar el montaje desde casa, bajo ese punto de vista.

Sin ánimo de meter "miedo, espanto o pavor"..sino más bien para que os podais formar idea de en que consisten o cuales van a ser los pasos o puntos a tratar y hasta donde debemos llegar para obtener el resultado final satisfactorio o próximo a nuestra idea inicial.....