frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

PrisijungtiRegistruotis

mod_security įdiegimas CentOS 6 aplinkoje

IV_RomanLIV_RomanL Interneto vizija
edited 2020 spalio 13 Į Web serveriai
Mod_security tai Apache modulis, kurio paskirtis web aplikacijų apsauga nuo piktavalių išpuolių. Apsauga nuo XSS atakų, aklų (blind) SQL injekcijų ir panašaus pobūdžio atakų.
Pamoka parengta naudojant CentOS 6 64-bit sistemą.

0. Patogesniam failų redagavimui naudojama "nano" aplikacija. Ją galite įdiegti įvykdę komandą SSH konsolėje:
yum install nano -y

1. Įdiegiame paketus mod_security kompiliavimui:
yum groupinstall 'Development tools' -y
yum install httpd-devel libxml2-devel pcre-devel -y

2. Parsisiunčiame naujausią mod_security aplikacijos archyvą ( https://www.modsecurity.org/download.html ):
wget http://www.modsecurity.org/download/modsecurity-apache_2.6.4.tar.gz

3. Išskleidžiame archyvą ir įdiegiame aplikaciją:
tar -xzf  modsecurity-apache_2.6.4.tar.gz

cd modsecurity-apache*
./configure
make
make install

4. Perkeliame mod_security konfigūracinį failą į apache web serverio aplanką:
cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf

5. Aktyvuojame mod_security bei unique_id modulius apache konfigūraciniame faile /etc/httpd/conf/httpd.conf:
nano /etc/httpd/conf/httpd.conf
ties 203 eilute įrašykite:
LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so
Išsaugome ir uždarome failą.


6. Aktyvuojame apsaugos mechanizmą mod_security konfiguraciniame faile /etc/httpd/conf.d/modsecurity.conf:
nano /etc/httpd/conf.d/modsecurity.conf
randame eilutę:
SecRuleEngine DetectionOnly
ir pakeičiame į:
SecRuleEngine On
Perkrauname apache tarnybą:
service httpd restart
Viskas, mūsų web aplikacijos apsaugotos mod_security modulio pagalba.

Ištestuoti ar tikrai modulis veikia, galite įvykdę komandą:
tail -f /var/log/httpd/error_log
Turėtumėte gauti rezultatą panašų į žemiau pateiktąjį:
[Thu Mar 15 14:59:30 2012] [notice] caught SIGTERM, shutting down
[Thu Mar 15 14:59:30 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Mar 15 14:59:31 2012] [notice] ModSecurity for Apache/2.6.4 (http://www.modsecurity.org/) configured.
[Thu Mar 15 14:59:31 2012] [notice] ModSecurity: APR compiled version="1.3.9"; loaded version="1.3.9"
[Thu Mar 15 14:59:31 2012] [notice] ModSecurity: PCRE compiled version="7.8"; loaded version="7.8 2008-09-05"
[Thu Mar 15 14:59:31 2012] [notice] ModSecurity: LUA compiled version="Lua 5.1"
[Thu Mar 15 14:59:31 2012] [notice] ModSecurity: LIBXML compiled version="2.7.6"
[Thu Mar 15 14:59:31 2012] [notice] Digest: generating secret for digest authentication ...
[Thu Mar 15 14:59:31 2012] [notice] Digest: done
[Thu Mar 15 14:59:32 2012] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
----
Mod_security modulio nuostatas galite sukonfiguruoti konkrečiam tinklalapiui pagal poreikį, mod_security taisyklių aprašas pateiktas adresu http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual#Configuration_Directives
Pažymėtos temos:

Komentarai

  • sarunazssarunazs Naujokas (-ė)
    edited 2012 gegužės 23
    Sveiki, iškilo problemų su httpd-devel moduliu, kitaip tariant yum jo neranda:
    # yum install httpd-devel
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.kisiek.net
     * extras: mirror.kisiek.net
     * updates: mirror.kisiek.net
    Setting up Install Process
    No package httpd-devel available.
    Error: Nothing to do
    
    

    Naudojama CentOS 6 64-bit su DirectAdmin

    Greičiausiai dėl tos bibliotekos trūkumo kyla ir kitos problemos vykdant make komandą:
    
    /usr/bin/ld: cannot find -lexpat
    collect2: ld returned 1 exit status
    make[2]: *** [mod_security2.la] Error 1
    make[2]: Leaving directory `/usr/local/src/modsecurity-apache_2.6.4/apache2'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/usr/local/src/modsecurity-apache_2.6.4/apache2'
    make: *** [all-recursive] Error 1
    
    

    Gal susidūrėte su panašia problema?
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gegužės 23
    Sveiki,

    įvykdykite komandą:
    cat /etc/yum.conf
    

    Raskite eilutę "exclude=" ir jei joje yra žodelis httpd* , tuomet redaguokite failą:
    nano /etc/yum.conf
    

    pašalinkite ždoelį httpd* ir tuomet mėginkite įdiegti httpd-devel iš naujo.
  • velnioadvokatasvelnioadvokatas Naujokas (-ė)
    edited 2012 lapkričio 13
    Susidūriau su labai nemalonia problema. Apačioje paryškinau ties kuria dalimi užstrigau, diegiau naujausią 2.7.0 versija. Bet kas blogiausia, kad pasikeitė puslapio kalba?? Vietoj lietuviškų raidžių atsirado �. httpd.conf AddDefaultCharset windows-1257 nepakito. Puslapį turėjau išjungti, nes dabar turiu lėkti į darbą 17:00-21:00 :( Jeigu grįžęs rasčiau atsakymą, būtų labai smagu :)
    <...>
    [B]checking for libpcre config script... no
    configure: *** pcre library not found.
    configure: error: pcre library is required
    [root@server modsecurity-apache_2.7.0]# make
    make: *** No targets specified and no makefile found.  Stop.
    [root@server modsecurity-apache_2.7.0]# make install
    make: *** No rule to make target `install'.  Stop.[/B]
    
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 lapkričio 13
    Sveiki,

    įvykdykite komandą:
    yum install pcre pcre-devel -y
    
  • velnioadvokatasvelnioadvokatas Naujokas (-ė)
    edited 2012 lapkričio 13
    Komanda "make":
    <...>
    make[1]: *** [mlogc] Error 1
    make[1]: Leaving directory `/root/modsecurity-apache_2.7.0/mlogc'
    make: *** [all-recursive] Error 1
    
    Ar įmanoma viską atstatyti kaip buvo prieš diegiant mod_security? Nes man nerodo lietuviškų raidžių puslapyje ir nerandu kame problema.
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 lapkričio 14
    Sveiki,

    mod_security yra apache modulis, tiesiog jį išjunkite jei esate įjungę. Išjungti galite httpd.conf faile/etc/httpd/ aplanke.
  • velnioadvokatasvelnioadvokatas Naujokas (-ė)
    edited 2012 lapkričio 14
    Perrašiau serverį, įdiegiau ats. kopijas ir kitką ką reikėjo. Nes nieko nesigavo su mod_security, ir niekur neradau info apie puslapio koduotės pakeitimus. O ir naujausia versija neįsidiegė, bet problemų pridarė užtektinai.

    Redaguota:
    Problema su charset buvo dėl mod_pagespeed.
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 lapkričio 15
    Sveiki,

    dėkojame už problemos sprendimo pranešimą :) .
  • domenaidomenai Naujokas (-ė)
    edited 2012 gruodžio 1
    configure: checking httpd version
    configure: httpd is recent enough
    checking for libpcre config script... no
    configure: *** pcre library not found.
    configure: error: pcre library is required

    Kaip sitai ispresti?...
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gruodžio 3
    Sveiki,

    pagal nutylėjimą PCRE biblioteka jau turėjo būti įdiegta. Įvykdykite komandą:

    pcretest -C

    Koks rezultatas pateikiamas?
  • domenaidomenai Naujokas (-ė)
    edited 2012 gruodžio 4
    PCRE version 7.8 2008-09-05
    Compiled with
    UTF-8 support
    Unicode properties support
    Newline sequence is LF
    \R matches all Unicode newlines
    Internal link size = 2
    POSIX malloc threshold = 10
    Default match limit = 10000000
    Default recursion depth limit = 10000000
    Match recursion uses stack
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gruodžio 4
    Įdiekite PCRE-devel:
    yum install pcre-devel -y
    
  • domenaidomenai Naujokas (-ė)
    edited 2012 gruodžio 5
    Aciu, veikia. Nors vykdant make ir make install komandas buvo erroru, bet galutiniam rezultate lygtai viskas OK.
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gruodžio 5
    Pamoka atnaujinta pagal vartotojų pastabas.
  • tautwism2tautwism2 Naujokas (-ė)
    edited 2020 spalio 13
    Papildysiu: Idiegimas Derbian 6.0 (squeeze) aplinkoje:
    apt-get install libapache-mod-security
    Configai:
    mkdir /etc/apache2/mod-security
    chmod 600 /etc/apache2/mod-security
    Rules:
    cd /tmp
    wget http://www.modsecurity.org/download/modsecurity-core-rules_2.5-1.6.1.tar.gz
    tar fvx modsecurity-core-rules_2.5-1.6.1.tar.gz
    mv *.conf /etc/apache2/mod-security/
    ln -s /var/log/apache2 /etc/apache2/logs
    Paleidimo konfiguracija:
    vi /etc/apache2/conf.d/mod-security.conf
    Bandysim paleisti, ir nepasileis. Atsidarom:
    /etc/apache2/mods-aviable/mod-security.load
    Matom:
    LoadFile libxml2.so.2
    Pakeičiam:
    LoadFile /usr/lib/libxml2.so.2
    Išsaugom ir:
    /etc/init.d/apache2 restart
    Ijungimas:
    a2enmod mod-security
    apachectl -t -D DUMP_MODULES
    Parodo veikiančius modulius.
  • AidasAidas Naujokas (-ė)
    edited 2016 rugsėjo 29
    Sveiki,

    Įrašius šias dvi eilutes:
    LoadModule security2_module modules/mod_security2.so
    LoadModule unique_id_module modules/mod_unique_id.so

    ir perkraunant apache man parašo tikią klaidą.
    Starting httpd: httpd: Syntax error on line 53 of /etc/httpd/conf/httpd.conf: Cannot load modules/mod_security2.so into server: /etc/httpd/modules/mod_security2.so: cannot open shared object file: No such file or directory

    ką ne taip pridariau?

    Cent OS6 + directadmin valdymo pultas
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2016 spalio 3
    Sveiki,

    serveriams su DirectAdmin valdymo pultu pamėginkite pasinaudoti šia pamoka mod_security diegimui:

    https://goo.gl/Ndo7sn
Norėdami palikti komentarą, turite prisijungti arba registruokis.
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2024 Dedikuoti.lt forumas, visos teisės saugumos.