Apache webbediener verharding en sekuriteitsgids

‘N Praktiese handleiding om Apache HTTP-bediener te beveilig en te verhard.


Die webbediener is ‘n belangrike deel van webgebaseerde toepassings. Apache-webbediener word dikwels aan die rand van die netwerk geplaas, en dit word een van die mees kwesbare dienste om aan te val.

Met standaardkonfigurasie word baie sensitiewe inligting verskaf wat die hacker kan help om voor te berei vir die aanval van die toepassings. Die meerderheid aanvalle op die webtoepassing is deur middel van XSS, Info Leakage, Session Management en SQL Injection-aanvalle, wat te wyte is aan swak programmeringskode en die versuim om die infrastruktuur van webtoepassings te sanitiseer..

Interessante navorsing deur Positiewe tegnologieë onthul dat 52% van die geskandeerde toepassing hoë kwesbaarhede gehad het.

In hierdie artikel bespreek ek enkele van die beste praktyke om Apache HTTP-bediener op Linux-platform te beveilig.

Hierna word getoets op die Apache 2.4.x weergawe.

  • Dit aanvaar dat u Apache op die UNIX-platform geïnstalleer het. Indien nie, kan u deur die installasiegids gaan.
  • Ek noem die Apache-installasiegids / opt / apache as $ Web_Server gedurende hierdie gids.
  • U word aangeraai om ‘n rugsteun van die bestaande konfigurasielêer te neem voordat dit verander word.

gehoor

Dit is ontwerp vir middelware-administrateur, toepassingsondersteuning, stelselontleder, of enigeen wat hardwerkend wil leer & Veiligheidsriglyne.

Goeie kennis van Apache-webbediener & UNIX-opdrag is verpligtend.

notas

U benodig ‘n hulpmiddel om HTTP-hoofde te ondersoek vir die implementeringsverifiëring. Daar is twee maniere om dit te doen.

  1. Gebruik die ingeboude ontwikkelaarnutsdinge deur die blaaier om die HTTP-opskrifte te ondersoek. Gewoonlik is dit onder die Netwerk-oortjie
  2. Gebruik die aanlyn-HTTP-reaksie-kopknophulpmiddel

Verwyder bedienerweergawe-banier

Ek sou sê dat dit een van die eerste dinge is wat u moet oorweeg, aangesien u nie die webbedienerweergawe wat u gebruik, blootstel nie. As u weergawe blootstel, help u dat hacker die verkenningsproses vinnig maak.

Die standaardkonfigurasie sal die Apache-weergawe en die operasionele tipe blootstel, soos hieronder getoon.

  • Gaan na die $ Web_Server / conf-lêergids
  • Verander httpd.conf deur die vi-redigeerder te gebruik
  • Voeg die volgende richtlijn by en stoor die httpd.conf

ServerTokens Prod
Bedienerhandtekening af

  • Herbegin apache

ServerSignature sal die weergawe-inligting verwyder van die bladsy wat deur Apache gegenereer word.

ServerTokens sal Header slegs na produksie verander, dit wil sê Apache

Soos u hieronder kan sien, weergawe & OS-inligting is weg.

Deaktiveer die gidsblaaierlys

Deaktiveer gidslyste in ‘n blaaier, sodat die besoeker nie kan sien watter lêers en gidse u onder die root- of subgids het nie.

Kom ons kyk hoe lyk dit in standaardinstellings.

  • Gaan na die $ Web_Server / htdocs-gids
  • Skep ‘n lêergids en ‘n paar lêers daarin

# mkdir-toets
# raak hallo
# raak hallo

Laat ons nou toegang tot Apache verkry deur http: // localhost / toets

Soos u kon sien, blyk dit uit al die lêers / vouers wat u het, en ek is seker dat u dit nie wil blootstel nie.

  • Gaan na die $ Web_Server / conf-gids
  •  Maak httpd.conf oop met behulp van vi
  •  Soek na Directory en verander Opsie-richtlijn na Geen of –Hinders

Opsies-Indeks

(Of)

Opsies Geen

  • Herbegin Apache

Opmerking: as u in u omgewing verskeie Directory-riglyne het, moet u dit oorweeg om dieselfde vir almal te doen.

Laat ons nou toegang tot Apache verkry deur http: // localhost / toets

Soos u kon sien, vertoon dit ‘n verbode fout in plaas daarvan om die lys van die toetsmap te wys.

ETAG

Dit laat eksterne aanvallers sensitiewe inligting te bekom soos inode nommer, multipart MIME-grens en kinderproses deur Etag-kop.

Om hierdie kwesbaarheid te voorkom, laat ons dit implementeer soos hieronder. Dit is nodig om die PCI-nakoming op te los.

  • Gaan na die $ Web_Server / conf-gids
  • Voeg die volgende richtlijn by en stoor die httpd.conf

FileETag Geen

  • Herbegin apache

Begin Apache vanaf ‘n nie-bevoorregte rekening

‘N Standaardinstallasie werk as niemand of ‘n demoon nie. Om ‘n aparte nie-bevoorregte gebruiker vir Apache te gebruik, is goed.

Die idee hier is om ander dienste te beskerm wat in die geval van enige veiligheidsgat is.

  • Skep ‘n gebruiker en groep genaamd apache

# groupadd apache
# useradd –G apache apache

  • Verander die eienaarskap van die apache-installasiegids na ‘n nuutgeskepte nie-bevoorregte gebruiker

# chown –R apache: apache / opt / apache

  •  Gaan na $ Web_Server / conf
  •  Verander httpd.conf met behulp van vi
  •  Soek vir gebruiker & Groepeer die richtlijn en verander dit as ‘n nie-bevoorregte rekening-apache

Gebruiker-apache
Groep-apache

  •  Stoor die httpd.conf
  •  Herbegin Apache

grep vir die uitvoering van die http-proses en verseker dat dit met apache-gebruiker loop

# ps –ef | grep http

U moet sien dat een proses met wortel loop. Dit is omdat Apache op poort 80 luister en dit moet met wortel begin word.

Beskerm toestemming vir binêre en konfigurasiegidse

Toestemming vir binêre en konfigurasie is standaard 755, wat beteken dat enige gebruiker op ‘n bediener die opset kan sien. U kan ‘n ander gebruiker toelaat om in die conf- en bin-lêergids te kom.

  • Gaan na die $ Web_Server-gids
  • Verander toestemming van die vouer met die bak en konfig

# chmod –R 750 bin conf

Stelselinstellingsbeskerming

In ‘n standaardinstallasie kan gebruikers die apache-konfigurasie ignoreer met behulp van .htaccess. As u gebruikers wil verhinder om u instellings vir die apache-bediener te verander, kan u AllowOverride by Geen voeg soos hieronder getoon.

Dit moet op die wortelvlak gedoen word.

  • Gaan na die $ Web_Server / conf-gids
  •  Maak httpd.conf oop met behulp van vi
  •  Soek na Directory op ‘n wortelvlak

Opsies-Indeks
Laat geen toe nie

  •  Stoor die httpd.conf
  •  Herbegin Apache

HTTP-versoekmetodes

HTTP 1.1-protokol ondersteun baie versoekmetodes wat moontlik nie nodig is nie en sommige van hulle hou potensiële risiko’s in.

U kan tipies GET, HEAD, POST-versoekmetodes benodig in ‘n webtoepassing, wat in die onderskeie Directory-richtlijn gekonfigureer kan word.

Ondersteuning vir standaardkonfigurasie-opsies, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT-metode in HTTP 1.1-protokol.

  •  Gaan na die $ Web_Server / conf-gids
  •  Maak httpd.conf oop met behulp van vi
  • Soek na gids en voeg die volgende by

ontken van almal

  • Herbegin Apache

Deaktiveer spoor-HTTP-versoek

Trace-metode is standaard op Apache-webbediener ingeskakel.

As u dit inskakel, kan u kruisopsporing aanval en ‘n opsie vir ‘n hacker gee om koekie-inligting te steel. Kom ons kyk hoe dit in standaardopstelling lyk.

  •  Doen ‘n IP-adres van die telnet-webbediener met luisterpoort
  •  Doen ‘n TRACE-versoek soos hieronder getoon

#telnet localhost 80
Probeer 127.0.0.1…
Verbind met localhost.
Ontsnapkarakter is ‘^]’.
TRACE / HTTP / 1.1 Gasheer: toets
HTTP / 1.1 200 OK
Datum: Sat, 31 Aug 2013 02:13:24 GMT
Bediener: Apache
Oordragkodering: gekap
Inhoudstipe: boodskap / http 20
Spoor / HTTP / 1.1
Gasheer: toets
0
Verbinding word deur buitelandse gasheer gesluit.
#

Soos u hierbo in die TRACE-versoek kon sien, het dit op my navraag geantwoord. Laat ons dit deaktiveer en dit toets.

  •  Gaan na die $ Web_Server / conf-gids
  • Voeg die volgende richtlijn by en stoor die httpd.conf

TraceEnable af

  •  Herbegin apache

Doen ‘n IP-adres van die telnet-webbediener met luisterpoort en rig ‘n TRACE-versoek aan soos hieronder getoon

#telnet localhost 80
Probeer 127.0.0.1…
Verbind met localhost.
Ontsnapkarakter is ‘^]’.
TRACE / HTTP / 1.1 Gasheer: toets
HTTP / 1.1 405-metode word nie toegelaat nie
Datum: Sat, 31 Augustus 2013 02:18:27 GMT
Bediener: Apache Laat toe: Inhoud-lengte: 223 Inhoud-tipe: teks / html; charset = iso-8859-1
405 Metode word nie toegelaat nie

Metode word nie toegelaat nie

Die versoekte metode TRACE word nie toegelaat vir die URL /.

Verbinding word deur buitelandse gasheer gesluit.
#

Soos u hierbo in TRACE-versoek kon sien, het dit my versoek met HTTP 405-metode nie toegelaat nie.

Nou laat hierdie webbediener nie TRACE-versoek en hulp toe om aanvalle op die kruis van webwerwe te blokkeer nie.

Stel koekies met HttpOnly en Secure-vlag

U kan die meeste van die algemene Cross Site Scripting-aanval verminder met behulp van HttpOnly en Secure-vlag in ‘n koekie. Sonder om HttpOnly and Secure te hê, is dit moontlik om webtoepassingsessie en koekies te steel of te manipuleer, en dit is gevaarlik.

  •  Verseker dat mod_headers.so op u httpd.conf aangeskakel is
  •  Gaan na die $ Web_Server / conf-gids
  •  Voeg die volgende richtlijn by en stoor die httpd.conf

Kopkop wysig Set-cookie ^ (. *) $ $ 1; HttpOnly; Secure

  •  Herbegin apache

Clickjacking Attack

Clickjacking is ‘n bekende kwesbaarhede op die webtoepassing.

  •  Verseker dat mod_headers.so op u httpd.conf aangeskakel is
  •  Gaan na die $ Web_Server / conf-gids
  •  Voeg die volgende richtlijn by en stoor die httpd.conf

Kopkop voeg altyd X-Frame-Options SAMEORIGIN aan

  •  Herbegin apache

X-Frame-opsies ondersteun ook nog twee opsies wat ek hier uiteengesit het.

Bedienerskant sluit in

Server Side Include (SSI) kan die las op die bediener verhoog. As u die omgewing en webtoepassings met ‘n swaar verkeer gedeel het, moet u dit oorweeg om SSI te deaktiveer deur die Include in Options-richtlijn by te voeg.

Met SSI-aanval kan ‘n webtoepassing ontgin word deur skripte in HTML-bladsye in te spuit of kodes op afstand uit te voer.

  • Gaan na die $ Web_Server / conf-gids
  •  Maak httpd.conf oop met behulp van vi
  •  Soek na Directory en voeg Include in Options-richtlijn by

Opsies –Indexes-Sluit in
Bestel toelaat, weier dit van alles af

  • Herbegin Apache

Opmerking: as u in u omgewing verskeie Directory-riglyne het, moet u dit oorweeg om dieselfde vir almal te doen.

X-XSS-beskerming

XSS-beskerming (Cross Site Scripting) kan in baie blaaiers omseil word. U kan hierdie beskerming toepas op ‘n webtoepassing as dit deur die gebruiker gedeaktiveer is. Dit word gebruik deur ‘n meerderheid reuse-webondernemings soos Facebook, Twitter, Google, ens.

  • Gaan na die $ Web_Server / conf-gids
  • Open httpd.conf met behulp van vi en voeg die volgende Header-richtlijn by

Kopstuk X-XSS-beskerming "1; modus = blok"

  •  Herbegin Apache

Soos u kan sien, word XSS-Protection in die antwoordkop ingespuit.

Skakel HTTP 1.0-protokol uit

As ons oor veiligheid praat, moet ons soveel moontlik beskerm. Waarom gebruik ons ​​ouer HTTP-weergawe van die protokol, laat ons dit ook deaktiveer??

HTTP 1.0 het sekuriteits swakheid wat verband hou met sessie kaping. Ons kan dit deaktiveer deur die mod_rewrite-module te gebruik.

  • Maak seker dat u die mod_rewrite-module in die httpd.conf-lêer laai
  •  Aktiveer RewriteEngine-opdrag soos volg en voeg Herskryfvoorwaarde toe om slegs HTTP 1.1 toe te laat

Herskryf enjin aan
Herskryf Cond% {THE_REQUEST}! HTTP / 1.1 $
RewriteRule. * – [F]

Time-out waarde konfigurasie

Standaard is die time-out-waarde van Apache 300 sekondes, wat ‘n slagoffer kan wees van die Slow Loris-aanval en die DoS. Om dit te verminder, kan u die time-out-waarde tot 60 sekondes verlaag.

  • Gaan na die $ Web_Server / conf-gids
  • Maak httpd.conf oop met behulp van vi
  •  Voeg die volgende in httpd.conf

Tydsverloop 60

SSL

Om SSL te hê, is ‘n bykomende sekuriteitslaag wat u by die webtoepassing voeg. Standaard SSL-konfigurasie lei egter tot sekere kwesbaarhede, en u moet dit oorweeg om die konfigurasies aan te pas.

SSL-sleutel

Die SSL-sleutel is verbreek, maar nie onmoontlik nie. Dit is net ‘n kwessie van berekeningskrag en tyd.

Soos u dalk weet, gebruik u ‘n rekenaar in die 2009-era vir ongeveer 73 dae omgekeerde ingenieur ‘n 512-bis sleutel.

Hoe hoër die sleutellengte is, hoe ingewikkelder raak dit om die SSL-sleutel te breek. Die meerderheid reuse-webondernemings gebruik 2048-bis-sleutels, soos hieronder, hoekom doen ons dit nie??

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

U kan OpenSSL gebruik om CSR te genereer met 2048 bis soos hieronder.

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

Dit sal ‘n CSR genereer wat u na ‘n sertifikaatowerheid om dit te onderteken. Sodra u die ondertekende sertifikaatlêer ontvang het, kan u dit in die httpd-ssl.conf-lêer voeg

SSLCertificateFile #Certificate deur gesag onderteken
SSLCertificateChainFile #Certificate-ondertekenaar word deur gesag gegee
SSLCertificateKeyFile #Key-lêer wat u hierbo gegenereer het

  • Herbegin Apache-webbediener en probeer om toegang tot die URL met https

SSL-kodes

SSL Cipher is ‘n koderingsalgoritme wat as ‘n sleutel tussen twee rekenaars via die internet gebruik word. Datakodering is die proses om gewone teks in geheime gekodeerde kodes te omskep.

Dit is gebaseer op u webbediener SSL Cipher-konfigurasie, en die datakodering sal plaasvind. Dit is dus belangrik om SSL Cipher, wat sterker en nie kwesbaar is, op te stel nie.

  • Gaan na die $ Web_Server / conf / extra-lêergids
  •  Verander SSLCipherSuite-richtlijn in httpd-ssl.conf soos hieronder om slegs hoër koderingsalgoritmes te aanvaar.

SSLCipherSuite HIGH:! MEDIUM:! ANULL:! MD5:! RC4

  •  Stoor die konfigurasielêer en herbegin die apache-bediener

Opmerking: as u baie swak skeure in u SSL-ouditverslag het, kan u hulle vinnig byvoeg! Aan die begin.

Deaktiveer SSL v2 & v3

