Sprievodca tvrdením a zabezpečením webového servera Apache

Praktický sprievodca na zabezpečenie a tvrdenie servera Apache HTTP Server.


Webový server je rozhodujúcou súčasťou webových aplikácií. Webový server Apache je často umiestnený na okraji siete, a preto sa stáva jednou z najzraniteľnejších služieb, na ktorú možno zaútočiť.

Predvolená konfigurácia poskytuje veľa citlivých informácií, ktoré môžu hackerovi pomôcť pripraviť sa na útok na aplikácie. Väčšina útokov na webové aplikácie je spôsobená útokmi XSS, Info Leakage, Session Management a SQL Injection, ktoré sú spôsobené slabým programovacím kódom a zlyhaním dezinfikovania infraštruktúry webových aplikácií..

Zaujímavý výskum od Pozitívne technológie ukazuje, že 52% skenovanej aplikácie malo vysoké zraniteľné miesta.

V tomto článku budem hovoriť o niektorých najlepších postupoch na zabezpečenie servera Apache HTTP na platforme Linux.

Nasledovné sú testované na verzii Apache 2.4.x..

  • To predpokladá, že ste nainštalovali Apache na platforme UNIX. Ak nie, môžete prejsť Sprievodcom inštaláciou.
  • V tejto príručke budem volať inštalačný adresár Apache / opt / apache ako $ Web_Server.
  • Pred akoukoľvek úpravou odporúčame zálohovať existujúci konfiguračný súbor.

publikum

Je určený pre administrátora Middleware, aplikačnú podporu, systémového analytika alebo pre kohokoľvek, kto sa snaží alebo sa túži naučiť kalenie & Bezpečnostné pokyny.

Dobrá znalosť webového servera Apache & Príkaz UNIX je povinný.

Poznámky

Potrebujete nejaký nástroj na preskúmanie hlavičiek HTTP na overenie implementácie. Existujú dva spôsoby, ako to urobiť.

  1. Na kontrolu hlavičiek HTTP použite nástroje vývojára zabudované v prehliadači. Zvyčajne je to na karte Sieť
  2. Použite online nástroj na kontrolu hlavičiek odpovedí HTTP

Odstráňte banner verzie servera

Povedal by som, že je to jedna z prvých vecí, ktorú treba zvážiť, pretože nechcete odhaliť, akú verziu webového servera používate. Vystavená verzia znamená, že pomáhate hackerovi zrýchliť proces prieskumu.

Predvolená konfigurácia odhalí verziu Apache a typ OS, ako je uvedené nižšie.

  • Prejdite do priečinka $ Web_Server / conf
  • Upravte httpd.conf pomocou editora vi
  • Pridajte nasledujúcu smernicu a uložte httpd.conf

ServerTokens Prod
ServerSignature Off

  • Reštartujte apache

ServerSignature odstráni informácie o verzii zo stránky vygenerovanej Apache.

ServerTokens zmení hlavičku iba na produkciu, t. J. Apache

Ako vidíte nižšie, verzia & Informácie o OS sú preč.

Zakázať zoznam prehľadávačov adresárov

Zakáže výpis adresárov v prehliadači, takže návštevník nevidí, aké všetky súbory a priečinky máte v koreňovom adresári alebo podadresári.

Vyskúšajte, ako to vyzerá v predvolených nastaveniach.

  • Prejdite do adresára $ Web_Server / htdocs
  • Vytvorte v ňom priečinok a niekoľko súborov

# mkdir test
# touch ahoj
# touch ahoj

Teraz sa pokúsime o prístup k Apache prostredníctvom http: // localhost / test

Ako ste videli, ukazuje to, čo máte k dispozícii všetky súbory / priečinky a som si istý, že to nechcete vystavovať.

  • Prejdite do adresára $ Web_Server / conf
  •  Otvorte httpd.conf pomocou vi
  •  Vyhľadajte adresár a zmeňte direktívu Options na None alebo –Indexes

Možnosti -Indexy

(Alebo)

Možnosti Žiadne

  • Reštartujte Apache

Poznámka: Ak máte vo svojom prostredí viac direktív adresára, mali by ste zvážiť to isté pre všetkých.

Teraz sa pokúsime o prístup k Apache prostredníctvom http: // localhost / test

Ako ste mohli vidieť, namiesto zobrazenia zoznamu testovacích priečinkov sa zobrazuje zakázaná chyba.

