Https - ssl homeassistant


(Carlos Alberto Martins) #1

Senhores bom dia, eu uso let’s encrypt para obter o certificado ssl e aceder o HA via https.
Fiz isto apenas pois, na época, para usar o Google assistant era necessario. E com isso nao consigo adicionar entrada na lateral do HA como o router por exemplo.
Agora que temos o Hassio dentro do Google assistant, gostaria de saber se posso remover o ssl ou se não seria recomendado por outras questões de segurança que desconheço.
Qual vossas opiniões.


(Hopeless Automations) #2

Ola @CarlosMartins!

Hassio dentro do Google Assistant?! Referes-te ao addon do Google Assistant para o Hassio?

E de acordo com https://www.home-assistant.io/components/google_assistant/

To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven’t already configured that, you should do so before continuing.

E sim SSL e altamente recomendado! E uma camada de protecao que encrypta os teus dados de um lado para o outro.


(Carlos Alberto Martins) #3

Após alguns testes a conclusão foi:

Removi o SSL, o google assistant (via o app hassio direto do google) continua funcionando perfeitamente.
Adicionei diversas entradas no menu lateral, e tive alguns problema que irei compartilhar:

Algumas URL devem ser adicionar inteiras por exemplo:

sonweb:
   title: 'TasmotaAdmin'
   url: 'url/tasmoadmin/login'
   icon: mdi:settings-outline

Caso nao add o /login no final da URL, ela nao funciona.
Algumas paginas nao abriam e descobri que no servidor web esta setada a opção:
'X-Frame-Options' to 'sameorigin' ou 'X-Frame-Options' to 'deny'
Isso impede que o endereço seja aberto via i-frame.
Nesse caso é necessario alterar essa opcao no servidor web da pagina que esta querendo add no menu lateral.

Não consegui adicionar meu roteador, pois na config dele esta setado ‘X-Frame-Options’ to ‘sameorigin’
oq impede o endereço de ser aberto em um i-frame, meu router é ASUS ( Não tenho a opção de instalar o Open FW, como OPEN-WRT ou DD-WRT), entao não consigo alterar essa opção no servidor web, assim a pagina nao abre mantendo a tela em branco.

Eu so o homeassistant, no Ubuntu server 16.04, instalado via python.


(Hopeless Automations) #4

Era melhor teres instalado algo tipo Nginx e meter tudo atraz de SSL :wink:
E usares algo tipo isto para fazer login nos teus projectos


(Carlos Alberto Martins) #5

@sthopeless
Segui tem conselho, coloquei SSL em tudo, e voltei o SSL do HA.
O que não dava SSL direto, usei o PROXY_PASS do apache pra incluir SSL.

A Autenticação em 2 etapas acho que ficaria chato ter q pegar o token toda vez q fosse acessar via celular ou outro dispositivo.

Tenho uma duvida, sabes se tem como coloca um usuario e senha para acessar o DASHBOARD ?
Ou uma possibilidade seria criar uma pagina com HTACCESS e essa direcionar para o dasboard ?


(Hopeless Automations) #6

Boas @CarlosMartins!

Uau eu pensei que ias deixar como estava :smile: muito bom!

Login no Appdaemon (ou Dashboard) julgo que nao da.
Mas com o Nginx ou Apache podes criar logins… e muito simples, da uma vista de olhos nesta publicacao https://www.digitalocean.com/community/tutorials/how-to-set-up-password-authentication-with-nginx-on-ubuntu-14-04
E se tiveres duvidas da uma apitadela :slight_smile:


(Carlos Alberto Martins) #7

Entao mas o appdaemon esta na porta 5050, quem roda é p python.
eu uso o apache apenas para fazer o proxy_pass, e usar o SSL.
entao nao sei como colocaria a autenticacao no apache ?


(Carlos Alberto Martins) #8

Opss ja consegui, coloquei a autenticacao via APACHE antes de fazer o proxy, e esta OK.

Proximo passo seria usar essa autenticação, para direcionar o usuario para um dashboard personalizado.

Abraços.


(Hopeless Automations) #9

:wink:
Isso julgo que ja vai ser um pouco mais complicado, e nem sei se e possivel apenas com os usuarios que estas a criar no Apache

Se conseguires partilha aqui com o pessoal como!

Ja agora por curiosidade, que corres mais no Ubunto server alem do Home Assistant?


(Carlos Alberto Martins) #10

Plex Server
Transmission
Tasmoadmin
Zoneminder
Cloud9
Cacti

Aproveitando, você sabes alguma forma de fazer o bkp automático do HA completo ?
Tipo se precisar instalar do 0 de novo ?


(Hopeless Automations) #11

Existe pois!
Config depende para onde queres fazer o backup (USB drive, google drive, dropbox) e basta fazer backup da pasta com as tuas configuracoes yaml. Tens aqui uns exemplos na pagina do Home Assistant, Dropbox e para USB Device

Eu ja raramente faco alteracoes no Home Assistant e quando faco apenas adiciono packages (mais grupinhos a brincar com os services) por isso nem me dei ao trabalho quando migrei do Raspberry pi3 para o Ubuntu server


(Carlos Alberto Martins) #12

@sthopeless
Esse do Dropbox já testei e não funcionou direito.
Vou fazer um script pro bkp em disco externo.

Vc sabe como passa o banco do HA para MySQL ?


(Ricardo Silva) #13

Isso no HA:

recorder:
  db_url: mysql://userdadb:passworddesseusernomysql@127.0.0.1/nomedabasedados

Comandos no raspbian:
# apt-get install default-libmysqlclient-dev
# apt-get install python-dev python3-dev
# apt-get install mysql-server
# mysql -u root -p
** enter root password **
# CREATE DATABASE nomedabasedados;
# CREATE USER ‘userdadb’@‘localhost’ IDENTIFIED BY ‘passworddesseusernomysql’;
# GRANT ALL PRIVILEGES ON . TO ‘userdadb’@‘localhost’;
# FLUSH PRIVILEGES;


(Carlos Alberto Martins) #14

Obrigado
Apenas uma correção na linha da permissão:

# GRANT ALL PRIVILEGES ON nomedabasedados.* TO ‘userdadb’@‘localhost’;

Estou tendo problemas, o HA diz q o modulo nao esta instalado, porem ele esta:
LOGS:
No module named ‘MySQLdb’
No module named ‘pymysql’

pip3 install mysqlclient pymysql
Requirement already satisfied: mysqlclient in /usr/local/lib/python3.5/site-packages (1.3.12)
Requirement already satisfied: pymysql in /usr/local/lib/python3.5/site-packages (0.8.1)

Alguem pode ajudar ?


(Ricardo Silva) #15

Sim ao copiar, copiei mal e esqueci me disso, desculpa:
# sudo su -s /bin/bash homeassistant
# source /srv/homeassistant/bin/activate
# pip3 install --upgrade mysqlclient

A ideia dessas 3 linhas é instalar o modulo do mysqlclient no ambiente virtual (isso supondo que estas a usar o HA em ambiente virtual dito hassbian)


(Carlos Alberto Martins) #16

@ricain
ele ja esta instalado:

Requirement already up-to-date: mysqlclient in /usr/local/lib/python3.5/site-packages (1.3.12)

Mesmo assim da o erro.

[homeassistant.components.recorder] Error during connection setup: No module named 'MySQLdb' (retrying in 3 seconds)