Установка и защита Webmin на веб-сервере Centos 7

Администрирование серверов Linux может быть очень скучным, набирая команды в терминале. Но наличие инструментов, которые автоматизируют длинные команды и добавят немного графики. Всегда хорошо, а также это может произвести впечатление на вашего босса.

Так же рекомендую к прочтению хороший туториал Как установить Webmin на Ubuntu 20.04

Установка защита Webmin Centos

Такие инструменты, как Webmin и PhpMyAdmin, всегда хорошо иметь под рукой. Однако они приносят с собой проблемы безопасности из-за  различных уязвимостей. Ну например порты и пути указанные при установки. Это первое что будут сканировать злоумышленники.

В этом уроке я покажу как установить Webmin на сервер Centos 7. И в место того, чтобы открыть стандартный порт 10000 для доступа к нему из внешнего мира.Буду получать доступ к нему через SSH-туннель с нашей машины windows, не открывая никаких дополнительных портов .

Эта статья для Centos 7, работающем на сервере VPS. Однако описанные методы могут быть использованы практически на любом сервере Linux. Так же в этом руководстве предполагается, что у вас есть корневой доступ к серверу. Это очень важно!

Установка Webmin:

Мы начинаем с добавления репозитория Webmin в yum, которое не входит в стандартную комплектацию.

#sudo vim /etc/yum.repos.d/webmin.repo

Вставьте следующее:

