Instalando y configurando Mosquitto en la Raspberry Pi (parte 2)
En la entrada anterior, configuramos el acceso al servidor mosquitto, usando certificados, pero permitiendo la conexión anónima al mismo, es decir: ciframos la conexión pero permitimos que acceda cualquiera. Estábamos usando el sistema con cifrado pero sin autenticación, lo cual sirve para poco en nuestra situación. Para eliminar esa debilidad, tendremos que hacer los siguientes cambios en la configuración del servidor, en el fichero mosquitto.conf:
allow_anonymous false autosave_interval 1800 connection_messages true log_dest file /var/log/mosquitto.log #log_dest stderr log_dest topic log_type error log_type warning log_type notice log_type information log_type all log_type debug log_timestamp true #message_size_limit 10240 password_file /etc/mosquitto/passwd.pw persistence true persistence_location /tmp/ persistence_file mosquitto.db persistent_client_expiration 1m #pid_file xxxx retained_persistence true listener 1883 #listener 1883 127.0.0.1 listener 8883 tls_version tlsv1 cafile /etc/mosquitto/ca_certificates/ca.crt certfile /etc/mosquitto/certs/server.crt keyfile /etc/mosquitto/certs/server.key require_certificate false
Las lineas importantes son la primera, con la que NO permitimos los accesos anónimos y la que especifica el password_file, que será el fichero en el que se almacenarán las parejas usuario:contraseña.
Con esta configuración vamos a permitir las conexiones cifradas y no cifradas, pero siempre con usuario y contraseña. Desde fuera de nuestro servidor usaremos las conexiones cifradas con usuario y contraseña, y desde dentro del servidor permitiremos las conexiones sin cifrar (cargan menos el sistema al ahorrarse tener que cifrar y descifrar) pero con usuario y contraseña.
Para generar el fichero de contraseñas usaremos el comando mosquitto_passwd:
root@server:/etc/mosquitto# mosquitto_passwd -c /etc/mosquitto/passwd.pw openHABuser Password: Reenter password: root@server:/etc/mosquitto# mosquitto_passwd -U /etc/mosquitto/passwd.pw moviljose Password: Reenter password: root@server:/etc/mosquitto# chown mosquitto /etc/mosquitto/passwd.pw
Reiniciamos el servidor mosquitto, y ya tenemos un poco más de seguridad…
Cool, muchas gracias :3