IPradr PHP Guard — ยาชุดตรวจและวางแผนแก้ไข 1.0
วันที่ 23 ตุลาคม 2569

ภายในแพ็ก
1. phpguard.py — Linux: audit, baseline, check, watch, plan, apply, rollback, verify
2. phpguard-pack.py — ตรวจ PHP แบบอ่านข้อมูลบน Windows/Linux และใน Docker ที่เลือก
3. phpguard-watch.service — Linux systemd สำหรับเฝ้าระวังไฟล์
4. README-TH.txt — คู่มือ Linux และข้อจำกัดโดยละเอียด
5. WINDOWS-DOCKER-TH.txt — ขั้นตอนแก้ไขและตรวจผล Windows/Container
6. test_phpguard.py, test_pack.py — ทดสอบตรรกะโดยไม่เปลี่ยนเครื่องจริง

ต้องมี Python 3.9 ขึ้นไป โปรแกรมใช้ standard library ไม่ต้อง pip install
แตก ZIP ไปยังโฟลเดอร์ที่ผู้ดูแลเป็นผู้เขียนได้เท่านั้น
ตรวจเฉพาะระบบที่ดูแล ใช้ executable ที่เชื่อถือได้
Windows ให้ตั้งสิทธิ์ NTFS ของโฟลเดอร์ผลลัพธ์เฉพาะผู้ดูแล

เริ่ม Linux
  python3 phpguard-pack.py --output audit-linux.json
หรือ inventory ละเอียดเพิ่มเติม:
  sudo python3 phpguard.py audit --output /var/lib/phpguard/audit.json

เริ่ม Windows (PowerShell)
  py -3 .\phpguard-pack.py --php-bin 'C:\PHP\php.exe' --output '.\audit-windows.json'
แทนพาธด้วย PHP จริง ระบุ --php-bin ซ้ำได้สำหรับหลายชุด
หากไม่มี py launcher ให้ใช้ python แทน

เริ่ม Docker จาก host (ต้องมี docker CLI และสิทธิ์เข้าถึง daemon)
  docker ps --format '{{.Names}}'
  python3 phpguard-pack.py --container ชื่อจริง --output audit-docker.json
บน Windows ใช้ py -3 แทน python3 ได้
คำสั่ง exec รันเฉพาะ PHP -v และ --ini ภายใน container ไม่แก้ไฟล์หรือ restart
ถ้า PHP ไม่อยู่ใน PATH ให้เพิ่ม --container-php /พาธจริง/php
container ต้องกำลังทำงาน และต้องใช้ PHP executable ที่เชื่อถือได้
ไม่ต้อง mount docker.sock เข้าเว็บหรือแจกสิทธิ์ daemon ให้บริการสาธารณะ

ขั้นตอนใช้ยาชุด
ตรวจระบบ -> ประเมินหลักฐานแพตช์ -> สำรอง/สร้าง baseline -> ทดสอบและแก้ไข
-> ตรวจ runtime ของเว็บจริง -> เฝ้าระวังและทบทวนหลักฐาน

สถานะความสามารถ
Linux: มี hardening INI สี่ค่า พร้อม backup/rollback และตรวจไฟล์แบบ polling
Windows: มี inventory CLI; การเปลี่ยน PHP/IIS/ACL เป็นขั้นตอนในคู่มือ ยังไม่อัตโนมัติ
Docker: มี inventory container ที่เลือก; rebuild/deploy เป็นขั้นตอนในคู่มือ
Kubernetes/Podman/Windows Containers: ยังไม่ผ่าน integration test และไม่ประกาศรองรับ
ไม่มี process monitoring, web-shell detection หรือระบบกักกันไฟล์อัตโนมัติ

ข้อสำคัญ
ยาชุดนี้ไม่ใช่แพตช์ PHP runtime และไม่ยืนยันว่าเครื่องปลอดภัย
ต้องอัปเดต PHP ด้วยแพตช์ผู้ผลิตจึงแก้ต้นเหตุของช่องโหว่ที่เกี่ยวข้อง
การปิด version/error header เป็นมาตรการเสริมเท่านั้น
อ่านข้อจำกัดในรายงาน หากคำสั่งล้มเหลวหรือไม่พบ PHP ต้องตรวจเพิ่ม ไม่ตีความว่าปลอดภัย
กฎ CVE เป็น snapshot วันที่จัดทำ ต้องทบทวนเมื่อมีประกาศใหม่
ยังไม่ผ่านการทดสอบ end-to-end บน production ของ Windows/Linux/Docker
ให้ทดสอบ staging ก่อน โดยเฉพาะโหมดแก้ INI และ rollback

ตรวจชุดทดสอบ
  python -m unittest discover -s . -p 'test_*.py' -v

รายงานและ baseline อาจเปิดเผยพาธและรายละเอียดระบบ เก็บเป็นข้อมูลภายใน
หากสงสัยบุกรุก ให้เก็บหลักฐานและดำเนินกระบวนการตอบสนองเหตุการณ์ก่อน
