- необходимое условие
- Шаг 1: Обновите ваш системный пакет информации Index
- Шаг 2. Настройка веб-сервера Apache
- Шаг 3: Установка ModEvasive
- Шаг 4: Проверка статуса ModEvasive
- Шаг 4: Настройка ModEvasive
- Шаг 5: Создание каталога журналов ModEvasive
- Шаг 6: Тестирование ModEvasive
- Заключение
В этом руководстве мы покажем вам, как защитить ваш веб-сервер Apache, размещенный в Alibaba Cloud, от DDoS и атак методом перебора.
Фрэнсис Ндунгу, Alibaba Cloud Tech Поделиться Автор. Tech Share это поощрительная программа Alibaba Cloud, направленная на обмен техническими знаниями и передовым опытом в облачном сообществе.
Apache является краеугольным камнем современных веб-серверов и является мощным программным решением для значительной части современной интернет-экономики.
Согласно исследованию, опубликованному w3techs в июле 2018 года, доля рынка Apache составляет около 45,9%. При этом веб-сервер Apache предназначен для большинства хакеров. Программное обеспечение готово к работе, но вы все еще можете усилить его с помощью некоторых дополнительных модулей.
Одним из наиболее распространенных способов защиты вашего веб-сервера Apache, размещенного в Alibaba Cloud, является установка ModEvasive. Это высокоинтеллектуальный модуль Apache, который обеспечивает уклончивые действия против атак распределенного отказа в обслуживании и грубой силы.
Если DDoS-атака нацелена на ваш веб-сервер, она может быть очень стрессовой. Атака просто перегружает ваш сервер большим количеством трафика из разных источников. Во время сеанса DDoS обычные пользователи не могут получить доступ к вашему веб-сайту или веб-приложению, что может привести к потере продаж или даже к полной остановке вашего бизнеса.
Атака грубой силы, с другой стороны, является автоматическим методом взлома, который пытается получить доступ к ресурсам на вашем веб-сервере. При атаке используются миллионы имен пользователей и паролей, чтобы угадать учетные данные защищенного веб-ресурса для получения секретной информации.
В этом руководстве мы покажем вам, как защитить ваш веб-сервер Apache, размещенный в Alibaba Cloud. Elastic Compute Service (ECS) против DDoS и атак методом перебора.
необходимое условие
- Действительная учетная запись Alibaba Cloud ( подписаться на бесплатную пробную версию )
- Экземпляр ECS под управлением операционной системы Ubuntu 16.04
- Пользователь без полномочий root, способный выполнять привилегии sudo
Шаг 1: Обновите ваш системный пакет информации Index
Первый шаг - войти в свой экземпляр Alibaba ECS с помощью инструмента командной строки, такого как PuTTY или Linux / macOS, встроенного в клиент командной строки.
Затем выполните команду ниже, чтобы обновить информацию о пакете в вашей системе:
$ sudo apt-get update
Шаг 2. Настройка веб-сервера Apache
Следующим шагом является установка веб-сервера Apache. Вы можете пропустить эту команду, если вы уже установили программное обеспечение в вашей системе.
$ sudo apt-get установить apache2
Нажмите Y и нажмите Enter, когда будет предложено подтвердить установку.
Вы всегда можете проверить, работает ли Apache, введя публичный IP-адрес вашего сервера в веб-браузере.
Http: // ip_address
Вы должны увидеть веб-страницу по умолчанию ниже, если вы не загрузили файлы вашего веб-сайта на сервер:
Шаг 3: Установка ModEvasive
ModEvasive доступен в программном хранилище Ubuntu. Поэтому мы можем установить его с помощью утилиты apt-get. Это стандартная программа командной строки для управления пакетами, которая выполняет установку, удаление и обновление нового программного обеспечения в Ubuntu.
Запустите команду ниже, чтобы установить ModEvasive
$ sudo apt-get установить libapache2-modsecurity
Шаг 4: Проверка статуса ModEvasive
Вы можете проверить состояние ModEvasive, выполнив команду ниже:
$ sudo apachectl -M | grep evasive
Вы должны увидеть вывод ниже, если модуль включен на сервере:
evasive20_module (общий доступ)
Шаг 4: Настройка ModEvasive
В системе Linux файлы конфигурации в основном находятся в каталоге / etc, и это не исключение для ModEvasive. Его файл конфигурации находится по адресу /etc/apache2/mods-enabled/evasive.conf.
Используйте текстовый редактор nano, чтобы открыть файл. Нам нужно сделать несколько изменений:
$ sudo nano /etc/apache2/mods-enabled/evasive.conf
По умолчанию записи этого файла комментируются знаком фунта. Нам нужно раскомментировать все эти строки, удалив знак « # ». Затем введите адрес электронной почты, на который вы хотите получать электронные письма, когда ModEvasive перехватывает атаку, направленную на ваш веб-сервер.
Вы введете адрес электронной почты рядом с директивой DOSEmailNotify (например, [email protected]):
В конце ваш полный файл должен быть следующим:
<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] #DOSSystemCommand "su - someuser -c '/ sir / ss" / sbin /% "...% / log / mod_evasive "</ IfModule>
Нажмите CTRL + X , Y и Enter, чтобы сохранить файл.
Мы рассмотрим каждую из перечисленных выше записей одну за другой, чтобы вы поняли, как работают настройки ModEvasive:
DOSHashTableSize
Здесь значение указывает размер таблицы, которая отслеживает действия пользователей на основе их предыдущих посещений IP-адресов. Значение по умолчанию будет хорошо работать для большинства сайтов.
Вы должны увеличивать это значение только для ускорения поиска, только если ваш сайт занят, потому что большое значение может отрицательно повлиять на память вашего сервера.
DOSPageCount
Эта директива задает подлинные запросы, которые посетитель может сделать к конкретному ресурсу в течение заданного количества времени, указанного в директиве DOSPageInterval, до запуска ModEvasive. Если порог превышен, IP-адрес посетителя блокируется и добавляется в черный список.
DOSSiteCount
Эта директива аналогична DOSPageCount, но определяет количество законных запросов, которые могут быть сделаны ко всему веб-сайту за период времени, указанный в директиве DOSSiteInterval .
DOSPageInterval
Как указано выше, это значение работает рука об руку с DOSPageCount . Значение по умолчанию равно 1 секунде, и это означает, что пороговое значение количества страниц, указанное с помощью DOSPageCount, не должно превышаться в течение 1 секунды, или как указано в противном случае, это приведет к попаданию IP-адреса клиента в черный список.
DOSSiteInterval
Этот интервал работает вместе с DOSSiteCount . По умолчанию он равен 1 секунде, и если пороговое значение DOSSiteCount будет достигнуто в течение этого времени, ModEvasive вызовет блокировку IP.
DOSBlockingPeriod
Это значение представляет количество времени в секундах, в течение которого клиент остается заблокированным после добавления в черный список.
Значение по умолчанию составляет 10 секунд. В течение этого времени клиент получит запрещенное сообщение об ошибке при попытке доступа к любому ресурсу на сервере.
DOSEmailNotify
Вы можете указать адрес, который будет получать сообщение каждый раз, когда IP-адрес заблокирован.
DOSSystemCommand
Помимо отправки электронного письма, вы можете вызывать системную команду каждый раз, когда IP-адрес блокируется. Переменная % s содержит IP-адрес, заблокированный во время перехвата.
Например, вы можете запустить команду для добавления правила брандмауэра, которое блокирует определенный IP-адрес, чтобы избежать дальнейшей атаки на ваш веб-сервер.
DOSLogDir
Этот каталог регистрирует любые перехваты, сделанные ModEvasive. Вы можете использовать другой каталог в зависимости от ваших потребностей.
Шаг 5: Создание каталога журналов ModEvasive
По умолчанию каталог журнала, указанный в файле конфигурации, не создается при установке ModEvasive. Нам нужно создать эту папку с помощью команды Linux mkdir :
$ sudo mkdir / var / log / mod_evasive
Затем, поскольку Apache работает от имени пользователя www-data , мы должны передать полное владение каталогом веб-серверу с помощью команды chown :
$ sudo chown -R www-data: www-data / var / log / mod_evasive
Теперь вы можете перезапустить Apache, чтобы изменения вступили в силу.
$ sudo systemctl перезапустить apache2
Шаг 6: Тестирование ModEvasive
ModEvasive упрощает задачу, поскольку поставляется со встроенным скриптом Perl, который вы можете запустить на своем экземпляре Alibaba Ubuntu 16.04 ECS, чтобы проверить, работает ли модуль.
Сценарий находится по пути /usr/share/doc/libapache2-mod-evasive/examples/test.pl.
По какой-то причине, если вы запустите скрипт без внесения в него изменений, вы получите ошибку неверного запроса. Чтобы исправить проблему, нам нужно отредактировать файл скрипта Perl с помощью нано-редактора;
$ sudo nano /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Найдите строку:
print $ SOCKET "GET /? $ _ HTTP / 1.0 \ n \ n";
И измените его на:
print $ SOCKET "GET /? $ _ HTTP / 1.0 \ r \ nHost: 127.0.0.1 \ r \ n \ r \ n";
Нажмите CTRL + X , Y и Enter, чтобы сохранить файл.
Теперь мы можем запустить скрипт Perl, набрав команду ниже:
$ sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Если ModEvasive работает, вы должны увидеть следующий вывод:
... HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 200 OK HTTP / 1.1 403 Запрещенный HTTP / 1.1 403 Запрещенный HTTP / 1.1 403 Запрещенный HTTP / 1.1 403 Запрещенный ..
Это означает, что ModEvasive позволил нам получить доступ к серверу 10 раз, прежде чем заблокировать наш IP-адрес (127.0.0.1).
Вы можете запустить приведенную ниже команду, чтобы увидеть, удалось ли ModEvasive записать вторжение в каталог журналов:
$ sudo ls -a / var / log / mod_evasive
Вы должны увидеть результат ниже:
, .. dos-127.0.0.1
Также вы можете проверить содержимое файла журнала ошибок Apache, чтобы подтвердить то же самое:
$ sudo tail /var/log/apache2/error.log
Вы получите вывод, как показано ниже:
... [evasive20: ошибка] [pid 31967] [клиент 127.0.0.1:43954] клиент отклонен из-за конфигурации сервера: / var / www / html /. ...
Это означает, что ModEvasive работает как положено.
Заключение
В этом руководстве мы рассмотрели основные этапы защиты вашего веб-сервера Apache от DDoS-атак и перебора. Это обеспечит безопасность вашего веб-сайта и гарантирует, что ваш веб-сервер Alibaba Cloud не будет скомпрометирован злоумышленниками, которые могут захотеть заблокировать доступ или украсть информацию с вашего веб-сайта или приложений. Мы уверены, что вы внедрили это руководство и добавили еще один мощный уровень безопасности на свой сервер.
Чтобы узнать больше о том, как вы можете защитить свой сервер от DDoS-атак, посетите www.alibabacloud.com/product/anti-ddos