ETAG

Umožňuje vzdialeným útočníkom získať citlivé informácie, ako napríklad číslo inodu, viacdielnu hranicu MIME a podriadený proces prostredníctvom hlavičky Etag.

Aby sme tejto zraniteľnosti zabránili, implementujte ju ako je uvedené nižšie. Vyžaduje sa to na opravu súladu s PCI.

  • Prejdite do adresára $ Web_Server / conf
  • Pridajte nasledujúcu smernicu a uložte httpd.conf

FileETag Žiadne

  • Reštartujte apache

Spustite Apache z neprivilegovaného účtu

Predvolená inštalácia beží ako nikto alebo démon. Použitie samostatného neprivilegovaného používateľa pre Apache je dobré.

Cieľom je chrániť ostatné služby bežiace v prípade akejkoľvek bezpečnostnej diery.

  • Vytvorte používateľa a skupinu s názvom apache

# groupadd apache
# useradd –G apache apache

  • Zmeňte vlastníctvo inštalačného adresára apache na novovytvoreného neprivilegovaného používateľa

# chown –R apache: apache / opt / apache

  •  Prejdite na $ Web_Server / conf
  •  Upravte httpd.conf pomocou vi
  •  Vyhľadajte používateľa & Skupinová smernica a zmena ako nevyrovnaný prístup k účtu

Používateľský apache
Skupinový apache

  •  Uložte httpd.conf
  •  Reštartujte Apache

grep za spustenie procesu http a uistite sa, že beží s používateľom apache

# ps –ef | grep http

Mali by ste vidieť, že jeden proces beží s rootom. Je to preto, lebo Apache počúva na porte 80 a musí byť spustený root.

Chráňte binárne a konfiguračné povolenie adresára

V predvolenom nastavení je povolenie pre binárne súbory a konfiguráciu 755, čo znamená, že konfiguráciu môže zobraziť každý užívateľ na serveri. Môžete zakázať inému používateľovi prístup do priečinka conf a bin.

  • Prejdite do adresára $ Web_Server
  • Zmeňte povolenie priečinka bin a conf

# chmod –R 750 bin conf

Ochrana nastavení systému

V predvolenej inštalácii môžu používatelia prepísať konfiguráciu apache pomocou .htaccess. Ak chcete zastaviť používateľov v zmene nastavení servera apache, môžete pridať AllowOverride do None tak, ako je to znázornené nižšie.

To sa musí urobiť na koreňovej úrovni.

  • Prejdite do adresára $ Web_Server / conf
  •  Otvorte httpd.conf pomocou vi
  •  Vyhľadajte adresár na koreňovej úrovni

Možnosti -Indexy
AllowOverride Žiadne

  •  Uložte httpd.conf
  •  Reštartujte Apache

Metódy požiadavky HTTP

Protokol HTTP 1.1 podporuje množstvo metód, ktoré sa nemusia vyžadovať a niektoré z nich sú potenciálne rizikové.

Zvyčajne budete potrebovať metódy žiadosti GET, HEAD, POST vo webovej aplikácii, ktoré je možné nakonfigurovať v príslušnej smernici o adresári..

Podpora predvolenej konfigurácie OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT metóda v protokole HTTP 1.1.

  •  Prejdite do adresára $ Web_Server / conf
  •  Otvorte httpd.conf pomocou vi
  • Vyhľadajte adresár a pridajte nasledujúce

popierať zo všetkých

  • Reštartujte Apache

Zakázať požiadavku na sledovanie HTTP

V predvolenom nastavení je metóda Trace na webovom serveri Apache povolená.

Ak to povolíte, môžete povoliť útok na sledovanie viacerých stránok a potenciálne poskytnúť hackerovi možnosť ukradnúť informácie o súboroch cookie. Pozrime sa, ako to vyzerá v predvolenej konfigurácii.

  •  Vykonajte IP adresu webového servera telnetu s portom na počúvanie
  •  Vykonajte požiadavku TRACE, ako je uvedené nižšie

#telnet localhost 80
Vyskúšalo sa 127.0.0.1…
Pripojené k localhost.
Útekový znak je „^]“.
Hostiteľ TRACE / HTTP / 1.1: test
HTTP / 1,1 200 OK
Dátum: So, 31. augusta 2013 02:13:24 GMT
Server: Apache
Transfer-Encoding: chunked
Typ obsahu: správa / http 20
TRACE / HTTP / 1.1
Hostiteľ: test
0
Spojenie bolo uzavreté zahraničným hostiteľom.
#

