frame

Sveiki apsilankę!

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

Prisijungti Registruotis

mod_security įdiegimas CentOS 6 aplinkoje

IV_RomanLIV_RomanL Interneto vizija
edited 2016 spalio 3 Į 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ą ( http://www.modsecurity.org/download/ ):
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

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 2013 sausio 9
    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.