Защита сервера Linux для Lineage II


Описание

Давайте поработаем над этим учебным пособием с защитой Web, ограничивающей атаки, такие как slowloris и другие критические недостатки!

Мы будем использовать в этом учебнике некоторые из лучших дистрибутивов Linux (CentOS 7 Minimal)

Wiki: https://wiki.centos.org/

FTP Download: http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso

Я полагаю, что у вас уже установлен HTTPD на VPS / Dedicated, чья команда для установки и "yum install httpd"

Установка ModSecurity и mod_evasive
Сначала вам нужно будет установить репозиторий EPEL yum на сервере. Выполните следующую команду для установки и включения репозитория EPEL:

sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Теперь вы можете установить mod_security и mod_evasive, выполнив следующую команду:

sudo yum --enablerepo = epel install mod_security mod_evasive
После установки этих модулей вы можете проверить их, выполнив следующие команды:

sudo httpd -M | grep evasive
Если mod_evasive включен, вы увидите следующий вывод:

evasive20_module (общий)
Чтобы протестировать модуль mod_security, запустите:

sudo httpd -M | безопасность grep
Если mod_security включен, вы увидите следующий вывод:

security2_module (общий)
Настройка ModSecurity
Теперь, когда установка завершена и проверена, вам необходимо установить набор основных правил (CRS), чтобы использовать mod_security. CRS предоставляет веб-сервер с набором правил о том, как вести себя при определенных условиях. Вы можете загрузить и установить последнюю версию OWASP CRS, выполнив следующие команды:

sudo mkdir / etc / httpd / crs
sudo cd / etc / httpd / crs
sudo wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
sudo tar -xvf master
sudo mv SpiderLabs-owasp-modsecurity-crs- * owasp-modsecurity-crs
Теперь перейдите в установленный каталог OWASP CRS:

sudo cd / etc / httpd / crs / owasp-modsecurity-crs /
В каталоге OWASP CRS вы найдете пример файла с правилами modsecurity_crs_10_setup.conf.example. Вам необходимо скопировать его содержимое в новый файл с именем modsecurity_crs_10_setup.conf.

sudo cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf
Теперь вам нужно сказать Apache, чтобы использовать этот файл вместе с модулем. Вы можете сделать это, отредактировав главный файл конфигурации Apache:

sudo nano /etc/httpd/conf/httpd.conf
Добавьте следующие строки в конец файла:

<IfModule security2_module>
    Включить /etc/httpd/crs/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf
    Включить /etc/httpd/crs/owasp-modsecurity-crs/base_rules/*.conf
</ IfModule>
Сохраните и закройте файл и перезапустите Apache, чтобы отразить изменения.

Перезагрузка sudo apachectl
Наконец, рекомендуется создать собственный файл конфигурации в каталоге modsecurity.d. Вы можете сделать это, создав файл с именем mod_security.conf.

sudo nano /etc/httpd/modsecurity.d/mod_security.conf
Добавьте следующие строки:

<IfModule mod_security2.c>
    SecRuleEngine On
    SecRequestBodyAccess On
    SecResponseBodyAccess On
    SecResponseBodyMimeType text / plain text / html text / xml application / octet-stream
    SecDataDir / tmp
</ IfModule>
Сохраните и закройте файл и перезапустите Apache, чтобы отразить изменения.

Перезагрузка sudo apachectl
Настроить mod_evasive
Модуль mod_evasive считывает свою конфигурацию из /etc/httpd/conf.d/mod_evasive.conf, которую можно легко настроить. Вам не нужно создавать отдельный файл конфигурации, потому что во время обновления системы нет правил для обновления.

Файл mod_evasive.conf по умолчанию имеет следующие директивы:

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
</ IfModule>
Вы можете изменить эти значения в соответствии с количеством и типом трафика, который должен обрабатывать ваш веб-сервер.

DOSHashTableSize: эта директива определяет, как mod_evasive отслеживает, кто к чему обращается. Увеличение этого числа обеспечит более быстрый поиск сайтов, которые посетил клиент в прошлом.

DOSPageCount: эта директива определяет количество идентичных запросов к определенному URI, которое посетитель может выполнить через интервал DOSPageInterval.

DOSSiteCount: это похоже на DOSPageCount, но соответствует количеству запросов, которые посетитель может сделать на вашем сайте через интервал DOSSiteInterval.

DOSBlockingPeriod: если посетитель превышает пределы, установленные DOSSPageCount или DOSSiteCount, их IP-адрес будет заблокирован во время DOSBlockingPeriod. В течение этого интервала они получат 403 (Запрещенную) ошибку.

Одним из наиболее важных параметров конфигурации, которые необходимо изменить, является DOSEmailNotify. Если этот параметр включен, при каждом IP-адресе в черный список будет отправлено электронное письмо на указанный адрес электронной почты.

Вы можете сделать это, отредактировав файл mod_evasive.conf:

sudo nano /etc/httpd/conf.d/mod_evasive.conf
Раскомментируйте строку DOSEmailNotify, удалив # перед линией и изменив адрес электронной почты на свой собственный:

DOSEmailNotify lunastudio@antiddos.com
Сохраните и закройте файл и перезапустите Apache, чтобы отразить изменения.

Перезагрузка sudo apachectl
Примечание. Для работы этого электронного сообщения на вашем сервере должен быть функционирующий почтовый сервер.

Тестирование ModSecurity
Для тестирования mod_security вы можете использовать curl для отправки HTTP-запросов на сервер Apache. Одним из правил по умолчанию ModSecurity является отклонение запросов, в которых есть агент пользователя «Nessus». Это предназначено, чтобы лишить информацию злоумышленников, которые используют автоматические сканеры

 

 

Теперь давайте установим и настроим пакет CSF FIREWALL

cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

Как только вы выполните установку, мы настроим порты и активируем все защиты!

Получите доступ к файлу «/etc/csf/csf.conf» с вашим любимым редактором и измените значение строки «ТЕСТИРОВАНИЕ». Измените значение 1 на 0, а затем выполните следующую команду

# Allow incoming TCP ports

# Allow outgoing TCP ports

# Allow incoming UDP ports

TCP_IN = "20,21,22,25,26,53,80"

service csf restart

csf --start

/etc/init.d/csf start

 

csf -g (IP)> Проверяет, заблокирован ли IP-адрес
csf -a (IP) «Причина - ваше имя»> Добавляет IP-адрес в список разрешений сервера. Соблюдайте осторожность и освобождайте только фиксированные IP-адреса.
csf -d (IP) «Причина - ваше имя»> Заблокировать IP-адрес в брандмауэре и добавить комментарий в файл /etc/csf/csf.deny
csf -tr (IP)> Удаляет временный блок из IP-адреса
csf -dr (IP)> Удаляет постоянную блокировку с IP-адреса
grep IP /var/log/lfd.log> Проверяет причину временного блока

 

 

 

 

 



Рекомендуемые комментарии

Если копипастите, хоть текст поправьте, ещё мельче чтоб лучше видно было.

Поделиться этим комментарием


Ссылка на комментарий
Поделиться на другие сайты