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

СЕТИВИК-Установка-защита-Webmin-Centos
Установка защита Webmin Centos

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

Такие инструменты, как 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
Установка защита Webmin Centos server
  • Нажмите кнопку Add, и вы увидите строку L10000 127.0.0.1: 10000, добавленную в разделе перенаправленные порты
Установка защита Webmin Centos server
Установка защита Webmin Centos server

 

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

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

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

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

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

Установка защита Webmin Centos server
Установка защита 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”, введите имя пользователя и пароль.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *