Udhëzues i ngurtësimit dhe i sigurisë i serverit në internet Apache

Një udhëzues praktik për të siguruar dhe forcuar Server HTTP Apache.


Web Serveri është një pjesë thelbësore e aplikacioneve të bazuara në ueb. Apache Web Server shpesh vendoset në skajin e rrjetit, kështu që bëhet një nga shërbimet më të rrezikuara për të sulmuar.

Duke pasur konfigurimin e paracaktuar ofrojnë informacion shumë të ndjeshëm që mund të ndihmojnë hakerin të përgatitet për një sulm të aplikacioneve. Shumica e sulmeve të aplikacioneve në internet janë përmes sulmeve XSS, Info Leakage, Session Management dhe SQL Injection të cilat janë për shkak të kodit të dobët të programimit dhe dështimit të sanitizimit të infrastrukturës së aplikacionit në internet.

Hulumtim interesant nga Teknologjitë Pozitive zbulon, 52% e aplikacionit të skanuar kishin cenueshmëri të lartë.

Në këtë artikull, unë do të flas për disa nga praktikat më të mira për të siguruar serverin Apache HTTP në platformën Linux.

Në vijim janë testuar në versionin Apache 2.4.x.

  • Kjo supozon se keni instaluar Apache në platformën UNIX. Nëse jo, mund të kaloni nëpër udhëzuesin e Instalimit.
  • Unë do ta quaj direktorinë e instalimit të Apache / opt / apache si $ Web_Server gjatë gjithë këtij udhëzuesi.
  • Ju këshillohet të merrni një kopje rezervë të skedarit ekzistues të konfigurimit përpara çdo modifikimi.

audiencë

Kjo është krijuar për Administratorin e Middleware-it, Mbështetjen e Aplikimit, Analistin e Sistemit, ose këdo që punon ose dëshiron të mësojë Hardening & Udhëzimet e sigurisë.

Njohuri të drejta të serverit në internet Apache & Komanda UNIX është e detyrueshme.

Shënime

Keni nevojë për një mjet për të ekzaminuar Titujt HTTP për disa nga verifikimet e zbatimit. Ka dy mënyra për ta bërë këtë.

  1. Përdorni mjetet e zhvilluesit të integruar të shfletuesit për të inspektuar titujt e HTTP. Zakonisht, është nën skedën Rrjeti
  2. Përdorni mjetin kontrollues të kokës së përgjigjes në internet HTTP

Hiq flamurin e versionit të serverit

Unë do të thoja që kjo është një nga gjërat e para që duhet të konsideroni, pasi nuk doni të ekspozoni atë version të serverit të internetit që po përdorni. Ekspozimi i versionit do të thotë që po ndihmoni hakerin të shpejtojë procesin e zbulimit.

Konfigurimi i paracaktuar do të ekspozojë Apache Versionin dhe llojin e OS, siç tregohet më poshtë.

  • Shkoni te dosja $ Web_Server / konfuzion
  • Modifikoni httpd.conf duke përdorur redaktorin vi
  • Shtoni direktivën e mëposhtme dhe ruajeni httpd.conf

ServerTokens Prod
ServerSignature Off

  • Rinisni apache

ServerSignature do të heq informacionin e versionit nga faqja e gjeneruar nga Apache.

ServerTokens do ta ndryshojë Header-in vetëm në prodhim, d.m.th., Apache

Siç mund ta shihni më poshtë, versioni & Informacioni mbi OS është zhdukur.

Disaktivizoni renditjen e shfletuesit të direktorive

Disaktivizoni renditjen e drejtorive në një shfletues, kështu që vizitori nuk shikon se çfarë skedari dhe dosjet keni nën rrënjë ose nëndrejtori.

Le të testojmë se si duket në cilësimet e paracaktuar.

  • Shkoni te drejtoria e $ Web_Server / htdocs
  • Krijoni një dosje dhe disa skedarë brenda kësaj

# provë mkdir
# prekni hi
# prekje përshëndetje

Tani, le të përpiqemi të qasemi në Apache nga http: // localhost / testi

Siç mund ta shihni, zbulon se çfarë të gjithë skedarët / dosjet keni dhe unë jam i sigurt që nuk dëshironi ta ekspozoni atë.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Hapni httpd.conf duke përdorur vi
  •  Kërkoni për Drejtori dhe ndryshoni direktivën e opsioneve tek Asnjë ose –Indekset

Opsione -Indekset

(Ose)

Asnjë opsion

  • Rinisni Apache-un

Shënim: nëse keni direktiva të shumta Directory në mjedisin tuaj, duhet të konsideroni të bëni të njëjtën gjë për të gjithë.

Tani, le të përpiqemi të qasemi në Apache nga http: // localhost / testi

Siç mund ta shihni, ai shfaq një gabim të ndaluar në vend që të tregojë listën e dosjeve të provave.

Etag

Ai lejon sulmuesit e largët të marrin informacione të ndjeshme si numri i inode, kufiri shumëpjesësh MIME dhe procesi i fëmijëve përmes kokës Etag.

Për të parandaluar këtë ndjeshmëri, le ta zbatojmë si më poshtë. Kjo kërkohet për të rregulluar përputhshmërinë e PCI.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  • Shtoni direktivën e mëposhtme dhe ruajeni httpd.conf

FileETag Asnjë

  • Rinisni apache

Drejtoni Apache nga një llogari jo e privilegjuar

Një instalim i paracaktuar funksionon si askush ose demon. Përdorimi i një përdoruesi të veçantë jo të privilegjuar për Apache është e mirë.

Ideja këtu është të mbrojmë shërbimet e tjera që funksionojnë në rast të ndonjë vrimë sigurie.

  • Krijoni një përdorues dhe grup të quajtur apache

# apash grupesh
# useradd –Gamje apache

  • Ndryshoni pronësinë e drejtorisë së instalimit të apache në një përdorues të krijuar rishtazi pa privilegjuar

# chown –R apache: apache / opt / apache

  •  Shkoni te $ Web_Server / konfuzion
  •  Modifikoni httpd.conf duke përdorur vi
  •  Kërkoni për Përdoruesin & Direktiva e grupit dhe ndryshimi si apache jo i privilegjuar i llogarisë

Apache e përdoruesit
Apache në grup

  •  Ruani httpd.conf
  •  Rinisni Apache-un

përshëndetje për drejtimin e procesit http dhe sigurohuni që ajo po funksionon me përdoruesin e apache

# ps –ef | grep http

Ju duhet të shihni që një proces po funksionon me rrënjë. Kjo sepse Apache është duke dëgjuar në portin 80 dhe duhet të fillohet me rrënjë.

Mbroni lejen e direktorisë binare dhe konfigurimit

Si parazgjedhje, leja për binare dhe konfigurim është 755 që do të thotë se çdo përdorues në një server mund të shikojë konfigurimin. Mund të mos lejoni një përdorues tjetër të futet në dosje konfuzion dhe kosh.

  • Shkoni te drejtoria e $ Web_Server
  • Ndryshoni lejen e dosjes së binit dhe konfuzionit

# chmod –R 750 bin konf

Mbrojtja e cilësimeve të sistemit

Në një instalim të paracaktuar, përdoruesit mund të refuzojnë konfigurimin e apache duke përdorur .htaccess. Nëse doni të ndaloni përdoruesit të ndryshojnë cilësimet e serverit tuaj të apache, mund të shtoni AllowOverride në Asnjë siç tregohet më poshtë.

Kjo duhet të bëhet në nivelin e rrënjës.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Hapni httpd.conf duke përdorur vi
  •  Kërkoni Drejtorinë në një nivel rrënjësor

Opsione -Indekset
LejoOveride Asnjë

  •  Ruani httpd.conf
  •  Rinisni Apache-un

Metodat e kërkimit të HTTP

Protokolli HTTP 1.1 mbështet shumë metoda kërkese të cilat mund të mos kërkohen dhe disa prej tyre kanë rrezik potencial.

Në mënyrë tipike, ju mund të keni nevojë për metodat e kërkimit GET, HEAD, POST në një aplikacion në internet, i cili mund të konfigurohet në direktivën përkatëse të Drejtorisë..

Mbështetje për konfigurimin e paracaktuar OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, metodë CONNECT në protokollin HTTP 1.1.

  •  Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Hapni httpd.conf duke përdorur vi
  • Kërkoni Drejtorinë dhe shtoni më poshtë

mohojnë nga të gjithë

  • Rinisni Apache-un

Ableaktivizoni kërkesën për gjurmë HTTP

Si parazgjedhje, metoda e Gjurmës është aktivizuar në serverin në internet Apache.

Duke e aktivizuar këtë mund të lejojë sulmin Cross Site Tracing dhe potencialisht dhënien e një mundësi një hakeri për të vjedhur informacione për cookie-t. Le të shohim se si duket në konfigurimin e paracaktuar.

  •  Bëni një IP të serverit telnet me portë dëgjimi
  •  Bëni një kërkesë TRACE siç tregohet më poshtë

#telnet localhost 80
Duke provuar 127.0.0.1…
Lidhur me localhost.
Karakteri i arratisjes është ‘^]’.
TRACE / HTTP / 1.1 Pritësi: provë
HTTP / 1.1 200 OK
Data: Sat, 31 Gusht 2013 02:13:24 GMT
Serveri: Apache
Kodimi i transferimit: copëzuar
Lloji i përmbajtjes: mesazhi / http 20
TRACE / HTTP / 1.1
Pritësi: provë
0
Lidhja e mbyllur nga pritësi i huaj.
#

Siç mund ta shihni në kërkesën e mësipërme TRACE, ajo i është përgjigjur pyetjes sime. Le ta çaktivizojmë dhe provojmë.

  •  Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  • Shtoni direktivën e mëposhtme dhe ruajeni httpd.conf

Gjurmë e paqëndrueshme

  •  Rinisni apache

Bëni një IP të serverit telnet me portë dëgjimi dhe bëni një kërkesë TRACE siç tregohet më poshtë

#telnet localhost 80
Duke provuar 127.0.0.1…
Lidhur me localhost.
Karakteri i arratisjes është ‘^]’.
TRACE / HTTP / 1.1 Pritësi: provë
Metoda HTTP / 1.1 405 Lejohet
Data: Sat, 31 Gusht 2013 02:18:27 GMT
Serveri: Apache Lejoni: Gjatësia e përmbajtjes: 223-Lloji i përmbajtjes: teksti / html; charset = iso-8859-1
405 Metoda nuk lejohet

Metoda nuk lejohet

Metoda e kërkuar TRACE nuk lejohet për URL /.

Lidhja e mbyllur nga pritësi i huaj.
#

Siç mund ta shihni në kërkesën e mësipërme TRACE, ajo ka bllokuar kërkesën time me metodën HTTP 405 Mos Lejohet.

Tani, ky server në internet nuk lejon kërkesë dhe ndihmë TRACE për të bllokuar sulmin e Ndihmimit të faqeve kryq.

Vendosni cookie me flamurin HttpOnly dhe Secure

Ju mund të lehtësoni pjesën më të madhe të sulmit të zakonshëm të Scriptting Cross Site duke përdorur flamurin HttpOnly dhe të Sigurt në një cookie. Pa pasur HttpOnly dhe të Sigurt, është e mundur të vidhni ose manipuloni seancën e aplikacioneve në internet dhe cookies, dhe është e rrezikshme.

  •  Sigurohuni që mod_headers.so është aktivizuar në httpd.conf tuaj
  •  Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Shtoni direktivën e mëposhtme dhe ruajeni httpd.conf

Redaktoni kokën Set-Cookie ^ (. *) $ 1; HttpOnly; Sigurt

  •  Rinisni apache

Sulmi me klikim

Clickjacking është një dobësi e njohur e aplikacionit në internet.

  •  Sigurohuni që mod_headers.so është aktivizuar në httpd.conf tuaj
  •  Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Shtoni direktivën e mëposhtme dhe ruajeni httpd.conf

Header gjithmonë bashkëngjitni opsionet e X-Frame SAMEORIGIN

  •  Rinisni apache

Opsionet X-Frame gjithashtu mbështesin dy mundësi të tjera, të cilat i shpjegova këtu.

Përfshi anën e serverit

Përfshirja e serverit (SSI) ka një rrezik për të rritur ngarkesën në server. Nëse keni ndarë aplikacionin e mjedisit dhe trafikut të rëndë në internet, duhet të merrni parasysh paaftësimin e SSI duke shtuar Direktivën e Përfshirjet në Opsione.

Sulmi SSI lejon shfrytëzimin e një aplikacioni në internet duke injektuar skriptet në faqet HTML ose duke ekzekutuar kodet nga distanca.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  •  Hapni httpd.conf duke përdorur vi
  •  Kërkoni për Drejtori dhe shtoni Përfshihet në direktivën e opsioneve

Opsione –Indekset – Përfshinë
Urdhëroni të lejoni, mohoni gjithçka nga të gjithë

  • Rinisni Apache-un

Shënim: nëse keni direktiva të shumta Directory në mjedisin tuaj, duhet të konsideroni të bëni të njëjtën gjë për të gjithë.

Mbrojtja X-XSS

Mbrojtja e faqeve të kryqëzuara (XSS) mund të anashkalohet në shumë shfletues. Ju mund ta zbatoni këtë mbrojtje për një aplikacion në internet nëse është çaktivizuar nga përdoruesi. Kjo është përdorur nga një shumicë e kompanive gjigande të internetit si Facebook, Twitter, Google, etj.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  • Hapni httpd.conf duke përdorur vi dhe shtoni direktivën vijuese Header

Vendosja e kokës X-XSS-Protection "1; Mënyra = block"

  •  Rinisni Apache-un

Siç mund ta shihni, XSS-Protection është injektuar në kokën e përgjigjes.

Disaktivizoni Protokollin HTTP 1.0

Kur flasim për sigurinë, duhet të mbrojmë sa të mundemi. Pra, pse ne përdorim versionin më të vjetër të HTTP të protokollit, le t’i çaktivizojmë ato gjithashtu?

HTTP 1.0 ka dobësi sigurie në lidhje me rrëmbimin e seancave. Ne mund ta çaktivizojmë këtë duke përdorur modulin mod_rewrite.

  • Sigurohuni që të ngarkoni modulin mod_rewrite në skedarin httpd.conf
  •  Aktivizoni direktivën RewriteEngine si më poshtë dhe shtoni gjendjen Rishkruaj për të lejuar vetëm HTTP 1.1

Rishkruaj Ngjarje Ndezur
RishkruajCond% {THE_REQUEST! HTTP / 1.1 $
Rishkruaj Rregulloren. * – [F]

Konfigurimi i vlerës së afatit kohor

Si parazgjedhje, vlera e mbarimit të Apache është 300 sekonda, e cila mund të jetë viktimë e sulmit të ngadaltë Loris dhe DoS. Për ta zbutur këtë, ju mund ta ulni vlerën e kohëzgjatjes në ndoshta 60 sekonda.

  • Shkoni te drejtoria e konfeksionit $ Web_Server / conf
  • Hapni httpd.conf duke përdorur vi
  •  Shtoni sa vijon në httpd.conf

Afati 60

SSL

Pasja e SSL është një shtresë shtesë e sigurisë që po shtoni në Aplikacionin në Ueb. Sidoqoftë, konfigurimi i parazgjedhur i SSL çon në dobësi të caktuara, dhe duhet të merrni parasysh t’i rregulloni ato konfigurime.

Lelësi SSL

Thyerja e çelësit SSL është e vështirë, por jo e pamundur. Shtë thjesht çështje fuqie dhe kohe llogaritëse.

Siç mund ta dini, duke përdorur një PC të epokës 2009 që shkatërrohet për rreth 73 ditë mundeni inxhinier i kundërt një çelës 512-bit.

Pra, gjatësia më e lartë e çelësit që keni, aq më e ndërlikuar bëhet prishja e çelësit SSL. Shumica e Kompanive Gjigande të Uebit përdorin çelësin 2048 bit, si më poshtë, pse nuk jemi ne?

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

Ju mund të përdorni OpenSSL për të gjeneruar CSR me 2048 bit si më poshtë.

hedhja e zgjedhjeve – pa geekflare.csr -nickkey rsa: 2048 -node -kuptim geekflare.key

Do të gjenerojë një CSR të cilën duhet t’i dërgoni tek a autoriteti i çertifikatës për ta firmosur. Pasi të keni marrë skedarin e nënshkruar të certifikatës, mund t’i shtoni ato në skedarin httpd-ssl.conf

SSLCertificateFile #Certificate nënshkruar nga autoriteti
Nënshkruesi SSCertificateChainFile #Certificate dhënë nga autoriteti
Skedar SSLCertificateKeyFile #Key që keni gjeneruar më lart

  • Rinisni përsëri serverin në internet Apache dhe përpiquni të përdorni URL-në me https

Shifra SSL

SSL Cipher është një algoritëm i kriptimit, i cili përdoret si çelës midis dy kompjuterëve përmes Internetit. Kriptimi i të dhënave është procesi i shndërrimit të tekstit të thjeshtë në kode të koduara sekrete.

Bazohet në konfigurimin e shifrës SSL të serverit tuaj të internetit encryption do të bëhet. Prandaj është e rëndësishme të konfiguroni Cifherin SSL, i cili është më i fortë dhe jo i prekshëm.

  • Shkoni te dosja $ Web_Server / konfference / ekstra
  •  Modifikoni direktivën SSLCipherSuite në httpd-ssl.conf si më poshtë për të pranuar vetëm algoritme më të larta të kriptimit

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

  •  Ruani skedarin e konfigurimit dhe rindizni serverin e apache

Shënim: nëse keni shumë shifra të dobët në raportin tuaj të auditimit SSL, ju mund t’i refuzoni shpejt duke shtuar ato! ne fillim.

Disaktivizoni SSL v2 & v3

SSL v2 & v3 ka shumë të meta të sigurisë, dhe nëse po punoni drejt testit të depërtimit ose pajtueshmërisë PCI, atëherë pritet të mbyllni gjetjen e sigurisë për të çaktivizuar SSL v2 / v3.

Communicationdo komunikim SSL v2 / v3 mund të jetë i ndjeshëm ndaj një sulmi Man-in-The-Middle që mund të lejojë dëmtimin ose zbulimin e të dhënave.

Le ta zbatojmë serverin në internet të apache për të pranuar vetëm TLS të fundit dhe të refuzojë kërkesën për lidhje SSL v2 / v3.

  • Shkoni te dosja $ Web_Server / konfference / ekstra
  • Modifikoni direktivën SSLProtocol në httpd-ssl.conf si më poshtë për të pranuar vetëm TLS 1.2+

SSLProtocol –ALL + TLSv1.2

Pasi të keni mbaruar me konfigurimin SSL, është mirë të provoni aplikacionin tuaj në internet me mjetin online Certifikata SSL / TLS për të gjetur ndonjë gabim të konfigurimit.

Siguria e mod

Mod Security është një Firewall i aplikacionit me burim të hapur, të cilin mund ta përdorni me Apache.

Ajo vjen si një modul që ju duhet të përpiloni dhe instaloni. Nëse nuk mund të përballoni një mur zjarri të aplikacionit komercial, ky do të ishte një zgjedhje e shkëlqyeshme për të kërkuar atë.

Për të siguruar mbrojtje të përgjithshme të aplikacioneve në internet, Rregullat Themelore përdorin teknikat e mëposhtme:

  • Mbrojtja HTTP – zbulimi i shkeljeve të protokollit HTTP dhe një politikë përdorimi e përcaktuar në vend
  • Kërkime të Listës së Zezë në kohë reale – përdor Reputacionin e IP të Palës së Tretë
  • Zbulimi i Malware-bazuar në ueb – identifikon përmbajtjen e internetit me qëllim të keq duke kontrolluar kundër API-së të Shfletimit të Sigurt të Google.
  • Refuzimi i HTTP i Mbrojtjes së Shërbimit – mbrojtje kundër përmbytjes HTTP dhe Sulme të ngadalta HTTP DoS.
  • Mbrojtja e zakonshme e sulmeve në internet – zbulimi i sulmit të zakonshëm të sigurisë së aplikacionit në internet
  • Zbulimi i Automatizimit – Detektimi i bots, crawler, skanuesit dhe një tjetër aktivitet me qëllim të keq sipërfaqësor
  • Integrimi me skanimin AV për ngarkimet e skedarëve – identifikon skedarët me qëllim të keq të ngarkuar përmes aplikacionit në internet.
  • Ndjekja e të dhënave sensitive – gjurmon përdorimin e kartës së kreditit dhe bllokon rrjedhjet.
  • Mbrojtja e Trojan – Zbulimi i hyrjes tek kuajt e Trojans.
  • Identifikimi i defekteve të aplikacionit – alarme për keqfigurimin e aplikacionit.
  • Zbulimi i Gabimit dhe Fshehja – Mbulimi i mesazheve të gabimit të dërguara nga serveri.

Shkarko & instalim

Parakushtet e mëposhtme duhet të instalohen në serverin ku dëshironi të përdorni Mod Security me Apache. Nëse ndonjë prej këtyre nuk ekziston, atëherë përpilimi i Mod Security do të dështojë. Ju mund të përdorni instalimin yum në Linux ose Centos për të instaluar këto pako.

  • apache 2.x ose më e lartë
  • paketë libpcre
  •  paketë libxml2
  • paketë liblua
  • paketë libcurl
  •  paketë libapr dhe libapr-use
  •  moduli mod_unique_id i bashkuar me serverin në internet Apache

Tani, le të shkarkojmë versionin më të fundit të qëndrueshëm të Mod Security 2.7.5 nga këtu

  • Transferoni skedarin e shkarkuar në / opt / apache
  • Ekstrakt modsecurance-apache_2.7.5.tar.gz

# armë zjarri – c modsecurance-apache_2.7.5.tar.gz | tar xvf –

  • Shkoni te dosja e ekstraktuar modsecurance-apache_2.7.5

# cd modsecurance-apache_2.7.5

  • Drejtoni skriptin e konfiguruar duke përfshirë rrugën e apxs në Apache ekzistuese

# ./konfigurimi – me-apxs = / opt / apache / bin / apxs

  • përpiloj & instaloni me make skripte

# bëj
# bëj instalim

  • Pasi të bëhet instalimi, do të shihni mod_security2.so në dosjen e moduleve nën / opt / apache

Tani kjo përfundon, ju keni instaluar modulin Mod Security në serverin ekzistues Apache.

konfiguracion

Për të përdorur funksionin e sigurisë Mod me Apache, duhet të ngarkojmë modulin e sigurisë mod në httpd.conf. Moduli mod_unique_id është parakusht për Mod Security.

Ky modul siguron një variabël të mjedisit me një identifikues unik për secilën kërkesë, i cili gjurmohet dhe përdoret nga Mod Security.

  • Shtoni vijimin e një linje për të ngarkuar modulin për Mod Security në httpd.conf dhe ruani skedarin e konfigurimit

LoadModule module unike_id_module / mod_unique_id.so
LoadModule Security2_module module / mod_securance2.so

  •  Rinisni serverin në internet të apache

Mod Security tani është instaluar!

Gjë tjetër që duhet të bëni është të instaloni rregullin thelbësor të Mod Security për të përfituar plotësisht nga tipari i tij.

Rregulla kryesore e fundit mund të shkarkohet duke ndjekur një lidhje, e cila është falas. https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master

  • Kopjoni zip-in e rregullës bazë të shkarkuar në dosjen / zgjedh / apache / konfidencial
  • Skedar rregulli unzip
  • Ju mund të dëshironi të riemërtoni dosjen në diçka të shkurtër dhe të lehtë për t’u mbajtur mend. Në këtë shembull, unë do të riemëroj në crs.
  • Shkoni në dosjen crs dhe riemërtoni modsecurance_crs10_setup.conf.example në modsecurance_crs10_setup.conf

Tani, le t’i bëjmë të mundur këto rregulla që ato të funksionojnë me serverin në internet të Apache.

  •  Shtoni sa vijon në httpd.conf

Përfshini konf / crs / modsecurity_crs_10_setup.confI Përfshini konf / crs / base_rules / *. Konf

Në konfigurimin e mësipërm, ne jemi duke ngarkuar skedarin kryesor të konfigurimit të Mod Security, modsecurance_crs_10_setup.conf dhe rregullat bazë base_rules / *. Konfigurimin e siguruar nga Mod Security Core Rules për të mbrojtur aplikacionet në internet.

  •  Rinisni serverin në internet të apache

Ju keni konfiguruar me sukses Mod Security me Apache!

Te lumte. Tani, serveri në internet Apache është i mbrojtur nga zjarri i aplikacionit të Internetit të Mod Security.

Fillimi

Le ta fillojmë me disa nga konfigurimet kritike në Mod Security për tu forcuar & siguroni aplikacione në internet.

Në këtë pjesë, ne do të bëjmë të gjitha modifikimet e konfigurimit në /opt/apache/conf/crs/modsecurance_crs_10_setup.conf.

Ne do t’i referohemi /opt/apache/conf/crs/modsecurance_crs_10_setup.conf si setup.conf në këtë seksion për shembull.

Shtë e rëndësishme të kuptoni se cilat janë rregullat OWASP, të cilat ofrohen falas. Ekzistojnë dy lloje rregullash të parashikuara nga OWASP.

Rregullat e bazës – këto rregulla janë testuar shumë, dhe ndoshta raporti i rremë i alarmit është më pak.

Rregullat eksperimentale – këto rregulla janë për një qëllim eksperimental, dhe ju mund të keni një alarm të lartë të rremë. Shtë e rëndësishme të konfiguroni, testoni dhe zbatoni në UAT para se t’i përdorni këto në një mjedis prodhimi.

Rregullat opsionale – këto rregulla opsionale mund të mos jenë të përshtatshme për të gjithë mjedisin. Bazuar në kërkesën tuaj ju mund t’i përdorni ato.

Nëse jeni duke kërkuar për mbrojtjen e CSRF, Përdoruesit, Rrëmbimin e Sesioneve, etj, atëherë mund të merrni parasysh përdorimin e rregullave opsionale. Ne kemi rregullat bazë, opsionale dhe eksperimentale pas nxjerrjes së skedarit zip të shkarkuar nga faqja e shkarkimit OWASP.

Këto skedarë të konfigurimit të rregullave janë të disponueshme në dosjen crs / base_rules, crs / opcionale_rules dhe crs / folderin eksperimentale. Le të njihemi me disa nga rregullat bazë.

  • modsecurance_crs_20_protocol_violations.conf: Ky rregull po mbron nga dobësitë e Protokollit si ndarja e përgjigjes, kërkimi i kontrabandës, duke përdorur protokollin e pa lejuar (HTTP 1.0).
  • modsecurance_crs_21_protocol_anomalies.conf: Kjo është për të mbrojtur nga një kërkesë, e cila mungon me host, Prano, Agjent-përdorues në kokë.
  • modsecurance_crs_23_quest_limits.conf: Ky rregull ka varësinë nga aplikacioni specifik si madhësia e kërkesës, madhësia e ngarkimit, një gjatësi e një parametri, etj..
  • modsecurance_crs_30_http_policy.conf: Kjo është për të konfiguruar dhe mbrojtur metodën e lejuar ose të palejuar si CONNECT, TRACE, PUT, DELETE, etj..
  • modsecurance_crs_35_bad_robots.conf: Detektoni robotë me qëllim të keq
  • modsecurance_crs_40_generic_attacks.conf: Kjo është për të mbrojtur nga injektimi i komandës OS, përfshirja në distancë e skedarëve, etj..
  • modsecurance_crs_41_sql_injection_attacks.conf: Ky rregull për të mbrojtur SQL dhe SQL të verbër injektojë kërkesën.
  • modsecurance_crs_41_xss_attacks.conf: Mbrojtje nga kërkesa për skriptim ndër-site.
  • modsecurance_crs_42_tight_securance.conf: Drejtoria e zbulimit dhe mbrojtjes së drejtpërdrejtë.
  • modsecurance_crs_45_trojans.conf: Ky rregull për të zbuluar daljen e përgjithshme të menaxhimit të skedarëve, ngarkimin e faqes së prapme të HTTP, nënshkrimin e njohur.
  • modsecurance_crs_47_common_exceptions.conf: Ky përdoret si një mekanizëm përjashtues për të hequr pozitat e zakonshme false që mund të hasen si thithje si lidhja e brendshme e gjumit Apache, pinger SSL, etj.

prerje-transportim trupash

Regjistrimi është një nga gjërat e para për të konfiguruar, në mënyrë që të mund të keni prerje të krijuara për atë që po bën Mod Security. Ekzistojnë dy lloje të prerjeve në dispozicion; rregulloj & Regjistri i auditimit.

Log Regjistrohu: Kjo është për të kopjuar gabimin Apache, paralajmërimin dhe njoftimin e mesazheve nga regjistri i gabimeve.

Regjistri i Auditit: kjo është për të shkruar logat e transaksioneve që janë shënuar me rregullin e Modës së Sigurisë Mod Security ju jep fleksibilitetin për të konfiguruar Auditimin, Debug ose të dyja prerjet..

Me konfigurimin e paracaktuar do të shkruajnë të dy shkrimet. Sidoqoftë, ju mund të ndryshoni bazuar në kërkesën tuaj. Regjistri kontrollohet në direktivën SecDefaultAction. Le të shohim konfigurimin e paracaktuar të prerjeve në setup.conf

SecDefaultAction “faza: 1, mohohu, log”

Për të regjistruar Debug, Log logit të Auditimit – përdorni “log” Për të regjistruar vetëm logun e kontrollit – përdorni “nolog, auditlog” Për të regjistruar vetëm regjistrin e debugimit – përdorni “log, noauditlog” Ju mund të specifikoni vendndodhjen e Logit të Auditit që duhet të ruhet, e cila kontrollohet nga SecAuditLog direktivë.

Le ta shkruajmë login e auditimit në /opt/apache/logs/modsec_audit.log duke shtuar siç tregohet më poshtë.

  • Shtoni direktivën SecAuditLog në setup.conf dhe rinisni servisin në internet Apache

SecAuditLog /opt/apache/logs/modsec_audit.log

  • Pas rifillimit, duhet të shihni që modsec_audit.log po gjenerohet

Aktivizoni motorin e rregullave

Si rregull rregullimi i motorit është i fikur që do të thotë nëse nuk e aktivizoni Rule Engine nuk po përdorni të gjitha avantazhet e Mod Security.

Mundësimi ose paaftësimi i Motorit të Rregullave kontrollohet nga direktiva SecRuleEngine.

  • Shtoni një direktivë SecRuleEngine në setup.conf dhe rinisni servisin në internet Apache

SecRuleEngine Ndezur

Ekzistojnë tre vlera për SecRuleEngine:

  • Aktiv – për të aktivizuar Engine Rule
  • Off – për të çaktivizuar Engine Rule
  • DetectionOnly – aktivizoni Rule Engine por kurrë nuk ekzekuton ndonjë veprim si bllok, mohim, rënie, lejim, përfaqësues ose ridrejtues

Pasi të jetë aktivizuar Rule Engine – Mod Security është i gatshëm të mbrojë me disa nga llojet e zakonshme të sulmit.

Mbrojtje e zakonshme e tipit të sulmit

Tani serveri në internet është i gatshëm për të mbrojtur me lloje të zakonshme sulmi si XSS, SQL Injection, shkelje të protokollit, etj pasi kemi instaluar Rregulloren kryesore dhe kemi ndezur Rule Engine. Le të testojmë disa prej tyre.

XSS Sulmi

  •  Hapni Firefox dhe hyrni në aplikacionin tuaj dhe vendosni etiketën në fund ose URL
  •  Monitoroni modsec_audit.log në dosjen apache / logs

Do të vini re kërkesë për blloqe të Sigurisë, pasi ajo përmban etiketën e cila është rrënja e sulmit XSS.

Sulmi Traversal i Drejtorisë: – Sulmet ndërrimore të direktorisë mund të krijojnë shumë dëme duke përfituar nga kjo dobësi dhe skedari i lidhur me sistemin e qasjes. Ish – / etj / passwd, .htaccess, etj.

  •  Hapni Firefox dhe hyrni në aplikacionin tuaj me direktivën e drejtorive
  •  Monitoroni modsec_audit.log në dosjen apache / logs

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

  • Do të vini re kërkesë për blloqe të Sigurisë së Modës pasi përmban direktivën e direktoriumit.

Ndrysho Banerin e Serverit

Më parë në këtë udhëzues, ju mësuat se si të hiqni llojin Apache dhe OS, ndihma për versionin e direktivës ServerTokens.

Le të shkojmë një hap përpara, si të mbani emrin e serverit çfarëdo që dëshironi? Shtë e mundur me direktivën SecServerSignature në Mod Security. E shihni që është interesante.

Shënim: për të përdorur Mod Security për të manipuluar Banner Server nga një kokë, duhet të vendosni ServerTokesn të plotë në httpd.conf të serverit të internetit Apache.

  • Shtoni një direktivë SecServerSignature me emrin e dëshiruar të serverit tuaj në setup.conf dhe rinisni servisin në internet Apache

SecServerSignature YourServerName

ex:

[/ zgjedh / apache / konf / crs] #grep SecServer modsecurance_crs_10_setup.conf
SecServerSignature geekflare.com
[/ zgjedh / apache / konf / crs] #

Konfigurimi i përgjithshëm

Le të shikojmë disa nga konfigurimet e përgjithshme si praktika më e mirë.

Konfiguro Ndëgjo

Kur keni ndërfaqe të shumta dhe IP në një server të vetëm, rekomandohet që Direktiva Ndëgjoni të konfigurohet me IP dhe numrin e Portit absolut.

Kur lini konfigurimin e apache për të dëgjuar të gjitha IP me një numër porte, mund të krijojë problemin në përcjelljen e kërkesës HTTP në disa serverë të tjerë të internetit. Kjo është mjaft e zakonshme në mjedisin e përbashkët.

  • Konfiguroni direktivën e Dëgjimit në httpd.conf me IP dhe portë absolute si një shembull i treguar më poshtë

Dëgjo 10.10.10.1:80

Log Logging

Shtë thelbësore të konfiguroni regjistrin e aksesit siç duhet në serverin tuaj të internetit. Disa nga parametrat e rëndësishëm për të kapur në regjistër do të ishte koha e nevojshme për t’i shërbyer kërkesës, SESSION ID.

Si parazgjedhje, Apache nuk është i konfiguruar për të kapur këto të dhëna. Ju duhet t’i konfiguroni ato manualisht si më poshtë.

  • Për të kapur kohën e nevojshme për të shërbyer kërkesën dhe ID SESSION në një regjistër aksesi
  •  Shtoni% T & % sessionID në httpd.conf nën direktivën LogFormat

LogFormat "% h% l% u% t "% {SessionID} C" "% r" %>s% b% T" i zakonshëm

Ju mund t’i referoheni http://httpd.apache.org/docs/2.2/mod/mod_log_config.html për një listë të plotë të parametrave të mbështetur në direktivën LogFormat në Apache Web Server.

Disaktivizoni ngarkimin e moduleve të padëshiruara

Nëse keni përpiluar dhe instaluar me të gjitha modulet, atëherë ka shumë shanse që do të keni shumë module të ngarkuar në Apache, të cilat mund të mos kërkohen.

Praktika më e mirë është të konfiguroni Apache me modulet e kërkuara në aplikacionet tuaja në internet. Modulet vijuese kanë shqetësime për sigurinë, dhe ju mund të jeni të interesuar të çaktivizoni në httpd.conf të Apache Web Server.

WebDAV (Autorizimi i shpërndarë dhe versionimi i shpërndarë i bazuar në ueb) Ky modul lejon klientët e largët të manipulojnë skedarët në server dhe t’i nënshtrohen sulmeve të ndryshme të mohimit të shërbimit. Për të çaktivizuar komentin në vijim në httpd.conf

#LoadModule dav_module module / mod_dav.so
#LoadModule dav_fs_module modul / mod_dav_fs.so
# Përfshi konf / ekstra / httpd-dav.conf

Moduli i Informacionit Moduli mod_info mund të rrjedhë informacion të ndjeshëm duke përdorur .htaccess pasi të jetë ngarkuar ky modul. Për të çaktivizuar komentin në vijim në httpd.conf

#LoadModule info_ modul modul / mod_info.so

Referenca: Kjo nuk do të ishte e mundur pa udhëzim nga lidhja e mëposhtme:

Pra, kjo ishte disa nga praktikat më të mira që mund të përdorni për të siguruar serverin tuaj të internetit Apache.

Nëse jeni i ri për Apache HTTP, atëherë unë do t’ju rekomandoja të merrni kursin e administrimit të Apache HTTP.

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