Ako ste mohli vidieť v žiadosti TRACE vyššie, odpovedala na môj dotaz. Zakážme to a otestujte to.

  •  Prejdite do adresára $ Web_Server / conf
  • Pridajte nasledujúcu smernicu a uložte httpd.conf

Sledovanie je možné vypnúť

  •  Reštartujte apache

Vykonajte IP adresu webového servera telnetu pomocou portu na počúvanie a odošlite požiadavku TRACE, ako je to znázornené nižšie

#telnet localhost 80
Vyskúšalo sa 127.0.0.1…
Pripojené k localhost.
Útekový znak je „^]“.
Hostiteľ TRACE / HTTP / 1.1: test
Metóda HTTP / 1.1 405 nie je povolená
Dátum: So, 31. augusta 2013 02:18:27 GMT
Server: Apache Povoliť: Content-Length: 223Centent-Type: text / html; charset = iso-8859-1
405 Metóda nie je povolená

Metóda nie je povolená

Požadovaná metóda TRACE nie je povolená pre adresu URL /.

Spojenie bolo uzavreté zahraničným hostiteľom.
#

Ako ste mohli vidieť vyššie, požiadavka TRACE bola zablokovaná moja požiadavka pomocou metódy HTTP 405 nie je povolená.

Tento webový server teraz nepovoľuje žiadosť TRACE a pomoc pri blokovaní útoku na sledovanie viacerých stránok.

Nastavte súbor cookie s príznakom HttpOnly a Secure

Väčšinu bežných útokov na skriptovanie viacerých stránok môžete zmierniť pomocou príznaku HttpOnly a Secure v súbore cookie. Bez toho, aby ste mali HttpOnly a Secure, je možné ukradnúť alebo manipulovať s reláciami a cookies webových aplikácií a je to nebezpečné.

  •  Skontrolujte, či je vo vašom httpd.conf povolený modul mod_headers.so
  •  Prejdite do adresára $ Web_Server / conf
  •  Pridajte nasledujúcu smernicu a uložte httpd.conf

Upraviť hlavičku súboru Cookie ^ (. *) $ $ 1; HttpOnly; Secure

  •  Reštartujte apache

Clickjacking Attack

Clickjacking je známa zraniteľnosť webových aplikácií.

  •  Skontrolujte, či je vo vašom httpd.conf povolený modul mod_headers.so
  •  Prejdite do adresára $ Web_Server / conf
  •  Pridajte nasledujúcu smernicu a uložte httpd.conf

Hlavička vždy pripája X-Frame-Options SAMEORIGIN

  •  Reštartujte apache

X-Frame-Options tiež podporujú ďalšie dve možnosti, ktoré som tu vysvetlil.

Zahrnuté na strane servera

Na strane servera (SSI) existuje riziko zvýšenia zaťaženia servera. Ak ste zdieľali prostredie a webové aplikácie s vysokou návštevnosťou, mali by ste zvážiť vypnutie SSI pridaním smernice o zahrnutí do možností.

Útok SSI umožňuje využitie webovej aplikácie pomocou injekcie skriptov na stránky HTML alebo diaľkovým vykonávaním kódov.

  • Prejdite do adresára $ Web_Server / conf
  •  Otvorte httpd.conf pomocou vi
  •  Vyhľadajte adresár a pridajte možnosť Zahrnúť do smernice Možnosti

Možnosti –Indexy – Zahŕňa
Objednávka povoliť, odmietnuť všetky

  • Reštartujte Apache

Poznámka: Ak máte vo svojom prostredí viac direktív adresára, mali by ste zvážiť to isté pre všetkých.

X-XSS ochrana

V mnohých prehliadačoch je možné obísť ochranu skriptovania medzi servermi (XSS). Túto ochranu by ste mohli použiť pre webovú aplikáciu, ak ju používateľ zakázal. Túto funkciu používa väčšina veľkých webových spoločností, ako sú Facebook, Twitter, Google atď.

  • Prejdite do adresára $ Web_Server / conf
  • Otvorte httpd.conf pomocou vi a pridajte nasledujúcu direktívu záhlavia

Sada hlavíc X-XSS-Protection "1; Režim = blok"

  •  Reštartujte Apache

