ติดตั้ง Wazuh SIEM ตรวจจับภัยคุกคามบน VPS

ติดตั้ง Wazuh SIEM ตรวจจับภัยคุกคามบน VPS

มิถุนายน 2026 · อ่าน 8 นาที

Wazuh คือแพลตฟอร์ม SIEM และ HIDS แบบโอเพนซอร์สที่รวมการเฝ้าระวังความปลอดภัยไว้ในที่เดียว — ตรวจจับการบุกรุก, วิเคราะห์ log, ตรวจ file integrity (FIM), ตรวจช่องโหว่ และเช็ก compliance พร้อม dashboard ที่เห็นภาพรวมทั้งหมด เหมาะสำหรับคนที่ดูแล VPS หลายเครื่องและอยากรู้ทันทีเมื่อมีคนพยายามเจาะ ไฟล์สำคัญถูกแก้ หรือมี malware บทความนี้เน้นติดตั้งแบบ all-in-one บน VPS เดียวและเพิ่ม agent

ความต้องการของระบบ

Wazuh server (Indexer + Manager + Dashboard) กิน resource พอควร ควรใช้ VPS แยกสำหรับ monitoring:

ติดตั้ง Wazuh แบบ All-in-One

# ดาวน์โหลดและรัน assisted installer
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
sudo bash ./wazuh-install.sh -a

# เมื่อเสร็จ จะแสดง user/password ของ dashboard
# เปิด https://YOUR_VPS_IP (port 443)
# ดูรหัสผ่าน admin ได้จาก:
sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt
หมายเหตุ: installer จะติดตั้ง Wazuh Indexer (OpenSearch), Manager และ Dashboard พร้อมกัน ใช้เวลาหลายนาทีและกิน RAM สูงตอน index — อย่าติดตั้งบน VPS ที่รัน production service อื่นอยู่

เพิ่ม Agent บนเครื่องที่ต้องเฝ้าระวัง

ติดตั้ง agent บน VPS แต่ละตัวที่ต้องการ monitor ให้ส่งข้อมูลกลับมาที่ Wazuh server:

# บนเครื่อง agent (Ubuntu/Debian)
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent.deb
sudo WAZUH_MANAGER="WAZUH_SERVER_IP" dpkg -i ./wazuh-agent.deb

sudo systemctl daemon-reload
sudo systemctl enable --now wazuh-agent

# ฝั่ง server ตรวจว่า agent เชื่อมต่อแล้ว
sudo /var/ossec/bin/agent_control -l

เปิด File Integrity Monitoring (FIM)

FIM แจ้งเตือนทันทีเมื่อไฟล์สำคัญถูกแก้ — สัญญาณคลาสสิกของการถูกเจาะ แก้ใน /var/ossec/etc/ossec.conf:

<syscheck>
  <directories check_all="yes" realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
  <directories check_all="yes" realtime="yes">/var/www</directories>
  <frequency>43200</frequency>
</syscheck>

# restart agent
sudo systemctl restart wazuh-agent

หลังตั้งระบบเฝ้าระวัง ควรเสริมด้วย FIM และ rule เฉพาะของแอปที่รัน เพื่อให้ Wazuh จับเหตุการณ์ที่เป็นบริบทจริงของเซิร์ฟเวอร์ ไม่ใช่แค่ default rule กลางๆ


ตรวจสอบว่า Wazuh ทำงานถูกต้อง

ยืนยันว่าทุก service ขึ้น, agent ส่ง event และ alert ยิงเมื่อมีเหตุการณ์จริง:

# 1. service หลักทำงานครบ
sudo systemctl status wazuh-manager wazuh-indexer wazuh-dashboard

# 2. agent online (Active) กี่ตัว
sudo /var/ossec/bin/agent_control -l

# 3. ทดสอบ alert: จงใจ login ผิดหลายครั้ง แล้วดู alert
sudo tail -f /var/ossec/logs/alerts/alerts.json | grep -i "authentication"

# 4. ทดสอบ FIM: แก้ไฟล์ใน path ที่ monitor แล้วต้องเห็น event
sudo touch /etc/test-fim && sudo tail -n5 /var/ossec/logs/alerts/alerts.log
Tip: ถ้า dashboard ขึ้นแต่ไม่มี data ให้เช็ก filebeat บน server (filebeat test output) — เป็นตัวส่ง alert จาก Manager เข้า Indexer ถ้ามันล่ม dashboard จะว่างเปล่าทั้งที่ agent ส่งข้อมูลปกติ

แก้ปัญหาที่พบบ่อย

Dashboard เปิดไม่ขึ้น / ขึ้น 503

Indexer ยังไม่พร้อม (กิน RAM สูงตอน start) หรือ RAM ไม่พอ ตรวจ:

sudo systemctl status wazuh-indexer
free -h        # ถ้า RAM เต็ม ต้องเพิ่ม RAM หรือลด JVM heap
curl -k -u admin:PASSWORD https://localhost:9200

Agent ขึ้น "Never connected"

firewall บล็อก port 1514/1515 ระหว่าง agent กับ server เปิด port และตรวจ key:

# บน server
sudo ufw allow 1514,1515/tcp
# ลงทะเบียน agent ใหม่ถ้า key ไม่ตรง
sudo /var/ossec/bin/manage_agents

Disk เต็มเร็วจาก index

log เก่าสะสมใน Indexer ตั้ง Index Management Policy (ISM) ให้ลบ index ที่เก่ากว่า N วันอัตโนมัติ ผ่าน Dashboard > Index Management

Alert เยอะเกินจน noise

ปรับ rule level threshold ในการแจ้งเตือน (เช่น แจ้งเฉพาะ level ≥ 10) และ tune rule ที่ false positive บ่อยใน /var/ossec/etc/rules/local_rules.xml


คำถามที่พบบ่อย

Wazuh ต่างจาก Fail2ban อย่างไร?

Fail2ban เน้นบล็อก IP จาก log ที่ระบุแบบเฉพาะจุด ส่วน Wazuh เป็นแพลตฟอร์มเฝ้าระวังครบวงจร — รวม log หลายเครื่อง, FIM, vulnerability scan และ compliance มี dashboard ภาพรวม เหมาะกับการดูแลหลายเซิร์ฟเวอร์ ทั้งสองใช้ร่วมกันได้

รัน Wazuh บน VPS เล็กได้ไหม?

server แบบ all-in-one ต้องการ RAM อย่างน้อย 8 GB ไม่เหมาะกับ VPS 1-2 GB แต่ฝั่ง agent กิน resource น้อยมาก ติดตั้งบน VPS เล็กที่ต้องการ monitor ได้สบาย

เก็บ log ได้นานแค่ไหน?

ขึ้นกับ disk และ ISM policy ที่ตั้ง โดยทั่วไปตั้งเก็บ 30-90 วันสำหรับ hot index แล้วลบหรือ archive ออก ถ้าต้องเก็บนานตาม compliance ควรเผื่อ disk และพิจารณา cold storage แยก