Virtualmin — панель управления веб-хостингом с открытым исходным кодом

Веб-приложения

Что такое Virtualmin?

Virtualmin — это программное обеспечение для управления веб-хостингом, которое обеспечивает удобный и простой способ управления виртуальными хостингами, доменами, почтовыми ящиками, базами данных, SSL-сертификатами и другими важными компонентами веб-сервера.

Панель доступна в версии с открытым исходным кодом, поддерживаемой сообществом, и в более функциональной версии с премиальной поддержкой. Кроме того, Virtualmin — одна из самых популярных и наиболее полных панелей управления с открытым исходным кодом, установленная более чем в 150 000 раз по всему миру.

Возможности Virtualmin

Основные возможности Virtualmin включают:

  1. Управление виртуальными хостингами: Virtualmin позволяет создавать, удалять и изменять виртуальные хостинги с помощью простого и интуитивно понятного интерфейса. Каждый виртуальный хостинг имеет отдельный каталог для файлов, базы данных и почтовые ящики.
  2. Управление доменами: Virtualmin позволяет создавать, удалять и изменять домены и поддомены. Кроме того, вы можете управлять DNS-записями и настраивать почтовые домены.
  3. Управление почтовыми ящиками: Virtualmin обеспечивает полный контроль над почтовыми ящиками, позволяя создавать, удалять и изменять их. Вы можете устанавливать ограничения на размер почтовых ящиков и сообщений, а также настраивать спам-фильтры и автоответчики.
  4. Управление базами данных: Virtualmin поддерживает множество СУБД, включая MySQL (MariaDB), PostgreSQL и SQLite. Вы можете создавать, удалять и изменять базы данных, а также управлять пользователями баз данных.
  5. Управление SSL-сертификатами: Virtualmin позволяет установить и настроить SSL-сертификаты для каждого виртуального хостинга и домена.
  6. Отчетность и мониторинг: Virtualmin обеспечивает детальную отчетность о действиях пользователей, а также мониторинг системных ресурсов, таких как использование процессора и памяти.
  7. Система резервного копирования: Virtualmin позволяет создавать резервные копии файлов, баз данных и других компонентов веб-сервера.
  8. Управление FTP-аккаунтами: Virtualmin позволяет создавать, удалять и изменять FTP-аккаунты для каждого виртуального хостинга.

Эти и многие другие функции делают Virtualmin мощным и гибким инструментом для управления веб-хостингом.

Системные требования Virtualmin

Совместимые системы:

  • Ubuntu 20.04 LTS и 22.04 LTS с архитектурой i386 или amd64
  • Debian 10 и 11 с архитектурой i386 или amd64
  • CentOS 7 x86_64
  • Alma и Rocky 8 и 9 x86_64
  • Rhel 8 и 9 x86_64

Рекомендуемые характеристики сервера:

2 ядра процессора и 2 гб оперативной памяти.

В идеале 2 ядра процессора и 4 гб оперативной памяти

Virtualmin с одним ядром работать будет, но нестабильно. Также 1 гб оперативной памяти теоретически достаточно, но только что настроенная система из коробки уже будет занимать 1 гб оперативной памяти. Потому считаю минимальными требованиями к серверу 2 ядра процессора и 2 гб оперативной памяти (желательно 4 гб оперативной памяти).

Хостинг:

В качестве хостинга VPS рекомендую Aéza, по моей реферальной ссылке вы можете получить дополнительно на счет 15% от суммы его пополнения

https://aeza.net/?ref=379564

Установка Virtualmin

Рекомендуемый способ установки Virtualmin — использовать сценарий автоматической установки virtualmin-install.sh, который можно найти на странице загрузки Virtualmin.com. Чтобы получить стек LEMP, который включает nginx вместо Apache, используйте ключ —bundle LEMP при установке. Также рекомендуется использовать ключ —minimal для исключения полного стека обработки почты (серверы IMAP/POP, SpamAssassin и ClamAV). Сценарий установки следует запускать на только что установленной поддерживаемой ОС без предварительной настройки или включенных сторонних репозиториев.

Стек LEMP устанавливает Virtualmin с плагинами nginx и nginx-ssl, nginx, BIND, Postfix, MariaDB, PHP и т. д. и настраивает их для использования в среде общего виртуального хостинга. Ключ —minimal также работает с установкой LEMP.

Добавляем репозиторий для самой последней версии Nginx:

