Fetchmail error: server certificate verification error self signed certificate

Impactos: 28

¿Cual era mi problema?

Uso fetchmail para descargar el correo de mis servidores externos a mi servidor Zimbra de esta forma tengo almacenado el local el correo de los distintos dominios y no dependo de terceros para que los buzones tengan un tamaño limitado (jeje si le digo al CEO que no puede tener un buzón de 30GB le da algo…).

La cuestión es que como muchos proveedores de servicios de correo tienen sus servidores con seguridad SSL pero con certificados autogererados y esto al fecthcmail no le hace mucha gracia. Te llena los los de correo con el siguiente mensaje:

fetchmail[1283]: Server certificate verification error: self signed certificate
fetchmail[1283]: Missing trust anchor certificate: /C=CH/L=Schaffhausen/O=Plesk/CN=Plesk/emailAddress=info@plesk.com fetchmail[1283]: This could mean that the root CA’s signing certificate is not in the trusted CA certificate location, or that c_rehash needs to be run on the certificate directory. For details, please see the documentation of –sslcertpath and –sslcertfile in the manual page.

Esto no molesta mucho si tienes pocas cuentas pero si tienes 100 pues ya empieza a ser un poco tocadura de narices….

La receta de hoy: Como resolver el error de certificado autofirmado en fechtmail

Ingredientes.

    1. Una consola conectada a nuestra maquina Linux.
    2. Un servidor con fecthmail funcionando.

Preparación.

Lo primero que tenemos que hacer es crear un directorio oculto  , por ejemplo en la carpeta root:

mkdir ~/.fetchmail/altic
cd ~/.fetchmail/altic

ahora obtenemos el certificado del servidor autofirmado:

echo | openssl s_client -connect mail.al-tic.com:993 -showcerts 2>/dev/null |sed -ne '/BEGIN CERT/,/END CERT/p' > mail.al-tic.com.pem

Ahora obtenemos el certificado raíz del servidor y extraemos el emisor:

echo | openssl s_client -connect mail.al-tic.com:993 -showcerts 2>/dev/null | sed -ne '/issuer=/p'

verificamos los certificados:

c_rehash /root/.fetchmail/altic

Se generaran dos ficheros de verificación que se guardan en la carpeta altic

Modificamos el fichero de configuración de fechmail /etc/fechmailrc  y añadimos las siguientes lineas en la opciones del poll

sslcertck
sslcertpath "/root/.fetchmail/altic"

Quedando algo parecido a esto

poll mail.al-tic.com
proto IMAP
user "aalvarez" password "recetillas"
sslcertck
sslcertpath ~/.fetchmail/altic

reiniciamos fechmail y problema resuelto

Esto es todo amigos!!!

Configurar los dns en Ubuntu server 16.04

Impactos: 27

¿Cual era mi problema?

Uno ya lleva sus años en esto de la informática y en el tema del software libre  y ya tenemos nuestras costumbres a la hora de hacer nuestras configuraciones. Siempre que hay un cambio pues nos cuesta un poco adaptarnos. La cuestión estaba instalando un servidor con Ubuntu 16.04 por supuesto sin entorno gráfico y por tanto sin network-manager, configuro la red como siempre modificando los ficheros interfaces y resolvf.conf. Acabo de  configurarlo todo, reinicio el servidor y ¡¡oh sorpresa!! estoy sin internet. Viendo que podría estar pasando veo que no funcionan los dns.  Resulta que el fichero resolvf.conf se sobreescribe con cada reinicio. Pues ala nos toca investigar como evitar esto….porque con versiones anteriores de Ubuntu no pasaba.

La receta de hoy: Como configurar los dns en un ubuntu server 16.04

Ingredientes.

    1. Una consola conectada a nuestra maquina Linux.
    2. Un servidor Ubuntu 16.04 sin entorno gráfico.

Preparación.

Bueno pues resulta que que en Ubuntu 16.04 en adelante la configuración de los dns en instalaciones sin entorno gráfico (por tanto sin network-manager) se realiza en la carpeta /etc/resolvconf. Me preguntaréis ¿por qué? pues ni idea y no voy a perder el tiempo en saberlo….

Dentro de esa carpeta  hay otras cuatro:

-rw-r--r--   1 root root   511 Jun  3  2015 interface-order
drwxr-xr-x   2 root root  4096 Mar 21 22:59 resolv.conf.d/
drwxr-xr-x   2 root root  4096 Mar 21 22:59 update.d/
drwxr-xr-x   2 root root  4096 Jun 20  2017 update-libc.d/

La que nos interesa es resolv.conf.d entramos y nos encontramos con dos ficheros:

-rw-r--r-- 1 root root    0 Jun  3  2015 base
-rw-r--r-- 1 root root  151 Jun  3  2015 head

podríamos editar cualquiera de los dos pero yo me decanté por head porque parece ser que hay varias aplicaciones que leen este fichero y no el base (o eso dicen por los foros…..). Editamos nuestro fichero y añadimos las lineas para configurar los servidores dns:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 8.8.8.8

los dos primeros servidores dns se autodenominan los más rápidos del mundo y el tercero es del Google, que lo pongo por si acaso.

Guardamos nuestro fichero, y ahora nos toca actualizar el fichero resolvf.conf para cargar los nuevos servidores. Esto lo hacemos con el comando

resovlconf -u

Listo ya tenemos nuestros servidores configurados antireinicios y según los del 1.1.1.1 navegando a toda pastilla.

Esto es todo amigos!!!

Activar o desactivar servicios en Linux

Impactos: 7

¿Cual era mi problema?

En muchas ocasiones he necesitado poder activar que un servicio en Linux se active automáticamente al arrancar el equipo. Normalmente al instalar un servicio,  por ejemplo un servidor web (apache, nginx, etc…), este se instala para que arranque al reiniciarse la máquina pero puede que esto no sea interesante en un momento dado y querramos desactivarlo.

Vamos a ver como hacemos esto para las distintas distribuciones de Linux.

La receta de hoy: Como activar o desactivar servicios en Linux.

Ingredientes.

    1. Una consola conectada a nuestra maquina Linux.
    2. Un servicio instalado por ejemplo SSH.

Preparación.

Activación de servicios en CentOS, Red Hat o Suse

Para estas distribuciones la herramienta que gestiona los servicios es chkconfig la cual permite activarlos y desactivarlos.

Si quiséramos ver el listado de servicios instalados y en que nivel del arranque se activan podemos verlos con

# chkconfig –list

obtendríamos algo como esto

# chkconfig –list
atd                                0:off     1:off    2:off    3:on    4:on     5:on   6:off
attach-static-vdis 0:off     1:off    2:on     3:on    4:on     5:on   6:off
crond                           0:off     1:off    2:on     3:on    4:on     5:on   6:off
dhcpd                          0:off     1:off    2:off    3:off   4:off     5:off  6:off
dhcrelay                     0:off     1:off    2:off    3:off   4:off     5:off   6:off

Vemos los servicios instalados y en que nivel del arranque se activan. Para activar nuestro servicio SSH solamente tendríamos que escribir:

# chkconfig ssh on

Si lo queremos desactivar

# chkconfig ssh off

y si queremos indicarle el nivel en el que queremos que arranque, por ejemplo el 5:

# chkconfig –level 5 ssh on

Chupao ¿verdad?

Activación de servicios en Debian, Ubuntu y derivados.

En estas distribuciones la herramienta update-rc.d es la  encargada de hacer la activación o desactivación.

Para iniciar automáticamente el servicio ssh se debe ejecutar el comando:

# update-rc.d ssh defaults

Si queremos indicarle el nivel en el que queremos que arranque en nuestro caso el 5:

# update-rc.d  ssh  start 5

Para descativar el servicio ejecutamos:

# update-rc.d ssh remove

Sencillo, hasta la próxima entrada