SSL v2 & v3 het baie veiligheidsfoute, en as u ‘n penetrasietoets of PCI-nakoming beywer, word daar van u verwag om sekuriteitsbevinding te sluit om SSL v2 / v3 uit te skakel.

Enige SSL v2 / v3-kommunikasie kan kwesbaar wees vir ‘n Man-in-die-Midde-aanval wat dataverwydering of bekendmaking moontlik kan maak.

Kom ons implementeer apache-webbediener om slegs die nuutste TLS te aanvaar en SSL v2 / v3-verbindingsversoek te verwerp.

  • Gaan na die $ Web_Server / conf / extra-lêergids
  • Verander die SSLProtocol-richtlijn in httpd-ssl.conf soos hieronder om slegs TLS 1.2 te aanvaar+

SSLProtocol –ALL + TLSv1.2

As u klaar is met SSL-konfigurasie, is dit ‘n goeie idee om u webtoepassing met die aanlyn SSL / TLS-sertifikaatinstrument te toets om enige konfigurasiefout te vind.

Mod Sekuriteit

Mod Security is ‘n open source webtoepassings firewall wat u met Apache kan gebruik.

Dit kom as ‘n module wat u moet saamstel en installeer. As u nie ‘n kommersiële firewall vir webtoepassings kan bekostig nie, is dit ‘n uitstekende keuse om dit te doen.

Om generiese webtoepassingsbeskerming te bied, gebruik die kernreëls die volgende tegnieke:

  • HTTP-beskerming – opsporing van oortredings van die HTTP-protokol en ‘n plaaslik gedefinieerde gebruiksbeleid
  • Intydse soeklys vir swartlys – maak gebruik van IP-reputasie van derdepartye
  • Webgebaseerde opsporing van wanware – identifiseer kwaadwillige webinhoud deur middel van ‘n tjek teen die Google Safe Browsing API.
  • HTTP-weiering van diensbeskerming – verdediging teen HTTP-oorstromings en trae HTTP-DoS-aanvalle.
  • Algemene beskerming van webaanvalle – opsporing van algemene veiligheidsaanvalle op die webtoepassing
  • Outomatiseringsopsporing – Bots, kruipers, skandeerders en nog ‘n kwaadwillige oppervlakaktiwiteit op te spoor
  • Integrasie met AV-skandering vir lêeroplaai – identifiseer kwaadwillige lêers wat deur die webtoepassing opgelaai is.
  • Sensitiewe data dop – Volg die gebruik van kredietkaarte en blokkeer lekkasies.
  • Trojanbeskerming – Opsporing van toegang tot Trojaanse perde.
  • Identifisering van toepassingsdefekte – waarskuwings oor verkeerde konfigurasies van toepassings.
  • Foutopsporing en wegkruip – foute-boodskappe wat deur die bediener gestuur is, verbloem.

Aflaai & installasie

Volgende voorvereistes moet op die bediener geïnstalleer word waar u Mod Security met Apache wil gebruik. As een hiervan nie bestaan ​​nie, sal die samestelling van Mod Security misluk. U mag yum install op Linux of Centos gebruik om hierdie pakkette te installeer.

  • apache 2.x of hoër
  • libpcre pakket
  •  libxml2-pakket
  • liblua-pakket
  • libcurl-pakket
  •  libapr en libapr-util pakket
  •  mod_unique_id-module gebundel met Apache-webbediener

Laat ons nou die nuutste stabiele weergawe van Mod Security 2.7.5 aflaai hier

  • Dra die afgelaaide lêer oor na / opt / apache
  • Onttrek modsecurity-apache_2.7.5.tar.gz

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

  • Gaan na onttrekte vouer-modsecurity-apache_2.7.5

# cd modsecurity-apache_2.7.5

  • Begin die opstelskrip, insluitend die apxs-pad na die bestaande Apache

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

  • Stel & installeer met make script

# maak
# maak installeer

  • Sodra die installasie gedoen is, sal u mod_security2.so sien in die module-lêergids onder / opt / apache

Nou is dit afgesluit, u het die Mod Security-module in die bestaande Apache-webbediener geïnstalleer.

opset