Ako vidíte, XSS-Protection je vložená do hlavičky odpovede.

Zakázať protokol HTTP 1.0

Keď hovoríme o bezpečnosti, mali by sme čo najviac chrániť. Prečo teda používame staršiu verziu protokolu HTTP, vypnime ich tiež?

HTTP 1.0 má slabé stránky zabezpečenia súvisiace s únosmi relácií. Môžeme to zakázať pomocou modulu mod_rewrite.

  • Zaistite, aby sa do súboru httpd.conf načítal modul mod_rewrite
  •  Povoľte RewriteEngine direktívu nasledovne a pridajte podmienku Rewrite tak, aby povoľovala iba HTTP 1.1

PrepísaťEngine zapnuté
Prepíšte% {THE_REQUEST}! HTTP / 1,1 $
RewriteRule. * – [F]

Konfigurácia hodnoty časového limitu

V predvolenom nastavení je hodnota časového limitu Apache 300 sekúnd, čo môže byť obeťou útoku Slow Loris a DoS. Aby ste to zmiernili, môžete hodnotu časového limitu znížiť na asi 60 sekúnd.

  • Prejdite do adresára $ Web_Server / conf
  • Otvorte httpd.conf pomocou vi
  •  Pridajte nasledujúci text do httpd.conf

Časový limit 60

SSL

SSL je ďalšou vrstvou zabezpečenia, ktorú pridávate do webovej aplikácie. Predvolená konfigurácia SSL však vedie k určitým zraniteľnostiam a mali by ste zvážiť vyladenie týchto konfigurácií.

Kľúč SSL

Porušenie kľúča SSL je ťažké, ale nie nemožné. Je to len otázka výpočtovej sily a času.

Ako možno viete, pomocou PC z roku 2009 môžete praskať približne 73 dní spätný inžinier 512-bitový kľúč.

Čím vyššia je dĺžka kľúča, tým zložitejšie je rozbiť kľúč SSL. Väčšina veľkých webových spoločností používa 2048-bitový kľúč, ako je uvedené nižšie, tak prečo nie?

  •  Outlook.com
  •  Microsoft.com
  •   Live.com
  •  Skype.com
  •  Apple.com
  •  Yahoo.com
  •  Bing.com
  •  Hotmail.com
  •  Twitter.com

OpenSSL môžete použiť na generovanie CSR s 2048 bitmi, ako je uvedené nižšie.

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

Vygeneruje správu o chemickej bezpečnosti, ktorú budete musieť poslať na certifikačná autorita podpísať. Po prijatí súboru podpísaného certifikátu ich môžete pridať do súboru httpd-ssl.conf

SSLCertificateFile #Certificate podpísaný orgánom
SSLCertificateChainFile #Certificate signer daný autoritou
SSLCertificateKeyFile #Key súbor, ktorý ste vygenerovali vyššie

  • Reštartujte webový server Apache a skúste pristupovať k URL pomocou https

SSL šifra

SSL Cipher je šifrovací algoritmus, ktorý sa používa ako kľúč medzi dvoma počítačmi cez internet. Šifrovanie údajov je proces prevodu obyčajného textu na tajné šifrované kódy.

Je založené na konfigurácii SSL vášho webového servera SSL, šifrovanie údajov sa uskutoční. Je preto dôležité nakonfigurovať protokol SSL Cipher, ktorý je silnejší a nie je zraniteľný.

  • Prejdite do priečinka $ Web_Server / conf / extra
  •  Upravte smernicu SSLCipherSuite v httpd-ssl.conf ako je uvedené nižšie, aby ste akceptovali iba vyššie šifrovacie algoritmy

SSLCipherSuite VYSOKÉ:! STREDNÉ:! ANULL:! MD5:! RC4

  •  Uložte konfiguračný súbor a reštartujte server apache

Poznámka: Ak máte vo svojej audítorskej správe SSL veľa slabých šifrov, môžete ich rýchle odmietnutie pridať! na začiatku.

Zakázať SSL v2 & v3

SSL v2 & v3 má veľa bezpečnostných nedostatkov, a ak sa snažíte dosiahnuť penetračný test alebo súlad s PCI, očakáva sa, že ukončíte vyhľadávanie zabezpečenia a vypnete SSL v2 / v3.

