THT DUYURU

chat
Linux Server Yönetim Linux server yönetim ve yazılımlar

ugursuz reklam
takipci
Seçenekler

Nginx ile ModSecurity Kurulumu

Ra
Ra - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Mesajlar:
1.581
Konular:
197
Teşekkür (Etti):
468
Teşekkür (Aldı):
563
Ticaret:
(0) %
6
624
4 Hafta önce
#1
Merhaba Bu yazımda Nginx ile Modsecurity kuracağız.Ubuntu 18.04 platformunu kullanacağım.

Bağımlılıkları kuracağız ama ilk olarak Apache'yi devre dışı bırakmamız lazım yoksa NGINX'i başlatamayız.
Devre dışı bırakmak için bu komutları kullanınız.

Kod:
sudo systemctl stop apache2 sudo systemctl disable apache2


Şimdi bağımlılıkları kurmak için Terminal'e geri dönüyoruz ve komutlarımızı çalıştırıyoruz.

Kod:
sudo apt-get install -y git  build-essential libpcre3 libpcre3-dev libssl-dev libtool autoconf  apache2-dev libxml2-dev libcurl4-openssl-dev automake pkgconf







ModSecurity'i Nasıl Kurarız?

Evet şimdi sıra ModSecurity'i kurmaya geldi.
İlk önce ModSecurity nginx_refactoring dalını indirmemiz gerekiyor bunun için aşağıda ki komutları
çalıştırmamız lazım.

Kod:
cd /usr/src git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git


İndirme işlemi bittiğinde komutlarla derleme yapacağız.

Kod:
cd ModSecurity  ./autogen.sh./configure --enable-standalone-module --disable-mlogcmake






Nginx'i Nasıl Kurarız?

Şimdi sıra Nginx'i indirip derlemekte. Kullacağım sürüm NGINX 1.13.4 olacak.

Kod:
cd /usr/src ​sudo wget http://nginx.org/download/nginx-1.13.4.tar.gz


Bu dosyayı bu komut ile çıkartıyoruz :

Kod:
sudo tar xvzf nginx-1.13.4.tar.gz


Derleme işlemine geçmeden önce sudo -s komutuyla kök kullanıcıya geçiş yapalım.

Geçtikten sonra bu komutları derleyeceğiz:

Kod:
cd nginx-1.13.4/ ​./configure  --user=www-data --group=www-data  --add-module=/usr/src/ModSecurity/nginx/modsecurity  --with-http_ssl_module
make make install


Sıra varsayılan nginx kullanıcısı değişmeye geldi.

Kod:
sed -i "s/#user nobody;/user www-data www-data;/" /usr/local/nginx/conf/nginx.conf


Kurulumu test etmek için şu komutu kullanmamız lazım.

Kod:
/usr/local/nginx/sbin/nginx -t




Şimdi sıra OWASP Kural Yapılandırmalarını ve OWASP testlerini yapmaya geldi.





Systemd birim dosyası oluşturma

NGINX'in önyüklemede başlayabileceğinden emin olmak için
Kod:
sudo nano /lib/systemd/system/nginx.service
komutuyla yeni bir systemd dosyası oluşturmamız gerekiyor.

Kod:
[Service] Type=forking  ExecStartPre=/usr/local/nginx/sbin/nginx -t -c  /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf  ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillStop=/usr/local/nginx/sbin/nginx  -s stop KillMode=process Restart=on-failure RestartSec=42s  PrivateTmp=true LimitNOFILE=200000
 [Install]  WantedBy=multi-user.target  Save and close that file. To start, stop,  and restart nginx, the commands will now be: sudo systemctl start  nginx.service sudo systemctl stop nginx.service sudo systemctl restart  nginx.service


Bu dosyayı kaydediyoruz ve ardından kapatıyoruz.
Şimdi NGINX başlat ve durdur komutlarını çalıştıracağız.





NGINX ve ModSecurity'i Nasıl Yapılandırırız?

Önce NGINX'i yapılandıracağız. Bunun yapmak için
Kod:
sudo nano /usr/local/nginx/conf/nginx.conf komutuyla nginx.conf
dosyasını açıyoruz.
Bu dosyada şu kısmı buluyoruz:

Kod:
******** / {
    root   html;
    index  index.html index.htm;
}


ve bu kodları şu kodlar ile değiştiriyoruz:

Kod:
******** / {
    ModSecurityEnabled on;
    ModSecurityConfig modsec_includes.conf;
    root   html;
    index  index.html index.htm;
}


ve kaydedip çıkış yapıyoruz.

Şimdi OWASP kurallarını etkinleştirmeye geldi. Bunun için;

Kod:
sudo nano /usr/local/nginx/conf/modsec_includes.conf


komutu ile ,

Kod:
modsec_includes.conf


dosyasını açıyoruz ve bu kısmı ekliyoruz:

