Gönderen Konu: Mod security 2.5 kurulumu  (Okunma sayısı 1448 defa)

GuvenliHost

  • Yönetici
  • Kahraman Üye
  • *****
  • İleti: 514
  • Karma +10/-0
    • Profili Görüntüle
Mod security 2.5 kurulumu
« : 29 Ocak 2010, 16:52:56 »

Anlatım Sadece APACHE 2 versionu içindir CENTOS 5.X üzerinde denenmiştir

1- putty programını çalıştırın. (indirmek için: http://guvenlihost.com/dosya/putty.exe )

 2- Sunucu ip adresini yazarak bağlanın.

 3- root kullanıcısı ve şifresiyle giriş yapın
       
4- Aşağıdaki komutları sırayla uygulayın




Öncelikli olarak kullanmamız gereken ssh komutları şunlar
 
Kod: [Seç]
up2date install httpd-devel[/SIZE]

Kod: [Seç]
  up2date install libxml2-devel[/SIZE]

ModSecurity2.x icin mod_unique gereklidir. Sistemde olup olmadigi asagidaki sekilde ogrenilebilir.


bu komutu yazın
 
Kod: [Seç]
find / -name mod_unique_id.so[/SIZE]
 komut ardından bu yazıyı görüyorsanız kuruludur
Kod: [Seç]
/usr/lib/httpd/modules/mod_unique_id.so[/SIZE]

görmüyorsanız libxml2 kurulumu yapın


             libxml2  KURULUMU

  Kodları listede gördüğünüz şekilde uygulayın
Kod: [Seç]
su
wget http://www.guvenlihost.com/dosya/libxml2-guvenlihost.tar.gz
tar -zxvf libxml2-guvenlihost.tar.gz
cd libxml2-2.7.6
./configure
make
make install
cp /usr/local/lib/libxml2.so.2 /lib
komutlarla libxml2 kurulumu yaptık şimdi Lua kurulumu yapacağız
[/SIZE] Lua Kurulumu


Alıntı

Öncelikle bu iki modülümüzü kuruyoruz
Bu komutları sırasıyla uyguluyoruz ssh bize Soru sorduğunda Y + enter yapıyoruz

yum install readline-devel
yum install ncurses-devel
ardından

wget http://www.guvenlihost.com/dosya/lua-5.1.4.tar.gz   
# yada wget komutu yerine bu komutu uygulayabiliriz

 curl -R -O  http://www.guvenlihost.com/dosya/lua-5.1.4.tar.gz

tar zxf lua-5.1.4.tar.gz
cd lua-5.1.4
make linux test

make linux
make install
cp etc/lua.pc /usr/lib/pkgconfig/


Alıntı
Test ardından ekranda aşağıdaki hata satırlarını gördüyseniz
luaconf.h:275:31errorreadline/readline.hNo such file or directory
luaconf
.h:276:30errorreadline/history.hNo such file or directory
lua
.cIn function âpushlineâ:
lua.c:182warningimplicit declaration of function âreadlineâ
lua
.c:182warningassignment makes pointer from integer without a cast
lua
.cIn function âloadlineâ:
lua.c:210warningimplicit declaration of function âadd_historyâ

Bu komutları sırasıyla uyguluyoruz ssh bize Soru sorduğunda Y + enter yapıyoruz

Alıntı
a) yum install readline-devel
b) yum install
ncurses-devel

c)
make linux

ç)
make install
d)
cp etc/lua.pc /usr/lib/pkgconfig/



Herşey tamam ise Artık asıl kuruluma başlayabiliriz buyrun...

Alıntı
cd /usr/local/src
mkdir modsecurity2

cd modsecurity2

wget http://www.guvenlihost.com/dosya/modsecurity-apache_2.5.13.tar.gz


tar xzf modsecurity-apache_2.5.13.tar.gz


cd modsecurity-apache_2.5.13


cd apache2


./configure

make
make test
make install

Alıntı
Kurulumda böyle bir hata alıyorsanız
Alıntı

checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.


aşağıdaki komutu uygulayın

Kod: [Seç]
chmod 777 /usr/bin/gcc kurulum bittikten sonra bu komutu uygulayın

[/SIZE]
Kod: [Seç]
chmod 000 /usr/bin/gcc [/SIZE]






 
Hazır Mod security kurallarını indirelim,


Kod: [Seç]
mkdir /etc/modsecurity2/

cd /etc/modsecurity2/

wget http://www.guvenlihost.com/dosya/kurallar

mv kurallar modsec.v2.rules.conf
[/SIZE]
 
Modülümüzü apache'ye bağlamak için aşağıdaki dosyamızı açıyoruz,


 
Kod: [Seç]
vi /etc/httpd/conf/httpd.conf aşağıdaki satırı buluyoruz en üst bölümdedir
[/SIZE]   
Kod: [Seç]
LoadModule php5_module        /usr/lib/apache/libphp5.so[/SIZE] Hemen altına bu iki satırı ekliyoruz ((sisteminizin kaç bit olduğunu öğrenmek için tıklayın))
   
Sisteminiz 32bit  ise bu iki satırı
Kod: [Seç]
LoadFile /usr/lib/libxml2.so
LoadModule security2_module     /usr/lib/apache/mod_security2.so
[/SIZE]
Alıntı
Not  : bu satır ile  birkaç satır aşağıdaki ifmodule satırlarını ekledikten sonra
httpd servisini resetlediniz ve
ve buna benzer bir hata aldınız
Alıntı


 Syntax error on line 25 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf/extra/httpd-phpmodules.conf: Cannot load /usr/lib/apache/libphp5.so into server: /usr/lib/apache/libphp5.so: symbol xmlTextReaderSetup, version LIBXML2_2.6.28 not defined in file libxml2.so.2 with link time reference
[/SIZE]

httpd.conf dosyamızı sıfırlayacağız bu işlemden sonra yaptığınız ayarlar silinecek önceden kurduğunuz modlardaki httpd.conf ayarlarını tekrar eklemeniz gerekecek


Komutlarımız

Kod: [Seç]
cd /usr/local/directadmin/custombuild/
./build rewrite_confs
[/SIZE]

Bu komutlar ardından

"..../libphp5.so" altına
şu satırları ekleyin
..
Kod: [Seç]
LoadFile /usr/lib/libxml2.so
LoadModule security2_module     /usr/lib/apache/mod_security2.so
Include /etc/modsecurity2/modsec.v2.rules.conf


..

Sisteminiz 64bit /usr/lib64 klasörü varmı kontrol edin yoksa yukarıdaki satırları ekleyebilirsiniz belirtilen yol var ise aşağıdaki satırları ekleyin
Kod: [Seç]
LoadFile /usr/lib64/libxml2.so
LoadModule security2_module     /usr/lib/apache/mod_security2.so
[/SIZE]  Ardından en aşağıya bu kodları ekleyin
Kod: [Seç]
<IfModule mod_security2.c>
# ModSecurity2 config file.
#
Include /etc/modsecurity2/modsec.v2.rules.conf
</IfModule>
[/SIZE] 
Son olarak httpd servisimizi aşağıdaki komut  ile yeniden başlatıyoruz


Kod: [Seç]
service httpd restart
 Mod security 2.5.12 versionunu kurduk 2.6 versionunu bekliyoruz

Kural eklemek istediğimizde
/etc/modsecurity2/modsec.v2.rules.conf
dosyamızı açıp hazırladığımız kuralları ekleyeceğiz ardından httpd servisini tekrar yeniden başlattığınızda kurallar aktif olacaktır

---

[/SIZE]Mod security kuralları



şimdi kurallarımızı eklemek için kural dosyamızı açalım


Kod: [Seç]
vi /etc/modsecurity2/modsec.v2.rules.conf
[/SIZE]
kurallarımızı kopyaladık   aşağıdaki komut ile kaydedip çıkıyoruz


Kod: [Seç]
:wq[/SIZE]apache restart ediyoruz

Kod: [Seç]
service httpd restart[/SIZE]



Büyük açıklardan biri de .htaccess dosyasına

SecFilterEngine Off
SecFilterScanPOST Off


kodları eklendiğinde mod security'nin  devredışı kalması idi bu versionda ve eklediğimiz kurallarda
 örnek:
c99 shell  htaccess'e kod eklenmeden açıldığında not found(dosya bulunamadı) hatası verir
kodlar eklendiğinde

Internal Server Error


hatası verir

Saygılar...

« Son Düzenleme: 14 Ocak 2011, 17:11:08 Gönderen: GuvenliHost »

Ajan

  • Yeni Üye
  • *
  • İleti: 5
  • Karma +10/-0
    • Profili Görüntüle
Mod security 2.5 kurulumu
« Yanıtla #1 : 12 Mart 2010, 13:42:54 »
Hep güvenlik, tam güvenlik.. Teşekkürler Güvenlihost.

uye034

  • Yeni Üye
  • *
  • İleti: 1
  • Karma +0/-0
    • Profili Görüntüle
Ynt: Mod security 2.5 kurulumu
« Yanıtla #2 : 20 Ekim 2010, 16:10:57 »
Anlatım için teşekkürler, emeğinize sağlık.

LoadFile /usr/lib/libxml2.so
LoadModule security2_module  /usr/lib/apache/mod_security2.so

Yukarıdaki satırları httpd.conf a ekleyip httpd restart dediğimde aşağıdaki hatayı alıyorum

Starting httpd: httpd: Syntax error on line 149 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/apache/libphp5.so into server: /usr/lib/apache/libphp5.so: cannot open shared object file: No such file or directory

Normalde "LoadModule php5_module   /usr/lib/apache/libphp5.so" satırı yok o satırı ben yaratıp sizin verdiğiniz kodları altına ekliyorum fakat yukarıda bahsettiğim hatayı alıyorum. Siz bu hatanın çözümünü directadmin için vermişsiniz fakat ben Plesk kullanıyorum. Bu hatanın pleskdeki çözümünü anlatırsanız çok memnun olurum.



Düzeltme:


Sorunu çözdüm :)

Çözüm:
Plesk'de dizinler farklı olduğu için bu hatayı veriyormuş. Plesk kullananlar için httpd.conf ayarı şöyle olacak:

LoadModule php5_module /usr/lib/httpd/modules/libphp5.so
LoadFile /usr/lib/libxml2.so
LoadModule security2_module /usr/lib/httpd/modules/mod_security2.so

Teşekkürler GüvenliHost.

Peki bu Mod Security'nin çalışıp çalışmadığını nasıl anlarız?
« Son Düzenleme: 20 Ekim 2010, 16:22:35 Gönderen: uye034 »

GuvenliHost

  • Yönetici
  • Kahraman Üye
  • *****
  • İleti: 514
  • Karma +10/-0
    • Profili Görüntüle
Ynt: Mod security 2.5 kurulumu
« Yanıtla #3 : 25 Ekim 2010, 12:28:35 »
Merhaba
Directadmin  üzerinde denenmiştir
çalışıp çalışmadığını  " thisdoesnotexistahaha.php " isimli dosya oluşturarak öğrenebilirsiniz içeriği ne olursa olsun Dosya bulunamadı hatası verir

Saygılar.