Akákoľvek komunikácia SSL v2 / v3 môže byť zraniteľná voči útoku Man-in-The-Middle, ktorý by mohol umožniť neoprávnené zásahy alebo odhalenie údajov.

Implementujme webový server apache, ktorý prijíma iba najnovšie TLS a odmietne žiadosť o pripojenie SSL v2 / v3.

  • Prejdite do priečinka $ Web_Server / conf / extra
  • Upravte smernicu SSLProtocol v httpd-ssl.conf ako je uvedené nižšie, aby akceptovala iba TLS 1.2+

SSLProtocol –ALL + TLSv1.2

Po dokončení konfigurácie SSL je vhodné otestovať webovú aplikáciu pomocou online nástroja na certifikáciu SSL / TLS, aby ste našli prípadné chyby konfigurácie..

Mod Security

Mod Security je open-source webový aplikačný firewall, ktorý môžete použiť s Apache.

Je dodávaný ako modul, ktorý musíte skompilovať a nainštalovať. Ak si nemôžete dovoliť komerčný webový aplikačný firewall, bola by to vynikajúca voľba.

Na zabezpečenie ochrany všeobecných webových aplikácií sa v základných pravidlách používajú tieto techniky:

  • Ochrana HTTP – zisťuje porušenia protokolu HTTP a miestne definované pravidlá používania
  • Vyhľadávanie v čiernej listine v reálnom čase – využíva reputáciu IP tretích strán
  • Web Malware Detection – identifikuje škodlivý webový obsah kontrolou pomocou rozhrania Google Safe Browsing API.
  • Ochrana odmietnutia služby HTTP – ochrana pred povodňami HTTP a pomalými útokmi HTTP DoS.
  • Spoločná ochrana pred webovými útokmi – zisťuje spoločný bezpečnostný útok webovej aplikácie
  • Automatizačná detekcia – detekcia robotov, prehľadávačov, skenerov a ďalších škodlivých povrchových aktivít
  • Integrácia s AV Scanning for File Uploads – identifikuje škodlivé súbory nahrané prostredníctvom webovej aplikácie.
  • Sledovanie citlivých údajov – sleduje používanie kreditných kariet a blokuje úniky.
  • Ochrana trójskych koní – detekcia prístupu k trójskym koňom.
  • Identifikácia chýb aplikácie – výstrahy o chybnej konfigurácii aplikácie.
  • Detekcia chýb a skrytie – maskovanie chybových správ odosielaných serverom.

Stiahnuť ▼ & inštalácia

Nasledujúce predpoklady musia byť nainštalované na server, na ktorom chcete používať Mod Security s Apache. Ak niektorá z nich neexistuje, kompilácia Mod Security zlyhá. Na inštaláciu týchto balíkov môžete použiť inštaláciu yum v systéme Linux alebo Centos.

  • apache 2.x alebo vyšší
  • libpcre balík
  •  balík libxml2
  • liblua balíček
  • libcurl balíček
  •  balíček libapr a libapr-util
  •  modul mod_unique_id dodávaný s webovým serverom Apache

Teraz si stiahnite najnovšiu stabilnú verziu Mod Security 2.7.5 tu

  • Preneste stiahnutý súbor do / opt / apache
  • Extrahujte modsecurity-apache_2.7.5.tar.gz

# gunzip –c modsecurity-apache_2.7.5.tar.gz | decht xvf –

  • Prejdite do extrahovaného priečinka modsecurity-apache_2.7.5

# cd modsecurity-apache_2.7.5

  • Spustite konfiguračný skript vrátane cesty apxs k existujúcemu Apache

# ./configure –with-apxs = / opt / apache / bin / apxs

  • kompilácie & inštalácia pomocou skriptu make

# urobiť
# make install

  • Po dokončení inštalácie by ste videli mod_security2.so v priečinku modulov pod / opt / apache

Toto je záver, že ste nainštalovali modul Mod Security do existujúceho webového servera Apache.

konfigurácia

Ak chcete používať funkciu zabezpečenia Mod s Apache, musíme načítať modul zabezpečenia mod v httpd.conf. Mod modunun_id je nevyhnutný pre zabezpečenie Mod.

Tento modul poskytuje premennú prostredia s jedinečným identifikátorom pre každú požiadavku, ktorý sleduje a používa spoločnosť Mod Security.

  • Pridajte nasledujúci riadok a načítať modul pre Mod Security do httpd.conf a uložte konfiguračný súbor

