วันเสาร์ที่ 14 พฤศจิกายน พ.ศ. 2569

WAP - BunkerWeb

 

BunkerWeb Web Application Firewall (WAF)

บน Ubuntu Server 24.04 LTS

Installation and Configuration Guide

เอกสารฉบับร่างสำหรับการติดตั้งและตั้งค่าระบบรักษาความปลอดภัย Web Application ด้วย BunkerWeb

เวอร์ชันระบบปฏิบัติการ: Ubuntu Server 24.04 LTS
ระบบ WAF: BunkerWeb
แนวทางติดตั้ง: Linux Native Installation
ซอฟต์แวร์ป้องกัน: ModSecurity และ OWASP Core Rule Set (CRS)


1. วัตถุประสงค์

  1. เพื่อติดตั้งระบบ Web Application Firewall (WAF) บน Ubuntu Server 24.04 LTS
  2. เพื่อป้องกันการโจมตี Web Application จากภัยคุกคามทางไซเบอร์
  3. เพื่อกำหนดให้ BunkerWeb ทำหน้าที่เป็น Reverse Proxy ก่อนส่ง Traffic ไปยัง Web Server
  4. เพื่อเปิดใช้งานระบบตรวจจับและป้องกัน SQL Injection, Cross-Site Scripting (XSS) และ Web Attack รูปแบบต่าง ๆ
  5. เพื่อเพิ่มความปลอดภัยให้กับระบบ Web Application ขององค์กร

2. ภาพรวมการทำงานของระบบ

BunkerWeb ทำหน้าที่เป็นด่านรักษาความปลอดภัยระหว่างผู้ใช้งาน Internet กับ Web Application โดยตรวจสอบ HTTP/HTTPS Traffic ก่อนส่งต่อไปยังระบบปลายทาง

Architecture

Internet → Firewall → BunkerWeb WAF → Internal Web Server → Database

หน้าที่ของแต่ละส่วน

  • Internet: ผู้ใช้งานจากภายนอก
  • Firewall: ควบคุมการเข้าถึง Port ของระบบ
  • BunkerWeb: ตรวจสอบและกรอง HTTP/HTTPS Traffic
  • Web Server: ให้บริการ Web Application
  • Database: จัดเก็บข้อมูลของระบบ

3. คุณสมบัติของระบบ

BunkerWeb รองรับความสามารถด้านความปลอดภัยดังนี้

  • SQL Injection Protection
  • Cross-Site Scripting (XSS) Protection
  • OWASP Core Rule Set (CRS)
  • HTTP Security Headers
  • IP Access Control
  • Rate Limiting
  • Bot Protection
  • Reverse Proxy
  • HTTPS / SSL Certificate
  • Request Filtering
  • Security Logging

หมายเหตุ: การเปิดใช้งานแต่ละความสามารถขึ้นอยู่กับการกำหนดค่าและเวอร์ชันของระบบ

4. ความต้องการของระบบ (System Requirements)

รายการข้อกำหนด
Operating SystemUbuntu Server 24.04 LTS
CPU2 vCPU ขึ้นไป
RAM8 GB ขึ้นไปสำหรับระบบทดสอบ
Disk40 GB ขึ้นไป
NetworkStatic IP Address
ArchitectureAMD64 หรือ ARM64
SoftwareBunkerWeb และ NGINX

สำหรับระบบ Production ที่มีหลายเว็บไซต์หรือมี Traffic สูง แนะนำเริ่มต้นที่ 4 vCPU และ RAM 16 GB ขึ้นไป และปรับตามปริมาณ Traffic จริง

5. การเตรียมระบบ Ubuntu Server

เข้าสู่ระบบ Ubuntu Server ด้วยบัญชีที่มีสิทธิ์ sudo

ตรวจสอบเวอร์ชันระบบปฏิบัติการ

lsb_release -a

อัปเดต Package


sudo apt update
sudo apt upgrade -y

ติดตั้งเครื่องมือพื้นฐาน


sudo apt install -y curl wget gnupg \
ca-certificates lsb-release \
vim unzip net-tools

ตรวจสอบ IP Address

ip addr

ตรวจสอบสถานะ Firewall

sudo ufw status

6. การติดตั้ง BunkerWeb WAF

BunkerWeb มี Installation Script อย่างเป็นทางการ รองรับ Ubuntu 24.04 LTS โดยสามารถติดตั้ง NGINX และส่วนประกอบที่จำเป็นได้อัตโนมัติ

6.1 ดาวน์โหลด Installation Script

curl -fsSL -O https://github.com/bunkerity/bunkerweb/releases/download/v1.6.17/install-bunkerweb.sh

ดาวน์โหลดไฟล์ Checksum

curl -fsSL -O https://github.com/bunkerity/bunkerweb/releases/download/v1.6.17/install-bunkerweb.sh.sha256

6.2 ตรวจสอบความถูกต้องของไฟล์

sha256sum -c install-bunkerweb.sh.sha256

หากผลลัพธ์แสดง OK จึงดำเนินการต่อ

6.3 เริ่มติดตั้ง

chmod +x install-bunkerweb.sh
sudo ./install-bunkerweb.sh

เลือก Installation Profile เป็น Full Stack สำหรับการติดตั้งระบบแบบครบชุดบนเครื่องเดียว

กำหนดค่าตามขั้นตอนของ Installer เช่น

  • Installation Profile
  • Web UI / Setup Wizard
  • Database
  • CrowdSec Integration (ถ้าต้องการ)
  • Redis/Valkey Integration (ถ้าต้องการ)
  • Administrator Account

ข้อควรระวัง: ควรตรวจสอบเวอร์ชันล่าสุดและ Checksum จากเว็บไซต์ทางการก่อนติดตั้งจริง

7. การตรวจสอบสถานะระบบ

ตรวจสอบ Service ที่ติดตั้ง

systemctl status bunkerweb

ตรวจสอบ Scheduler

systemctl status bunkerweb-scheduler

ตรวจสอบ Service ทั้งหมด

systemctl list-units --type=service | grep bunkerweb

ตรวจสอบ Port ที่เปิดใช้งาน

sudo ss -tulpn

ตรวจสอบ Log

sudo journalctl -u bunkerweb -n 100

8. การตั้งค่า Firewall

กำหนด Port ที่จำเป็นสำหรับการให้บริการ


PortProtocolวัตถุประสงค์
22TCPSSH Administration
80TCPHTTP
443TCPHTTPS

ตัวอย่างคำสั่ง UFW

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

ข้อควรระวัง: ควรจำกัด SSH ให้เข้าถึงได้เฉพาะ IP ผู้ดูแลระบบ และไม่ควรเปิด Port ภายในของ Management API หรือ Database ออกสู่ Internet

9. การเข้าใช้งาน BunkerWeb Web UI

เปิด Web Browser และเข้าใช้งาน

https://your-domain/setup

หรือ URL/IP ที่กำหนดไว้ในระบบ

ดำเนินการตาม Setup Wizard

  1. สร้าง Administrator Account
  2. กำหนด Username และ Password
  3. กำหนด Domain สำหรับ Web UI
  4. ตั้งค่า HTTPS
  5. กำหนด Certificate
  6. ตรวจสอบค่าการตั้งค่าก่อนกด Setup

หลังจากตั้งค่าเสร็จสิ้น สามารถเข้าใช้งาน Web UI ด้วยบัญชี Administrator ที่สร้างไว้

10. การเพิ่ม Web Application เข้า BunkerWeb

เข้าเมนู Services และเลือก Create New Service

กำหนดค่าตัวอย่างดังนี้

Parameterตัวอย่าง
SERVER_NAMEwww.example.com
Reverse Proxy Host192.168.1.100
Reverse Proxy Port8080
HTTPSEnabled
WAFEnabled
ModSecurityEnabled
OWASP CRSEnabled

หมายเหตุ: ค่า Reverse Proxy Host และ Port เป็นตัวอย่าง ต้องเปลี่ยนเป็น IP และ Port จริงของ Web Application

กำหนดให้ BunkerWeb รับ Request จาก Internet และส่งต่อไปยัง Web Application ภายในองค์กร

11. การเปิดใช้งาน WAF

กำหนดค่าความปลอดภัยใน Service Configuration

รายการที่แนะนำให้ตรวจสอบ

  1. เปิดใช้งาน ModSecurity
  2. เปิดใช้งาน OWASP Core Rule Set
  3. เปิดใช้งาน Security Headers
  4. กำหนด Request Size Limit
  5. กำหนด Rate Limiting
  6. กำหนด IP Access Control
  7. เปิดใช้งาน Security Logging

สำหรับการใช้งานจริง แนะนำให้เริ่มต้นด้วยโหมด Detection/Logging ตามความสามารถของแต่ละ Rule ก่อนปรับเป็น Blocking เพื่อป้องกัน False Positive ที่อาจกระทบการใช้งานเว็บไซต์

12. การทดสอบระบบ WAF

