ติดตั้ง 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

ตอนนี้ยกเลิกการ / unzip ไฟล์

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 เยี่ยมชมของพวกเขาเว็บไซต์อย่างเป็นทางการ



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true