LoadModule unique_id_module modules / mod_unique_id.so
LoadModule security2_module modules / mod_security2.so

  •  Reštartujte webový server apache

Mod Security je teraz nainštalovaný!

Ďalšou vecou, ​​ktorú musíte urobiť, je nainštalovať základné pravidlo Mod Security, aby ste naplno využili jeho funkciu.

Najnovšie základné pravidlo si môžete stiahnuť z nasledujúceho odkazu, ktorý je bezplatný. https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master

  • Skopírujte stiahnutý zip s pravidlom do priečinka / opt / apache / conf
  • Rozbaľte súbor základných pravidiel
  • Možno budete chcieť premenovať priečinok na niečo krátke a ľahko zapamätateľné. V tomto príklade sa premenujem na crs.
  • Prejdite do priečinka crs a premenujte modsecurity_crs10_setup.conf.example na modsecurity_crs10_setup.conf

Teraz povoľte tieto pravidlá, aby fungovali s webovým serverom Apache.

  •  Pridajte nasledujúci text do httpd.conf

Zahrnúť conf / crs / modsecurity_crs_10_setup.confInclude conf / crs / base_rules / *. Conf

Vo vyššie uvedenej konfigurácii načítavame hlavný konfiguračný súbor Mod Security modsecurity_crs_10_setup.conf a základné pravidlá base_rules / *. Conf, ktoré poskytujú základné pravidlá Mod Security na ochranu webových aplikácií..

  •  Reštartujte webový server apache

Úspešne ste nakonfigurovali Mod Security pomocou Apache!

Výborne. Teraz je webový server Apache chránený bránou firewall webovej aplikácie Mod Security.

Začíname

Začnime s niektorými kritickými konfiguráciami v Mod Security, aby sme ich sprísnili & zabezpečené webové aplikácie.

V tejto časti vykonáme všetky zmeny konfigurácie v súbore /opt/apache/conf/crs/modsecurity_crs_10_setup.conf..

V tejto časti budeme odkazovať na /opt/apache/conf/crs/modsecurity_crs_10_setup.conf ako setup.conf napríklad na účely.

Je dôležité pochopiť, aké pravidlá OWASP sú poskytované bezplatne. OWASP poskytuje dva typy pravidiel.

Základné pravidlá – tieto pravidlá sú prísne testované a pravdepodobný pomer falošných poplachov je pravdepodobne menší.

Experimentálne pravidlá – tieto pravidlá slúžia na experimentálne účely a môžete mať vysoký falošný poplach. Pred použitím v produkčnom prostredí je dôležité nakonfigurovať, otestovať a implementovať v UAT.

Nepovinné pravidlá – tieto nepovinné pravidlá nemusia byť vhodné pre celé životné prostredie. Na základe vašich požiadaviek ich môžete používať.

Ak hľadáte ochranu CSRF, sledovanie používateľov, únosy relácií atď., Môžete zvážiť použitie voliteľných pravidiel. Po extrahovaní stiahnutého súboru crs zo stránky sťahovania OWASP máme základné, voliteľné a experimentálne pravidlá.

Konfiguračný súbor týchto pravidiel je k dispozícii v priečinku crs / base_rules, crs / volitelné_rules a crs / experiment_rules. Oboznámime sa s niektorými základnými pravidlami.

  • modsecurity_crs_20_protocol_violations.conf: Toto pravidlo chráni pred zraniteľnosťou protokolu, ako je rozdelenie odpovedí, pašovanie požiadaviek, použitie nepovoleného protokolu (HTTP 1.0)..
  • modsecurity_crs_21_protocol_anomalies.conf: Toto je ochrana pred požiadavkou, ktorá chýba v hlavičke Host, Accept, User-Agent v hlavičke.
  • modsecurity_crs_23_request_limits.conf: Toto pravidlo závisí od konkrétnej aplikácie, ako je veľkosť žiadosti, veľkosť nahrávania, dĺžka parametra atď..
  • modsecurity_crs_30_http_policy.conf: Slúži na konfiguráciu a ochranu povolenej alebo nepovolenej metódy ako CONNECT, TRACE, PUT, DELETE atď..
  • modsecurity_crs_35_bad_robots.conf: Zistiť škodlivé roboty
  • modsecurity_crs_40_generic_attacks.conf: Toto slúži na ochranu pred vstrekovaním príkazov OS, vzdialeným zahrnutím súborov atď..
  • modsecurity_crs_41_sql_injection_attacks.conf: Toto pravidlo na ochranu SQL a slepej žiadosti SQL o vloženie.
  • modsecurity_crs_41_xss_attacks.conf: Ochrana pred požiadavkou na skriptovanie viacerých stránok.
  • modsecurity_crs_42_tight_security.conf: Detekcia a ochrana prierezu adresára.
  • modsecurity_crs_45_trojans.conf: Toto pravidlo zisťuje výstup generickej správy súborov, nahrávanie backdoor stránky HTTP, známy podpis.
  • modsecurity_crs_47_common_exceptions.conf: Používa sa ako mechanizmus výnimiek na odstránenie bežných falošných poplachov, ktoré sa môžu vyskytnúť pri saniach ako interné fiktívne pripojenie Apache, SSL pinger atď..

protokolovanie

Protokolovanie je jednou z prvých vecí, ktorú treba nakonfigurovať, takže môžete mať vytvorené protokoly toho, čo robí Mod Security. K dispozícii sú dva typy protokolovania; ladiť & Protokol auditu.

Debug Log: slúži na duplikovanie chybových, varovných a upozorňovacích správ Apache z denníka chýb.

Protokol auditu: slúži na zapisovanie protokolov transakcií, ktoré sú označené pravidlom Mod Security. Mod Security vám poskytuje flexibilitu pri konfigurácii protokolovania auditu, ladenia alebo oboch protokolov..

V predvolenom nastavení zapisuje oba protokoly. Na základe vašich požiadaviek sa však môžete zmeniť. Protokol je riadený v smernici SecDefaultAction. Pozrime sa na predvolenú konfiguráciu protokolovania v súbore setup.conf

SecDefaultAction „phase: 1, deny, log“

Ak chcete protokolovať Debug, Protokol auditu – použite „log“ Ak chcete protokolovať iba protokol auditu – použite „nolog, auditlog“ Ak chcete protokolovať iba protokol ladenia – použite „protokol, noauditlog“ Môžete určiť umiestnenie protokolu auditu, ktoré sa má uložiť a ktoré je kontrolované SecAuditLog. smernice.

Napíšme záznam auditu do /opt/apache/logs/modsec_audit.log pridaním, ako je to znázornené nižšie.

  • Pridajte do sekcie setup.conf smernicu SecAuditLog a reštartujte webový server Apache

SecAuditLog /opt/apache/logs/modsec_audit.log

  • Po reštarte by ste mali vidieť, ako sa generuje modsec_audit.log

Povoliť pravidlo pravidlo

V predvolenom nastavení je pravidlo Engine vypnuté, čo znamená, že ak nepovolíte modul Engine Engine, nevyužívate všetky výhody zabezpečenia Mod.

Pravidlo Povolenie alebo zakázanie motora sa riadi smernicou SecRuleEngine.

  • Pridajte do setup.conf direktívu SecRuleEngine a reštartujte webový server Apache

SecRuleEngine zapnuté

Pre SecRuleEngine existujú tri hodnoty:

  • Zapnuté – na aktiváciu pravidla
  • Off – vypnutie pravidla Rule
  • DetectionOnly – povoľte Rule Engine, ale nikdy nevykonáva žiadne akcie, ako je blokovanie, odmietnutie, zrušenie, povolenie, proxy alebo presmerovanie

Keď je pravidlo zapnuté – Mod Security je pripravený chrániť niektoré bežné typy útokov.

Bežná ochrana typu útoku

Webový server je teraz pripravený chrániť pomocou bežných typov útokov, ako sú XSS, SQL Injection, porušenie protokolu atď., Keď sme nainštalovali základné pravidlo a zapli sme pravidlo. Vyskúšajte niektoré z nich.

Útok XSS

  •  Otvorte Firefox a otvorte svoju aplikáciu a vložte značku na koniec alebo URL
  •  Monitorujte priečinok modsec_audit.log v priečinku apache / logs

Zistíte požiadavku na blokovanie Mod Security, pretože obsahuje značku, ktorá je koreňom útoku XSS.

Útok na adresárové útoky: – Útoky na adresárové útoky môžu spôsobiť veľa poškodenia využitím týchto zraniteľností a prístupu k súborom súvisiacim so systémom. Ex – / etc / passwd, .htaccess atď.

  •  Otvorte Firefox a otvorte svoju aplikáciu pomocou adresára
  •  Monitorujte priečinok modsec_audit.log v priečinku apache / logs

