RECUPERACIÓN EXAMEN ALTA DISPONIBILIDAD, UF4 M11 ASIX @ EDT
1.3K
Crear una imagen de Docker con un servidor de correo POP uw-imap y ejecutarla en una máquina de AWS. Comprobar el funcionamiento de la máquina.
Repositorio de las imágenes docker: https://hub.docker.com/r/agalilea/m11extraaitor
Ubicación del proyecto en GITHub: https://github.com/ClRDAN/examendocker2
Comando para arrancar el docker: docker run --rm --name popserver --hostname popserver --net popnet -p 110:110 -p 995:995 -d agalilea/m11extraaitor:latest
uw-imap es un servidor tipo xinetd, al instalarlo se crean los archivos de configuración pero tenemos que modificarlos para activar el servicio. Para ello creamos los archivos ipop3 y pop3s, y configuramos la imagen para que sobreescriba estos archivos en /etc/xinetd.d/ al arrancar. También es necesario modificar PAM para permitir que los usuarios de correo se logueen, para ello automatizamos la copia del archivo pamimap en /etc/pam.d/imap al arrancar la imagen.
Si queremos poder enviar mensajes tipo MIME, debemos crear certificados para cada usuario. Primero creamos una pareja de claves con
openssl genrsa -des3 -out perekey.pem 2048
Luego generamos una petición de certificado con:
openssl req -new -key perekey -out perecsr.pem
y finalmente generamos el certificado, para ello necesitamos un archivo de configuración "ca.conf" con las siguientes líneas:
basicConstraints = critical,CA:true extendedKeyUsage = serverAuth,emailProtection
y ejecutamos el siguiente comando:
openssl x509 -CA cacrt.pem -CAkey cakey.pem -req -in perecsr.pem -days 365 -sha1 -extfile ca.conf -CAcreateserial \ -out perecrt.pem
No lo he visto por ningún lado, pero entiendo que estos certificados deben copiarse en /etc/pki/tls/certs en el servidor, y las claves privadas en /etc/pki/tls/private en los clientes.
Para arrancar el container en la máquina de AWS:
docker run --rm --name popserver --hostname popserver --network popnet -p 110:110 -p 995:995 -d agalilea/m11aitor:latest
Previamente debemos haber creado la red popnet con
docker network create popnet
Para que los clientes puedan acceder al servidor hace falta hacer dos cosas:
Ahora ya deberíamos tener un servidor de correo funcionando, para comprobar que todo funciona hay que hacer dos pruebas, recibir correo por pop3 y por pop3s:
telnet 35.177.67.48 110
>USER pere
>PASS pere
>STAT
>NOOP
>LIST #Lista los correos almacenados en el servidor
>RETR 1 #recupera el primer mensaje
>QUIT
Content type
Image
Digest
Size
244.7 MB
Last updated
over 7 years ago
docker pull agalilea/m11extraaitor