ดำเนินการทดสอบหลังจากตั้งค่า BunkerWeb เสร็จสิ้น


ลำดับรายการทดสอบผลที่ต้องการ
1เข้าเว็บไซต์ผ่าน HTTPSเว็บไซต์ใช้งานได้
2ตรวจสอบ SSL CertificateCertificate ถูกต้อง
3ตรวจสอบ Reverse Proxyส่ง Request ไป Backend ได้
4ตรวจสอบ SQL Injection DetectionWAF ตรวจจับ Request ที่เข้าข่ายโจมตี
5ตรวจสอบ XSS DetectionWAF ตรวจจับ Request ที่เข้าข่าย XSS
6ตรวจสอบ Security Logsมีบันทึกเหตุการณ์
7ตรวจสอบ Rate Limitingจำกัด Request ตาม Policy
8ตรวจสอบการใช้งานปกติไม่เกิด False Positive

การทดสอบ Security Rule ควรดำเนินการในระบบทดสอบหรือ Staging ที่ได้รับอนุญาตก่อน และไม่ควรใช้ Payload โจมตีระบบจริงโดยไม่มีแผนควบคุมผลกระทบ

13. การตรวจสอบ Log และการบำรุงรักษา

ตรวจสอบ Log ของ BunkerWeb

sudo journalctl -u bunkerweb -f

ตรวจสอบ Log ของ Scheduler

sudo journalctl -u bunkerweb-scheduler -f

แนวทางการดูแลระบบ

  • ตรวจสอบ Log อย่างสม่ำเสมอ
  • สำรองข้อมูล Configuration
  • สำรองข้อมูล Database
  • ตรวจสอบพื้นที่ Disk
  • ตรวจสอบ CPU และ RAM
  • อัปเดต Security Patch
  • ตรวจสอบ False Positive
  • ทบทวน OWASP CRS Rules ตามความเหมาะสม

14. แนวทางการรักษาความปลอดภัยสำหรับ Production

  1. ใช้ HTTPS สำหรับทุกเว็บไซต์
  2. จำกัดสิทธิ์การเข้าถึง Web UI
  3. ไม่เปิดเผย Management API สู่ Internet
  4. ใช้ Strong Password และ MFA หากรองรับ
  5. สำรอง Configuration และ Database
  6. กำหนด Monitoring และ Alert
  7. จำกัดการเข้าถึง Backend ให้รับ Traffic จาก BunkerWeb เท่านั้น
  8. ทดสอบ Configuration ก่อนใช้งานจริง
  9. วางแผน Rollback เมื่อเกิดปัญหา
  10. อัปเดตระบบตาม Security Advisory ของผู้พัฒนา

15. สรุปผลการดำเนินงาน

เมื่อดำเนินการติดตั้งและตั้งค่าเรียบร้อยแล้ว ระบบ BunkerWeb จะทำหน้าที่เป็น Web Application Firewall สำหรับตรวจสอบและควบคุม HTTP/HTTPS Traffic ก่อนส่งต่อไปยัง Web Application ภายในองค์กร

ช่วยลดความเสี่ยงจาก Web Application Attacks และเพิ่มความสามารถในการตรวจสอบเหตุการณ์ด้านความปลอดภัยผ่านระบบ Logging

ผลลัพธ์ที่คาดหวัง

  • Ubuntu Server 24.04 LTS พร้อมใช้งาน
  • ติดตั้ง BunkerWeb สำเร็จ
  • Web UI สามารถเข้าใช้งานได้
  • Reverse Proxy ทำงานได้
  • เปิดใช้งาน ModSecurity และ OWASP CRS
  • สามารถตรวจจับและบันทึกเหตุการณ์ Web Attack ได้
  • Web Application สามารถให้บริการผ่าน HTTPS ได้

16. เอกสารอ้างอิง

  1. BunkerWeb Official Documentation
    https://docs.bunkerweb.io/latest/
  2. BunkerWeb Linux Integration
    https://docs.bunkerweb.io/latest/integrations/
  3. BunkerWeb Quickstart Guide
    https://docs.bunkerweb.io/latest/quickstart-guide/
  4. OWASP Core Rule Set
    https://coreruleset.org/
  5. Ubuntu Server Documentation
    https://ubuntu.com/server/docs

หมายเหตุ: เอกสารนี้เป็นคู่มือร่างสำหรับการติดตั้งเบื้องต้น ต้องปรับ IP Address, Domain, Backend และนโยบายความปลอดภัยให้ตรงกับสภาพแวดล้อมจริงก่อนนำไปใช้งาน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น