Сегодня речь пойдет на тему, что когда я развернул Headwind MDM
по заметке: "Инструмент управления Android устройствами в ЛВС"
, столкнулся с тем, что мой сервис работает на порту 8080/tcp
, а чтобы вручную завести в него смартфон на базе Android
я описал в заметке: "Заводим Honor 5C на центральную консоль Headwind MDM"
. С учетом приобретенного понимания я изменял порт, на котором работает Headwind MDM
, но вот исходя из этого, лучше развернуть Web
—сервис Nginx
и настроить обратный прокси для Headwind MDM
, а уже надстройкой над Iptables
в лице firewalld
ограничить доступ к хосту оставив: 22/tcp, 80/tcp.
Приступаю к реализации задуманного.
Шаг №1:
Возвращаю назад работу сервиса Headwind MDM
с 80/tcp
на 8080/tcp:
sudo nano /etc/tomcat9/server.xml
было
<Connector port="80" protocol="HTTP/1.1"
изменяю на
<Connector port="8080" protocol="HTTP/1.1"
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора).
sudo systemctl restart tomcat9.service ekzorchik@srv-us2204mdm:~$ sudo netstat -tulpn | grep java tcp6 0 0 :::8080 :::* LISTEN 52635/java
Шаг №2:
Устанавливаю в систему Web
—сервис nginx:
ekzorchik@srv-us2204mdm:~$ sudo apt-get install -y nginx
ekzorchik@srv-us2204mdm:~$ sudo rm /etc/nginx/sites-available/default
ekzorchik@srv-us2204mdm:~$ sudo rm /etc/nginx/sites-enabled/default
ekzorchik@srv-us2204mdm:~$ sudo nano /etc/nginx/sites-available/hmdm.conf
upstream hmdm { server 127.0.0.1:8080; } server { listen 80; server_name 192.168.10.13; access_log /var/log/nginx/hmdm-access.log; error_log /var/log/nginx/hmdm-error.log; proxy_redirect off; location / { proxy_pass http://hmdm; proxy_buffering off; client_max_body_size 0; proxy_connect_timeout 3600s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; send_timeout 3600s; } }
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора).
ekzorchik@srv-us2204mdm:~$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ekzorchik@srv-us2204mdm:~$ ekzorchik@srv-us2204mdm:~$ sudo ln -s /etc/nginx/sites-available/hmdm.conf /etc/nginx/sites-enabled/hmdm.conf ekzorchik@srv-us2204mdm:~$ ekzorchik@srv-us2204mdm:~$ sudo systemctl restart nginx
Шаг №3:
Закрываю систему Ubuntu 22.04 Server
надстройкой над правилами в лице firewalld:
ekzorchik@srv-us2204mdm:~$ apt-cache show firewalld | grep Version Version: 1.1.1-1ubuntu1 ekzorchik@srv-us2204mdm:~$ ekzorchik@srv-us2204mdm:~$ sudo ufw disable Firewall stopped and disabled on system startup ekzorchik@srv-us2204mdm:~$ sudo apt-get install -y firewalld ekzorchik@srv-us2204mdm:~$ sudo systemctl enable firewalld ekzorchik@srv-us2204mdm:~$ sudo systemctl start firewalld ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --state running ekzorchik@srv-us2204mdm:~$ ip r | awk '{print $5}' | head -n1 ens160 ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --zone public --change-interface=ens160 --permanent success ekzorchik@srv-us2204mdm:~$ ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --reload success ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@srv-us2204mdm:~$ ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent success ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --reload success ekzorchik@srv-us2204mdm:~$ sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: dhcpv6-client ssh ports: 80/tcp protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@srv-us2204mdm:~$
После чего доступ к хосту Ubuntu 22.04 Server
возможен только через SSH
и через Web
, т.е. URL
адрес вида: http://192.168.11.13:80
тем самым попадая на страницу авторизации в Headwind MDM:
Имя пользователя или email: указываю свои, т.е. admin
Пароль: указываю свои, т.е. 712mbddr@
и нажимаю «Войти»
Шаг №4:
Если посмотреть логи обращения на 80/tcp
порт, то все обращения имеют статус HTTP 200
, что говорит, что сервис отвечает на все запросы успешно осуществляя перенаправление с 80
на 8080:
ekzorchik@srv-us2204mdm:~$ sudo tail -f /var/log/nginx/hmdm-access.log 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/ar_AE.json HTTP/1.1" 200 2539 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/fr_FR.json HTTP/1.1" 200 2337 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/es_ES.json HTTP/1.1" 200 2301 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/de_DE.json HTTP/1.1" 200 2350 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/zh_TW.json HTTP/1.1" 200 2078 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/ja_JP.json HTTP/1.1" 200 2589 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.4 - - [03/May/2024:09:37:30 +0300] "GET /app/components/plugins/push/i18n/zh_CN.json HTTP/1.1" 200 2078 "http://192.168.10.13/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 192.168.10.16 - - [03/May/2024:09:38:15 +0300] "POST /rest/public/sync/info HTTP/1.1" 200 42 "-" "okhttp/3.12.1" 192.168.10.16 - - [03/May/2024:10:06:10 +0300] "POST /rest/plugins/devicelog/log/list/h0002 HTTP/1.1" 200 42 "-" "okhttp/3.12.1" 192.168.10.16 - - [03/May/2024:10:06:10 +0300] "POST /rest/public/sync/info HTTP/1.1" 200 42 "-" "okhttp/3.12.1" ^C ekzorchik@srv-us2204mdm:~$
Итого, я сделал более правильный вариант работы с сервисом Headwind MDM
не изменяя порт, на котором работает сервис tomcat
который лежит в основе Headwind MDM
, а сделал настройку в лице обратного прокси сервиса через nginx.
На этом моя практическая заметка для самого себя успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.