add-apt-repository ppa:ondrej/nginx-mainline && apt update -y

Добавляем репозиторий для самой последней версии PHP:

add-apt-repository ppa:ondrej/php && apt update -y

Обновляем репозитории и пакеты:

apt update -y &&
apt upgrade -y

Установка Virtualmin с nginx

https://www.virtualmin.com/documentation/web/nginx/

https://github.com/virtualmin/virtualmin-nginx

Скачиваем скрипт

cd /tmp
wget https://software.virtualmin.com/gpl/scripts/virtualmin-install.sh
chmod +rx /tmp/virtualmin-install.sh

Запустите скрипт для установки и следуйте указаниям скрипта:

/tmp/virtualmin-install.sh --minimal --bundle LEMP

Далее перейдите по ссылке указанной в результатах скрипта для входа в панель управления Virtualmin, https://ip_вашего_сервера:10000/

В браузере появится предупреждение о том что сайт возможно использует недействительный сертификат безопасности, игнорируем его, данное сообщение связано с тем что вы используете самоподписной сертификат

Установка Virtualmin c Apache

https://www.virtualmin.com/download/

https://github.com/virtualmin/virtualmin-nginx

Нельзя одновременно установить Apache и Nginx в Virtualmin. Если уже выполнили установку по пункту 1.1. то пункт 1.2. вам не нужен.

Скачайте установочный скрипт:

cd /tmp
wget https://software.virtualmin.com/gpl/scripts/virtualmin-install.sh
chmod +rx /tmp/virtualmin-install.sh

Запустите скрипт для установки и следуйте указаниям скрипта:

/tmp/virtualmin-install.sh --minimal

Остальные действия будут аналогичны установке Virtualmin с nginx

После установки перейдите по ссылке указанной в результатах скрипта для входа в панель управления Virtualmin, https://ip_вашего_сервера:10000/

Данные для входа в Virtualmin

После того как вы завершите установку Virtualmin, его панель управления будет использовать адрес https://ip_вашего_сервера:10000/

Данные для входа по умолчанию будут следующими:

Имя пользователя: root

Пароль: Ваш пароль от учетной записи root сервера

Мастер настройки Virtualmin

После установки и авторизации в панели управления Virtualmin вам будет необходимо осуществить его базовую настройку в мастер настройки.

Вы можете принять стандартные настройки нажав кнопку «Cancel» или осуществить детальную настройку под вашу систему кнопкой «Next»

Далее я буду описывать настройку после нажатия кнопки «Next» и предложу перевод интерфейса мастера установки с моими комментариями.

Информация на моих скриншотах более расширенная, так как использовалась установка без ключа —minimal

Использование памяти (Memory use)

Первой настройкой будет использование памяти,

Virtualmin можно настроить для повышения производительности пользовательского интерфейса и обработки электронной почты, но за счет увеличения использования памяти. Лучший выбор зависит от того, как будет использоваться ваша система.

Предварительно загрузить библиотеки Virtualmin?

  • Да, более быстрый пользовательский интерфейс с использованием большего объема оперативной памяти (≈40 МБ)
  • Нет, более медленный пользовательский интерфейс с меньшим использованием оперативной памяти, но большей загрузкой процессор

Я всегда выбираю ответ Да на этот вопрос чтобы получить более быстрый интерфейс панели управления.

Запустить сервер поиска почтового домена?

  • Да, более быстрая обработка почты с использованием большего объема оперативной памяти (≈70M)
  • Нет, более медленная обработка почты с меньшим использованием оперативной памяти, но большей загрузкой процессора

Выбираем ответ в зависимости от того будете ли вы использовать собственный почтовый сервер на вашем VPS. Я обычно выбираю нет, так как преимущественно использую сторонние почтовые сервисы для сайтов.

Использование антивируса ClamAV для электронной почты

Если в вашей системе будут размещаться домены, которые будут получать большое количество электронной почты, сканирование входящих сообщений на наличие вирусов может привести к высокой нагрузке на ЦП. Поскольку сканирование выполняется с помощью сервера сканирования ClamAV, он будет потреблять оперативную память, даже если не обрабатывает электронную почту. Если в вашей системе не будет размещаться электронная почта, сканирование на вирусы можно отключить.

Включить поиск вирусов с помощью ClamAV?

  • Да, использует до 2 ГБ оперативной памяти
  • Нет, электронная почта не будет фильтроваться

Я выбираю Нет, так как не использую собственный почтовый сервер в Virtualmin.

Фильтрация спама (Spam filtering)

Если в вашей системе будут размещаться домены, которые будут получать большое количество электронной почты, фильтрация входящих сообщений на наличие спама может привести к значительной нагрузке на ЦП. Это связано с использованием ЦП почтовым фильтром SpamAssassin при его запуске, чего можно избежать, запустив spamd сервера фильтрации SpamAssassin в фоновом режиме. Это потребляет ОЗУ, но снижает нагрузку на ЦП и ускоряет обработку почты.

Запустить фильтр сервера SpamAssassin?

  • Да, более быстрая обработка почты с использованием большего объема оперативной памяти (≈30M) и отсутствие настроек для каждого домена
  • Нет, более медленная обработка почты с меньшим использованием оперативной памяти

Я выбираю Нет, так как не использую собственный почтовый сервер в Virtualmin.

Серверы баз данных (Database servers)

Virtualmin поддерживает серверы баз данных как MariaDB, так и PostgreSQL, но вы можете запустить только один сервер одновременно (или ни один из них) в своей системе. Каждый из них потребляет оперативную память при работе, даже если они не используются.

В зависимости от веб-сайтов и приложений, которые вы планируете размещать, может быть достаточно запуска только MariaDB, поскольку большинство веб-приложений не поддерживают или не требуют PostgreSQL. Если ваша система будет использоваться только для почты или DNS-хостинга, запускать базу данных вообще не нужно.

Запустить сервер базы данных MariaDB?

  • Да
  • Нет

Запустить сервер базы данных PostgreSQL?

  • Да
  • Нет

Обычно я запускаю только базу данных MariaDB (более производительный форк чем mysql). PostgreSQL не использую для хостинга сайтов

Пароль MariaDB

Чтобы другие пользователи вашей системы не могли управлять базой данных MariaDB, необходимо установить пароль для пользователя root при входе в MariaDB. В настоящее время пароль MariaDB не установлен, что крайне небезопасно.

Установить пароль MariaDB (будет использоваться при входе в phpmyadmin)

Конфигурация DNS

Чтобы DNS-зоны, созданные Virtualmin, можно было разрешить, для записи первичного сервера имен для каждой зоны должно быть задано значение, которое само по себе может быть разрешено другими системами в Интернете.

Основной сервер имен
Пропустить проверку на разрешимость
Вторичные серверы имен (необязательно)

Мастер настройки завершил работу. Нажимаем «Return to Virtualmin» и осуществляем дальнейшие настройки самостоятельно.

Настройки Virtualmin

Русификация Webmin

Нажмите Webmin -> Change Language and Theme.

Выберете пункт Personal choice и укажите в нем русский язык выбрав его из выпадающего списка. Затем нажмите «Make Changes» и обновите страницу

Будет применена частичная русификация, так как переведется только часть с Webmin, а Virtualmin перевода не имеет.

Добавление сайта

Нажмите на кнопку «Create Virtual Server» в левой панели Virtualmin

Введите имя вашего домена и пароль для ftp доступа к папке сайта. Если вам не нужна почта для сайта на вашем сервере, то снимите галки «Принять почту для домена» и «Setup spam filtering»

Затем нажмите кнопку «Добавить $1» ($1 на кнопке не знаю для чего указан, ни на что не влияет)

Дождитесь применения настроек.

Удаление сайта

Нажмите на кнопку «Disable and Delete» в левой панели Virtualmin

Затем подтвердите удаление нажатием кнопки «Да, удалить» в центре появившегося окна.

Дождитесь завершения удаления и нажмите кнопку «Вернуться к списку виртуальных серверов»

Смена версии PHP

https://www.virtualmin.com/documentation/web/multiplephp/

Если у вас установлено несколько версий PHP, Virtualmin позволяет вам выбрать режим выполнения и версию PHP, используемую для данного домена. Доступные режимы выполнения: FPM (рекомендуется) и CGI/FCGId. Последний режим позволяет вам устанавливать разные версии PHP для каждого каталога.

То есть вам необходимо дополнительно установить необходимую версию PHP.

Для Ubuntu

Добавьте репозиторий от ondrej/php:

LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php && apt-get update

Установите необходимую версию PHP и дополнительные пакеты, вместо php7.4 укажите нужную версию:

