Red Hat Training

A Red Hat training course is available for RHEL 8

9.3. Despliegue de un servidor Tang con SELinux en modo reforzado

Utilice este procedimiento para desplegar un servidor Tang que se ejecuta en un puerto personalizado como un servicio confinado en el modo de aplicación de SELinux.

Requisitos previos

  • El paquete policycoreutils-python-utils y sus dependencias están instalados.

Procedimiento

  1. Para instalar el paquete tang y sus dependencias, introduzca el siguiente comando como root:

    # yum install tang
  2. Elija un puerto desocupado, por ejemplo, 7500/tcp, y permita que el servicio tangd se vincule a ese puerto:

    # semanage port -a -t tangd_port_t -p tcp 7500

    Tenga en cuenta que un puerto sólo puede ser utilizado por un servicio a la vez, por lo que un intento de utilizar un puerto ya ocupado implica el mensaje de error ValueError: Port already defined.

  3. Abre el puerto en el firewall:

    # firewall-cmd --add-port=7500/tcp
    # firewall-cmd --runtime-to-permanent
  4. Habilite el servicio tangd:

    # systemctl enable tangd.socket
  5. Crear un archivo de anulación:

    # systemctl edit tangd.socket
  6. En la siguiente pantalla del editor, que abre un archivo override.conf vacío situado en el directorio /etc/systemd/system/tangd.socket.d/, cambie el puerto por defecto del servidor Tang de 80 al número elegido anteriormente añadiendo las siguientes líneas:

    [Socket]
    ListenStream=
    ListenStream=7500

    Guarde el archivo y salga del editor.

  7. Recarga la configuración modificada:

    # systemctl daemon-reload
  8. Comprueba que tu configuración funciona:

    # systemctl show tangd.socket -p Listen
    Listen=[::]:7500 (Stream)
  9. Inicie el servicio tangd:

    # systemctl start tangd.socket

    Dado que tangd utiliza el mecanismo de activación de sockets systemd, el servidor se inicia en cuanto llega la primera conexión. En el primer arranque se genera automáticamente un nuevo juego de claves criptográficas. Para realizar operaciones criptográficas como la generación manual de claves, utilice la utilidad jose.

Recursos adicionales

  • tang(8) página de manual
  • semanage(8) página de manual
  • firewall-cmd(1) página de manual
  • systemd.unit(5) y systemd.socket(5) páginas man
  • jose(1) página de manual