ModSecurity และ OWASP บน CentOS 6 และ Apache 2

ModSecurity เป็นไฟร์วอลล์ชั้นเว็บแอปพลิเคชันที่ออกแบบมาเพื่อทำงานกับ IIS, Apache2 และ Nginx เป็นซอฟต์แวร์โอเพนซอร์ซฟรีที่เผยแพร่ภายใต้ Apache License 2.0 ModSecurity ช่วยให้เว็บเซิร์ฟเวอร์ของคุณปลอดภัยโดยการตรวจสอบและวิเคราะห์ปริมาณการใช้งานเว็บไซต์ของคุณ มันทำตามเวลาจริงเพื่อตรวจจับและบล็อกการโจมตีจากการโจมตีที่รู้จักกันมากที่สุดโดยใช้นิพจน์ทั่วไป ด้วยตัวเอง ModSecurity ให้การป้องกันที่ จำกัด และอาศัย rulesets เพื่อเพิ่มการป้องกันสูงสุด

ชุดกฎหลักของ Open Web Application Security (OWASP) ชุดกฎ (CRS) เป็นชุดของกฎการตรวจจับการโจมตีทั่วไปที่ให้ระดับการป้องกันพื้นฐานสำหรับเว็บแอปพลิเคชันใด ๆ ruleset นั้นฟรีโอเพนซอร์สและปัจจุบันสนับสนุนโดย Spider Labs

OWASP CRS จัดเตรียม:

  • การป้องกัน HTTP - ตรวจจับการละเมิดโปรโตคอล HTTP และนโยบายการใช้งานที่กำหนดไว้ในเครื่อง
  • การค้นหา Blacklist แบบเรียลไทม์ - ใช้ชื่อเสียง IP ของบุคคลที่สาม
  • HTTP Denial of Service Protection - การป้องกัน HTTP ที่ท่วมและการโจมตี HTTP DoS ที่ช้า
  • การป้องกันการโจมตีเว็บทั่วไป - ตรวจจับการโจมตีความปลอดภัยเว็บแอพพลิเคชันทั่วไป
  • การตรวจจับอัตโนมัติ - ตรวจจับบ็อตซอฟต์แวร์รวบรวมข้อมูลสแกนเนอร์และกิจกรรมอื่น ๆ ที่เป็นอันตรายต่อพื้นผิว
  • บูรณาการกับ AV Scanning สำหรับการอัปโหลดไฟล์ - ตรวจจับไฟล์ที่เป็นอันตรายที่อัปโหลดผ่านเว็บแอปพลิเคชัน
  • การติดตามข้อมูลที่ละเอียดอ่อน - ติดตามการใช้บัตรเครดิตและป้องกันการรั่วไหล
  • การป้องกันโทรจัน - ตรวจจับม้าโทรจัน
  • การระบุข้อบกพร่องของแอปพลิเคชัน - แจ้งเตือนเกี่ยวกับการกำหนดค่าผิดพลาดของแอปพลิเคชัน
  • การตรวจหาข้อผิดพลาดและการซ่อน - ปลอมแปลงข้อความผิดพลาดที่ส่งจากเซิร์ฟเวอร์

การติดตั้ง

คู่มือนี้แสดงวิธีการติดตั้ง ModSecurity และชุดกฎ OWASP บน CentOS 6 ที่รัน Apache 2

ก่อนอื่นคุณต้องแน่ใจว่าระบบของคุณทันสมัย

 yum -y update

หากคุณยังไม่ได้ติดตั้ง Apache 2 ให้ติดตั้งทันที

 yum -y install httpd

ตอนนี้คุณต้องติดตั้งการขึ้นต่อเพื่อให้ ModSecurity ทำงานได้ แพคเกจเหล่านี้บางส่วนหรือทั้งหมดอาจได้รับการติดตั้งแล้วทั้งนี้ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์ของคุณ ยัมจะติดตั้งแพ็คเกจที่คุณไม่มีและจะแจ้งให้คุณทราบหากมีแพ็คเกจใดติดตั้งอยู่แล้ว

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

เปลี่ยนไดเรกทอรีและดาวน์โหลดซอร์สโค้ดจากเว็บไซต์ ModSecuity เวอร์ชั่นเสถียรปัจจุบันคือ 2.8

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

แตกแพ็กเกจและเปลี่ยนเป็นไดเร็กทอรี

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

กำหนดค่าและคอมไพล์ซอร์สโค้ด

 ./configure
 make
 make install

คัดลอกคอนฟิกูเรชัน ModSecurity ดีฟอลต์และไฟล์การแม็พ unicode ไปยังไดเร็กทอรี Apache

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

กำหนดค่า Apache ให้ใช้ ModSecurity มี 2 ​​วิธีที่คุณสามารถทำได้

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... หรือใช้โปรแกรมแก้ไขข้อความอย่างนาโน:

 nano /etc/httpd/conf/httpd.conf

ที่ด้านล่างของไฟล์บนบรรทัดแยกเพิ่ม:

 LoadModule security2_module modules/mod_security2.so

ตอนนี้คุณสามารถเริ่ม Apache และกำหนดค่าให้เริ่มต้นตอนบูท

 service httpd start
 chkconfig httpd on

หากคุณติดตั้ง Apache ไว้ก่อนที่จะใช้คู่มือนี้คุณก็ต้องรีสตาร์ทมัน

 service httpd restart

ตอนนี้คุณสามารถดาวน์โหลดชุดกฎหลัก OWASP

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

ตอนนี้กำหนดค่าชุดกฎ OWASP

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

ถัดไปคุณต้องเพิ่มชุดกฎลงในการกำหนดค่า Apache เราสามารถทำได้สองวิธี

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... หรือด้วยโปรแกรมแก้ไขข้อความ:

 nano /etc/httpd/conf/httpd.conf

ที่ด้านล่างของไฟล์ในบรรทัดแยกเพิ่ม:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

ตอนนี้เริ่ม Apache ใหม่

 service httpd restart

สุดท้ายให้ลบไฟล์การติดตั้ง

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

ใช้ ModSecurity

ตามค่าเริ่มต้น ModSecurity จะทำงานในโหมดการตรวจจับเท่านั้นซึ่งหมายความว่าจะบันทึกการหยุดกฎทั้งหมด แต่จะไม่ดำเนินการใด ๆ แนะนำให้ใช้สำหรับการติดตั้งใหม่เพื่อให้คุณสามารถดูเหตุการณ์ที่สร้างขึ้นในบันทึกข้อผิดพลาด Apache หลังจากตรวจสอบบันทึกแล้วคุณสามารถตัดสินใจได้ว่าควรทำการแก้ไขใด ๆ กับกฎหรือปิดการใช้งานกฎ (ดูด้านล่าง) ก่อนที่จะย้ายไปที่โหมดการป้องกัน

วิธีดูบันทึกข้อผิดพลาด Apache:

 cat /var/log/httpd/error_log

บรรทัด ModSecurity ในบันทึกข้อผิดพลาด Apache แบ่งออกเป็นเก้าองค์ประกอบ แต่ละองค์ประกอบให้ข้อมูลเกี่ยวกับสาเหตุของเหตุการณ์ที่ถูกเรียก

  • ส่วนแรกจะบอกว่าไฟล์กฎใดที่เรียกใช้เหตุการณ์นี้
  • ส่วนที่สองจะบอกว่าบรรทัดใดในไฟล์กฎที่กฎเริ่มทำงาน
  • องค์ประกอบที่สามจะบอกคุณว่ากฎถูกเรียก
  • องค์ประกอบที่สี่จะบอกคุณถึงการแก้ไขกฎ
  • องค์ประกอบที่ห้ามีข้อมูลพิเศษสำหรับการตรวจแก้จุดบกพร่อง
  • องค์ประกอบที่หกกำหนดความรุนแรงการบันทึกของความรุนแรงของเหตุการณ์นี้
  • ส่วนที่เจ็ดอธิบายถึงการกระทำที่เกิดขึ้นและในขั้นตอนใดที่เกิดขึ้น

โปรดทราบว่าองค์ประกอบบางอย่างอาจไม่อยู่ทั้งนี้ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์ของคุณ

หากต้องการเปลี่ยน ModSecurity เป็นโหมดป้องกันให้เปิดไฟล์ conf ในเท็กซ์เอดิเตอร์:

 nano /etc/httpd/conf.d/modsecurity.conf

... และการเปลี่ยนแปลง:

 SecRuleEngine DetectionOnly

ถึง:

 SecRuleEngine On

หากคุณพบบล็อกใด ๆ เมื่อ ModSecurity กำลังทำงานอยู่คุณต้องระบุกฎในบันทึกข้อผิดพลาด HTTP คำสั่ง "tail" ช่วยให้คุณดูบันทึกในเวลาจริง:

 tail -f /var/log/httpd/error_log

ทำซ้ำการกระทำที่ทำให้บล็อกขณะดูบันทึก

การปรับเปลี่ยนชุดกฎ / การปิดใช้งานรหัสกฎ

การแก้ไข ruleset นั้นอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้

หากต้องการปิดใช้งานกฎเฉพาะคุณระบุรหัสกฎซึ่งอยู่ในองค์ประกอบที่สาม (เช่น [id = 200000]) จากนั้นปิดใช้งานในไฟล์กำหนดค่า Apache:

 nano /etc/httpd/conf/httpd.conf

... โดยเพิ่มสิ่งต่อไปนี้ที่ด้านล่างของไฟล์ด้วยรหัสกฎ:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

หากคุณพบว่า ModSecurity ปิดกั้นการกระทำทั้งหมดในเว็บไซต์ของคุณแสดงว่า "ชุดกฎหลัก" อาจอยู่ในโหมด "บรรจุตัวเอง" คุณต้องเปลี่ยนสิ่งนี้เป็น "การตรวจจับการทำงานร่วมกัน" ซึ่งตรวจจับและบล็อกความผิดปกติเท่านั้น ในเวลาเดียวกันคุณสามารถดูตัวเลือก "บรรจุในตัวเอง" และเปลี่ยนแปลงได้หากคุณต้องการ

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

เปลี่ยน "การตรวจจับ" เป็น "อยู่ในตัวเอง"

คุณยังสามารถกำหนดค่า ModSecurity เพื่อให้ IP ของคุณผ่านทางเว็บแอพพลิเคชั่นไฟร์วอลล์ (WAF) โดยไม่ต้องทำการบันทึก

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... หรือด้วยการเข้าสู่ระบบ:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly


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