Om die Mod-beveiligingsfunksie met Apache te gebruik, moet ons die mod-beveiligingsmodule in httpd.conf laai. Die mod_unique_id-module is ‘n vereiste vir Mod Security.

Hierdie module bied ‘n omgewingsveranderlike met ‘n unieke identifiseerder vir elke versoek, wat gevolg word deur Mod Security.

  • Voeg ‘n lyn na om die module vir Mod Security in httpd.conf te laai en stoor die konfigurasielêer

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

  •  Herbegin apache-webbediener

Mod Security is nou geïnstalleer!

Die volgende ding wat u moet doen is om Mod Security se kernreël te installeer om die funksie daarvan ten volle te benut.

Die nuutste kernreël kan afgelaai word deur ‘n gratis skakel te volg. https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master

  • Kopieër afgelaaide kernreël zip na / opt / apache / conf gids
  • Pak kernreëllêer uit
  • Miskien wil u die gids hernoem na iets kort en maklik om te onthou. In hierdie voorbeeld sal ek die naam van die naam van crs gee.
  • Gaan na die map crs en hernoem modsecurity_crs10_setup.conf.example na modsecurity_crs10_setup.conf

Laat ons hierdie reëls nou in staat stel om dit met Apache-webbediener te laat werk.

  •  Voeg die volgende in httpd.conf

Sluit conf / crs / modsecurity_crs_10_setup.conf in Sluit conf / crs / base_rules / *. Conf in

In die bogenoemde konfigurasie laai ons Mod Security se hoofkonfigurasie-lêer modsecurity_crs_10_setup.conf en basisreëls base_rules / *. Conf wat deur Mod Security-kernreëls verskaf word om webtoepassings te beskerm.

  •  Herbegin apache-webbediener

U het Mod Security met Apache suksesvol gekonfigureer!

Wel gedaan. Nou word Apache-webbediener beskerm deur die Mod Security-webtoepassing-firewall.

Aan die gang kom

Laat ons begin met enkele van die kritieke konfigurasies in Mod Security om te verhard & veilige webtoepassings.

In hierdie afdeling sal ons alle konfigurasiemodifikasies in /opt/apache/conf/crs/modsecurity_crs_10_setup.conf doen.

Ons sal byvoorbeeld /opt/apache/conf/crs/modsecurity_crs_10_setup.conf as setup.conf in hierdie afdeling verwys..

Dit is belangrik om te verstaan ​​wat die OWASP-reëls gratis verskaf. Daar is twee soorte reëls wat deur OWASP voorsien word.

Basisreëls – hierdie reëls word swaar getoets, en die vals alarmverhouding is waarskynlik minder.

Eksperimentele reëls – hierdie reëls is vir ‘n eksperimentele doel, en u kan ‘n hoë vals alarm hê. Dit is belangrik om UAT op te stel, te toets en te implementeer voordat dit in ‘n produksie-omgewing gebruik word.

Opsionele reëls – hierdie opsionele reëls is moontlik nie geskik vir die hele omgewing nie. Op grond van u vereiste mag u dit gebruik.

As u op soek is na CSRF, gebruikersopsporing, kaping van sessies, ens., Kan u dit oorweeg om opsionele reëls te gebruik. Ons het die basiese, opsionele en eksperimentele reëls nadat ons die afgelaaide crs-zip-lêer van die OWASP-aflaaibladsy onttrek het.

Hierdie reëlkonfigurasielêer is beskikbaar in die gids crs / base_rules, crs / optional_rules en crs / experimental_rules. Laat ons vertroud wees met sommige van die basisreëls.

  • modsecurity_crs_20_protocol_violations.conf: Hierdie reël is beskerm teen protokol kwesbaarhede soos reaksiesplitsing, smokkel versoek, met behulp van nie-toegelate protokol (HTTP 1.0).
  • modsecurity_crs_21_protocol_anomalies.conf: Dit is om te beskerm teen ‘n versoek, wat ontbreek met Host, Accept, User-Agent in die kop.
  • modsecurity_crs_23_request_limits.conf: Hierdie reël is afhanklik van toepassing spesifiek soos versoekgrootte, oplaaigrootte, lengte van ‘n parameter, ens..
  • modsecurity_crs_30_http_policy.conf: dit is om toegelate of nie-toegelate metode soos CONNECT, TRACE, PUT, DELETE, ens op te stel en te beskerm, ens..
  • modsecurity_crs_35_bad_robots.conf: Spoor kwaadwillige robotte op
  • modsecurity_crs_40_generic_attacks.conf: Dit is om te beskerm teen OS-opdraginspuiting, opname van eksterne lêers, ens..
  • modsecurity_crs_41_sql_injection_attacks.conf: Hierdie reël om SQL en blinde SQL-inspuitversoek te beskerm.
  • modsecurity_crs_41_xss_attacks.conf: Beveiliging teen ‘n webwerf-skripversoek.
  • modsecurity_crs_42_tight_security.conf: opsporing en beskerming van die gidsoorsig.
  • modsecurity_crs_45_trojans.conf: Hierdie reël om generiese lêerbestuursuitsette op te spoor, oplaai van HTTP-agterdeurbladsy, bekende handtekening.
  • modsecurity_crs_47_common_exceptions.conf: dit word gebruik as ‘n uitsonderingsmeganisme om algemene vals positiewe te verwyder wat voorkom as Apache interne domkopverbinding, SSL pinger, ens..

meld

Aanmelding is een van die eerste dinge wat u moet opstel, sodat u logs kan skep vir wat Mod Security doen. Daar is twee soorte houtkap beskikbaar; debug & Ouditlogboek.

Ontfout log: dit is om die Apache fout, waarskuwing en kennisgewing boodskappe uit die fout log te dupliseer.

Ouditlogboek: dit is om die transaksielogboeke te skryf wat gemerk is deur Mod Security-reël. Mod Security gee u die buigsaamheid om oudit-, ontfout- of albei aanmeldings op te stel..

By verstek sal die konfigurasie beide logs skryf. U kan egter verander op grond van u vereiste. Die log word beheer in die SecDefaultAction-richtlijn. Kom ons kyk na standaardkonfigurasie vir aanmelding in setup.conf

SecDefaultAction “fase: 1, ontken, aanteken”

Om ontfout te log, ouditlog – gebruik “log” Om slegs die ouditlogboek aan te teken – gebruik “nolog, auditlog” Om slegs die foutopsporing te log – gebruik “log, noauditlog” U kan die plek waar u gestoor moet word, spesifiseer wat deur SecAuditLog beheer word richtlijn.

Laat ons die ouditlogboek in /opt/apache/logs/modsec_audit.log skryf deur dit by te voeg soos hieronder getoon.

  • Voeg SecAuditLog-richtlijn toe in setup.conf en herbegin Apache Web Server

SecAuditLog /opt/apache/logs/modsec_audit.log

  • Na die herbeginning moet u sien dat modsec_audit.log gegenereer word

Aktiveer reëlmotor

Enjinreël is standaard af, wat beteken dat as u nie reëlmotor inskakel nie, u nie al die voordele van Mod Security gebruik nie.

Reëlmotor wat inskakel of deaktiveer word beheer deur die SecRuleEngine-richtlijn.

  • Voeg SecRuleEngine-richtlijn toe in setup.conf en herbegin Apache Web Server

SecRuleEngine Aan

Daar is drie waardes vir SecRuleEngine:

  • Aan – om reëlmotor in staat te stel
  • Uit – om die reëlmotor uit te skakel
  • DetectionOnly – stel Rule Engine in staat, maar voer nooit handelinge uit soos blokkeer, weier, laat val, laat toe, instaan ​​of herlei nie

Sodra die reëlmotor aan is, is Mod Security gereed om te beskerm met sommige van die algemene aanvalstipes.

Algemene aanval tipe beskerming

Nou is die webbediener gereed om te beskerm met algemene aanvalstipes soos XSS, SQL-inspuiting, protokolskending, ens., Aangesien ons Core Rule geïnstalleer het en Rule Engine aangeskakel het. Kom ons toets ‘n paar daarvan.

XSS Aanval

  •  Maak Firefox oop en gaan na u aansoek en plaas etiket aan die einde of URL
  •  Monitor die modsec_audit.log in die apache / logs-lêergids

U sal die Mod Security-blokke versoek, aangesien dit tag bevat wat die wortel van die XSS-aanval is.

Directory Traversal Attack: – Directory Traversal Attack kan baie skade veroorsaak deur voordeel te trek uit hierdie kwesbaarhede en toegang tot die stelselverwante lêer. Ex – / etc / passwd, .htaccess, ens.

  •  Maak Firefox oop en kry toegang tot u aansoek met gidsversameling
  •  Monitor die modsec_audit.log in die apache / logs-lêergids

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

  • U sal Mod-sekuriteitblokke se versoek opmerk, aangesien dit gidsomskakeling bevat.

Verander bedienerbanner

Vroeër in hierdie handleiding het u geleer hoe om Apache- en OS-tipe, weergawe-hulp van ServerTokens-richtlijn te verwyder.

Laat ons ‘n stap vorentoe gaan, hoe gaan dit met die naam van die bediener wat u wil hê? Dit is moontlik met SecServerSignature-richtlijn in Mod Security. U sien dit is interessant.

Opmerking: om Mod Security te gebruik om Server Banner vanuit ‘n kopkop te manipuleer, moet u ServerTokesn op Vol stel in httpd.conf van Apache-webbediener..

  • Voeg SecServerSignature-richtlijn by met die gewenste bedienernaam in setup.conf en herbegin Apache Web Server

SecServerSignature YourServerName

ex:

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

Algemene konfigurasie

Kom ons kyk na sommige van die algemene konfigurasies as beste praktyk.

Stel Luister op

As u veelvuldige koppelvlakke en IP’s op ‘n enkele bediener het, word dit aanbeveel dat Luisterrigting opgestel word met absolute IP- en poortnommer.

As u apache-konfigurasie verlaat om op alle IP’s met ‘n sekere poortnommer te luister, kan dit die probleem skep wanneer u HTTP-versoek na ‘n ander webbediener stuur. Dit kom baie voor in die gedeelde omgewing.

  • Stel Luister richtlijn in httpd.conf op met absolute IP en poort soos hieronder getoon

Luister 10.10.10.1:80

Toegang logboek

Dit is noodsaaklik om toegangslogboek korrek op u webbediener op te stel. Die belangrikste parameter om in die logboek vas te lê is die tyd wat dit neem om die versoek te bedien, SESSION ID.

Apache is standaard nie opgestel om hierdie data vas te lê nie. U moet dit met die hand as volg opstel.

  • Om die tyd wat u benodig om die versoek en SESSION ID in ‘n toegangslogboek te dien, vas te lê
  •  Voeg% T by & % sessieID in httpd.conf onder die LogFormat-richtlijn

LogFormat "% h% l% u% t "% {Sessie-} C" "% r" %>s% b% T" algemene

U kan verwys http://httpd.apache.org/docs/2.2/mod/mod_log_config.html vir ‘n volledige lys parameter wat ondersteun word in die LogFormat-richtlijn in Apache Web Server.

Deaktiveer Laai ongewenste modules

As u al die modules saamgestel en geïnstalleer het, is die kans groot dat baie modules in Apache gelaai word, wat moontlik nie nodig is nie.

Die beste praktyk is om Apache met die vereiste modules in u webtoepassings te konfigureer. Die volgende modules het sekuriteitsprobleme, en u wil dalk in httpd.conf van Apache Web Server deaktiveer.

WebDAV (webgebaseerde verspreide outeur en weergawe) Met hierdie module kan eksterne klante lêers op die bediener manipuleer en onderhewig wees aan verskillende aanvalle op die weiering van die diens. Om opmerking volgende in httpd.conf te deaktiveer

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

Inligting module Die mod_info module kan sensitiewe inligting lek met behulp van .htaccess sodra hierdie module gelaai is. Om opmerking volgende in httpd.conf te deaktiveer

#LoadModule info_module modules / mod_info.so

Verwysing: dit sou nie moontlik wees sonder leiding van die volgende skakel nie:

Dit was dus van die beste praktyke wat u kan gebruik om u Apache-webbediener te beveilig.

As u nuut is met Apache HTTP, sal ek aanbeveel dat u dit neem die Apache HTTP-administrasiekursus.

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