CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity, darbelere, PHP saldırılarına ve daha fazlasına karşı korumaya yarayan açık kaynaklı bir web uygulaması güvenlik duvarıdır. NGINX'i ModSecurity ile kurmak istiyorsanız okumaya devam edin.

Bu makaledeki tüm adımlar kök erişimi gerektirir.

Adım 1: Önkoşulları yükleme

Zaten root kullanıcısı olarak çalışmıyorsanız, kendinizi yükseltin:

/bin/su

Bir derleyiciye ihtiyacımız var, emin olmak için aşağıdakileri yürütün:

yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd-devel libxml2-devel xz-devel python-devel libcurl-devel
yum groupinstall -y 'Development Tools' 

NGINX'i kurmak için önce paketi almamız gerekiyor. Paketi indirin:

cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz

Yığımız için PHP paketine de ihtiyacımız olacak.

wget http://us2.php.net/distributions/php-5.6.16.tar.bz2

ModSecurity'yi yüklediğimizden, kaynağı alıp indireceğiz:

wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz

Şimdi dosyaları açın / açın.

tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz   

Ardından, ModSecurity'yi yükleyeceğiz.

cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install

Şimdi tüm önkoşulları elde ettiğimize göre, NGINX'i kuralım. Aşağıdaki komutlar kümesi, NGINX ve ModSecurity'nin kurulumu içindir.

cd /usr/src/nginx-1.9.9 && ./configure --add-module=../modsecurity-2.9.0/nginx/modsecurity/
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

Şimdi MySQL sunucusunu kuralım.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

For mysql_secure_installationkomutu:

  • Kurulum sihirbazının ilk adımında enter tuşuna basın.
  • Yeni bir MySQL kök parolası ayarlanması gerekip gerekmediği sorulduğunda Y yazın.
  • Yeni bir şifre yazın, tekrar yazarak onaylayın.
  • Anonim kullanıcıları kaldırmak için Y tuşuna basın, Y tuşuna tekrar basarak MySQL'e uzaktan kök erişimine izin vermeyin.
  • Test veritabanını / kullanıcıyı kaldırmak için son bir kez Y tuşuna basın.
  • Son olarak, değişikliklerinizi kaydetmek için Y düğmesine basın.

Yüklemek için son bir şey ve bu PHP. Bu makalede, PHP'yi kaynaktan yükleyeceğiz.

PHP için kaynak dizini girin.

cd /usr/src/php-5.6.16

Şimdi, PHP'yi yapılandırın. ./configureWordPress gibi uygulamaları çalıştırabilmeniz için komutta aşağıdaki bağımsız değişkenler bulunmaktadır .

 ./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
 make
 make install

NGINX için PHP-FPM yükleyin:

yum install -y php-fpm

NGINX'in kendisi doğrudan PHP ile entegre olmadığı için PHP-FPM'yi PHP'nin üzerine kurmamız gerekir. Bunun yerine, NGINX komut dosyalarımızı yürütmek için PHP işlemeyi PHP-FPM'ye aktarır.

Aferin! Önkoşulları yüklediniz.

Adım 2: ModSecurity / NGINX'i Yapılandırma

Bir ModSecurity kural kümesi oluşturarak başlayalım. ModSecurity siz yapılandırana kadar hiçbir şey yapmaz.

Web sitelerinden belirlenen OWASP kuralını alın:

 cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
 tar xvf master

Kural kümesini indirdikten sonra, varsayılan yapılandırmayı temel kurallarla birleştiririz.

cd SpiderLabs-owasp-modsecurity-crs-60c8bc9
cp /usr/src/modsecurity-2.9.0/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
cp /usr/src/modsecurity-2.9.0/unicode.mapping /usr/local/nginx/conf/
cat base_rules/*.conf >> /usr/local/nginx/conf/modsecurity.conf
cp base_rules/*.data /usr/local/nginx/conf

Teorik olarak, bu durum çoğu web istismarına karşı korunmalıdır. Bununla birlikte, yüklediğiniz eklentiler / kod da denetlenmelidir, çünkü ModSecurity mükemmel bir güvenlik önlemi olsa da, kurşun geçirmez değildir.

Şurada bir dizin oluşturun /var/www:

mkdir /var/www

Ve sanal sunucunuz için bir dizin:

mkdir /var/www/yourwebsite.com

Son olarak, adresinde bulunan NGINX yapılandırmanıza aşağıdakileri ekleyin /usr/local/nginx/conf/nginx.conf. Son }simgeyi göstermeden önce bu yapılandırmayı eklediğinizden emin olun .

  server {
  listen   80;
  root /var/www/yourwebsite.com;
  index index.php index.html index.htm;
  server_name yourwebsite.com www.yourwebsite.com;
  location / {
  ModSecurityEnabled on;
  ModSecurityConfig /usr/local/nginx/modsecurity.conf;
  }
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Adım 3: PHP-FPM ve NGINX'i Başlatma

Bu adım oldukça basittir - tek yapmanız gereken aşağıdaki komutları uygulamaktır.

service php-fpm start
/usr/sbin/nginx

Tebrikler! ModSecurity tarafından korunan NGINX ile ilk web sitenizi kurdunuz. ModSecurity hakkında daha fazla bilgi için resmi sitelerini ziyaret edin .



Leave a Comment

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?