วิธีการติดตั้งและกำหนดค่า ModSecurity บน Nginx

เว็บเซิร์ฟเวอร์ Nginx ถูกใช้งานมากกว่า 30% ของเว็บไซต์ทั่วโลกและกำลังเติบโต.


เมื่อพิจารณาถึงการเพิ่มขึ้นของภัยคุกคามทางเว็บออนไลน์สิ่งหนึ่งที่ท้าทายสำหรับวิศวกรเว็บคือการตระหนักถึงการทำให้ Nginx มั่นคงและปลอดภัย.

Nginx-ส่วนแบ่งการตลาด

Nginx เป็นที่รู้จักกันดีในเรื่องของประสิทธิภาพและเว็บเซิร์ฟเวอร์ / พร็อกซีที่มีน้ำหนักเบา.

  • Pinterest.com
  • Reddit.com
  • WordPress.com
  • Stackoverflow.com
  • Mail.ru

หากคุณกำลังโฮสต์เว็บแอปพลิเคชันของคุณบน Nginx และกังวลเกี่ยวกับความปลอดภัยสิ่งแรกที่คุณต้องทำคือ Web Application Firewall (WAF).

Mod Security เป็น Open Source WAF โดย Trustwave SpiderLabs และเปิดให้บริการสำหรับ Nginx ในปี 2012.

ในคู่มือนี้ฉันจะอธิบายวิธีการ ดาวน์โหลด, ติดตั้ง และ กำหนดค่า ความปลอดภัยของ Mod ด้วย Nginx.

การสาธิตต่อไปนี้ทำบน CentOS ที่โฮสต์ด้วย DigitalOcean.

หากคุณยังใหม่กับ Nginx ฉันขอแนะนำให้ทำเช่นนี้ หลักสูตรพื้นฐาน.

ดาวน์โหลด Nginx และ ModSecurity

คุณสามารถดาวน์โหลด nginx ได้โดยตรงบนเซิร์ฟเวอร์ของคุณหรือบนพีซีในพื้นที่ของคุณจากนั้นถ่ายโอน.

  • ดาวน์โหลดเวอร์ชั่นล่าสุดจากลิงค์ด้านล่าง

http://nginx.org/en/download.html

  • หากคุณดาวน์โหลดโดยตรงบนเซิร์ฟเวอร์คุณสามารถใช้ wget ได้ดังต่อไปนี้

wget http://nginx.org/download/nginx-1.9.15.tar.gz

  • แตกไฟล์ออกโดยใช้คำสั่ง gunzip

gunzip -c nginx-1.9.15.tar.gz | tar xvf –

  • คุณจะเห็นโฟลเดอร์ใหม่ที่สร้างขึ้น

drwxr-xr-x 8 1001 1001 4096 19 เม.ย. 12:02 nginx-1.9.15

  • ดาวน์โหลด Mod Security ล่าสุดจากลิงค์ด้านล่าง

https://www.modsecurity.org/download.html

  • คุณสามารถใช้คำสั่งด้านล่างจากเซิร์ฟเวอร์โดยตรง

wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
gunzip -c modsecurity-2.9.1.tar.gz | tar xvf –

มาติดตั้งมันกันเถอะ

ติดตั้ง Nginx ด้วย Mod Security

การรวบรวม Nginx และรหัสความปลอดภัยของ mod เป็นสิ่งสำคัญ.

  • ล็อกอินเข้าสู่เซิร์ฟเวอร์และให้แน่ใจว่าคุณได้รับอนุญาตรูต.

บันทึก: หากคุณกำลังทำบนเซิร์ฟเวอร์ใหม่คุณอาจต้องติดตั้งไลบรารีต่อไปนี้.

yum ติดตั้ง gcc ทำให้ automake autoconf libre pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel

เป็นครั้งแรก, มารวบรวมความปลอดภัยของ mod ไปที่ ModSecurity-2.9.1 โฟลเดอร์และใช้คำสั่งด้านล่าง.

./ configure – เปิดใช้งานโมดูลแบบสแตนด์อโลน
แต่งหน้า

ต่อไป, ติดตั้ง Nginx ด้วยความปลอดภัยของ mod

./ configure –add-module = .. / modsecurity-2.9.1 / nginx / modsecurity
แต่งหน้า
ทำการติดตั้ง

สรุปได้ว่า Nginx ได้รับการติดตั้งด้วย Mod Security และถึงเวลากำหนดค่า.

กำหนดค่า Mod Security ด้วย Nginx

สำเนา modsecurity.conf แนะนำ & unicode.mapping ไฟล์จากโฟลเดอร์แตกไฟล์ของ ModSecurity ที่ดาวน์โหลดมาข้างต้นไปยังโฟลเดอร์ nginx conf คุณอาจใช้คำสั่ง find.

find / -name modsecurity.conf แนะนำ
find / -name unicode.mapping
[[email protected] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/modsecurity.conf-recommended / usr / local / nginx / conf /
[[email protected] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/ unicode.mapping / usr / local / nginx / conf /
[[email protected] conf] #

มาเปลี่ยนชื่อกัน modsecurity.conf แนะนำ ถึง modsecurity.conf

mv modsecurity.conf แนะนำ modsecurity.conf

  • ทำการสำรองข้อมูลไฟล์ nginx.conf
  • เปิดไฟล์ nginx.conf และเพิ่มสิ่งต่อไปนี้ภายใต้คำสั่ง“ location /”

ModSecurityEnabled บน;
ModSecurityConfig modsecurity.conf;

ดังนั้นควรปรากฏเช่นนี้

ตำแหน่ง / {
ModSecurityEnabled บน;
ModSecurityConfig modsecurity.conf;
}

ตอนนี้ความปลอดภัยของ Mod ได้รวมเข้ากับ Nginx แล้ว รีสตาร์ท Nginx เพื่อให้แน่ใจว่ากำลังมาโดยไม่มีข้อผิดพลาด.

มายืนยันกัน …

มีสองวิธีที่เป็นไปได้เพื่อยืนยันว่า Nginx ได้รับการคอมไพล์ด้วย Mod Security.

แรก …

แสดงรายการโมดูลที่คอมไพล์โดยใช้ –V ด้วยไฟล์เรียกทำงาน nginx.

[[email protected] sbin] # ./ nginx -V
รุ่น nginx: nginx / 1.9.15
สร้างโดย gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
กำหนดค่าอาร์กิวเมนต์: – เพิ่มโมดูล = .. / modsecurity-2.9.1 / nginx / modsecurity
[[email protected] sbin] #

ประการที่สอง …

ไปที่โฟลเดอร์บันทึกและดูไฟล์ข้อผิดพลาดคุณควรเห็นสิ่งต่อไปนี้

2016/05/21 21:54:51 [ประกาศ] 25352 # 0: ModSecurity สำหรับ nginx (เสถียร) /2.9.1 (http://www.modsecurity.org/).
2016/05/21 21:54:51 [ประกาศ] 25352 # 0: ModSecurity: APR รุ่นคอมไพล์ ="1.3.9"; รุ่นที่โหลดแล้ว ="1.3.9"
2016/05/21 21:54:51 [ประกาศ] 25352 # 0: ModSecurity: PCRE คอมไพล์เวอร์ชั่น ="7.8 "; รุ่นที่โหลดแล้ว ="7.8 2008-09-05"
2016/05/21 21:54:51 [ประกาศ] 25352 # 0: ModSecurity: LIBXML คอมไพล์เวอร์ชั่น ="2.7.6"

สรุปว่าคุณได้กำหนดค่า ModSecurity ด้วย Nginx สำเร็จแล้ว.

โดยการกำหนดค่าเริ่มต้นอยู่ในโหมดตรวจจับเท่านั้นซึ่งหมายความว่าจะไม่ดำเนินการใด ๆ และปกป้องแอปพลิเคชันเว็บของคุณ.

ในบทความถัดไปของฉันฉันได้อธิบายวิธีกำหนดค่ากฎ OWASP และเปิดใช้งาน Mod Security เพื่อป้องกันช่องโหว่ความปลอดภัยบนเว็บ.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map