# DKIM, SPF y DMARC para el hostname de un servidor con Directadmin

## Introducción

La importancia de tener al día y configurado un servidor y su **hostname** es crucial, para que el correo emitido por el servidor como tal (alertas, mensjaes al usuario, etc) y la fiabilidad del propio servidor es crucial.

Por el ello uno de los grandes olvidados es tener el SPF, DKIM, y DMARC para el `hostname` 


### Proceso de creación de los reegistros SPF, DKIM y DMARC en un host con Directadmin

#### Creación de la zona

Con indipendencia de si el hostname esta controlado por un dominio cuyo sistema de resolución es distinto al de la maquina, ya sea por DNS locales o por un cluster externo, o por un proveedor externo como Cloudflare, debemos crear una zona para el hostanme en el tablero.

#### SPF

Si lo tienes correctamente configurado (te aconsejo que pases por la documentación [All Directadmin Conf Values](https://docs.directadmin.com/directadmin/general-usage/all-directadmin-conf-values.html) ya que si esta configurado el lo creara automaticamente

> Si lo configuras tambien puedes modificar los valores por defecto, muy útil cuando tenemos servidores de correo de relay, etc.

Para ello además de la configuración hay que crear un fichero  `/usr/local/directadmin/data/templates/custom/dns_txt.conf`

```bash
|DOMAIN|.="v=spf1 a mx ip4:|SERVER_IP||EXTRA_SPF||SPF_IPV6| -all"
```

#### DKIM

EL DKIM lo podremos crear ahora que ya existe la zona, con:

```bash
 /usr/local/directadmin/scripts/dkim_create.sh `hostname -f`
```

Esto generará la entrada adecuada en el fichero de zona del hostname.


#### DMARC

Procederemos a editar el fichero anterior `/usr/local/directadmin/data/templates/custom/dns_txt.conf` para **añadir** el registro `_dmarc`

```bash
_dmarc="v=DMARC1; p=none; sp=none;"
```

Ahora nuestro fichero tendra algo así:

```bash
|DOMAIN|.="v=spf1 a mx ip4:|SERVER_IP||EXTRA_SPF||SPF_IPV6| -all"
_dmarc="v=DMARC1; p=none; sp=none;"
```

> NO es el alcance de este tutorial el explicar si usar o no usar **rua** en el registro, y lo que dice Google y lo que dice Microsoft.

![Edicion de la zona en el Tablero de Directadmin](https://multimedia.castris.com/imagenes/wiki/directadmin/Edit-DNS-Zone-hostname.jpg)

### Proceso adicional si el sistema de DNS no es el del servidor

Si como suele ser habitual, el control de DNS del hostname no es una DNS local o del cluster deberemos abrir el fichero de zona, ya sea en el Tablero de Directadmin o en el shell, para copiar el contenido de estos registro de zona y copiar en la zona del dns que controla el dominio del hostname. 

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).