[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1

Установите ключ GPG

#rpm импорт http://www.webmin.com/jcameron-key.asc

Далее нам потребуется обновить репозитории

#yum check-update

Устанавливаем Webmin

#yum install webmin

Resolving Dependencies > Running transaction check > Package webmin.noarch 0:1.831-1 will be installed > Processing Dependency: perl(Net::SSLeay) for package: webmin-1.831-1.noarch > Running transaction check > Package perl-Net-SSLeay.x86_64 0:1.55-4.el7 will be installed > Finished Dependency Resolution Dependencies Resolved ========================================================== ========================================================== webmin noarch 1.831-1 Webmin 27 M Installing for dependencies: perl-Net-SSLeay x86_64 1.55-4.el7 base 285 k Transaction Summary ========================================================= Total download size: 27 M Installed size: 76 M Is this ok [y/d/N]: y Downloading packages: (1/2): perl-Net-SSLeay-1.55-4.el7.x86_64.rpm | 285 kB 00:00:00 (2/2): webmin-1.831-1.noarch.rpm | 27 MB 00:00:21 Total 1.2 MB/s | 27 MB 00:00:21 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-Net-SSLeay-1.55-4.el7.x86_64 1/2 Operating system is CentOS Linux Installing : webmin-1.831-1.noarch 2/2 Webmin install complete. You can now login to https://yourserver.com:10000/ as root with your root password. Verifying : webmin-1.831-1.noarch 1/2 Verifying : perl-Net-SSLeay-1.55-4.el7.x86_64 2/2 Installed: webmin.noarch 0:1.831-1 Dependency Installed: perl-Net-SSLeay.x86_64 0:1.55-4.el7

Complete!

Запуск Webmin:

Далее включим Webmin запустив сервис:

Примечание: поскольку webmin не считается родным сервисом, мы используем chkconfig webmin on вместо обычного systemctl enable webmin чтобы включить webmin при запускеМы также запускаем сервис с помощью /etc/init.d/webmin start хотя можно и так.. systemctl start webmin

#chkconfig webmin on #/etc/init.d/webmin start

Теперь Webmin работает и запускается автоматически при следующей загрузке сервера.  Теперь нам нужно сделать его доступным для внешнего мира.

Примечание: Если вы не хотите, чтобы webmin запускался автоматически при каждой загрузке, не выполняйте команду chkconfig webmin on. Чтобы запустить и остановить службу вручную, вы можете запустить “/etc/init.d/webmin start” и “/etc/init.d/webmin stop” 

Доступ к Webmin напрямую из внешнего мира (не рекомендуется):

Если вы хотите получить доступ к Webmin из любого браузера подключенного, то все что вам нужно сделать: это открыть порт 10000 для внешнего мира

#firewall-cmd zone=external add-port=10000/tcp permanent

С последующим

#systemctl restart firewalld

Как я уже писал ранее, это не безопасно и не  рекомендуется!!! Имейте в виду, что порт 10000 является одним из первых портов, которые будут сканироваться во время сканирования порта. Злоумышленники найдя открытый порт 10000 будут на один шаг ближе к взлому вашего сервера . Используйте другой порт, отличный от стандартного 10000. Убедитесь, что вы используете надежные пароли и ограничьте доступ к наименьшему числу пользователей ( конечно же, не root). Кроме того, убедитесь, что вы всегда используете https-соединения, особенно если вам нужно получить доступ к серверу из общественного места с помощью неизвестного сервиса Wi-Fi.

Безопасный доступ к webmin (правильный способ):

Рекомендуемый способ безопасного доступа к webmin (или любой другой службе на вашем сервере) заключается в том, чтоб оставить порт 10000 закрытым.  Будем поучать доступ  к webmin через ssh. Это гораздо безопаснее.

Вот как это делается :

  • Вам надо скачать putty-a free ssh и telnet client для windows.
  • Устанавливаем и запускаем.
  • В поле Имя хоста (или IP address) введите имя хоста или ip-адрес вашего сервера
  • В поле Порт введите SSH port, который используется для подключения к серверу
  • Тип подключения: SSH
  • В Saved Sessions введите имя, чтобы сохранить настройки, которые вы делаете, я использую имя хоста.
  • Далее, в разделе категория, нажмите на знак + рядом с SSH, в разделе соединение и выберите  туннели
  • В исходном порту проставляется 10000
  • В пункт назначения положить 127.0.0.1: 10000

Установка защита Webmin Centos server
  • Нажмите кнопку Add, и вы увидите строку L10000 127.0.0.1: 10000, добавленную в разделе перенаправленные порты

Установка защита Webmin Centos server
  • Используйте прокрутку, чтобы прокрутить назад, и нажмите на Session еще раз, а затем нажмите кнопку  “SAVE”. Вы должны увидеть свои сохраненные настройки в Saved Sessions

Установка защита Webmin Centos server

Проверим наше соединение. Нажимаем кнопку “Open” , если имя хоста и порт верны, вы должны быть встречены на заднем экране с подсказкой ” войти как::

Введите свое имя пользователя и нажмите кнопку “enter

Вам будет предложено ввести пароль. Введите его, снова нажмите ” enter , и если все идет хорошо, вы увидите $ или # prompt вашего сервера. Уже почти готово!!!

Запустите ваш любимый браузер перейдите на https://127.0.0.1:10000, ошибку конфиденциальности надо игнорировать. Вы увидите экран входа webmin

Установка защита Webmin Centos server

Примечание: Если вы хотите получить доступ к webmin через http, и избежать предупреждений безопасности. Требуется изменить /etc/webmin/miniserv.conf на сервере. Измените строку ssl=1 на ssl=0. Это не будет иметь никакого влияния на безопасность, так как м получаем безопасный доступ к нашему серверу через ssh-туннель.

Заключение:

Если есть другие установленные сервисы, которые обычно требуют, открытия новые портов. Добавьте правила пересылки в putty под ssh->tunnels и сохраните свой сеанс. При использовании этого метода вы открываете только 3 порта. Это порты 80, 433 для http и https-трафика и еще один порт для ssh-соединений. Рекомендую порт ssh открыть не 22 а какой нибудь рандомный.

Доступ к Webmin мы получаем до тех пор пока работает putty ssh. После выхода из системы службы станут недоступными. В следующий раз, когда вам нужно будет получить доступ к услугам через ssh-tunnel, просто запустите putty, выберите “Saved Session”, нажмите кнопку “ Load”, а затем кнопку “ Open”, введите имя пользователя и пароль.

Ну вот в принципе и все, если есть вопросы или вы нашли неточности в статье, оставьте комментарий.

Оцените статью
Установка и настройка популярных программ на Windows, Linux и другие операционные системы