قم بإعداد NGINX مع ModSecurity على CentOS 6

في هذه المقالة ، سأشرح كيفية إنشاء مكدس LEMP محمي بواسطة ModSecurity. ModSecurity هو جدار حماية لتطبيقات الويب مفتوح المصدر مفيد للحماية من الحقن وهجمات PHP والمزيد. إذا كنت ترغب في إعداد NGINX باستخدام ModSecurity ، فتابع القراءة.

تتطلب جميع الخطوات في هذه المقالة الوصول إلى الجذر.

الخطوة 1: تثبيت المتطلبات الأساسية

إذا لم تكن تعمل بالفعل كمستخدم أساسي ، فقم بتصعيد نفسك:

/bin/su

نحتاج إلى مترجم ، لذا نفذ ما يلي للتأكد:

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 ، نحتاج أولاً إلى الحصول على الحزمة. قم بتنزيل الحزمة:

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

سنطلب أيضًا حزمة PHP لمكدسنا.

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

نظرًا لأننا نقوم بتثبيت ModSecurity ، فسنحصل على المصدر ونقوم بتنزيله:

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

الآن ، فك ضغط الملفات وفك ضغطها.

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

بعد ذلك ، سنقوم بتثبيت ModSecurity.

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

الآن بعد أن حصلنا على جميع المتطلبات الأساسية ، فلنثبت NGINX. مجموعة الأوامر التالية مخصصة لتثبيت NGINX و ModSecurity.

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

الآن ، دعنا نثبت خادم MySQL.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

لل mysql_secure_installationالأوامر:

  • اضغط على Enter في الخطوة الأولى من معالج التثبيت.
  • اكتب Y عندما يُطلب منك ما إذا كان يجب تعيين كلمة مرور جذر MySQL جديدة.
  • اكتب كلمة مرور جديدة ، وأكدها بكتابتها مرة أخرى.
  • اضغط على Y لإزالة المستخدمين المجهولين ، وعدم السماح بوصول الجذر البعيد إلى MySQL بالضغط على Y مرة أخرى.
  • اضغط Y للمرة الأخيرة لإزالة قاعدة بيانات / مستخدم الاختبار.
  • أخيرًا ، اضغط Y لحفظ التغييرات.

آخر شيء يجب تثبيته ، وهو PHP. في هذه المقالة ، سنقوم بتثبيت PHP من المصدر.

أدخل دليل المصدر ل PHP.

cd /usr/src/php-5.6.16

الآن ، قم بتكوين PHP. الوسيطات التالية في ./configureالأمر موجودة حتى تتمكن من تشغيل تطبيقات مثل WordPress.

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

تثبيت PHP-FPM لـ NGINX:

yum install -y php-fpm

نحتاج إلى تثبيت PHP-FPM على رأس PHP نفسه لأن NGINX نفسها لا تتكامل مباشرة مع PHP. بدلاً من ذلك ، يمرر NGINX معالجة PHP إلى PHP-FPM لتنفيذ البرامج النصية الخاصة بنا.

عمل جيد! لقد قمت بتثبيت المتطلبات الأساسية.

الخطوة 2: تكوين ModSecurity / NGINX

لنبدأ ببناء مجموعة قواعد ModSecurity. لا يقوم ModSecurity بأي شيء بمفرده حتى تقوم بتكوينه.

احصل على مجموعة OWASP من موقعه على الويب:

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

بعد تنزيل مجموعة القواعد ، سنجمع التكوين الافتراضي مع القواعد الأساسية.

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

من الناحية النظرية ، يجب أن يحمي ذلك من معظم مآثر الويب. ومع ذلك ، يجب أيضًا مراجعة المكونات الإضافية / الشفرة التي تثبتها ، لأنه في حين أن ModSecurity هو إجراء أمني ممتاز ، إلا أنه ليس مضادًا للرصاص.

قم بإنشاء دليل على /var/www:

mkdir /var/www

ودليل لمضيفك الظاهري:

mkdir /var/www/yourwebsite.com

أخيرًا ، ألحق ما يلي بتهيئة NGINX الموجودة في /usr/local/nginx/conf/nginx.conf. تأكد من إلحاق هذا التكوين قبل حدوث }الرمز الأخير .

  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;
  }
}

الخطوة 3: بدء PHP-FPM و NGINX

هذه الخطوة بسيطة إلى حد ما - كل ما عليك فعله هو تنفيذ الأوامر التالية.

service php-fpm start
/usr/sbin/nginx

تهانينا! لقد قمت بإعداد موقع الويب الأول الخاص بك مع NGINX المحمي بواسطة ModSecurity. لمزيد من القراءة على ModSecurity ، قم بزيارة موقعهم الرسمي .

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد