Öncelikle belirtmek isterimki bu konu bölüm bölüm farklı anlatımlardan toplanmıştır anlatım bana ait değildir. Kendim anlatmak isterdim lakin bundan daha detaylı ve düzgün bir anlatım yapamayacağıma kanaat getirdim. Network alanında çok önemli bir yere sahip olmamasına rağmen forumda olmamasının yanlış olduğunu düşündüğüm için böyle bir konu açma gereği duydum. Birkaç ekde ben katıp size sunuyorum. Konunun alıntı olması değil sizin öğrenmeniz önemlidir lütfen buna takılmayınız.
[/SIZE]
[COLOR=#ff0000]
Sunucu üzerinde çalışan bazı websayfalarına ait, bazı web uygulamalarında yazılım tabanlı güvenlik problemleri yaşanabilir. Bunun haricinde gerekli hallederde kullanmak üzere talep ederseniz sadece geçerli sayılan istekleri sunucuya kabul etmek, bunun dışındaki tüm istekler reddetmek isteyebilirsiniz. Sunucuya gelen isteklerin detaylarını analiz ederek bu isteğin tipine göre farklı politikalar izlemek isteyebilirsiniz. Sisteminizde Reverse Proxy kullanarak performansı arttırabilir, arkada çalışan sunucuların dış dünya ile iletişimini kesmek isteyebilirsiniz. [/COLOR]
Bu ve benzeri birçok senaryo için Web Application Firewall (WAF) kullanabilirsiniz. ModSecurity Trustwave Holding tarafından desteklenen açık kaynak bir Web Application Firewall'dur.
[SIZE=6][COLOR=#ffa64d]Neden Kullanırız? Yararları Nelerdir? [/COLOR][/SIZE]
[SIZE=6]1-[/SIZE] Mod Seucirty HTTP trafigini son derece detaylı dinler. [COLOR=#b30000]Apachenin loglarını göz önünde tutarsak istek içerigi ve cevap içerigi gibi ibarelerin loglanmadıgını görürüz. Oysa ModSecurity HTTP trafigi üzerinde her türlü veriyi kayıt altına alma yetenegine sahiptir. Hatta bu logları gruplamanıza ve ya daha okunur sekilde yazdırmanıza yardımcı olur[/COLOR]. Bir çok log analiz standartını desteklemektir. Özellikle kendi içinde guarding log sitilinide bulundurmaktadır.
[SIZE=6]2-[/SIZE] Mod Security`nin bir avantajıda gerçek zamanlı veri analizi yapmasıdır. [COLOR=#b30000]Bu ne demektir? Kullanıcıların uygulamalarınız üzerinde ve ya web sunucunuza baglandıgı andan itibaren gelen giden veriler üzerinde istediginiz kontrolleri yapmanız demektir.[/COLOR]
[SIZE=6]3-[/SIZE]Saldırı tespit ve önleme için anında müdahaleler yapmanıza yarayan kurallar yazabilirsiniz. [COLOR=#b30000]Mod Security web uygulamalarınıza erismek isteyen saldırılara karsı anında tepki verir[/COLOR]. Bunu çogunlukla üç yolla yapar.
[COLOR=#b30000][SIZE=6]A- [/SIZE]Negatif Güvenlik Modeli (Negative Security Model):[/COLOR]
Anormal istekleri, sıra dısı hareketleri ve genel web uygulama ataklarını izler. [COLOR=#b30000]Kısacası bir çok detaya bakıp (ip adress, oturum, kullanıcı hesabı) bunların sonucuna göre kuralların işlenmesi sağlanır.[/COLOR]
[COLOR=#b30000][SIZE=6]B-[/SIZE] Pozitif Güvenlik Modeli (Positive Security Model):[/COLOR]
Bu modeli uyguladıgınızda, sadece geçerli tanımladıgınız istekler kabul edilir ve bunun dısındakiler tümüyle reddedilir. Bu yaklasım agır ve nadiren güncellenen uygulamalarla çok iyi çalısır.
[COLOR=#b30000][SIZE=6]C- [/SIZE]Bilinen Zayıflıklar ve Açıklar (Known weaknesses and Vulnerabilities):[/COLOR]
ModSecurity`nin kural dili sayesinde, dısarıdan gelen saldırılara karsı sunucunuza kurallar yardımı ile birlikte yamalar yapmanızı saglar. Bu yamalar sunucunun kendi açıklarından ziyade üçüncü parti yazılımlardan kaynaklanan açıklardır. Bu yazılımlardan kaynaklanan açıklar yazılım sahibi tarafından güncellenene kadar Mod Security ile yamalar olusturabilirsiniz. Yani dışarıdan gelen zararlı istekleri azaltmaya yarar.
[SIZE=7]4-[/SIZE] Mod Security kural moturu (SecRuleEngin) çok esnek kurallar yazmamızı saglar. Bu motor aynı zamanda Mod Security`nin asıl amacını tasır. Aynı zamanda HTTP islem dataları üzerinde bize özel bir programlama dili sunar. –ki bu dil normal firewall kullanıcıları ve ya web uygulaması gelstirenler için çokta yabancı degildir (Özellikle regular expression – düzenli ifadeler, PCRE kütüphanesi kullanılır). Bir diger hususta zincir kurallar olusturabilmenizdir. Bsunu bir nevi if kurallarına benzeterek yapılan kural takımıda diyebiliriz. Buda sizin daha kompleks kurallar yazmanız anlamına gelir.
[SIZE=5]5- [/SIZE][COLOR=#b30000]Yukarıda da söyledigimiz gibi Mod Security gömülü bir firewall uygulamasıdır.Bunun anlamıda kurulu olan web sunucunuza istediginiz zaman ilave edebilir ve devre dısı bırakabilirsiniz. Mod Security`nin bu kullanım sekli ile daha önce var olan networkünüzde herhangi bir degisiklik yapmanıza gerek kalmaz. Ayrıca kural dosyalarının Web sunucunuzla bir bagı olmadıgından tasınabilirligi gayet kolaydır. Ayrıca SSL tarfiginide analiz etme yetenegine sahiptir. Bunu SSL üstünden geçen veriler çözüldükten hemen sonra hayata geçirir. Bir çok isletim sistemiyle birlikte gayet uyumlu çalısır. Genel kullanıcıları FreeBSD, Linux, Windows, Solaris, OpenBSD, NetBSD, AIX, Mac OS X ve HP-UX.[/COLOR]
[SIZE=5][COLOR=#660000]SÖYLENECEK BİRŞEY BIRAKILMAMIŞ BİRKAÇ ŞEYDE BEN EKLEMEK İSTİYORUM
[/COLOR][/SIZE]
[SIZE=5][COLOR=#000000]1-[/COLOR] [/SIZE][SIZE=5][COLOR=#ff8000]Web uygulamalarının açıklarını düzeltmek bir çok kurumda haftaları buluyor. Mod Security sayesinde uygulamanın kaynak koduna dokunmadan (çogu zaman erismeksizin) dısarıdan kurallar ekleyerek güvenlik yamalarınızı olusturabilirsiniz.
[/COLOR][/SIZE]
[SIZE=5][COLOR=#000000]2-[/COLOR][/SIZE] [COLOR=#ff8000][SIZE=5]Mod Security apachenin Mod proxy uygulaması ile birliktede çalısabilir[/SIZE].[/COLOR]
[SIZE=5][COLOR=#000000]3-[/COLOR][/SIZE] [SIZE=5][COLOR=#ff8000]Mod Security yalnızca Linux platformlarda değil Windows ve IIS Web Server üzerinde de çalışabilen bir WAF 'tır.
[/COLOR][/SIZE]
[SIZE=5]4- [/SIZE][SIZE=5][COLOR=#ff8000]Mod Security web sunucusuna gömülü şekilde çalışır. Kullandığınız ve ya yazdığınız web uygulamaları için saldırı tespit ve engelleme görevini üstlenir
[/COLOR][/SIZE]
[SIZE=5][COLOR=#660000]NOT :[/COLOR][/SIZE] [SIZE=5][COLOR=#000000]Aşağıdaki yazıda (Mod Security Kurulumu ve Ayarları [Linux]) Linux CentOS 6 ve Apache Web Server üzerinde Mod Security kurulumuna değinilmiştir..
Mod Security Kurulumu Ve Ayarları (LİNUX)
Tarafımızdan yapılan kurulumda kaynak koddan derleyerek kurulum yapılmaktadır. Bu nedenle gcc, make gibi ekstra paketlerin kurulumunu gerçekleştiriyoruz.
yum update -y
yum install wget -y
yum install gcc libcurl* lua* libtool make httpd-devel libxml2 pcre-devel libxml2-devel curl-devel
wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz
gunzip modsecurity-2.*
tar -xvf modsecurity-2.*
cd modsecurity-2.*
./configure
make install
cp -v modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
cp -v unicode.mapping /etc/httpd/conf.d
vi /etc/httpd/conf/httpd.conf
# İlgili dosyayı herhangi bir metin editörü ile açarak aşağıdaki satırı ekleyiniz.
LoadModule security2_module modules/mod_security2.so
# Aşağıdaki satırı bulup başındaki " # " işaretini kaldırınız.
LoadModule unique_id_module modules/mod_unique_id.so
# İlgili dosyaya aşağıdaki satırları ekleyiniz.
Include modsecurity-crs/modsecurity_crs_10_setup.conf
Include modsecurity-crs/base_rules/*.conf
# OWASP RULE Set Kurulumu
# Aşağıdaki adresten OWASP ModSecurity Core Rule Set dosyasının güncel sürümünü indiriniz.
https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
cd /root
https://codeload.github.com/SpiderLabs/owasp-modsecurity-crs/legacy.tar.gz/master
tar -xvf master
mv SpiderLabs-owasp-modsecurity* /etc/httpd/modsecurity-crs
mv -v /etc/httpd/modsecurity-crs/{modsecurity_crs_10_setup.conf.example,modsecurity_crs_10_setup.conf}
vi /etc/httpd/conf.d/modsecurity.conf
# İlgili dosya içerisinde " SecRuleEngine DetectionOnly " satırını bulun ve " SecRuleEngine On " olarak değiştiriniz.
SecRuleEngine On
httpd -t komutunu çalıştırınız ve Syntax OKyanıtı alındığında Apache Web Server 'i restart ediniz.
Mod Security Kurulumu Ve Ayarları (Cpanel)
Cpanelimiz hazır elimizdeyde sol tarafımızda menüden istersek aramaya “mod_security” yazarak, isterseniz en alta inerek mod_security paneline girebilirsiniz.
Karşısınıza şöyle bir ekran gelmesi gerekiyor.
Buradan “Edit Config” buttona tıklayarak config sayfamızı açıyoruz. Göreceğiniz gibi çok fazla bir ayarı yok. Mod_Security’de daha çok kurallar hakimdir. Eğer kural yazmayı biliyorsanız eklemeler yazabilirsiniz. Ancak varsayılan versiyonunda kurallar oldukça yeterli.
Bunun aşağısında boş bir yazı alanı olması gerekiyor. “Default Configuration” linkine tıkladığımızda aşağıdaki yazı alanının bir sürü kural ile dolduğunu görürüz. Sonra yazı bölümünün aşağısında “Save Configuration”diyerek ayarları kaydediyoruz ve artık mod_security çalışmaya başlıyor.
Mod_security’nin sizi nelerden koruduğunu görmek için mod_security ana panele dönerek (Return To Logs) aşağıda şöyle bir ekran görürsünüz.
Evet gördüğümüz gibi bazı engellemelerde bulunmuş.
[/SPOILER][/COLOR][/SIZE]
[SIZE=5][COLOR=#660000]Ek olarak konuyu destekleyen ingilizce Kaynak
https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_security-with-apache-on-debian-ubuntu[/COLOR][/SIZE]