WebUI Password Bullseye: различия между версиями
Matveevrj (обсуждение | вклад) (Новая страница: «{{Draft}} {{DISPLAYTITLE: Защита веб-интерфейса контроллера паролем }} В новых релизах прошивки начиная с wb-2210 используется mosquitto версии 2.0.11. В этой версии порядок установки пароля немного изменен. ==Как установить защиту веб-интерфейса?== #В файле /etc/mosquitto/conf.d/10listeners...») |
Makar853 (обсуждение | вклад) (→Установка пароля: Для обычного листенера название сетевого интерфейса не работает, поставил адрес локалхоста) Метки: правка с мобильного устройства правка из мобильной версии |
||
(не показано 17 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Установка пароля на веб-интерфейс контроллера Wiren Board (Debian Bullseye)}} | |||
{{DISPLAYTITLE: | == Описание == | ||
Эта инструкция для пользователей контроллеров Wiren Board 6...8, работающих под Debian Bullseye — {{Wbincludes: WebUI Debian Bullseye Releases}}. [[Wiren_Board_Software#releases|Подробнее про релизы]]. | |||
== | Перед выполнением настроек убедитесь что правильно понимаете их смысл. Инструкция показывает типовые действия, служит памяткой. | ||
# | |||
{{Wbincludes: WebUI Password Intro}} | |||
==Установка пароля== | |||
[[Image: WebUI-2.0 — IP and Port.png|300px|thumb|right| Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись ''Connected'' сообщает об успешном соединении.]] | |||
[[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]] | |||
Чтобы установить пароль, настройте mosquitto и nginx: | |||
#Откройте файл /etc/mosquitto/conf.d/10listeners.conf и приведите его к виду: | |||
#: | |||
#:<syntaxhighlight lang="bash"> | |||
# This file should be used to define external mosquitto listeners | |||
# (which are not used by internal services). | |||
# Default MQTT port listener. | |||
# | |||
# It allows anonymous listeners by default to be compatible with | |||
# old Wiren Board mosquitto configuration. | |||
# | |||
# It is recommended to add password authentication and TLS for security. | |||
listener 1883 127.0.0.1 | |||
allow_anonymous true | |||
acl_file /etc/mosquitto/acl/default.conf | |||
password_file /etc/mosquitto/passwd/default.conf | |||
# Default Websockets listener. | |||
# | |||
# It is used by Wiren Board Web interface. | |||
# | |||
# It allows anonymous listeners by default to be compatible with | |||
# old Wiren Board mosquitto configuration. | |||
# | |||
# It is recommended to add password authentication for security. | |||
listener 18883 lo | |||
protocol websockets | |||
allow_anonymous true | |||
acl_file /etc/mosquitto/acl/default.conf | |||
password_file /etc/mosquitto/passwd/default.conf | |||
</syntaxhighlight> | |||
#:Изменить файл можно открыв его в текстовом редакторе, например, nano: | #:Изменить файл можно открыв его в текстовом редакторе, например, nano: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
Строка 13: | Строка 55: | ||
systemctl restart mosquitto | systemctl restart mosquitto | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#Далее войдите в веб-интерфейс контроллера в раздел '''Настройки — Веб-интерфейс'''. В разделе Подключение к MQTT брокеру измените '''Порт''' на 80. | #Далее войдите в веб-интерфейс контроллера в раздел '''Настройки — Веб-интерфейс'''. В разделе '''Подключение к MQTT брокеру''' измените '''Порт''' на <code>80</code>. | ||
#Нажмите '''Применить''' и проверьте, что в правом верхнем углу появился статус <code>Подключено</code> в зеленой рамке. | #Нажмите '''Применить''' и проверьте, что в правом верхнем углу появился статус <code>Подключено</code> в зеленой рамке. | ||
Далее нужно установить пароль на nginx. | Далее нужно установить пароль на nginx. | ||
# Включите глобальную аутентификацию: | # Включите глобальную аутентификацию командой: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled | ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled | ||
</syntaxhighlight> | |||
#:Перезапустите nginx: | |||
#:<syntaxhighlight lang="bash"> | |||
systemctl restart nginx | systemctl restart nginx | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 33: | Строка 78: | ||
'''Совет:''' Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате: <pre>http://login:password@host/</pre> | '''Совет:''' Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате: <pre>http://login:password@host/</pre> | ||
== | ==Снятие пароля== | ||
Чтобы снять | Чтобы снять пароль с веб-интерфейса, верните конфигурацию mosquitto и nginx к состоянию по умолчанию: | ||
#Отключите глобальную аутентификацию командой | #Отключите глобальную аутентификацию командой | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
Строка 43: | Строка 88: | ||
systemctl restart nginx | systemctl restart nginx | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | #Приведите файл /etc/mosquitto/conf.d/10listeners.conf к виду: | ||
#:<syntaxhighlight lang="bash"> | |||
# This file should be used to define external mosquitto listeners | |||
# (which are not used by internal services). | |||
# Default MQTT port listener. | |||
# | |||
# It allows anonymous listeners by default to be compatible with | |||
# old Wiren Board mosquitto configuration. | |||
# | |||
# It is recommended to add password authentication and TLS for security. | |||
listener 1883 | |||
allow_anonymous true | |||
acl_file /etc/mosquitto/acl/default.conf | |||
password_file /etc/mosquitto/passwd/default.conf | |||
# Default Websockets listener. | |||
# | |||
# It is used by Wiren Board Web interface. | |||
# | |||
# It allows anonymous listeners by default to be compatible with | |||
# old Wiren Board mosquitto configuration. | |||
# | |||
# It is recommended to add password authentication for security. | |||
listener 18883 | |||
protocol websockets | |||
allow_anonymous true | |||
acl_file /etc/mosquitto/acl/default.conf | |||
password_file /etc/mosquitto/passwd/default.conf | |||
</syntaxhighlight> | |||
#Перезапустите mosquitto командой | #Перезапустите mosquitto командой | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
systemctl restart mosquitto | systemctl restart mosquitto | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#Войдите в веб-интерфейс контроллера в раздел '''Настройки—Веб-интерфейс'''. В разделе '''Подключение к MQTT брокеру''' измените '''Порт''' на <code>18883</code> | #Войдите в веб-интерфейс контроллера в раздел '''Настройки—Веб-интерфейс'''. В разделе '''Подключение к MQTT брокеру''' измените '''Порт''' на <code>18883</code>. | ||
#Нажмите '''Применить''' и проверьте, что в правом верхнем углу появился статус <code>Подключено</code> в зеленой рамке. | #Нажмите '''Применить''' и проверьте, что в правом верхнем углу появился статус <code>Подключено</code> в зеленой рамке. | ||
#Нажмите <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> и убедитесь, что при входе в веб-интерфейс пароль не запрашивается. | #Нажмите <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> и убедитесь, что при входе в веб-интерфейс пароль не запрашивается. |
Текущая версия на 12:57, 26 июня 2024
Описание
Эта инструкция для пользователей контроллеров Wiren Board 6...8, работающих под Debian Bullseye — это текущий тестинг и все новые релизы ПО, начиная с февраля 2023 года. Подробнее про релизы.
Перед выполнением настроек убедитесь что правильно понимаете их смысл. Инструкция показывает типовые действия, служит памяткой.
Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.
Установка пароля
Чтобы установить пароль, настройте mosquitto и nginx:
- Откройте файл /etc/mosquitto/conf.d/10listeners.conf и приведите его к виду:
# This file should be used to define external mosquitto listeners # (which are not used by internal services). # Default MQTT port listener. # # It allows anonymous listeners by default to be compatible with # old Wiren Board mosquitto configuration. # # It is recommended to add password authentication and TLS for security. listener 1883 127.0.0.1 allow_anonymous true acl_file /etc/mosquitto/acl/default.conf password_file /etc/mosquitto/passwd/default.conf # Default Websockets listener. # # It is used by Wiren Board Web interface. # # It allows anonymous listeners by default to be compatible with # old Wiren Board mosquitto configuration. # # It is recommended to add password authentication for security. listener 18883 lo protocol websockets allow_anonymous true acl_file /etc/mosquitto/acl/default.conf password_file /etc/mosquitto/passwd/default.conf
- Изменить файл можно открыв его в текстовом редакторе, например, nano:
nano /etc/mosquitto/conf.d/10listeners.conf
- Перезапустите mosquitto командой
systemctl restart mosquitto
- Далее войдите в веб-интерфейс контроллера в раздел Настройки — Веб-интерфейс. В разделе Подключение к MQTT брокеру измените Порт на
80
. - Нажмите Применить и проверьте, что в правом верхнем углу появился статус
Подключено
в зеленой рамке.
Далее нужно установить пароль на nginx.
- Включите глобальную аутентификацию командой:
ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled
- Перезапустите nginx:
systemctl restart nginx
- После этого при подключении к веб-интерфейсу будет запрошен логин и пароль. По умолчанию: логин root, пароль wirenboard.
- Чтобы поменять пароль, выполните команду ниже:
printf "root:`openssl passwd -apr1`\n" > /etc/nginx/passwd
- здесь вместо root можно придумать любое другое имя пользователя.
- После выполнения команды появится запрос на ввод пароля — введите новый пароль, нажмите
Enter
, повторите ввод нового пароля и снова нажмитеEnter
.
- Вернитесь в веб-интерфейс, обновите страницу клавишами Ctrl+Shift+R и при запросе логина и пароля введите их.
Совет: Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате:
http://login:password@host/
Снятие пароля
Чтобы снять пароль с веб-интерфейса, верните конфигурацию mosquitto и nginx к состоянию по умолчанию:
- Отключите глобальную аутентификацию командой
rm /etc/nginx/sites-enabled/global_auth
- Перезагрузите nginx:
systemctl restart nginx
- Приведите файл /etc/mosquitto/conf.d/10listeners.conf к виду:
# This file should be used to define external mosquitto listeners # (which are not used by internal services). # Default MQTT port listener. # # It allows anonymous listeners by default to be compatible with # old Wiren Board mosquitto configuration. # # It is recommended to add password authentication and TLS for security. listener 1883 allow_anonymous true acl_file /etc/mosquitto/acl/default.conf password_file /etc/mosquitto/passwd/default.conf # Default Websockets listener. # # It is used by Wiren Board Web interface. # # It allows anonymous listeners by default to be compatible with # old Wiren Board mosquitto configuration. # # It is recommended to add password authentication for security. listener 18883 protocol websockets allow_anonymous true acl_file /etc/mosquitto/acl/default.conf password_file /etc/mosquitto/passwd/default.conf
- Перезапустите mosquitto командой
systemctl restart mosquitto
- Войдите в веб-интерфейс контроллера в раздел Настройки—Веб-интерфейс. В разделе Подключение к MQTT брокеру измените Порт на
18883
. - Нажмите Применить и проверьте, что в правом верхнем углу появился статус
Подключено
в зеленой рамке. - Нажмите Ctrl+Shift+R и убедитесь, что при входе в веб-интерфейс пароль не запрашивается.