โลโก้ ModSecurity
Security และ FirewallApache License 2.0 (โอเพนซอร์ส)

ModSecurity คืออะไร และวิธีติดตั้งบน Cloud Server

ModSecurity คือ Web Application Firewall ที่ตรวจคำขอที่เข้ามายังเว็บก่อนถึงแอปจริง แล้วบล็อกรูปแบบการโจมตีที่รู้จัก เช่น การแทรกคำสั่งฐานข้อมูลและการฝังสคริปต์

หมวดหมู่
Security และ Firewall
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

ModSecurity คืออะไร

ช่องโหว่ของเว็บส่วนใหญ่เกิดจากการรับข้อมูลจากผู้ใช้แล้วนำไปใช้โดยไม่ตรวจสอบ ทางแก้ที่ถูกต้องคือแก้ที่โค้ด แต่ในความเป็นจริงเว็บจำนวนมากใช้ระบบสำเร็จรูปหรือปลั๊กอินที่แก้เองไม่ได้

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

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

แผนผังการวางระบบ ModSecurity บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 80 ตัว ModSecurity และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
ModSecurity ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ ModSecurity

ตรวจคำขอก่อนถึงแอป

หยุดการโจมตีทั่วไปได้แม้แอปเบื้องหลังยังมีช่องโหว่

ใช้ชุดกฎกลางจากชุมชน

ครอบคลุมรูปแบบการโจมตีเว็บที่พบบ่อยโดยไม่ต้องเขียนเอง

เขียนกฎเองได้

เพิ่มกฎเฉพาะสำหรับแอปหรือเส้นทางที่ต้องการป้องกันเป็นพิเศษ

บันทึกรายละเอียดคำขอที่ถูกบล็อก

ใช้เป็นหลักฐานและใช้ปรับกฎให้แม่นขึ้น

ใช้ได้กับ Nginx และ Apache

วางเป็นชั้นป้องกันหน้าเว็บที่มีอยู่เดิมได้โดยไม่ต้องแก้แอป

ใช้ ModSecurity ทำอะไรได้บ้าง

  • เว็บ WordPress หรือระบบสำเร็จรูปที่ปลั๊กอินอาจมีช่องโหว่
  • องค์กรที่ต้องมี Web Application Firewall ตามข้อกำหนดด้านความปลอดภัย
  • ระบบเดิมที่แก้โค้ดไม่ได้แล้วแต่ยังต้องเปิดให้บริการ
  • เว็บที่ถูกสแกนหาช่องโหว่จากภายนอกเป็นประจำ

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ ModSecurity 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 150 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นเว็บเดียวที่ทราฟฟิกไม่สูง2 vCPU4 GBNVMe 40 GB
แนะนำเว็บงานจริงที่มีผู้ชมต่อเนื่อง4 vCPU8 GBNVMe 80 GB
ทราฟฟิกสูงหลายเว็บหลังตัวกระจายโหลดเดียวกัน8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 150 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง ModSecurity บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Nginx หรือ Apache ที่รันอยู่แล้ว
  • ชุดกฎกลางสำหรับ Web Application Firewall
  • พื้นที่ดิสก์สำหรับ Log ของคำขอที่ถูกตรวจ

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้งโมดูลและชุดกฎ

    sudo apt update
    sudo apt -y install libnginx-mod-http-modsecurity modsecurity-crs
  2. 2

    เปิดใช้งานและตั้งค่าเริ่มต้น

    เริ่มจากโหมดบันทึกอย่างเดียวเพื่อดูว่ากฎจะบล็อกคำขอที่ถูกต้องหรือไม่

    sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
    # ในไฟล์นั้น ตั้งค่าเริ่มต้นเป็นบันทึกอย่างเดียวก่อน
    SecRuleEngine DetectionOnly
    SecAuditLog /var/log/nginx/modsec_audit.log
  3. 3

    ผูกกับเว็บใน Nginx

    server {
      listen 443 ssl;
      server_name www.example.com;
    
      modsecurity on;
      modsecurity_rules_file /etc/nginx/modsec/main.conf;
    
      location / {
        proxy_pass http://127.0.0.1:8080;
      }
    }
  4. 4

    ทดสอบและดู Log

    ทดลองส่งคำขอที่มีรูปแบบการโจมตีแล้วดูว่ามีบันทึกเกิดขึ้น พร้อมตรวจว่าการใช้งานปกติของผู้ใช้ไม่ถูกจับผิดพลาด

    sudo nginx -t && sudo systemctl reload nginx
    curl "https://www.example.com/?id=1%27+OR+1=1--"
    sudo tail -f /var/log/nginx/modsec_audit.log
  5. 5

    ปรับกฎที่แจ้งเตือนผิดพลาด

    ปิดกฎเฉพาะรายการที่บล็อกการใช้งานจริงของระบบ โดยระบุหมายเลขกฎแทนการปิดทั้งหมวด

    # ปิดกฎเฉพาะเส้นทางที่จำเป็น
    SecRule REQUEST_URI "@beginsWith /admin/upload" \
      "id:1001,phase:1,pass,nolog,ctl:ruleRemoveById=920420"
  6. 6

    เปลี่ยนเป็นโหมดบล็อกจริง

    เมื่อมั่นใจว่าไม่มีการบล็อกผิดพลาดแล้ว จึงเปลี่ยนค่าเป็นเปิดใช้งานเต็มรูปแบบ

    SecRuleEngine On

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

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ที่ผ่านการตรวจสอบ
80TCPHTTP และการต่ออายุใบรับรอง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

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

ทำไมควรรัน ModSecurity บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

วางเป็นชั้นป้องกันหน้าเว็บที่รันบน Cloud Server ได้โดยไม่ต้องแก้แอป

ใช้คู่กับ Firewall as a Service เพื่อป้องกันทั้งชั้นเครือข่ายและชั้นแอปพลิเคชัน

Log ของคำขอที่ถูกบล็อกเก็บอยู่ในเซิร์ฟเวอร์ในไทยสำหรับการตรวจสอบย้อนหลัง

คำถามที่พบบ่อยเกี่ยวกับ ModSecurity

ModSecurity แทนการแก้โค้ดได้ไหม

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

ทำให้เว็บช้าลงไหม

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

ใช้กับ WordPress ได้ไหม

ได้และเป็นการใช้งานที่พบบ่อยที่สุด แต่ต้องปรับกฎเพราะหลังบ้านของ WordPress มักถูกกฎมาตรฐานจับผิดพลาด โดยเฉพาะหน้าแก้ไขเนื้อหาและการอัปโหลดไฟล์

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

ให้เราติดตั้ง ModSecurity ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด