Home Assistant #26: Securizando nuestro servidor Home Assistant

Tutoriales

Conectar a Internet nuestro “Home Assistant” supone un aumento de la superficie de exposición de nuestros servidores a internet, y por tanto conlleva ciertos riesgos. Por eso, a través de este mini-tutorial vamos a ver varios “tips” que podemos configurar para mejorar la seguridad de nuestra instalación cuando la exponemos a Internet.

Es bien conocido que muchos usuarios comparten la misma contraseña para múltiples servicios, incluso el mismo usuario. Lo que, en caso de que existiese una brecha de seguridad estos datos podrían ser utilizados para poder acceder a otros servicios, como por ejemplo nuestro servidor Home Assistant. Por esta razón, necesitamos poner una medida de seguridad adicional que nos ayude a protegernos.

Autenticación en pasos (2FA)

Con un sistema de autenticación en dos pasos, como su nombre indica, no necesitaremos tener sólo nuestro usuario y contraseña, sino que también tendremos que tener un dato adicional que demuestre que podemos acceder al sistema.

Con la autenticación en dos pasos (también conocida como “autenticación de dos factores”) habilitada en nuestra instancia de Home Assistant, añadiremos una capa de seguridad extra al acceso. De forma que, para acceder nos harán falta dos factores:

  • Algo que sabes (tu contraseña)
  • Algo que tienes (un código OTP)

¿Cómo activamos 2FA en Home Assistant?

Para habilitarlo, tendremos que ir a la esquina superior izquierda de nuestro dashboard, donde aparecerá la primera letra de nuestro nombre. Una vez pulsemos allí, accederemos a las propiedades de nuestro perfil.

Si nos desplazamos por la pantalla hacia más abajo, llegaremos a una sección que indca: “Módulos de autenticación multifactor”, habilitaremos esta opción (según aparece en la imagen) y nos dará la oportunidad de escanear un código QR para usar una aplicación externa que nos permita gestionar nuestros códigos OTP.

¿Qué aplicaciones puedo usar para gestionar mis códigos OTP?

Aquí va por gustos, podemos usar muchas y están disponibles para casi todas las plataformas. Aquí os dejamos algunas:

  • Google Authenticator
  • Authenticator de LastPass
  • Authy.

Una vez hayamos escaneado el código QR con nuestra aplicación favorita, veremos en la pantalla unos números que cada cierto tiempo irán variando. Estos es el segundo factor que nos va a solicitar nuestro Home Assistant cuando nos autentiquemos

Añadiendo un sistema de protección extra

Además de conseguir acceder a nuestro home assistant mediante un segundo factor de autenticación, vamos a habilitar también una medida de protección extra. Vamos a permitir que Home Assistant se encargue por nosotros de bloquear aquellas direcciones IP que intenten acceder a nuestro sistema y fallen más de “X” veces a la hora de introducir las credenciales de acceso.

Para eso, dentro de la sección “http:” de nuestra configuración (configuration.yaml) añadiremos las siguientes líneas:

Ip_ban_enabled: true

Login_attempts_threshold: 3

De esta forma cuando alguien falle más de tres veces seguidas la autenticación en nuestro sistema, de forma automática nuestro Home Assistant bloqueará su dirección IP creando una entrada en el fichero ip_bans.yaml

Y ya que estamos, ¿por qué no hacemos que además cada vez que haga un baneo nos avise mediante pushbullet?, vamos allá

Notificaciones de intentos fallidos de acceso a nuestro Home Assistant

Para no hacer mucho más larga esta entrada en el blog, daremos por hecho que ya tenemos configuradas las notificaciones mediante pushbullet.

Iremos al fichero automations.yaml e incluiremos las siguientes líneas

#########################################################
#                                                       #
#                 FAILED LOGIN ATTEMPTS                 #
#                                                       #
#########################################################

- alias: "Send notification upon failed login attempt"
  trigger:
    - platform: state
      entity_id: persistent_notification.httplogin
  condition:
    - condition: template
      value_template: "{{ trigger.to_state.state != 'None' }}"
  action:
    - service: notify.pushbullet
      data_template:
        title: "{{ states.persistent_notification.httplogin.attributes.message }}"
        message: 'url: https://whatismyipaddress.com/ip/{{ states.persistent_notification.httplogin.attributes.message.split ("from ") [1]}}'
    - service: persistent_notification.dismiss
      data:
        notification_id: 'httplogin'

Con esto conseguiremos que nos avise mediante el servicios Pushbullet cuando han intentado acceder a nuestro sistemas. Pero para muestra un botón:

¿Quieres montarte tu propio sistema Smart Home?

¿Te gustaría empezar poco a poco teniendo Google Home, Alexa o Home Assistant para controlar las luces, calefacción y otros electrodomésticos de la casa? ¡Te ayudamos! Entra en nuestro Grupo de Telégram de Domótica y también puedes entrar a nuestro Foro de Domótica donde podrás empezar a leer y preguntar tus dudas. Además, si quieres estar al tanto de las ofertas de domótica que salen a diario para poder hacerte un sistema de domótica low cost, entra a nuestro Canal de ofertas de domótica y no te perderás ni una o si lo prefieres y no tienes Telegram, puedes entrar a nuestra página de ofertas de domótica o Smart Home en Facebook. ¡Síguenos también en nuestro Facebook, Twitter o Instagram! ¡Te esperamos!

Si también buscas otro tipo de ofertas, puedes echar un ojo a nuestros otros canales:
* Tecnología en general *
* Juguetes / consolas / Juegos de mesa *
* Manualidades *
Si no tienes Telegram puedes consultar todas las ofertas en Megabazar.es

7 Comentarios

  1. Modusin

    Muy buenas!!

    Estoy por recibir un kit de Xiaomi Mijia con el gateway y un par de sensores, para iniciarme en el mundillo de la domótica y he estado leyendo las entradas de tu blog sobre el Home Assitant. Me parece muy interesante y no sé si ponerme con ello.

    ¿Merece la pena respecto a lo que te ofrece la propia app Mi Home?

    Todo el tema de la instacion no sería problema ya que soy informatico e incluso podría levantar la imagen de docker para facilitar la instalación….

    Lo que no me termina de decidir es si realmente aporta tanta mejora respecto a lo que te encuentras de base con Mi Home para un uso basico….

    Muchas gracias y enhorabuena por el blog!!

    Reply
    • eduardo

      Desde el punto de vista de la comodidad, no tanto, es decir, si llevas idea de solo montar lo que Xiaomi tiene, no vas a ganar tanto y te dará algún que otro dolor de cabeza, ahora, si miramos por la privacidad, si, si te preocupa ese tema, seras el dueño de tu información por completo. Por otro lado, con Mi Home o con cualquier otra opción similar, dependes de los dispositivos que tengan, con Home Assistant tienes múltiples marcas, muchísimas plataformas, al estilo Google Home y Alexa, pero, con el añadido que si te pica el tema, podrás hacerte tu lo que quieras porque es Open Source y puedes meterte hasta el nivel que quieras

      Espero que te ayude y si te decides o sigues teniendo dudas, te espero en el grupo de Telegram

      Reply
      • Modusin

        Genial! Más o menos es lo que me imaginaba.

        Trastearé cuando me llegue a ver qué puedo hacer.…

        Gracias!!

        Reply
  2. Jordi Tienda Pérez

    Hola buenos dias, es posible hacer la modificación para que las notificaciones las haga via telegram?

    Un Saludo

    Reply
  3. Daniel

    Hola, el ip_bans.yaml lo crea solo o lo debemos crear para que escriba luego? Graciasº

    Reply

Contestar

Tu e-mail no será publicadoRequired fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

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

Lost Password

Registro