Kod:
include modsecurity.conf
include owasp-modsecurity-crs/crs-setup.conf
include owasp-modsecurity-crs/rules/*.conf


Kaydediyoruz ve çıkış yapıyoruz.


Bir sonra ki işlem de gerekli olan ModSecurity yapılandırma dosyalarının içe aktarımını gerçekleştireceğiz.

Bunun için verdiğim komutları çalıştırıyoruz:

Kod:
sudo cp /usr/src/ModSecurity/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
sudo cp /usr/src/ModSecurity/unicode.mapping /usr/local/nginx/conf/



Modsecurity.conf dosyasının içinde ki SecRuleEngine seçeneğini bu komutla etkinleştiriyoruz:

Kod:
sudo sed -i "s/SecRuleEngine DetectionOnly/SecRuleEngine On/" /usr/local/nginx/conf/modsecurity.conf


Aşağıda ki komutlarla OWASP ModSecurity Çekirdek Kural kümesini ekliyoruz ve işlemimiz sonlanıyor:

Kod:
cd /usr/local/nginx/conf
sudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
sudo cd owasp-modsecurity-crs
sudo mv crs-setup.conf.example crs-setup.conf
sudo cd rules
sudo mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
sudo mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf


ModSecurity'i test etmeden önce firewallımızı verdiğim komutlarla açıyoruz:

Kod:
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw default deny
sudo ufw enable




ModSecurity Nasıl Çalıştırım ?

Evet işlemlerimiz bitti ve çalışıp çalışmadığını test etme vakti.
Bunun için Sunucumuza şu komutu veriyoruz:

Kod:
sudo tail -f /usr/local/nginx/logs/error.log




Şimdi bir tarayıcı açıyoruz...

Tarayıcıya bunu giriyoruz:

Kod:
http://192.168.1.14:8081/index.html/?param=”><script>alert(1);</script




Evet aşağıda gördüğümüz gibi loglarımızı almayı başardık.Sistem çalışıyor!







---------------------
Büyük balonların eceli, küçük iğnelerdir.
Konu 'Adige tarafından (bir Hafta önce Saat 18:27 ) değiştirilmiştir.
Codx, CiHaN-i TuRaN, Edris Teşekkür etti.
'Adige - ait Kullanıcı Resmi (Avatar)
Ar-Ge Tim Lideri
Üyelik tarihi:
10/2012
Nereden:
Secure Shell
Yaş:
26
Mesajlar:
9.096
Konular:
555
Teşekkür (Etti):
789
Teşekkür (Aldı):
1509
Ticaret:
(0) %
bir Hafta önce
#2
Emeğinize sağlık
---------------------
"Kendinizi geliştirmeye o kadar çok zaman harcayın ki Başkalarının yaptıklarıyla ilgilenmeye ve onları eleştirmeye vaktiniz olmasın"



arge@turkhackteam.org
Ra Teşekkür etti.
Slyfer - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
03/2016
Nereden:
Unknown
Mesajlar:
2.387
Konular:
103
Teşekkür (Etti):
221
Teşekkür (Aldı):
431
Ticaret:
(0) %
bir Hafta önce
#3
Elinize sağlık
---------------------
don't f o l l o w m e i'm lost too..
Ra Teşekkür etti.
Codx - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
07/2017
Mesajlar:
257
Konular:
27
Ticaret:
(0) %
bir Hafta önce
#4
Eline sağlık.
---------------------
Başarılarının toplamısın, başarızlıklarından arta kalanlar değil.



Ra Teşekkür etti.
Ra
Ra - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Mesajlar:
1.581
Konular:
197
Teşekkür (Etti):
468
Teşekkür (Aldı):
563
Ticaret:
(0) %
bir Hafta önce
#5
Alıntı:
'Adige´isimli üyeden Alıntı Mesajı göster
Emeğinize sağlık
Alıntı:
Slyfer´isimli üyeden Alıntı Mesajı göster
Elinize sağlık
Alıntı:
Codx´isimli üyeden Alıntı Mesajı göster
Eline sağlık.
Teşekkürler
---------------------
Büyük balonların eceli, küçük iğnelerdir.
SiyahYunus - ait Kullanıcı Resmi (Avatar)
İstihbarat Tim (Stajyer)
Üyelik tarihi:
01/2020
Nereden:
Teşkilat
Yaş:
29
Mesajlar:
407
Konular:
17
Teşekkür (Etti):
92
Teşekkür (Aldı):
156
Ticaret:
(0) %
bir Hafta önce
#6
Eline Sağlık
Ra Teşekkür etti.
P4RS - ait Kullanıcı Resmi (Avatar)
Purple Team Lideri
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
19
Mesajlar:
4.981
Konular:
579
Teşekkür (Etti):
1590
Teşekkür (Aldı):
3117
Ticaret:
(0) %
bir Hafta önce
#7
Ellerine sağlık
---------------------



purple-team@turkhackteam.org

Ra Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler