Для системных администраторов Webmin — это настоящая находка. Это веб-панель управления, которая позволяет удаленно управлять машиной на базе Linux с помощью современного веб-интерфейса. Webmin может на лету изменять различные конфигурации системы, включая веб-серверы и базы данных. Он также может управлять пользователями, группами и пакетами программного обеспечения.
В этом руководстве мы расскажем вам о шагах по установке и настройке Webmin на Ubuntu 18.04.
Webmin на Ubuntu
Хотя Webmin является популярным инструментом для системных администраторов, он недоступен в официальных Ubuntu репозиториях. К счастью, у Webmin есть специальный PPA для Ubuntu. Он заботится о поддержании программного обеспечения в актуальном состоянии. Вот предварительные требования, которые вам понадобятся перед началом работы:
- Вам понадобится сервер Ubuntu с пользователем sudo без прав root и брандмауэром. Ознакомьтесь с тем, как установить сервер Ubuntu здесь, и как настроить пользователя sudo здесь.
- Из-за специфики Webmin важно защитить доступ от нежелательных лиц. По умолчанию Webmin поставляется с несколькими функциями безопасности. Однако в этом руководстве Webmin будет защищен с помощью Let’s Encrypt и Apache. Следуйте этому руководству, чтобы установить сервер Apache.
- Для следующего руководства вам также необходимо иметь FQDN с DNS-записью, указывающей на IP-адрес сервера.
- Вам также понадобится Certbot, установку которого вы можете выполнить по шагу 1 из нашего руководства по защите Apache с помощью Let’s Encrypt на Ubuntu 18.04. Вы будете использовать Certbot для создания TLS/SSL-сертификата для Webmin.
Итак, начнем!
Установка Webmin на Ubuntu
Чтобы установить Webmin, нам нужно добавить PPA Webmin. Сначала убедитесь, что система содержит все необходимые зависимости:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Затем импортируйте PGP-ключ Webmin:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Наконец, добавьте репозиторий Webmin:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
Теперь APT может распознать PPA Webmin. Обновите кэш APT:
|
1 |
sudo apt update |
Наконец, установите Webmin:
|
1 |
sudo apt install webmin |
После завершения установки появится сообщение, подобное этому, указывающее, что доступ к Webmin можно получить напрямую по следующей ссылке. В данном примере используется имя хоста моей системы:
|
1 |
https://localhost:10000 |
В нем говорится, что для получения полного контроля над системой с помощью Webmin пользователь должен знать пароль root. Однако этого недостаточно для защиты такого уязвимого инструмента, как Webmin. Мы поместим его за веб-сервер Apache с действительным TLS/SSL-сертификатом, как упоминалось ранее.
Securing Webmin
Для доступа к Webmin по умолчанию требуется, чтобы порт 10000 был открыт. В нашем случае это не оптимально. Чтобы решить эту проблему, мы настроим Apache virtual host в качестве прокси для сервера Webmin, работающего на порту 10000. Затем виртуальный хост будет защищен с помощью TLS/SSL-сертификата, полученного от Let’s Encrypt. Эта процедура требует, чтобы у вас был установлен и правильно настроен веб-сервер Apache и Certbot.
- Creating a New Apache Virtual Host
Новый виртуальный хост будет определяться его конфигурационным файлом. Откройте конфигурационный файл в любом текстовом редакторе:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
Добавьте в файл следующие строки:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Это указывает Apache передавать запросы, поступающие на виртуальный хост, серверу Webmin по следующему адресу. Это также гарантирует, что внутренние ссылки, созданные Webmin, будут проходить через Apache.
- Отключение TLS/SSL в Webmin
Поскольку мы собираемся настроить Apache с поддержкой TLS/SSL, Webmin не обязательно иметь собственный TLS/SSL. Рекомендуется отключить эту функцию в Webmin. Затем откройте конфигурационный файл Webmin в любом текстовом редакторе:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Затем найдите следующую строку:
|
1 |
ssl=1 |
Здесь значение «1» означает, что в Webmin включен SSL. Затем установите значение «0», чтобы отключить SSL в Webmin.
- Добавление домена в Webmin
По умолчанию Webmin не разрешает доступ к нему с нашего домена. Это связано с тем, что такой доступ может быть частью вредоносной атаки, например, межсайтового скриптинга (XSS).
Чтобы Webmin разрешал доступ с нашего домена, его необходимо объявить в конфигурации Webmin. Откройте конфигурационный файл в вашем любимом текстовом редакторе:
|
1 |
sudo vim /etc/webmin/config |
В самый конец текста добавьте следующую строку:
|
1 |
referers=<domain> |
После этого сохраните текст, выйдите из редактора и перезапустите службу Webmin, чтобы все изменения вступили в силу:
|
1 |
sudo systemctl restart webmin |
- Настройка Apache
Нам нужен proxy_http модуль Apache. Следующая команда включит его:
|
1 |
sudo a2enmod proxy_http |
Система предложит перезапустить Apache. Однако сначала вам нужно включить новый виртуальный хост:
|
1 |
sudo a2ensite <domain> |
Наконец, перезапустите Apache. Это включит модуль и виртуальный хост:
|
1 |
sudo systemctl restart apache2 |
Следующая команда настроит брандмауэр для разрешения входящего трафика на порты 80 и 443 (порты Apache по умолчанию для трафика HTTP/HTTPS):
|
1 |
sudo ufw allow in "Apache Full" |
Чтобы убедиться, что настройка прошла успешно, перейдите на свой домен. Должна открыться страница входа в Webmin. Однако НЕ входите в Webmin. Поскольку TLS/SSL еще не настроен, обмен данными будет происходить по протоколу HTTP, передавая все данные в открытом текстовом формате:
|
1 |
http://<domain> |
- Настройка TLS/SSL
Нам нужен сертификат для нашего домена, чтобы соединение было зашифровано. Для этого мы будем использовать Let’s Encrypt. Это бесплатный, автоматизированный и открытый центр сертификации (CA). Он работает на благо общества и предоставляется исследовательской группой по интернет-безопасности (ISRG).
Для генерации сертификата в командной строке используется инструмент certbot. Выполните следующую команду certbot, чтобы сгенерировать сертификат TLS/SSL для вашего домена и настроить Apache для перенаправления трафика на защищенный сайт:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
Вывод будет выглядеть следующим образом:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Сохранение отладки журнала в /var/log/letsencrypt/letsencrypt.log Плагины выбраны: Authenticator apache, Installer apache Получение — нового сертификата Выполнение — следующих проверок: http-01 проверка для <domain> Включен Apache rewrite модуль Ожидание для проверки... Очистка — проверок Создан — SSL vhost в /etc/apache2/sites-available/<domain>-le-ssl.conf Включен Apache socache_shmcb модуль Включен Apache ssl модуль Развертывание сертификата в VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Включение доступного сайта: /etc/apache2/sites-available/<domain>-le-ssl.conf Включен Apache rewrite модуль Перенаправление vhost в /etc/apache2/sites-enabled/<domain>.conf на ssl vhost в /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Поздравляем! Вы — успешно включили https://<domain> Вам следует протестировать вашу конфигурацию по адресу: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Это указывает на то, что установка сертификата прошла успешно и Apache был успешно настроен для перенаправления запросов с http://<domain> на https://<domain>.
Использование Webmin
Наконец, мы готовы управлять системой с помощью Webmin. Откройте домен Webmin в веб-браузере и войдите в систему как пользователь root (или любой другой пользователь с привилегиями sudo).
- Управление пользователями и группами
Сначала давайте посмотрим, как управлять пользователями и группами с помощью Webmin. На левой панели перейдите в System >> Users and Groups:

