Како инсталирати МодСецурити 3 + ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

реклама

МодСецурити, често који се помиње као Модсец, је бесплатни заштитни зид за веб апликације отвореног кода (ВАФ). МодСецурити је креиран као модул за Апацхе ХТТП сервер. Међутим, од својих раних дана, ВАФ је порастао и сада покрива низ могућности филтрирања захтева и одговора протокола за пренос хипертекста за различите платформе као што су Мицрософт ИИС, Нгинк и Апацхе.

Како ВАФ функционише, механизам МодСецурити се поставља испред веб апликације, омогућавајући машини да скенира долазне и одлазне ХТТП везе. МодСецурити се најчешће користи у комбинацији са ОВАСП основни скуп правила (ЦРС), скуп правила отвореног кода написан у МодСецурити-овом СецРулес језику и веома је цењен у индустрији безбедности.

ОВАСП скуп правила са МодСецурити може скоро тренутно помоћи у заштити вашег сервера од:

  • Лоши кориснички агенти
  • ДДоС
  • Унакрсне скрипте за веб сајт
  • СКЛ ињецтион
  • Отмица сесије
  • Друге претње

У следећем водичу ћете научити како да инсталирате МодСецурити 3 и ОВАСП Цоре Руле Сет са Нгинк-ом на Убунту 22.04 ЛТС Јамми Јеллифисх са примерима конфигурација.

Преглед садржаја

Ажурирајте Убунту

Прво, ажурирајте свој систем како бисте били сигурни да су сви постојећи пакети ажурирани.

sudo apt update && sudo apt upgrade -y

Инсталирајте најновији Нгинк

Прво, саветује се да уклоните све постојеће инсталације Нгинк-а и инсталирате најновију верзију користећи прилагођени ППА који одржава Ондреј Суры, а који такође долази са додатним динамичким модулима као што је Бротли модул.

Уклоните постојећу инсталацију Нгинк-а

Зауставите тренутну Нгинк услугу:

реклама

sudo systemctl stop nginx

Сада уклоните постојећу инсталацију Нгинк-а на следећи начин:

sudo apt-get purge nginx -y && sudo apt autoremove nginx -y

Додајте најновији Нгинк ППА

Сада када сте уклонили своју стару Нгинк услугу, препоручује се инсталирање једног од два ППА наведена у наставку.

Водич увек препоручује инсталирање главне линије према препоруци Нгинк-а.

Инсталирајте један од следећих ППА-а са следећом командом.

Инсталирајте најновији Нгинк (СТАБИЛНО):

sudo add-apt-repository ppa:ondrej/nginx-stable -y

Инсталирајте најновији Нгинк (МАИНЛИНЕ):

sudo add-apt-repository ppa:ondrej/nginx-mainline -y

Након што увезете спремиште које желите, користите следећу команду да ажурирате своју листу извора АПТ-а.

sudo apt update

Сада када сте инсталирали АЈН и ажурирали листу спремишта, инсталирајте Нгинк са следећим:

реклама

sudo apt install nginx-core nginx-common nginx nginx-full

Имајте на уму да ће можда бити затражено да задржите или замените постојеће / етц / нгинк /нгинк.цонф конфигурациону датотеку током инсталације. Препоручује се да задржите тренутну конфигурациону датотеку притиском на (н).

Додајте Нгинк изворни код у спремиште

Подразумевано, изворни код се не инсталира када се инсталира ППА. Ово ћете морати ручно да омогућите да преузмете Нгинк изворни код за компајлирање Модсецурити касније у водичу.

Прво отворите конфигурациону датотеку /етц/апт/соурцес.лист.д са нано као испод:

sudo nano /etc/apt/sources.list.d/ondrej-ubuntu-nginx-mainline-*.list

Сада поставите линију која почиње # деб-срц декоментирај (#) линија.

# deb-src http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ jammy main

Пример како би требало да изгледа:

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Сада сачувајте датотеку (ЦТРЛ+О) и излаз (ЦТРЛ+Кс).

Сада ажурирајте листу спремишта користећи следећу команду.

sudo apt update

Преузмите Нгинк извор

Мораћете да преузмете Нгинк изворни код да бисте компајлирали МодСецурити динамички модул. Мораћете да преузмете и сачувате изворни пакет на локацији директоријума /етц/лоцал/срц/нгинк.

реклама

Креирајте и конфигуришите директоријуме

Креирајте локацију на следећи начин.

sudo mkdir /usr/local/src/nginx && cd /usr/local/src/nginx

Инсталирајте зависности и извршите преузимање

инсталирате ДПКГ-ДЕВ пакет.

sudo apt install dpkg-dev -y

Преузмите изворни пакет са следећим апт изворна команда.

sudo apt source nginx

Имајте на уму да ћете у наставку видети следећу поруку о грешци.

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Ова порука о грешци се може безбедно занемарити.

Проверите изворну верзију

Затим наведите датотеке директоријума са л команда као што следи.

ls

Требало би да видите следећи излаз у вашем /уср/срц/лоцал/нгинк директоријум.

Затим потврдите да је изворни пакет исти као ваша верзија Нгинк-а инсталирана на вашем Убунту оперативном систему.

реклама

Користите следеће нгинк -в команда.

nginx -v

Требало би да добијете исту излазну верзију као извор на следећи начин:

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Као што је горе наведено, Нгинк Маинлине 1.21.6 је најновија верзија доступна приликом креирања упутства. И инсталирана бинарна верзија и нгинк изворна верзија се поклапају; уверите се да је ово проверено као да су различите верзије, неће радити.

Инсталирајте либмодсецурити3 за МодСецурити

Пакет либмодсецурити3 је основни део ВАФ-а који ради ХТТП филтрирање за ваше веб апликације.

Клонирајте МодСецурити Репоситори са Гитхуб-а

Први корак је клон са Гитхуб-а, а ако немате инсталиран гит, мораћете да извршите следећу команду:

sudo apt install git -y

Затим клонирајте либмодсецурити3 ГИТ спремиште на следећи начин:

sudo git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/

Када будете клонирани, мораћете да користите ЦД команда у именик.

cd /usr/local/src/ModSecurity/

Инсталирајте либмодсецурити3 зависности

Да бисте компајлирали, мораћете да инсталирате следеће зависности на следећи начин:

реклама

sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen libpcre++-dev libpcre2-16-0 libpcre2-dev libpcre2-posix3 -y

Уверите се да су ови инсталирани. Видео сам много притужби у заједници са којом треба да се састављају –без-пцре2 пошто не могу да направе Нгинк са Модсецурити од в1.21.4 па надаље, али ово се може избећи ако инсталирате исправне зависности које су доступне на Убунту 22.04, као што можете видети у овом водичу, то је сведочанство тога.

Сада да завршите, инсталирајте следеће ГИТ подмодуле на следећи начин.

sudo git submodule init

Затим ажурирајте подмодуле:

sudo git submodule update

Изградња МодСецурити окружења

Следећи корак је да прво изградите окружење помоћу следеће команде.

sudo ./build.sh

Затим покрените команду за конфигурисање:

sudo ./configure

Имајте на уму да ћете вероватно видети следећу грешку

fatal: No names found, cannot describe anything.

Можете безбедно да игноришете ово и пређете на следећи корак.

Састављање изворног кода МодСецурити

Сада када сте изградили и конфигурисали окружење за либмодсецурити3, време је да га компајлирате командом make (правити).

реклама

sudo make

Згодан трик је да наведете јер ово може значајно повећати брзину компајлирања ако имате моћан сервер.

На пример, сервер има 6 ЦПУ-а и могу да користим свих 6 или бар 4 до 5 да повећам брзину.

sudo make -j 6

Након компајлирања изворног кода, сада покрените команду за инсталацију у свом терминалу:

sudo make install

Имајте на уму да се инсталација врши у /уср/лоцал/модсецурити/, које ћете касније референцирати у водичу.

Инсталирајте МодСецурити-нгинк конектор

МодСецурити-нгинк конектор је тачка везе између нгинк-а и либмодсецурити. То је компонента која комуницира између Нгинк-а и МодСецурити-а (либмодсецурити3).

Клонирајте МодСецурити-нгинк спремиште са Гитхуб-а

Слично као у претходном кораку клонирања спремишта либмодсецурити3, мораћете поново да клонирате спремиште конектора користећи следећу команду:

sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/

Инсталирајте МодСецурити-нгинк зависности

Затим идите у Нгинк изворни директоријум.

cd /usr/local/src/nginx/nginx-1.*.*

Сада покрените команду у свом Убунту терминалу да бисте инсталирали потребне зависности.

реклама

sudo apt build-dep nginx && sudo apt install uuid-dev

Затим ћете саставити МодСецурити-нгинк конектор модул само са –С-цомпат означити на следећи начин:

sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx

Сада make (правити) (креирајте) динамичке модуле са следећом командом:

sudo make modules

Затим, док сте у Нгинк изворном директоријуму, користите следећу команду да преместите динамички модул који сте направили који је сачуван на локацији објс/нгк_хттп_модсецурити_модуле.со и копирајте га у /уср/схаре/нгинк/модулес директоријум.

sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/

Можете да складиштите динамички модул било где, све док наведете пуну путању приликом учитавања.

Учитајте и конфигуришите МодСецурити-нгинк конектор са Нгинк-ом

Сада када сте саставили динамички модул и лоцирали га у складу са тим, морате да уредите свој /етц/нгинк/нгинк.цонф конфигурациону датотеку да бисте омогућили да МодСецурити ради са вашим Нгинк веб сервером.

Омогућите МодСецурити у нгинк.цонф

Прво, морате да наведете лоад_модуле и путању до вашег модбезбедносног модула.

Отворити нгинк.цонф са било којим уређивачем текста. За туторијал ће се користити нано:

sudo nano /etc/nginx/nginx.conf

Затим додајте следећи ред у датотеку при врху:

реклама

load_module modules/ngx_http_modsecurity_module.so;

Ако сте модул лоцирали негде другде, укључите пуну путању.

Сада додајте следећи код испод ХТТП {} одељак како следи:

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsec-config.conf;

primer:

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Ако сте модул лоцирали негде другде, укључите пуну путању.

Сачувајте датотеку (ЦТРЛ+О), затим изађите (ЦТРЛ+Кс).

Креирајте и конфигуришите директоријум и датотеке за МодСецурити

Мораћете да креирате директоријум за чување конфигурационих датотека и будућих правила, ОВАСП ЦРС за туторијал.

Користите следећу команду да креирате /етц/нгинк/модсец директоријум.

sudo mkdir /etc/nginx/modsec/

Морате да копирате узорак МодСецурити конфигурационе датотеке назад из нашег клонираног ГИТ директоријума.

реклама

sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf

Користећи свој омиљени уређивач текста у Убунту-у, отворите датотеку модсецурити.цонф на следећи начин.

sudo nano /etc/nginx/modsec/modsecurity.conf

Подразумевано, МодСецурити конфигурација има механизам правила наведен као (Само за детекцију), који другим речима, покреће МодСецурити и детектује сва злонамерна понашања, али не блокира радњу или забрањује и евидентира све ХТТП трансакције које означи. Ово би требало да се користи само ако имате много лажних позитивних резултата или сте повећали поставке нивоа безбедности на екстремни ниво и тестирате да бисте видели да ли долази до лажних позитивних резултата.

У конфигурационој датотеци промените ово понашање у (на), налази се на линији 7.

SecRuleEngine DetectionOnly

Промените линију на ову да бисте омогућили МодСецурити:

SecRuleEngine On

primer:

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Сада морате да пронађете следеће СецАудитЛогПартс, који се налази на линији 224.

# Log everything we know about a transaction.
SecAuditLogParts ABIJDEFHZ

Ово није тачно и треба га променити. Измените линију на следеће:

SecAuditLogParts ABCEFHJKZ

Сада сачувајте датотека помоћу (ЦТРЛ+О), затим изађите (ЦТРЛ+Кс).

реклама

Следећи део је креирање следеће датотеке модсец-цонфиг.цонф. Овде ћете додати модсецурити.цонф датотеку уз и касније друга правила као што су ОВАСП ЦРС, а ако користите ВордПресс, ВПРС ЦРС скуп правила.

Користите следећу команду да креирате датотеку и отворите је:

sudo nano /etc/nginx/modsec/modsec-config.conf

Када уђете у датотеку, додајте следећи ред.

Include /etc/nginx/modsec/modsecurity.conf

Сачувајте датотеку модсец-цонфиг.цонф са (ЦТРЛ+О), онда (ЦТРЛ+Кс) излаз.

На крају, копирајте МодСецурити уницоде.мапирање филе витх ЦП команда као што следи.

sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/

Пре него што наставите, требало би да дате свој Нгинк сервис на суво са следећом командом терминала.

sudo nginx -t

Ако сте све исправно подесили, требало би да добијете следећи излаз:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Да би промене биле активне, поново покрените Нгинк услугу користећи системцтл команду:

реклама

sudo systemctl restart nginx

Инсталирајте ОВАСП основни скуп правила за МодСецурити

МодСецурити сам по себи не штити ваш веб сервер и морате имати правила. Једно од најпознатијих, поштованих и најпознатијих правила је скуп правила ОВАСП ЦРС. Правила се најчешће користе међу веб серверима и другим ВАФ-овима, а већина других сличних система већину својих правила заснива на овом ЦРС-у. Инсталирање овог скупа правила ће вам аутоматски пружити одличан извор заштите од већине нових претњи на Интернету откривањем злонамерних актера и њиховим блокирањем.

Проверите Страница са ознаком ОВАСП издања да видите шта је најновије, пошто се пример у наставку можда променио у будућности.

Прво се вратите до свог модсец директоријума који је креиран.

cd /etc/nginx/modsec

Коришћење вгет наредба, преузмите ОВАСП ЦРС 3.3.2 архива, која је од овог датума најновија стабилна, али имајте на уму да је пре четири дана верзија пре издања пала, па је мој савет да проверите везу неколико редова изнад да видите како изгледају издања за основни скуп правила.

wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.2.zip

За оне који желе да живе на ивици, можете преузети ноћну верзију. Користите ноћни програм само ако сте спремни да наставите да поново компајлирате и често проверавате ЦореРулеСет Гитхуб да ли има ажурирања и да будете сигурнији у откривању проблема. Технички, ноћни рад може бити сигурнији, али потенцијално може створити проблеме.

За кориснике почетнике, користите стабилну верзију и немојте користити верзију испод.

wget https://github.com/coreruleset/coreruleset/archive/refs/tags/nightly.zip

У време креирања упутства, в4.0.0-РЦ1 пре-издање је такође доступно, као што је раније поменуто.

wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v4.0.0-rc1.zip

инсталирате Распакујте пакет ако ово немате инсталирано на свом серверу.

реклама

sudo apt install unzip -y

Сада распакујте архиву.

sudo unzip v3.3.2.zip -d /etc/nginx/modsec

Запамтите, ако сте преузели в4.0 или ноћни програм, промените команде да то одражавају.

Као и раније, као модсецурити.цонф пример конфигурације, ОВАСП ЦРС долази са примером конфигурационе датотеке коју треба да преименујете. Најбоље је да користите ЦП команду и сачувате резервну копију за будућност у случају да морате поново да покренете.

sudo cp /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf.example /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf

Да бисте омогућили правила, отворите /етц/нгинк/модсец/модсец-цонфиг.цонф.

sudo nano /etc/nginx/modsec/modsec-config.conf

Када поново уђете у датотеку, додајте следећа два додатна реда:

Include /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf
Include /etc/nginx/modsec/coreruleset-3.3.2/rules/*.conf

Сачувајте датотеку (ЦТРЛ+О) и излаз (ЦТРЛ+Т).

Као и раније, потребно је да тестирате све нове додатке вашој Нгинк услузи пре него што је објавите:

sudo nginx -t

Након покретања теста рада на суво, требало би да добијете следећи излаз што значи да све исправно ради:

реклама

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Поново покрените своју Нгинк услугу да би промене биле активне на следећи начин:

sudo systemctl restart nginx

Коришћење и разумевање скупа основних правила ОВАСП-а

ОВАСП ЦРС има доста опција, али подразумевана подешавања ће одмах заштитити већину сервера без повреде ваших правих посетилаца и добрих СЕО ботова. У наставку ће бити покривене неке области да би се објаснило. Даље читање би било најбоље да се испитају све опције у самим конфигурационим датотекама јер имају доста текстуалних података да објасне шта су.

Отвори свој ЦРС-сетуп.цонф датотека.

sudo nano /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf

Имајте на уму да је ово конфигурација дев верзије са додатним ставкама у поређењу са верзијом 3.3.

Одавде можете да измените већину својих ОВАСП ЦРС подешавања.

ОВАСП ЦРС бодовање

Да га разбијемо, МодСецурити има два режима:

Аномали Сцоринг Моде

# -- [[ Anomaly Scoring Mode (default) ]] --
# In CRS3, anomaly mode is the default and recommended mode, since it gives the
# most accurate log information and offers the most flexibility in setting your
# blocking policies. It is also called "collaborative detection mode".
# In this mode, each matching rule increases an 'anomaly score'.
# At the conclusion of the inbound rules, and again at the conclusion of the
# outbound rules, the anomaly score is checked, and the blocking evaluation
# rules apply a disruptive action, by default returning an error 403.

Самостални режим

реклама

# -- [[ Self-Contained Mode ]] --
# In this mode, rules apply an action instantly. This was the CRS2 default.
# It can lower resource usage, at the cost of less flexibility in blocking policy
# and less informative audit logs (only the first detected threat is logged).
# Rules inherit the disruptive action that you specify (i.e. deny, drop, etc).
# The first rule that matches will execute this action. In most cases this will
# cause evaluation to stop after the first rule has matched, similar to how many
# IDSs function.

Аномали Сцоринг је генерално, за већину корисника, најбољи начин за коришћење.

Постоје четири нивоа параноје:

  • Параноја ниво 1 – Подразумевани ниво и препоручен за већину корисника.
  • Параноја ниво 2 – Само напредни корисници.
  • Параноја ниво 3 – Само стручни корисници.
  • Параноја ниво 4 – Уопште се не препоручује, осим у изузетним околностима.
# -- [[ Paranoia Level Initialization ]] ---------------------------------------
#
# The Paranoia Level (PL) setting allows you to choose the desired level
# of rule checks that will add to your anomaly scores.
#
# With each paranoia level increase, the CRS enables additional rules
# giving you a higher level of security. However, higher paranoia levels
# also increase the possibility of blocking some legitimate traffic due to
# false alarms (also named false positives or FPs). If you use higher
# paranoia levels, it is likely that you will need to add some exclusion
# rules for certain requests and applications receiving complex input.
#
# - A paranoia level of 1 is default. In this level, most core rules
#   are enabled. PL1 is advised for beginners, installations
#   covering many different sites and applications, and for setups
#   with standard security requirements.
#   At PL1 you should face FPs rarely. If you encounter FPs, please
#   open an issue on the CRS GitHub site and don't forget to attach your
#   complete Audit Log record for the request with the issue.
# - Paranoia level 2 includes many extra rules, for instance enabling
#   many regexp-based SQL and XSS injection protections, and adding
#   extra keywords checked for code injections. PL2 is advised
#   for moderate to experienced users desiring more complete coverage
#   and for installations with elevated security requirements.
#   PL2 comes with some FPs which you need to handle.
# - Paranoia level 3 enables more rules and keyword lists, and tweaks
#   limits on special characters used. PL3 is aimed at users experienced
#   at the handling of FPs and at installations with a high security
#   requirement.
# - Paranoia level 4 further restricts special characters.
#   The highest level is advised for experienced users protecting
#   installations with very high security requirements. Running PL4 will
#   likely produce a very high number of FPs which have to be
#   treated before the site can go productive.
#
# All rules will log their PL to the audit log;
# example: [tag "paranoia-level/2"]. This allows you to deduct from the
# audit log how the WAF behavior is affected by paranoia level.
#
# It is important to also look into the variable
# tx.enforce_bodyproc_urlencoded (Enforce Body Processor URLENCODED)
# defined below. Enabling it closes a possible bypass of CRS.

Тестирајте ОВАСП ЦРС на свом серверу

Да бисте тестирали да ли ОВАСП ЦРС ради на вашем серверу, отворите свој Интернет претраживач и користите следеће:

https://www.yourdomain.com/index.html?exec=/bin/bash

Требало би да добијете а 403 забрањена грешка. Ако није, онда је пропуштен корак.

primer:

Како инсталирати МодСецурити 3 & ОВАСП са Нгинк-ом на Убунту 22.04 ЛТС

Најчешћи проблем је недостатак промене ДетецтионОнли до On, као што је објашњено раније у туторијалу.

Рад са лажним позитивним резултатима и искључењем прилагођених правила

Један од често бескрајних задатака је суочавање са лажним позитивним резултатима, МодСецурити и ОВАСП ЦРС раде сјајан посао заједно, али то долази по цену вашег времена, али с обзиром на заштиту коју добијате, вреди тога. За почетак, златно је правило да никада не подигнете ниво параноје на висок ниво.

Добро правило је да примените постављено правило неколико недеља до месеци без икаквих лажних позитивних резултата, а затим повећате, на пример, ниво параноје 1 на ниво параноје 2, тако да не будете преплављени тоном истовремено.

реклама

Искључујући лажно позитивне познате апликације

Модсецурити, подразумевано, може на белу листу свакодневних радњи које доводе до лажних позитивних резултата као у наставку:

#SecAction \
# "id:900130,\
#  phase:1,\
#  nolog,\
#  pass,\
#  t:none,\
#  setvar:tx.crs_exclusions_cpanel=1,\
#  setvar:tx.crs_exclusions_dokuwiki=1,\
#  setvar:tx.crs_exclusions_drupal=1,\
#  setvar:tx.crs_exclusions_nextcloud=1,\
#  setvar:tx.crs_exclusions_phpbb=1,\
#  setvar:tx.crs_exclusions_phpmyadmin=1,\
#  setvar:tx.crs_exclusions_wordpress=1,\
#  setvar:tx.crs_exclusions_xenforo=1"

Да бисте омогућили, нпр. ВордПресс, пхпББ и пхпМиАдмин док користите сва три, декоментирај редове и остави (1) број нетакнут, промените друге услуге које не користите, на пример, Ксенфоро (0) јер не желите да ставите ова правила на белу листу.

Пример испод:

SecAction \
 "id:900130,\
  phase:1,\
  nolog,\
  pass,\
  t:none,\
  setvar:tx.crs_exclusions_cpanel=0,\
  setvar:tx.crs_exclusions_dokuwiki=0,\
  setvar:tx.crs_exclusions_drupal=0,\
  setvar:tx.crs_exclusions_nextcloud=0,\
  setvar:tx.crs_exclusions_phpbb=1,\
  setvar:tx.crs_exclusions_phpmyadmin=1,\
  setvar:tx.crs_exclusions_wordpress=1,\
  setvar:tx.crs_exclusions_xenforo=0"

Такође можете да измените синтаксу, која би била чистија. На пример:

SecAction \
 "id:900130,\
  phase:1,\
  nolog,\
  pass,\
  t:none,\
  setvar:tx.crs_exclusions_phpbb=1,\
  setvar:tx.crs_exclusions_phpmyadmin=1,\
  setvar:tx.crs_exclusions_wordpress=1"

Као што видите, уклоњене су опције које нису потребне и додате („) на крају ВордПресс-а за исправну синтаксу.

Искључујући правила пре ЦРС-а

Да бисте се носили са прилагођеним изузецима, прво морате да промените име из РЕКУЕСТ-900-ЕКСЦЛУСИОН-РУЛЕС-БЕФОРЕ-ЦРС-САМПЛЕ.цонф филе витх цп команда као што следи:

sudo cp /etc/nginx/modsec/coreruleset-3.4-dev/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example /etc/nginx/modsec/coreruleset-3.4-dev/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

Оно што треба запамтити када креирате правила изузимања, свако мора имати ИД: и будите јединствени, иначе када тестирате своју Нгинк услугу, добићете грешку.

Пример “ид:1544,пхасе:1,лог,аллов,цтл:рулеЕнгине=офф”, ид 1544 се не може користити за друго правило.

реклама

На пример, неки РЕКУЕСТ_УРИ ће подићи лажне позитивне резултате. Пример у наставку су два са Гоогле пагеспеед беацон и ВМУДЕВ додатком за ВордПресс:

SecRule REQUEST_URI "@beginsWith /wp-load.php?wpmudev" "id:1544,phase:1,log,allow,ctl:ruleEngine=off"

SecRule REQUEST_URI "@beginsWith /ngx_pagespeed_beacon" "id:1554,phase:1,log,allow,ctl:ruleEngine=off"

Као што видите, сваки УРЛ који почиње путањом биће аутоматски дозвољен.

Друга опција је стављање на белу листу ИП адреса; неколико начина на које можете да урадите ово:

SecRule REMOTE_ADDR "^195\.151\.128\.96" "id:1004,phase:1,nolog,allow,ctl:ruleEngine=off"
## or ###
SecRule REMOTE_ADDR "@ipMatch 127.0.0.1/8, 195.151.0.0/24, 196.159.11.13" "phase:1,id:1313413,allow,ctl:ruleEngine=off"

@ипМатцх може се више користити за подмреже. Ако желите да одбијете промену подмреже или ИП адресе, дозволите да одбијете. Уз мало знања, такође можете креирати црне и беле листе и конфигурисати ово помоћу фаил2бан. Могућности често могу бити бескрајне.

Последњи пример је да онемогућите само правила која покрећу лажне позитивне резултате, а не да поставите целу путању на белу листу, као што сте видели у првом примеру РЕКУЕСТ_УРИ. Међутим, ово захтева више времена и тестирања.

На пример, желите да уклоните правила 941000 942999 Из ваших / админ / јер наставља да покреће лажне забране и блокаде за ваш тим, пронађите у датотеци евиденције модне безбедности ИД правила и затим онемогућите само тај ИД помоћу РемовеБиИД као пример испод:

SecRule REQUEST_FILENAME "@beginsWith /admin" "id:1004,phase:1,pass,nolog,ctl:ruleRemoveById=941000-942999"

Примери се могу наћи на МодСецурити ГИТ-у вики паге.

ВордПресс ВПРС скуп правила за МодСецурити

Друга опција за WordPress корисници треба да инсталирају и покрећу заједно са вашим скупом правила ОВАСП ЦРС, добро познатим пројектом под називом ВПРС скуп правила. Пошто је ово опционо и није за свакога, туторијал га неће покрити у овом одељку.

реклама

Међутим, ако желите да инсталирате ово ради додатне заштите ако користите ВордПресс на свом серверу, посетите наш водич на Инсталирање скупа правила ВордПресс МодСецурити (ВПРС).

Креирајте датотеку МодСецурити ЛогРотате.

МодСецурити евиденције могу прерасти, тако да морате да подесите ротирање дневника јер се то не ради уместо вас.

Прво креирајте и отворите датотеку за ротирање МодСецурити модсец:

sudo nano /etc/logrotate.d/modsec

Додајте следећи код:

/var/log/modsec_audit.log
{
        rotate 31
        daily
        missingok
        compress
        delaycompress
        notifempty
}

Ово ће чувати евиденцију 31 дан. Ако више волите да имате мање, промените 31 у 7 дана, исто толико за недељу дана. Требало би да се свакодневно ротирате за МодСецурити. Ако треба да прегледате фајлове евиденције са недељним фајлом, биће катастрофа за прегледавање, с обзиром на то колико ће бити велики.

Коментари и закључак

У туторијалу ћете разумети инсталирање Нгинк извора, компајлирање МодСецурити-а и постављање ОВАСП правила међу најважнијим деловима на Убунту 22.04 ЛТС Јамми Јеллифисх.

Све у свему, постављање МодСецурити-а на ваш сервер ће обезбедити тренутну заштиту. Међутим, стрпљење, време и посвећеност учењу биће тако одлична карактеристика. Последња ствар коју желите је да блокирате СЕО ботове или, што је још важније, стварне кориснике који би могли бити потенцијални купци.

Схаре он: