В этой статье я расскажу про два очень полезных плагина для панели управления хостингом WHM/cPanel. Они повышают уровень безопасности не только cPanel, но и самого хостингового сервера. В конце статьи я приведу пару примеров, как можно отбиться от небольшой DDoS-атаки с использованием плагина CSF.

 

Что такое cPanel

Тебе наверняка уже попадались хостинги с cPanel, но на всякий случай расскажу, зачем нужна эта штука. Она ставится поверх CentOS и позволяет настроить сервер для работы хостинга. cPanel установит и настроит там Apache, MySQL, Exim, FTP и другое ПО. После завершения установки сервер полностью готов предоставлять хостинг.

Используя удобную панель управления, можно создавать аккаунты пользователей и размещать сайты. WHM/cPanel свободно продается, и любой желающий может оформить ежемесячную подписку. Например, ты взял в аренду VPS/VDS с установленным CentOS и этот VPS пустой, есть только ОС. Так вот WHM/cPanel помогает запустить сервер для размещения твоего сайта или нескольких.

Сама по себе панель WHM/cPanel — достаточно мощный и гибкий инструмент для администрирования хостингового сервера, к тому же набор функций может быть расширен плагинами сторонних разработчиков. После установки cPanel я всегда ставлю два плагина — ConfigServer Security & Firewall (CSF) и ConfigServer eXploit Scanner (CXS).

CSF бесплатен и повышает уровень безопасности сервера, позволяет работать с файрволом iptables через графический веб-интерфейс, блокировать подозрительные IP-адреса, ограничивать доступ к портам сервера и анализировать сетевую активность.

CXS помогает бороться с эксплоитами и прочей гадостью, которая может быть загружена на сервер через SSH, FTP или через веб-приложение. Оба этих плагина разрабатывает компания Way to the Web из Великобритании.

Лучше всего сначала поставить и настроить CSF, а потом — CXS. Первый настроить недолго, и он сразу будет готов защищать сервер от сетевых атак.

 

ConfigServer Security & Firewall (CSF)

Приступим к установке CSF. Она легка и делается на раз-два. В консоли от имени root нужно выполнить последовательность команд:

$ wget https://download.configserver.com/csf.tgz
$ tar -xzf csf.tgz
$ cd csf
$ sh install.sh

Скрипт все сделает сам и, что очень важно, добавит твой IP-адрес, с которого ты подключен к серверу, в белый список. После установки CSF еще не активен, перед его включением нужно настроить ключевые параметры, а потом можно и запускать. Для настройки переходи в панель WHM, а там — в раздел Home → Plugins → ConfigServer Security & Firewall.


В новых версиях CSF можно увидеть очень упрощенный интерфейс, который позволяет работать только с IP-адресом. Конечно, он удобен, когда все настроено, но пока что он нам не нужен. Для перехода к классическому интерфейсу нужно нажать на кнопку Desktop View.


В классическом интерфейсе прокручиваем страницу и находим раздел CSF — ConfigServer Firewall. Там нам нужны будут две кнопки: Firewall Configuration и Firewall Profiles.


Сначала жмем на кнопку Firewall Profiles и выберем профиль работы CSF, вместе с которым будут загружены настройки. Для тех, кто незнаком с этим плагином, я рекомендую выбирать профиль disable_alerts, так как CSF шлет о каждом событии письмо и твой почтовый ящик рискует быть переполненным.

Когда поднастроишь CSF получше, можно будет выбирать другой профиль или обойтись без него вовсе и просто задать все нужные параметры. Ну а пока выбираем disable_alerts и жмем кнопку Apply Profile. Появится страница, где будет предложено перезагрузить CSF или вернуться назад. Настройки записаны в файл, но они еще не применены, требуется перезапуск CSF. Пока что отложим его и нажмем Return, после чего попадем на главную страницу плагина.

Теперь приступим к самой настройке. Нажимаем на кнопку Firewall Configuration и оказываемся перед огромной панелью с кучей кнопок. Но не беда, ничего особенно сложного тут нет. По самому важному мы сейчас пройдемся, да и почти каждый параметр имеет небольшое описание, которого хватит, чтобы понять, что к чему.

Первый параметр, который нас встречает, — это TESTING. Это что-то вроде предохранителя: если ты вдруг задашь такие настройки, что не сможешь попасть на свой сервер, то при включенном TESTING через пять минут все блокировки автоматически снимутся. Если ты используешь выделенный IP или VPN, то тебе это не нужно, достаточно добавить свой IP в белый список — тогда тебя не заблокирует ни при каких условиях. Если же твой IP меняется при каждом реконнекте, то включение TESTING при первом знакомстве с CSF обязательно.

Теперь долистай настройки до раздела IPv4 Port Settings. Здесь нужно будет выставить значение 20:65535 для параметров TCP_OUT и UDP_OUT. Оба они задают номера исходящих портов, с которых программам, работающим на сервере, разрешено устанавливать внешние соединения.

Что удивительно, при первом знакомстве многие не обращают внимания на эти параметры и при включении CSF оставляют их по дефолту. В результате на сервере перестают работать почта, сайт и сама cPanel — просто из-за того, что не могут установить внешний коннект с браузером пользователя. При этом если у тебя выделенный IP, то у тебя-то все будет работать, а вот у остальных — нет.

Следующие параметры, на которые стоит обратить внимание, — это DENY_IP_LIMIT и DENY_TEMP_IP_LIMIT. Они указывают, сколько IP-адресов может быть заблокировано твоим iptables. Если переоценить возможности своего сервера, то может получиться так, что все тормозит из-за iptables. Рекомендую начинать с небольших чисел и наблюдать, сколько IP попадает в блокировку. Прибавляй по 128–256 адресов и наблюдай за нагрузкой сервера. При использовании VPS рекомендую установить следующие значения:

DENY_IP_LIMIT = 512
DENY_TEMP_IP_LIMIT = 64

Если у тебя выделенный сервер, то можно поставить побольше:

DENY_IP_LIMIT = 4096
DENY_TEMP_IP_LIMIT = 512

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии