Modsecurity: Difference between revisions
No edit summary |
|||
(55 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= See sisu vajab uuendamist!!! = | |||
<source lang="bash"> | |||
apt-get update | |||
apt-get install libapache2-mod-security2 | |||
ln -s /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf /etc/modsecurity/ | |||
vim /etc/apache2/mods-available/security2.conf | |||
</source> | |||
<source lang="apache"> | |||
<IfModule security2_module> | |||
# Default Debian dir for modsecurity's persistent data | |||
SecDataDir /var/cache/modsecurity | |||
# Include all the *.conf files in /etc/modsecurity. | |||
# Keeping your local configuration in that directory | |||
# will allow for an easy upgrade of THIS file and | |||
# make your life easier | |||
IncludeOptional /etc/modsecurity/*.conf | |||
IncludeOptional /usr/share/modsecurity-crs/base_rules/*.conf | |||
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf | |||
# SecRuleEngine On | |||
</IfModule> | |||
</source> | |||
apt-get install libapache2-mod-security2 | |||
== Autor == | |||
'''Aleksei Issaikin AK31''' | |||
'''Pavel Kodotšigov AK31''' [[https://wiki.itcollege.ee/index.php/Modsecurity_j%C3%B5udlus ModSecurity jõudlus]] | |||
Esimene versioon 19/05/2012 | |||
Viimati muudetud <b>{{REVISIONDAY2}}/{{REVISIONMONTH}}/{{REVISIONYEAR}} {{REVISIONUSER}} 'i poolt.<br></b> | |||
Timestamp <b>({{REVISIONTIMESTAMP}})</b> | |||
== Sissejuhatus == | == Sissejuhatus == | ||
ModSecurity on tulemüür, mis on mõeldud '''Apache''' serveri peal jooksvate veebirakenduste kaitsmiseks. Tema peamiseks | ModSecurity on tulemüür, mis on mõeldud '''Apache''' serveri peal jooksvate veebirakenduste kaitsmiseks. Tema peamiseks ülesanndeks on rünnakute ennetamine ja nende likvideerimine, enne kui nad jõuavad serveris jooksvate veebirakendusteni. | ||
ModSercurity on võimeline monitoorima kogu '''http''' liiklust reaalajas ja avastama kõik võimalike sissetunge. [[File:Modsecurity.png |400px|thumb|right|]] | |||
'''Modsecurity mõned võimalused''': | |||
<pre> | |||
XSS rünnakute kaitse | |||
SQL injection kaitse | |||
CSRF kaitse | |||
</pre> | |||
'''Versioonide ajalugu:''' | |||
<pre> | |||
2.6.5 | |||
2.6.4 | |||
2.6.3 | |||
2.6.2 | |||
2.6.1 | |||
2.6.0 | |||
</pre> | |||
== Eeldused == | == Eeldused == | ||
Line 11: | Line 70: | ||
Modsecurity testimiseks paigaldame ka testimisekeskkonna [[DVWA]]. | Modsecurity testimiseks paigaldame ka testimisekeskkonna [[DVWA]]. | ||
Kõik toiminugd peavd käima juurkasutaja all, selleks logime | Kõik toiminugd peavd käima juurkasutaja all, selleks logime ennast juurkasutajaga sisse käsuga: | ||
<pre>sudo -i</pre> | <pre>sudo -i</pre> | ||
Line 20: | Line 79: | ||
<pre>apt-get install libapache-mod-security</pre> | <pre>apt-get install libapache-mod-security</pre> | ||
Järgmisena uuendame Modsecurity ruulid ära e. CRS. | |||
Selleks kõigepealt laeme modsecurity ruulid alla: | |||
<pre>wget http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.5.tar.gz</pre> | |||
Pakkime lahti käsuga: | |||
<pre>tar zxf modsecurity-crs_2.2.5.tar.gz</pre> | |||
Kui lahtipakkimine õnnestus, tuleb lahtipakkitud kaustast kopeerida konfiguratsiooni fail ModSecurity kausta ja ümmber nimetada e. näiteks: | |||
<pre>cp /root/modsecurity-crs_2.2.5/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf</pre> | |||
Kindlasti tuleb veel teha apache teenusele restardi käsuga: | |||
<pre>service apache2 restart</pre> | |||
Kui paigaldamine õnnestus tuleb hakkata tulemüüri seadistama. | Kui paigaldamine õnnestus tuleb hakkata tulemüüri seadistama. | ||
Line 25: | Line 102: | ||
== Tulemüüri seadistamine == | == Tulemüüri seadistamine == | ||
Kasutame | Kasutame suvlalist tekstiredaktorit ja loome '''mod_security''' konfiguratsiooni faili kausta '''/etc/apache2/conf.d/modsecurity2.conf''' käsuga: | ||
<pre>nano /etc/apache2/conf.d/modsecurity2.conf</pre> | <pre>nano /etc/apache2/conf.d/modsecurity2.conf</pre> | ||
Line 39: | Line 116: | ||
Selleks lisame faili /etc/apache2/conf.d/modsecurity2.conf sellised read: | Selleks lisame faili /etc/apache2/conf.d/modsecurity2.conf sellised read: | ||
<pre>< ifmodule mod_security2.c> | <pre><ifmodule mod_security2.c> | ||
SecRuleEngine On | SecRuleEngine On | ||
SecDefaultAction "phase:2,deny,log,status:403" | SecDefaultAction "phase:2,deny,log,status:403" | ||
Secrule ARGS "union" | Secrule ARGS "union" | ||
< /ifmodule></pre> | </ifmodule></pre> | ||
Ehk, kui keegi üritab kasutada argumenti '''union''' blokitakse see kohe ära ja kuvatakse tõrge. | Ehk, kui keegi üritab kasutada argumenti '''union''' blokitakse see kohe ära ja kuvatakse tõrge. | ||
== Testimine == | == Testimine == | ||
Testime alguses välja lülitatud tulemüüriga | |||
Nagu eelnevalt sai mainitud kasutame ründe testimiseks tarkvara '''DVWA''', mis jookseb meie '''Apache''' serveris. | Nagu eelnevalt sai mainitud kasutame ründe testimiseks tarkvara '''DVWA''', mis jookseb meie '''Apache''' serveris. | ||
Võtame veebibrauseri kaudu lahti DVWA ja valime sealt '''SQL Injection'''. | Võtame veebibrauseri kaudu lahti DVWA, aadressilt '''(https://127.0.0.1/dvwa)''' ja valime sealt '''SQL Injection''', sisestame lahtrisse '''ID''' käsu: | ||
<pre>' union all select user, password from dvwa.users#</pre> | |||
Seejärel vajutame klahvi '''Submit''', saame ilusti vastuseks kasutajate nimed ja nende paroolide hashid. | |||
[[File:Pilt1_mod.jpg|400px]] | |||
Lülitame sisse tulemüüri käsuga: | |||
<pre>a2enmod mod-security</pre> | |||
Teeme restardi Apache serverile käsuga: | |||
<pre>service apache2 restart</pre> | |||
Testime sisse lülitatud tulemüüriga eelnevat käsku kasutades, mille tulemusena saame vasutseks veateate. | |||
[[File:Pilt2_mod.jpg]] | |||
'''Tulemüür on valmis kasutamiseks.''' | |||
Samamoodi erinevate reeglitega on võimalik kaitsa oma Apache veebiserverit erinevate rünnakute eest. | |||
== Konfiguratsiooni faili varundamine == | |||
Kuna tulemüüri reeglite tegemine on ajanõudev tegevus, tuleks konfiguratsiooni fail serveris varundada käsuga: | |||
<pre>cp /etc/apache2/conf.d/modsecurity2.conf /root/backup/modsecurity/</pre> | |||
== Konfiguratsiooni faili taastamine == | |||
Kui teenus ei tööta korralikult või on vajalik se uuesti installida, siis konfiguratsiooni faili on võimalik taastada käsuga: | |||
<pre>cp /root/backup/modsecurity/modsecurity2.conf /etc/apache2/conf.d/</pre> | |||
== | == Kasutatud materjal == | ||
<ol> | |||
<li>http://kiranjith83.blogspot.com/2010/12/installing-and-configuring-modsecurity.html</li> | |||
<li>http://www.sans.org/reading_room/whitepapers/webservers/web-application-firewall-detect-block-common-web-application-attacks_33831</li> | |||
</ol> | |||
[[Category:IT infrastruktuuri teenused]] |
Latest revision as of 15:00, 30 May 2015
See sisu vajab uuendamist!!!
apt-get update
apt-get install libapache2-mod-security2
ln -s /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf /etc/modsecurity/
vim /etc/apache2/mods-available/security2.conf
<IfModule security2_module>
# Default Debian dir for modsecurity's persistent data
SecDataDir /var/cache/modsecurity
# Include all the *.conf files in /etc/modsecurity.
# Keeping your local configuration in that directory
# will allow for an easy upgrade of THIS file and
# make your life easier
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional /usr/share/modsecurity-crs/base_rules/*.conf
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
# SecRuleEngine On
</IfModule>
apt-get install libapache2-mod-security2
Autor
Aleksei Issaikin AK31
Pavel Kodotšigov AK31 [ModSecurity jõudlus]
Esimene versioon 19/05/2012
Viimati muudetud 30/05/2015 Mernits 'i poolt.
Timestamp (20150530150015)
Sissejuhatus
ModSecurity on tulemüür, mis on mõeldud Apache serveri peal jooksvate veebirakenduste kaitsmiseks. Tema peamiseks ülesanndeks on rünnakute ennetamine ja nende likvideerimine, enne kui nad jõuavad serveris jooksvate veebirakendusteni.
ModSercurity on võimeline monitoorima kogu http liiklust reaalajas ja avastama kõik võimalike sissetunge.
Modsecurity mõned võimalused:
XSS rünnakute kaitse SQL injection kaitse CSRF kaitse
Versioonide ajalugu:
2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0
Eeldused
Serverisse peab olema paigaldatud Apache veebiserver.
Modsecurity testimiseks paigaldame ka testimisekeskkonna DVWA.
Kõik toiminugd peavd käima juurkasutaja all, selleks logime ennast juurkasutajaga sisse käsuga:
sudo -i
Tulemüüri allalaadimine ja installimine
Tulemüüri installimiseks tuleb sisestada käsureal käsu:
apt-get install libapache-mod-security
Järgmisena uuendame Modsecurity ruulid ära e. CRS.
Selleks kõigepealt laeme modsecurity ruulid alla:
wget http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.5.tar.gz
Pakkime lahti käsuga:
tar zxf modsecurity-crs_2.2.5.tar.gz
Kui lahtipakkimine õnnestus, tuleb lahtipakkitud kaustast kopeerida konfiguratsiooni fail ModSecurity kausta ja ümmber nimetada e. näiteks:
cp /root/modsecurity-crs_2.2.5/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf
Kindlasti tuleb veel teha apache teenusele restardi käsuga:
service apache2 restart
Kui paigaldamine õnnestus tuleb hakkata tulemüüri seadistama.
Tulemüüri seadistamine
Kasutame suvlalist tekstiredaktorit ja loome mod_security konfiguratsiooni faili kausta /etc/apache2/conf.d/modsecurity2.conf käsuga:
nano /etc/apache2/conf.d/modsecurity2.conf
Tekkitatud faili lisame kirje tulemüüri reeglite sisse lülitamiseks:
< ifmodule mod_security2.c> SecRuleEngine On < /ifmodule>
Edasi loome näiteks reegli, mis takistab ründega SQL injection küsida meie serveri andmebaasist DVWA kasutajate parooli hashe, kasutades argumenti union:
Selleks lisame faili /etc/apache2/conf.d/modsecurity2.conf sellised read:
<ifmodule mod_security2.c> SecRuleEngine On SecDefaultAction "phase:2,deny,log,status:403" Secrule ARGS "union" </ifmodule>
Ehk, kui keegi üritab kasutada argumenti union blokitakse see kohe ära ja kuvatakse tõrge.
Testimine
Testime alguses välja lülitatud tulemüüriga
Nagu eelnevalt sai mainitud kasutame ründe testimiseks tarkvara DVWA, mis jookseb meie Apache serveris. Võtame veebibrauseri kaudu lahti DVWA, aadressilt (https://127.0.0.1/dvwa) ja valime sealt SQL Injection, sisestame lahtrisse ID käsu:
' union all select user, password from dvwa.users#
Seejärel vajutame klahvi Submit, saame ilusti vastuseks kasutajate nimed ja nende paroolide hashid.
Lülitame sisse tulemüüri käsuga:
a2enmod mod-security
Teeme restardi Apache serverile käsuga:
service apache2 restart
Testime sisse lülitatud tulemüüriga eelnevat käsku kasutades, mille tulemusena saame vasutseks veateate.
Tulemüür on valmis kasutamiseks.
Samamoodi erinevate reeglitega on võimalik kaitsa oma Apache veebiserverit erinevate rünnakute eest.
Konfiguratsiooni faili varundamine
Kuna tulemüüri reeglite tegemine on ajanõudev tegevus, tuleks konfiguratsiooni fail serveris varundada käsuga:
cp /etc/apache2/conf.d/modsecurity2.conf /root/backup/modsecurity/
Konfiguratsiooni faili taastamine
Kui teenus ei tööta korralikult või on vajalik se uuesti installida, siis konfiguratsiooni faili on võimalik taastada käsuga:
cp /root/backup/modsecurity/modsecurity2.conf /etc/apache2/conf.d/