apt-get install php7.4-{cgi,cli,fpm,pdo,gd,mbstring,mysqlnd,opcache,xml,zip}

Для Debian

Добавьте репозиторий от sury/php:

apt-get -y install apt-transport-https lsb-release ca-certificates curl && curl -sSL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/sury-debian-php-$(lsb_release -sc).list' && apt-get update

Установите необходимую версию PHP и дополнительные пакеты, вместо php7.4 укажите нужную версию:

apt-get install php7.4-{cgi,cli,fpm,pdo,gd,mbstring,mysqlnd,opcache,xml,zip}

Описание установки версий php для других ОС можете посмотреть тут https://www.virtualmin.com/documentation/web/multiplephp/

Настройка второй версии PHP в Virtualmin

Настройка второй версии PHP в Virtualmin

После того, как вы завершили установку второй версии PHP на свой сервер, вы можете убедиться, что Virtualmin видит ее, войдя в Virtualmin и нажав в левой панели «System Settings» → «Re-Check Configuration». Вы должны увидеть что-то вроде этого:

The following PHP versions are available : 7.4.33 (/bin/php-cgi7.4), 8.1.2 (/bin/php-cgi8.1)

The following PHP-FPM versions are available : 7.4.33 (php7.4-fpm) 8.1.2 (php8.1-fpm)

Вы можете настроить, какая из этих версий PHP будет использоваться по умолчанию на новых виртуальных серверах. По умолчанию используется самая новая из доступных. Вы можете изменить это значение по умолчанию в разделе «System Settings» → «Шаблоны сервера» → «Default Settings» → «PHP Options».

Настройка PHP для отдельных сайтов (виртуальных серверов)

Вы можете настроить версию PHP, используемую для определенного виртуального сервера, выбрав «Server Configuration» → «PHP Options».

Установка phpMyAdmin

Скачиваем архив с установочными файлами с официального сайта phpmyadmin.net

Распаковываем скачанный архив в папку /var/www/pma

Создаем /etc/nginx/sites-available/pma.conf для нового виртуального хоста nginx

Содержимое файла /etc/nginx/sites-available/pma.conf должно быть таким:

server {
    listen ip_servera:10050 ssl default_server;
    server_name _;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
    root /var/www/pma;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Вместо ip_servera укажите непосредственно внешний ip вашего VPS сервера.

Создаём самоподписные сертификаты в /etc/nginx/ssl/:

mkdir /etc/nginx/ssl && cd /etc/nginx/ssl && openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt

Проверяем конфигурации nginx на ошибки:

nginx -t

Если ошибок нет, то перезагружаем nginx:

systemctl reload nginx

Phpmyadmin должен быть доступен по адресу: https://ip_servera:10050/

Вместо ip_servera укажите непосредственно внешний ip вашего VPS сервера.

Обновление Virtualmin

Нажмите на кнопку «Панель» в левой панели Virtualmin, затем нажмите рядом с «Обновления пакетов»

Настройки безопасности Webmin и phpMyAdmin

Настройки безопасности для Webmin, phpMyAdmin и Nginx могут варьироваться в зависимости от требований конкретного проекта, но вот некоторые общие рекомендации:

  1. Webmin
  • Смените стандартный порт 10000 на свой собственный порт чтобы избежать автоматических атак
  • Не используйте учетную запись root для входа в Webmin, создайте отдельного пользователя с ограниченными правами;
  • Настройте фаервол таким образом, чтобы Webmin был доступен только с определенных IP-адресов;
  • Настройте двухфакторную аутентификацию для повышения безопасности.
  1. phpMyAdmin
  • Измените имя входа на что-то отличное от «admin» или «root»;
  • Установите сложный пароль для входа в phpMyAdmin;
  • Запретите доступ к phpMyAdmin извне, например, с помощью фаервола;
  • Используйте HTTPS для шифрования трафика между браузером и сервером;
  • Ограничьте доступ к phpMyAdmin только с определенных IP-адресов;
  • Обновляйте phpMyAdmin до последней версии и следите за обновлениями безопасности.

Эти рекомендации могут быть расширены в зависимости от конкретных требований безопасности вашего проекта.

Смена стандартного порта Webmin

Чтобы изменить порт Webmin через веб-интерфейс, выполните следующие шаги:

  1. Войдите в систему под учетной записью, имеющей права администратора, и откройте Webmin в вашем веб-браузере.
  2. В левой панели выберите раздел «Webmin» и затем выберите «Настройка Webmin».
  3. В меню «Настройка Webmin» выберите «Порт и адрес».
  4. Найдите опцию «Слушать на IP-адресах и портах» и выберите «Указанный port..» (если она не выбрана).
  5. Введите новый номер порта в поле «Указанный port..», например, «8080».
  6. Также измените порт на новый в поле «Слушать широковещательные запросы по UDP порту»
  7. Нажмите кнопку «Сохранить» для сохранения изменений.
  8. Перезапустите службу Webmin, чтобы применить изменения. Для этого выберите «Webmin» в левой панели, затем «Настройка Webmin» и нажмите «Перезапустить Webmin».

После выполнения этих шагов порт Webmin будет изменен на выбранный вами. Обратите внимание, что новый порт должен быть открыт в брандмауэре вашей системы и доступен извне, если вы хотите получить к Webmin удаленный доступ.

Смена пользователя root

Для смены пользователя root на нового в Webmin необходимо выполнить следующие шаги:

  1. Войдите в Webmin под учетной записью, имеющей права администратора.
  2. В левой панели выберите раздел «Webmin» и затем выберите «Пользователи Webmin».
  3. Найдите учетную запись «root» в списке пользователей и нажмите на ее имя.
  4. В настройках учетной записи «root» выберите пункт «Копировать».
  5. Введите новое имя пользователя в поле «Имя пользователя».
  6. Установите новый пароль для нового пользователя в поле «Пароль».
  7. Установите необходимые разрешения для нового пользователя, выбрав соответствующие опции в списке «Доступные модули Webmin».
  8. Нажмите кнопку «Создать» для создания новой учетной записи.
  9. Выходите из Webmin и заново входите под учетной записью нового пользователя, чтобы убедиться, что все работает корректно.
  10. Вернитесь в раздел «Пользователи Webmin» из п.2 и удалите пользователя «root».

После выполнения этих шагов вы сможете использовать новую учетную запись вместо учетной записи «root» для доступа к Webmin. Обратите внимание, что новый пользователь должен иметь достаточные права для управления вашей системой.

Установка Fail2Ban в Webmin

Для установки fail2ban вы можете воспользоваться интерфейсом webmin перейдя во вкладку Система → Менеджер ПО, затем ввести Fail2Ban в поле Пакеты из APT и нажать кнопку Устновить.

Webmin имеет веб-интерфейс для Fail2Ban. Найти панель управления Fail2Ban можно в Неиспользуемые модули → Fail2Ban Intrusion Detector.

Сразу же после установким вы можете запустить Fail2Ban в указанной панели и настроить ему запуск при старте системы

Также для установки Fail2Ban вы можеет воспользоваться командой:

apt-get install fail2ban

Для запуска службы Fail2Ban вводим следующие команды (для справки, т.к. Fail2Ban должен запуститься автоматически):

systemctl enable fail2ban
systemctl start fail2ban

Для проверки работоспособности службы Fail2Ban:

systemctl status fail2ban

Также вы можете скопировать готовые настройки Fail2Ban в файл /etc/fail2ban/jail.local:

nano /etc/fail2ban/jail.local

Удалите все старые строки из файла и скопируйте в него это содержимое:

[sshd]

enabled = true
port    = ssh
maxretry = 3
findtime = 10800
bantime = 86400
action = ufw

[ssh-ddos]

enabled = true
port    = ssh,sftp
filter  = sshd-ddos
maxretry = 3
findtime = 10800
bantime = 86400
action = ufw

[webmin-auth]

enabled = true
port    = 10000
maxretry = 3
findtime = 10800
bantime = 86400
action = ufw

[proftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
maxretry = 3
findtime = 10800
bantime = 86400
action = ufw

[postfix]

enabled  = true
port     = smtp,465,submission
logpath  = /var/log/mail.log
maxretry = 5
findtime = 10800
bantime = 86400
action = ufw

[dovecot]

enabled = true
port    = pop3,pop3s,imap,imaps,submission,465,sieve
logpath  = /var/log/mail.log
maxretry = 5
findtime = 10800
bantime = 86400
action = ufw

[postfix-sasl]

enabled  = true
port     = smtp,465,submission,imap3,imaps,pop3,pop3s
logpath  = /var/log/mail.log
maxretry = 5
findtime = 10800
bantime = 86400
action = ufw

Эта конфигурация защищает SSH-сервер, FTP-сервер и почтовый сервер от атак со стороны ботов. Если мы возьмем в качестве примера первый раздел (sshd), дополнительные строки, сообщают Fail2Ban, что нужно искать неудачные попытки входа в систему за последние 3 часа, и если кто-то превысит 3 неудачных попытки входа, то заблокирует IP злоумышленника на 24 часа с помощью UFW.

Вы можете поиграть с этими настройками самостоятельно и настроить Fail2Ban так, как вам нужно. А когда вы закончите настройку джейлов, активируйте их, перезапустив Fail2Ban.

service fail2ban restart

Настройка фаервола в Webmin. Отключение FirewallD и установка UFW

Вы можете сделать доступными панели Virtualmin, Webmin и Phpmyadmin только с определенных IP адресов или из определенных подстетей при помощи правил фаервола ufw (в моем случае из подстети Wireguard VPN)

Virtualmin по умолчанию использует фаервол FirewallD nftables и крайне не рекомендуется использовать фаерволы iptables и ufw совместно с virtualmin при включенном FirewallD. Использование сразу 2-х файрволлов, может привести к конфликтам и блокировке вашего сервера.

Самым простым и эффективным способом настройки фаервола я считаю отключение FirewallD и установку UFW. На мой взгляд UFW гораздо легче управлять чем FirewallD.

Останавливаем FirewallD:

service firewalld stop

FirewallD настроен на запуск при загрузке системы. Это будет конфликтовать с UFW. Итак, давайте отключим FirewallD при загрузке.

systemctl disable firewalld

Устанавливаем UFW:

apt install ufw

UFW — это программа с простым набором команд. Начать работу с UFW действительно проще, чем с iptables. После установки UFW по умолчанию выключен, и прежде чем включить его, сначала мы должны добавить правила брандмауэра или, по крайней мере, разрешить соединения через порт SSH, прежде чем включать UFW. В противном случае мы заблокируем доступ к нашему же VPS.

Давайте разрешим несколько программ, которые мы собираемся использовать. Следующие команды откроют порты 22, 80, 443, 10000 и 10050 в брандмауэре.

Закомментированные команды могут понадобиться опциаонально в зависимости от использованных вами сервисов (копия стандартных правил FirewallD)

#Основные правила
ufw allow ssh
ufw allow 'Nginx Full'
ufw allow webmin
#phpmyadmin port
ufw allow 10050/tcp

#Другие стандартные порты и сервисы webmin
#ufw allow dhcpv6-client
#ufw allow dns
#ufw allow dns-over-tls
#ufw allow ftp
#ufw allow imap
#ufw allow imaps
#ufw allow mdns
#ufw allow pop3
#ufw allow pop3s
#ufw allow smtp
#ufw allow smtp-submission
#ufw allow smtps
#ufw allow 2222/tcp
#ufw allow 20000/tcp
#ufw allow 49152:65535/tcp

Более подробную документацию по UFW смотрим тут https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-20-04-ru

Доступ по IP

Для доступа в интерфейс Virtualmin/Webmin только с определенных IP используйте следущее правило:

ufw allow from vash_ip to any port 10000
ufw allow from vash_ip to any port 10050

Также не забудьте удалить ранее созданное правило разрешающее доступ к порту 10000 и 10050:

ufw delete allow webmin
ufw delete allow 10050/tcp

Доступ из сети Wireguard VPN

Для доступа в интерфейс Virtualmin/Webmin только из локальной сети WireGuard используйте следущее правило:

ufw allow from 10.2.0.0/24 to any port 10000
ufw allow from 10.2.0.0/24 to any port 10050

Также не забудьте удалить ранее созданное правило разрешающее доступ к порту 10000 и 10050:

ufw delete allow webmin
ufw delete allow 10050/tcp

Wireguard рекомендую устанавливать из статьи по DWG и использовать сборку DWG-CLI

Оцените статью
Кибер Лис
Добавить комментарий

  1. kiberlis автор

    Сам я использую панель управления сайтами FastPanel https://openode.ru/topic/350-fastpanel-neveroyatno-bystraya-i-nadezhnaya-panel-upravleniya-saytami-rekomenduem/

    VIrtualmin конечно очень хорош и функционален, но отнимает уйму в времени в освоении LEMP и LAMP, потому перешел на FastPanel которая чрезвычайно быстра и стабильна

    Ответить