Cockpit (parte 2): Configuración y ajustes

Publicado por P. Ruiz en

Cockpit logoSi has leído nuestro artículo anterior de esta serie (Cockpit (parte 1): Instalación en Ubuntu 18.04 y primer contacto), y lo has puesto en práctica, habrás comprobado que el funcionamiento predeterminado de Cockpit va a ser suficiente para la mayoría de los casos.

Sin embargo, es interesante saber cómo realizar algunos cambios relacionados con su seguridad y comportamiento. Y eso es lo que vamos a ver hoy

Cambiar el puerto donde escucha Cockpit

Cualquiera que conozca Cockpit, sabe cuál es el puerto donde escucha de forma predeterminada. Por ese motivo, en algunos contextos donde la seguridad es importante, una primera medida puede ser cambiar ese valor.

En Ubuntu 18.04, el responsable de asignar el puerto a cada uno de los servicios que lo necesiten es Systemd.

Como dijimos en los artículos anteriores, Systemd guarda sus archivos de configuración en el directorio /lib/systemd/system. En particular dispone de dos archivos: uno para administrar el propio servicio (cockpit.service) y otro para administrar el socket (cockpit.socket). Este último es el que nos interesa para el cambio que perseguimos.

La palabra socket identifica un mecanismo de intercambio ordenado y fiable de un flujo de datos entre dos componentes software distintos.

Estos componentes software pueden estar en diferentes ordenadores, o en el mismo.

Lo primero será desplazarnos hasta el directorio donde se encuentran los archivos de configuración:

cd /lib/systemd/system

Escribimos (o copiamos) el comando y pulsamos la tecla Intro.

Cockpit-parte-2-Configuracion-y-ajustes-001

Una vez en el directorio, podemos comprobar que, efectivamente, contiene los archivos que estamos buscando. Por ejemplo, podemos listar el contenido del directorio:

ls

Entre los archivos listados, encontramos cockpit.service y cockpit.socket.

Cockpit-parte-2-Configuracion-y-ajustes-002

Ya solo tenemos que editar el archivo cockpit.socket usando, por ejemplo, el editor nano:

sudo nano cockpit.socket

Como es lógico, usamos sudo porque necesitaremos privilegios administrativos

Cockpit-parte-2-Configuracion-y-ajustes-003

Cuando tengamos el contenido del archivo en pantalla, localizamos una línea con el siguiente contenido:

ListenStream=9090

Contenido del archivo

Cockpit-parte-2-Configuracion-y-ajustes-004

A continuación, cambiamos el valor 9090 por el que nos parezca más adecuado. En mi caso, usaré como ejemplo el puerto 4321, pero te recomiendo que uses algo menos evidente.

Una vez completada la tarea, puedes salir con la combinación de teclas Ctrl + X, pero asegúrate de guardar los cambios.

Cockpit-parte-2-Configuracion-y-ajustes-005

Cuando hayamos vuelto al prompt del sistema, sólo nos quedará decirle a Systemd que vuelva a cargar los datos que configuró durante el inicio del sistema. Lo conseguimos con el siguiente comando:

sudo systemctl restart cockpit.socket

Como antes, escribimos (o copiamos) el comando y pulsamos la tecla Intro.

Cockpit-parte-2-Configuracion-y-ajustes-006

A partir de ese momento, para iniciar Cockpit desde el navegador, deberemos usar el puerto que acabamos de configurar.

Accedemos con el valor del nuevo puerto.

Cockpit-parte-2-Configuracion-y-ajustes-007

Otros ajustes

Para el resto de ajustes en el comportamiento de Cockpit debemos recurrir al archivo cockpit.conf, que se encuentra dentro de /etc/cockpit/. En realidad, este archivo puede no existir de forma predeterminada, pero podemos crearlo cuando lo necesitemos.

El archivo cockpit.conf se crea en formato de texto plano, con una sintaxis típica de cualquier archivo .INI. En general, nos encontraremos líneas que contienen nombres de categorías encerradas entre corchetes ([]). Dentro de cada categoría, es decir, las líneas que haya hasta la siguiente categoría o hasta el final del archivo, encontraremos parejas clave/valor separadas por un carácter igual (=)

Por ejemplo, en la página inicial de Cockpit habrás observado que el campo Server contiene el nombre del equipo.

Valor predeterminado del campo Server.

Cockpit-parte-2-Configuracion-y-ajustes-008

Si necesitáramos que apareciese un texto más descriptivo, bastaría con abrir una nueva ventana de terminal y editar, con privilegios administrativos, el archivo /etc/cockpit/cockpit.conf. En nuestro caso, usaremos el editor nano, aunque tú puedes utilizar el que te resulte más cómodo.

sudo nano /etc/cockpit/cockpit.conf

Como es lógico, antes de continuar, deberemos escribir la contraseña de administración.

Cockpit-parte-2-Configuracion-y-ajustes-009

Si es la primera vez que editas el archivo, probablemente te encuentres con una pantalla vacía. En ese caso, realmente lo estarás creando. De todas formas, no te preocupes, basta con que escribas algo parecido a esto:

[WebService]
LoginTitle=Servidor de pruebas

En este caso, la categoría es [WebService], la clave es LoginTitle y el valor que queremos asignarle es Servidor de pruebas.

Como de costumbre, cuando acabemos, podemos salir con la combinación de teclas Ctrl + X, pero asegurándonos de guardar los cambios.

Cockpit-parte-2-Configuracion-y-ajustes-010

A partir de ahora, cuando vuelvas a entrar en Cockpit comprobarás que el valor ha cambiado.

Como es lógico, sólo ha cambiado la información que vemos en el navegador. El nombre del equipo no ha cambiado.

Si necesitas cambiar el nombre del equipo, puedes recurrir a nuestro artículo Proporcionar un nuevo nombre para el equipo en Ubuntu 18.04 LTS.

El valor del campo Server ha cambiado.

Cockpit-parte-2-Configuracion-y-ajustes-011

Como dijimos antes, solo hemos puesto un ejemplo para ilustrar cómo usar el archivo cockpit.conf. Como cabe esperar, nuestro objetivo no es documentar todos los aspectos de la configuración de Cockpit.

No obstante, si necesitas realizar cualquier otro ajuste sobre cockpit.conf, te recomiendo que recurras a su documentación oficial (https://cockpit-project.org/guide/149/cockpit.conf.5.html).

Y esto es todo por el momento. Espero que te resulte útil.