Защита сервера Linux для Lineage II
				
			
		
		
		
		Описание
Мы будем использовать в этом учебнике некоторые из лучших дистрибутивов 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> Проверяет причину временного блока

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