http: // localhost / ../…/boot

  • Všimnete si požiadavku na blokovanie Mod Security, pretože obsahuje priechod adresára.

Zmeňte banner servera

Na začiatku tejto príručky ste sa naučili, ako odstrániť typ Apache a OS, pomoc s verziami smernice ServerTokens.

Poďme o krok vpred, čo sa týka zachovania názvu servera, ako si želáte? Je to možné pomocou smernice SecServerSignature v Mod Security. Vidíte, že je to zaujímavé.

Poznámka: Ak chcete na manipuláciu so serverovým pruhom používať hlavičku Mod Security, musíte v httpd.conf webového servera Apache nastaviť ServerTokesn na Full..

  • Pridajte príkaz SecServerSignature s požadovaným názvom servera do súboru setup.conf a reštartujte webový server Apache

SecServerSignature YourServerName

ex:

[/ opt / apache / conf / crs] #grep SecServer modsecurity_crs_10_setup.conf
SecServerSignature geekflare.com
[/ opt / apache / conf / crs] #

Všeobecná konfigurácia

Pozrime sa na niektoré všeobecné konfigurácie ako najlepší postup.

Konfigurovať počúvanie

Ak máte na jednom serveri viac rozhraní a adries IP, odporúča sa nakonfigurovať direktívu počúvania s absolútnym číslom IP a číslom portu.

Ak ponecháte konfiguráciu apache na počúvaní na všetkých IP s nejakým číslom portu, môže to spôsobiť problém pri posielaní požiadavky HTTP na iný webový server. V zdieľanom prostredí je to celkom bežné.

  • Ako je uvedené nižšie, nakonfigurujte direktívu Listen v httpd.conf s absolútnou IP a portom

Vypočujte si 10.10.10.1:80

Prístup k protokolovaniu

Je nevyhnutné správne nakonfigurovať denník prístupu na webovom serveri. Dôležitým parametrom na zaznamenanie do denníka by bol čas potrebný na vybavenie žiadosti, SESSION ID.

V predvolenom nastavení nie je Apache nakonfigurovaný na zaznamenávanie týchto údajov. Manuálne ich musíte nakonfigurovať nasledovne.

  • Na zaznamenanie času potrebného na vybavenie žiadosti a ID SESSION v protokole prístupu
  •  Pridať% T & % sessionID v httpd.conf podľa smernice LogFormat

LogFormat "% h% l% u% t "% {SessionID} C" "% r" %>s% b% T" obyčajný

Môžete odkázať http://httpd.apache.org/docs/2.2/mod/mod_log_config.html pre úplný zoznam parametrov podporovaných v smernici LogFormat na webovom serveri Apache.

Zakázať načítavanie nežiaducich modulov

Ak ste skompilovali a nainštalovali všetky moduly, existuje veľká šanca, že budete mať veľa nainštalovaných modulov v Apache, čo nemusí byť potrebné.

Najlepšie je nakonfigurovať Apache s požadovanými modulmi vo vašich webových aplikáciách. Nasledujúce moduly majú obavy z hľadiska bezpečnosti a pravdepodobne by ste mali záujem zakázať httpd.conf webového servera Apache.

WebDAV (Webové distribuované vytváranie a vytváranie verzií) Tento modul umožňuje vzdialeným klientom manipulovať so súbormi na serveri a vystavovať sa rôznym útokom odmietnutia služby. Ak chcete zakázať sledovanie komentárov v httpd.conf

#LoadModule dav_module modules / mod_dav.so
#LoadModule dav_fs_module modules / mod_dav_fs.so
#Include conf / extra / httpd-dav.conf

Informačný modul Mod_info modul môže po načítaní tohto modulu preniesť citlivé informácie pomocou .htaccess. Ak chcete zakázať sledovanie komentárov v httpd.conf

#LoadModule info_module modules / mod_info.so

Odkaz: To by nebolo možné bez usmernenia z nasledujúceho odkazu:

To bol jeden z najlepších postupov, ktoré môžete použiť na zabezpečenie webového servera Apache.

Ak ste novým používateľom protokolu Apache HTTP, odporúčam vám ho prijať kurz správy HTTP Apache.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map