Hvernig á að setja upp ModSecurity með Apache á Debian/Ubuntu


Apache vefþjónninn er mjög sérhannaður og hægt að stilla hann á marga vegu til að henta þínum þörfum. Það eru margar einingar frá þriðja aðila sem þú getur notað til að stilla Apache að þínum óskum.

ModSecurity er opinn WAF (Web Application Firewall) sem er innfæddur í Apache vefþjóninum. Það var upphaflega eingöngu Apache-eining en hefur vaxið á árinu í að verða fullgildur eldveggur fyrir vefforrit. Það er nú stutt af Nginx og jafnvel IIS.

ModSecurity skoðar komandi beiðnir til vefþjónsins gegn fyrirfram skilgreindum reglum. Venjulega býður það upp á sett af reglum sem kallast CRS (Core Rule Set) sem vernda vefsíðu fyrir fjölda vefforritaárása eins og SQL innspýtingar, XSS og loturæning meðal annarra hetjudáða.

[Þér gæti líka líkað við: 5 verkfæri til að skanna Linux netþjón fyrir spilliforrit og rótarsett ]

ModSecurity forritaeldveggurinn er óaðskiljanlegur hluti af PCI DSS samræmi við að verja síður fyrir utanaðkomandi árásum. Þegar einingin er virkjuð kveikir hún á „403 Forbidden Error“ sem gefur einfaldlega til kynna að þú hafir ófullnægjandi heimildir til að fá aðgang að auðlindinni á vefþjóninum.

Í þessari handbók munum við sýna þér hvernig á að setja upp og stilla ModSecurity til að vinna með Apache á Debian og Ubuntu Linux.

Skref 1: Settu upp ModSecurity á Ubuntu

Fyrsta skrefið er að setja upp ModSecurity. Við byrjum fyrst á því að endurnýja pakkalistana sem hér segir:

$ sudo apt update

Næst skaltu setja upp ModSecurity pakkann ásamt öðrum ósjálfstæði og bókasöfnum.

$ sudo apt install libapache2-mod-security2

Síðan skaltu virkja eininguna.

$ sudo a2enmod security2

Endurræstu síðan Apache vefþjóninn til að beita breytingunum.

$ sudo systemctl restart apache2

Á þessum tímapunkti er ModSecurity sett upp. Við skulum nú stilla það.

Skref 2: Stilltu ModSecurity í Ubuntu

Sjálfgefið er ModSecurity aðeins stillt til að greina og skrá grunsamlega virkni. Við þurfum að fara auka skref og stilla það til að greina ekki aðeins heldur einnig loka á grunsamlega virkni.

Afritaðu, sjálfgefna ModSecurity stillingarskrá – modsecurity.conf-recommended – í nýja skrá eins og kveðið er á um í skipuninni hér að neðan.

$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Notaðu textaritilinn sem þú vilt, opnaðu skrána

$ sudo nano /etc/modsecurity/modsecurity.conf

Finndu línuna:

SecRuleEngine DetectionOnly

Stilltu það á:

SecRuleEngine On

Vistaðu breytingarnar og lokaðu skránni.

Til að beita breytingunum í Apache skaltu endurræsa vefþjóninn.

$ sudo systemctl restart apache2

Skref 3: Sæktu OWASP ModSecurity Core Ruleset

Næsta skref er að hlaða niður nýjasta OWASP ModSecurity Core Rule Set (CRS) frá GitHub síðunni.

Klónaðu OWASP git geymsluna eins og sýnt er.

$ git clone https://github.com/coreruleset/coreruleset.git

Farðu inn í möppuna.

$ cd coreruleset/

Vertu viss um að færa crs-setup.conf.example skrána í modsecurity skrána og endurnefna hana sem crs-setup.conf.

$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf

Að auki skaltu færa regluskrána í modsecurity skrána líka.

$ sudo mv rules/ /etc/modsecurity/

Næst skaltu breyta security2.conf skránni.

$ sudo nano /etc/apache2/mods-enabled/security2.conf

Gakktu úr skugga um að það innihaldi eftirfarandi línur.

IncludeOptional /etc/modsecurity/*.conf
Include /etc/modsecurity/rules/*.conf

Endurræstu síðan Apache til að breytingarnar haldist.

$ sudo systemctl restart apache2

Við skulum nú prófa ModSecurity stillingar okkar.

Skref 4: Prófaðu ModSecurity stillingar á Ubuntu

Að lokum þurfum við að prófa að ModSecurity geti greint og lokað á grunsamlega HTTP umferð. Til að ná þessu þurfum við að breyta sjálfgefna sýndarhýsingarskránni.

$ sudo nano /etc/apache2/sites-available/000-default.conf

Næst munum við búa til lokunarreglu sem mun loka fyrir aðgang að ákveðinni vefslóð þegar vafri er opnuð.

Bættu þessum línum við í lokin á undan „Virtualhost“ lokunarmerkinu.

SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"

Ekki hika við að stilla „id“ og „msg“ merkin á hvaða æskilegu gildi sem er.

Endurræstu síðan Apache vefþjóninn til að beita breytingunum sem gerðar voru á stillingarskrá sýndarhýsilsins.

$ sudo systemctl restart apache2

Í vafranum þínum skaltu reyna að fara á vefslóðina sem sýnd er með ?testparam=test í lokin.

http://server-ip/?testparam=test

Þú færð „403 Forbidden error“ sem gefur til kynna að þér hafi verið lokað fyrir aðgang að auðlindinni.

Þú getur ennfremur staðfest að viðskiptavinurinn hafi verið læstur með því að athuga villuskrárnar sem hér segir.

$ cat /var/log/apache2/error.log | grep “Test Successful”

[Þér gæti líka líkað við: Hvernig á að setja upp ModSecurity fyrir Nginx á Debian/Ubuntu]

Þetta er staðfesting á því að við höfum sett upp ModSecurity til að greina og loka fyrir óæskilega umferð. Í þessari handbók höfum við leiðbeint þér í gegnum ferlið við að setja upp ModSecurity með Apache á Debian/Ubuntu kerfum.