HowTo: FHEM - Acceso seguro a la interfaz de configuración

A más tardar después de haber realizado las primeras configuraciones en su interfaz FHEM, también debe ocuparse del tema de la seguridad. Es realmente molesto cuando pierde las funciones de su sistema SmartHome que ha compilado minuciosamente y programado cuidadosamente. Ya sea por pérdida de datos o porque otras personas han obtenido acceso no autorizado a su sistema.

No se debe descuidar el posible acceso de personas no autorizadas. En el peor de los casos, se pueden hacer más travesuras con este acceso que simplemente encender y apagar una lámpara.

El siguiente artículo explica cómo puede asegurar su instancia de FHEM y protegerla contra la pérdida de datos.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Antes de comenzar con este artículo, debe haber preparado la RaspberryPi para que pueda accederse a ella a través de la red y controlarse a través de SSH.

Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPi – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH
FHEM – Instalación en RaspberryPi

Herramientas necesarias:
-No-

Materiales necesitados:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Cambiar cualquier contraseña de acceso existente (predeterminada)

La precaución de seguridad más importante (porque la más explotada) es cambiar las contraseñas estándar existentes. Si utiliza una Raspberry Pi como hardware host para el servidor FHEM, por ejemplo, es importante que cambie sus datos de inicio de sesión estándar. Los datos de inicio de sesión estándar “pi” y “raspberry” son conocidos por cualquiera que esté remotamente interesado en la tecnología. Entonces, si acaba de leer sus datos de inicio de sesión de RaspberryPi aquí, ya es hora de cambiarlos.

Cómo cambiar esto está en el artículo. RaspberryPi – ¡La primera configuración! descrito.


Crear inicio de sesión de usuario HTACCESS

La siguiente precaución de seguridad contra el acceso no autorizado a su interfaz FHEM es la protección de acceso a través de HTACCESS. Una vez que se haya configurado, se le pedirá que ingrese los datos de inicio de sesión asociados cada vez que intente acceder a su instancia de FHEM.

Para configurar esta protección de acceso, primero debe codificar su combinación de nombre de usuario y contraseña usando base64. Esto funciona en Linux con un comando incorporado. Para codificar su combinación de nombre de usuario y contraseña, todo lo que tiene que hacer es ingresar el siguiente comando en la consola. Por supuesto que tienes que hacerlo antes de eso. gran nombre de usuario con tu nombre de usuario y gran contraseña reemplácelo con su contraseña.

Ingrese el siguiente comando en la consola de su RaspberryPi para codificar sus datos de inicio de sesión.
echo -n gran nombre de usuario: gran contraseña | base64
Luego recibirá una cadena codificada en base64 de sus datos de inicio de sesión. Deberías copiar esto para poder usarlo más tarde.

Sin Linux, un codificador Base64 en línea como www.base64online.com . Simplemente ingrese su combinación de nombre de usuario y contraseña de acuerdo con el patrón Usuario Contraseña y haga clic en codificar (DECODIFICAR).

Para activar el inicio de sesión con los datos de inicio de sesión establecidos, debe hacer lo siguiente.

Primero hay que crear el módulo “allowedWEB” con el siguiente comando.
definir permitidoWEB permitido

Ahora debe vincular sus datos de inicio de sesión copiados a este módulo configurando un atributo apropiado. Esto se puede hacer con el siguiente comando.

attr permitidoWEB basicAuth dG9sbGVyQmVudXR6ZXJuYW1lOnRvbGxlc1Bhc3N3b3J0
En el último paso, debe configurar en qué interfaces de inicio de sesión se debe solicitar el inicio de sesión. En este caso activamos la consulta de inicio de sesión para “WEB”, “WEBPhone” y “WEBtablet” con el siguiente comando. Si ha asignado nombres diferentes a las interfaces de inicio de sesión, esto deberá, por supuesto, ajustarse en consecuencia.
attr permitidoWEB válidoPara WEB, WEBteléfono, WEBtableta

Eso es todo. Ahora reinicie FHEM ingresando el siguiente comando

apagar reiniciar
Ahora puede probar el inicio de sesión. Para ello, accede de nuevo a la URL de tu instancia de FHEM. Esta vez, debería aparecer una ventana de inicio de sesión pidiéndole que ingrese la información de inicio de sesión correcta.
Ahora ingrese el nombre de usuario y la contraseña que especificó anteriormente.
Si ingresó los datos de inicio de sesión correctos, debe ser redirigido a la página de inicio de su instancia de FHEM. Su interfaz de configuración ahora está protegida de acceso por nombre de usuario y contraseña.

Cifrar la conexión con un certificado SSL

Ahora que ha asegurado el acceso a su interfaz FHEM, la siguiente precaución de seguridad es asegurarse de que su comunicación con ella no pueda ser interceptada o manipulada. Para este propósito, ahora está configurada la encriptación SSL de los datos de comunicación. Para hacer esto, primero se debe crear un certificado SSL y luego conectarse a FHEM.

Para crear el certificado SSL, primero debe instalar dos paquetes. Para hacer esto, ejecute el siguiente comando.
sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl
Durante la instalación de los paquetes, es posible que se le pregunte si está de acuerdo en que la instalación utilizará memoria adicional. Confirme esto con una "J" y "Entrar".
Después de instalar los paquetes, use el siguiente comando para cambiar a la carpeta de su instalación de FHEM.
cd /opt/fhem
El siguiente comando crea la carpeta "certs" en la que luego se crean/guardan los certificados.
certificados sudo mkdir
Ahora vaya a la carpeta "certificados" que acaba de crear.
cd /opt/fhem/certs
Para crear el certificado SSL, debe ejecutar el siguiente comando.
sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
A medida que se genera el certificado, se le pedirán los detalles de ese certificado. Primero debe ingresar el código de país aquí, por ejemplo. Estas entradas no tienen que ser verdaderas. Así que puedes dar la información correcta o...
... use tres guiones u otros caracteres como marcadores de posición, como se muestra.
El siguiente comando obtiene el certificado y...
sudo chmod 644 /opt/fhem/certs/*.pem
... la carpeta del certificado todavía tiene los derechos de archivo correctos.
sudo chmod 711 /opt/fhem/certs
En los últimos dos pasos ahora tienes que activar HTTPS para el módulo WEB...
atributo WEB HTTPS
...y reinicie FHEM para que los cambios surtan efecto.
apagar reiniciar

Si ha reiniciado su servidor FHEM, puede acceder a él casi como de costumbre. La única diferencia es que ahora debe prefijar la dirección de su servidor FHEM con HTTPS.

Dado que está utilizando un certificado autofirmado, casi todos los navegadores le advertirán e informarán al respecto. En la Internet “normal”, esto podría ser un indicio de una fuga de datos. En este caso, no tienes que preocuparte por eso. Para que pueda omitir la advertencia. Para hacer esto, haga clic en “Avanzado”…
…luego haga clic en “Continuar a….(inseguro)” para omitir la advertencia y acceder a su servidor FHEM.
Si ha activado el inicio de sesión de usuario, ahora se le solicitarán los datos de inicio de sesión.
Sin un inicio de sesión de usuario o si ingresó los datos de inicio de sesión correctamente, aterrizará en su página de inicio de FHEM como de costumbre.

Establecer copia de seguridad automática antes de cada actualización

Ahora está mayormente bien protegido contra los peligros de las personas y máquinas malvadas. Otra configuración útil son las copias de seguridad automáticas antes de cada actualización del entorno FHEM. De esta manera, también está protegido en caso de una actualización defectuosa y no tiene que restaurar manualmente toda la configuración.

Para hacer esto, ingrese los siguientes comandos en la línea de comando de su instancia de FHEM.
attr actualización global en segundo plano 1
attr global backup_before_update 1

Acceso Telnet seguro

FHEM ofrece, entre otras cosas, la posibilidad de ejecutar comandos a través de una conexión Telnet. Esto no está instalado/activado por defecto. Sin embargo, si usa esto, es importante que también proteja el acceso aquí con una contraseña. Esto se puede hacer con el siguiente comando. Por supuesto que todavía tienes que hacer la parte. gran contraseña Reemplace con la contraseña que eligió. Es posible que también tengas que ajustar la parte “telnetPort” aquí. Este es el nombre de su módulo Telnet configurado y debe coincidir con el nombre que está utilizando.

attr telnetPort contraseña gran contraseña


fusible FHEM

Ahora está mayormente bien protegido contra los peligros de las personas y máquinas malvadas. Pero ahora tienes que armarte contra el mayor enemigo: Tu propia estupidez. Especialmente al probarlo y probarlo, puede suceder rápidamente que configure incorrectamente el sistema, que ha estado funcionando bien hasta ahora. Sin embargo, en el peor de los casos, un sistema que ya no se inicia puede restaurarse rápidamente. Siempre que tenga una copia de seguridad actual, preferiblemente en un medio de datos externo. Para que pueda restaurar el último estado de funcionamiento sin ningún problema.

definir copia de seguridad regular en *03:00:00 copia de seguridad

Con esta configuración, se crea una copia de seguridad todos los días a las 03:00 y se almacena en la carpeta /opt/fhem/backup. Por supuesto, los archivos almacenados aquí también deben sincronizarse con otra unidad. Esta es la única forma en que también están protegidos en caso de un error con la unidad o la tarjeta SD.


Información adicional

https://de.wikipedia.org/wiki/Base64

https://wiki.fhem.de/wiki/Telnet


Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

Un comentario

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.