Чтобы создать нового пользователя, нажмите Create a new user:

После этого заполните необходимую информацию для нового пользователя. Нажмите Create для завершения процедуры:

- Обновления пакетов
Webmin также может проверять наличие доступных обновлений пакетов. На левой панели нажмите на иконку Dashboard :

На Dashboard будет представлена краткая сводка статистики системы. В разделе System Information найдите метку Package updates . Она сообщит, если для какого-либо пакета доступно обновление.
Или же на левой панели перейдите в System >> Software Package Updates. На вкладке Package Updates Webmin покажет все пакеты, для которых доступны обновления:

На вкладке Scheduled Upgrades Webmin предлагает возможность автоматизировать установку обновлений пакетов:

Далее, под вкладкой Package Repositories Webmin предлагает простой способ управления всеми репозиториями пакетов, настроенными в системе:
- Запуск пользовательских команд
Хотя Webmin предлагает множество опций и настроек, некоторые вещи все же приходится делать вручную. Webmin может выполнять любые команды оболочки. Чтобы запустить команду, на левой панели перейдите в Tools >> Command Shell:

Затем введите нужную команду и нажмите Execute command для ее запуска:

Регулярно запускаете определенные команды? Подумайте о том, чтобы добавить их в Webmin. На левой панели перейдите в Tools >> Custom Commands. Больше не нужно вводить эти команды вручную:

- Управление Apache
Кроме того, если установлен какой-либо серверный движок, Webmin может управлять им. В этом примере мы использовали Apache. Чтобы управлять Apache через Webmin, перейдите в Серверы >> Apache:

Заключение
Webmin — очень полезный инструмент для управления всей вашей системой. Он предлагает удобный способ выполнения задач, которые обычно требуют скучного взаимодействия с экраном консоли. Более того, он помогает вам тонко настроить вашу систему. В этом руководстве представлены наиболее полезные варианты применения Webmin. Не стесняйтесь изучать официальную вики Webmin, чтобы узнать больше о том, как использовать этот инструмент с максимальной пользой.
Приятной работы!



Комментарии
Комментариев пока нет. Будьте первым.