Муниципальное образовательное учреждение дополнительного Методический центр «Раменский дом учителя»



  • Как научиться
  • Уроки начинающим
  • _empty_
  • Новости
  • Статьи

    Как обезопасить веб-сервер Apache с помощью ModEvasive в Ubuntu 16.04

    1. необходимое условие
    2. Шаг 1: Обновите ваш системный пакет информации Index
    3. Шаг 2. Настройка веб-сервера Apache
    4. Шаг 3: Установка ModEvasive
    5. Шаг 4: Проверка статуса ModEvasive
    6. Шаг 4: Настройка ModEvasive
    7. Шаг 5: Создание каталога журналов ModEvasive
    8. Шаг 6: Тестирование ModEvasive
    9. Заключение

    В этом руководстве мы покажем вам, как защитить ваш веб-сервер 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 и атак методом перебора.

    необходимое условие

    1. Действительная учетная запись Alibaba Cloud ( подписаться на бесплатную пробную версию )
    2. Экземпляр ECS под управлением операционной системы Ubuntu 16.04
    3. Пользователь без полномочий 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

    Новости