รายงานความเสี่ยง PHP
ในประเทศไทย
สถิติเชิงประจักษ์จากข้อมูลที่บันทึกใน IPradr เพื่อสนับสนุนการประเมินความเสี่ยง PHP2Shell และการบริหารจัดการบริการที่เปิดให้เข้าถึงผ่านอินเทอร์เน็ต
ตรวจ PHP
เตรียมระบบให้พร้อมแก้ไข
ชุดเครื่องมือสำหรับผู้ดูแลระบบ สำรวจเวอร์ชัน PHP สร้างฐานตรวจสอบไฟล์ และวางแผนปรับปรุงความปลอดภัย พร้อมคู่มือ Linux, Windows และ Docker
สัดส่วน IP ตามหลักฐานเวอร์ชัน
นับหมายเลข IP โดยไม่ซ้ำ แม้ตรวจพบหลายพอร์ตหรือหลายชื่อโดเมน
ความครอบคลุมของหลักฐานชื่อโดเมน
ความครอบคลุมเฉพาะ 7 นามสกุลโดเมนที่เลือก
ผลการประเมินความเสี่ยงจำแนกตามกลุ่มโดเมน
จำแนกตามนามสกุลโดเมน โดยเผยแพร่เฉพาะสถิติรวม จำนวนที่แสดงไม่สามารถใช้แทนจำนวนองค์กรได้
| กลุ่มโดเมน | IP ทั้งหมด | IP ที่เข้าข่าย | สัดส่วนในกลุ่ม | โดเมนฐานที่พบ | โดเมนฐานที่พบ IP ที่เข้าข่าย |
|---|---|---|---|---|---|
กำลังจัดเตรียมข้อมูลตารางโปรดรอสักครู่ ระบบกำลังจัดเตรียมสถิติ | |||||
โครงสร้างบริการและซอฟต์แวร์
บริการทั้งหมดที่ตรวจพบบน IP ในประเทศไทยซึ่งมีหลักฐาน PHP รวมบริการอื่นบน IP เดียวกัน
ประเภทบริการและพอร์ต
ประเภทเว็บเซิร์ฟเวอร์
จำแนกจาก Server header และผลิตภัณฑ์ที่รายงาน
ซอฟต์แวร์ที่ตรวจพบ
นับจุดให้บริการ IP + พอร์ต + โปรโตคอลขนส่ง โดยเลือกข้อมูลล่าสุดเมื่อมีหลายชื่อโฮสต์ จึงอาจต่างจากยอดบริการในหน้า IPradr ที่นับแยกตามชื่อโฮสต์ ข้อมูลพอร์ตและซอฟต์แวร์ไม่ใช่ผลยืนยันช่องโหว่ ซอฟต์แวร์หนึ่งจุดให้บริการอาจมีหลายชนิด ส่วนประเภทบริการที่อาศัยพอร์ตมาตรฐานเป็นข้อสันนิษฐานจะระบุจำนวนแยกไว้
องค์กรและผู้ให้บริการตามข้อมูลที่รายงาน
จำแนก IP ที่ตรวจพบ PHP ตามชื่อองค์กรในฟิลด์ org พร้อมบริการอื่นที่พบบน IP เดียวกัน
ชื่อองค์กรที่สัมพันธ์กับ IP มากที่สุด
| ชื่อองค์กรที่รายงาน | IP ไม่ซ้ำ | สัดส่วน IP ในชุดข้อมูล | จุดให้บริการ |
|---|---|---|---|
กำลังจัดกลุ่มข้อมูลองค์กรโปรดรอสักครู่ ระบบกำลังจัดเตรียมสถิติ | |||
ชื่อองค์กรอาจเป็นผู้ให้บริการอินเทอร์เน็ต เครือข่าย โฮสติ้ง หรือคลาวด์ มิใช่การยืนยันเจ้าของเว็บไซต์หรือหน่วยงานเจ้าของระบบ นับชื่อองค์กรล่าสุดที่ใช้งานได้หนึ่งชื่อต่อ IP โดยไม่รวมชื่อที่ต่างกันเป็นนิติบุคคลเดียวกันโดยอัตโนมัติ แสดงชื่อเฉพาะกลุ่มที่มีอย่างน้อย 5 IP และไม่จัดอันดับความเสี่ยงรายองค์กร
สถิติช่องโหว่ CVE และระดับความรุนแรง CVSS
วิเคราะห์บริการในขอบเขตเดียวกับสถิติพอร์ต โดยเผยแพร่เฉพาะจำนวนรวม ไม่ระบุระบบรายแห่ง
อยู่ระหว่างจัดเตรียมสถิติ CVE
ระดับความรุนแรงสูงสุดที่ทราบต่อบริการ
หนึ่งจุดให้บริการนับเพียงหนึ่งระดับ โดยใช้คะแนน CVSS เวอร์ชันที่เลือก
CVE ที่สัมพันธ์กับบริการมากที่สุด
| CVE | CVSS | ระดับ | จุดให้บริการ | IP ไม่ซ้ำ |
|---|---|---|---|---|
กำลังจัดเตรียมข้อมูลตารางโปรดรอสักครู่ ระบบกำลังจัดเตรียมสถิติ | ||||
หลักเกณฑ์การวิเคราะห์ CVE / CVSS และข้อจำกัด
ข้อมูล CVE ที่แหล่งข้อมูลรายงานเป็นความสัมพันธ์กับบริการที่ตรวจพบ ยังไม่ใช่ผลยืนยันว่าระบบมีช่องโหว่จริง ส่วนการประเมินตามเวอร์ชันครอบคลุมกฎ PHP, Portable OpenSSH และ Apache บางรายการเท่านั้น และต้องตรวจสอบแพตช์ของผู้ผลิต สภาพแวดล้อม และการกำหนดค่าของระบบประกอบ
กราฟใช้คะแนนฐานสูงสุดที่ทราบต่อจุดให้บริการจาก CVSS เวอร์ชันที่เลือก โดยไม่เฉลี่ย ไม่รวมคะแนน และไม่ใช้คะแนนจากต่างเวอร์ชันทดแทนกัน หากบริการมี CVE บางรายการที่ยังไม่มีคะแนน ระดับที่แสดงอาจต่ำกว่าระดับสูงสุดเมื่อข้อมูลครบถ้วน CVE ที่มีสถานะ REJECTED ไม่นำมารวมในการประเมิน
จำนวน IP ในแต่ละ CVE อาจซ้ำกัน จึงไม่สามารถรวมจำนวนข้ามแถวเป็นยอดรวมได้ การไม่มีข้อมูลหรือไม่มี CVE ที่รายงานไม่ใช่การรับรองความปลอดภัย คะแนน CVSS แสดงความรุนแรงของช่องโหว่ ไม่ใช่ความน่าจะเป็นที่จะถูกโจมตี ส่วน CISA KEV ระบุช่องโหว่ที่มีหลักฐานการนำไปใช้โจมตี ไม่ได้ยืนยันการบุกรุกระบบในชุดข้อมูลนี้
ผลการประเมินจำแนกตามตระกูลเวอร์ชัน PHP
จำนวน IP ที่เข้าเงื่อนไขในแต่ละตระกูล · หมายเลข IP เดียวอาจตรวจพบหลายเวอร์ชัน
ข้อเสนอแนะในการตรวจสอบและปรับปรุงระบบ
ผู้ดูแลระบบควรตรวจสอบแพ็กเกจและสถานะการติดตั้งแพตช์จากผู้ผลิตบนระบบจริง โดยเฉพาะระบบที่ใช้งาน PHP หลายเวอร์ชัน รวมถึงตรวจสอบสภาพแวดล้อมการทำงาน (runtime/SAPI) และการกำหนดค่าที่เกี่ยวข้อง
รุ่นแก้ไขตามประกาศ PHP
หมายเลขเวอร์ชันอาจไม่สะท้อนการติดตั้งแพตช์แบบ backport การใช้เวอร์ชันที่ถึงเกณฑ์แก้ไขช่องโหว่นี้มิใช่การรับรองความปลอดภัยจากช่องโหว่อื่น
แนวทางปฏิบัติสำหรับผู้ดูแลระบบ: ดำเนินการเฉพาะระบบที่อยู่ในความรับผิดชอบ และบันทึกผลตรวจสอบแยกตามเว็บไซต์ เครื่อง และเวอร์ชัน PHP
สำรวจ PHP ที่เว็บไซต์ใช้งานจริง
จัดทำรายการเว็บไซต์และพอร์ต ตรวจสอบ PHP version, SAPI (เช่น FPM, Apache module หรือ CGI), ระบบปฏิบัติการ และแหล่งที่มาของแพ็กเกจจากแผงควบคุมหรือการตั้งค่า web server ให้ครบทุก virtual host, container และเครื่องหลัง load balancer
php -v php --iniคำสั่งนี้ตรวจ PHP ของ CLI เท่านั้น ต้องเทียบกับ PHP ที่เว็บไซต์ใช้งานจริงด้วย หากต้องใช้หน้าวินิจฉัย ให้จำกัดการเข้าถึงภายในและลบเมื่อเสร็จ ห้ามเปิด phpinfo() สู่สาธารณะ
ยืนยันแพตช์กับผู้ผลิต
เทียบเวอร์ชันและเลข revision ของแพ็กเกจกับประกาศความปลอดภัยของ PHP หรือผู้จำหน่ายระบบปฏิบัติการ โดยตรวจ CVE-2026-109618 และ CVE-2026-109619 หากเป็นแพ็กเกจ backport ให้เก็บหลักฐานจากผู้ผลิตประกอบ ไม่ตัดสินจากหมายเลข PHP เพียงอย่างเดียว รุ่นที่หมดการสนับสนุนควรวางแผนย้ายไปสาขาที่ยังได้รับการอัปเดต
สำรองข้อมูลและเตรียมย้อนกลับ
สำรองฐานข้อมูล โค้ด การตั้งค่า PHP / web server และรายการ extensions เก็บสำเนานอกเครื่องที่แก้ไข ทดสอบกู้คืน และกำหนดช่วงบำรุงรักษา พร้อมผู้รับผิดชอบและเกณฑ์ย้อนกลับ หากพบหลักฐานบุกรุก ให้เก็บ log และหลักฐานก่อนแก้ไข ประสานทีมตอบสนองเหตุการณ์ด้วย
ทดสอบรุ่นใหม่ในระบบทดสอบ
ใช้รุ่นล่าสุดที่ผู้ผลิตยังสนับสนุนและแก้ช่องโหว่แล้ว ตรวจความเข้ากันได้ของแอปพลิเคชัน framework, extensions และฐานข้อมูล ทดสอบการเข้าสู่ระบบ session การอัปโหลด งานตามเวลา และการเชื่อมต่อบริการภายนอกก่อนใช้งานจริง
ติดตั้งแพตช์ตามรูปแบบระบบ
เลือกแนวทางด้านล่างตามแหล่งติดตั้ง อัปเดต PHP และ extensions ที่เกี่ยวข้องให้สอดคล้องกัน ตรวจรายการเปลี่ยนแปลงก่อนยืนยันทุกครั้ง
Linux: Debian / Ubuntu
ตรวจแพ็กเกจที่ติดตั้งและรุ่นที่ repository เสนอ จากนั้นอัปเดตเฉพาะรายชื่อแพ็กเกจที่ตรวจสอบแล้ว
dpkg-query -W 'php*' sudo apt update apt-cache policy <ชื่อแพ็กเกจ-PHP> sudo apt install --only-upgrade <ชื่อแพ็กเกจ-PHP> <ชื่อแพ็กเกจ-extension>แทนค่าภายใน <…> ด้วยชื่อจริง หาก repository ยังไม่มีรุ่นแก้ไข ให้ตรวจประกาศของผู้จำหน่ายและแนวทางอัปเกรดที่รองรับ
Linux: RHEL / Rocky / AlmaLinux
rpm -qa 'php*' sudo dnf check-update 'php*' sudo dnf upgrade <ชื่อแพ็กเกจ-PHP> <ชื่อแพ็กเกจ-extension>ตรวจ repository และ module stream ที่ระบบใช้อยู่ รวมถึงแพตช์ backport ของผู้จำหน่าย ไม่เปลี่ยน stream โดยไม่ทดสอบการย้ายรุ่นก่อน
Windows / IIS หรือแผงควบคุมโฮสติ้ง
ใช้ชุดอัปเดตจากผู้จำหน่ายหรือแผงควบคุม ตรวจ architecture, Thread Safety และ extensions ให้ตรงกับระบบ ตรวจ handler / FastCGI path หรือ PHP selector ของทุกเว็บไซต์ แล้วเปลี่ยนไปใช้รุ่นที่แก้ไขแล้วตามคู่มือผู้ผลิต
สำรองการตั้งค่าเดิม และ recycle เฉพาะ application pool หรือบริการที่เกี่ยวข้องในช่วงบำรุงรักษา
Container / Docker / Kubernetes
ปรับ base image เป็นรุ่นที่แก้ไขและยังสนับสนุน สร้าง image ใหม่ ทดสอบ แล้ว deploy แบบทยอยเปลี่ยน ตรวจว่า worker และ replica ทุกตัวใช้ image ใหม่ บันทึก tag และ digest เพื่ออ้างอิง ไม่แก้ไฟล์ใน container ชั่วคราวแล้วถือว่าอัปเดตเสร็จ
ตัวอย่างคำสั่งใช้กับแพ็กเกจจากระบบจัดการแพ็กเกจเท่านั้น ระบบที่ติดตั้งจากซอร์สหรือผู้ให้บริการเฉพาะต้องใช้ขั้นตอนของผู้ผลิต และใช้สิทธิ์ผู้ดูแลเฉพาะเมื่อจำเป็น
นำขึ้นใช้งานและเริ่มกระบวนการ PHP ใหม่
ตรวจความถูกต้องของ configuration แล้ว restart หรือ recycle บริการ PHP / application pool ที่ใช้งานจริงตามคู่มือของระบบ เพื่อให้ worker เดิมหยุดทำงาน หากเป็น Apache module ให้ดำเนินการกับ Apache ตามแผนบำรุงรักษา ตรวจทุกเครื่องหลัง load balancer และทุก PHP pool ไม่ถือว่าการสลับจาก mod_php ไป FPM เพียงอย่างเดียวเป็นการแก้ช่องโหว่
ตรวจผลหลังอัปเดตและติดตาม log
ยืนยันเวอร์ชันและแพตช์จาก runtime ของเว็บไซต์อีกครั้ง ตรวจสถานะบริการ HTTP และ HTTPS พร้อมทดสอบฟังก์ชันสำคัญ เปรียบเทียบ error log, PHP-FPM / web server log และอัตรา HTTP 5xx ก่อนและหลังเปลี่ยนแปลง หากผิดปกติให้ใช้แผนย้อนกลับและจำกัดการเข้าถึงจนแก้ไขได้
บันทึกหลักฐานและติดตามต่อเนื่อง
บันทึกผู้ดำเนินการ วันเวลา เว็บไซต์ที่ตรวจ รุ่นแพ็กเกจ / image digest ประกาศผู้ผลิต และผลทดสอบ จัดรอบตรวจแพตช์เป็นประจำ การลดข้อมูล version header หรือใช้ WAF เป็นมาตรการเสริม ไม่ใช้แทนการติดตั้งแพตช์ และข้อมูลสถิติภายนอกอาจยังแสดงค่าเดิมจนกว่าจะมีการเก็บข้อมูลใหม่
ทุกเว็บไซต์ใช้ runtime ที่ตรวจสอบแพตช์แล้ว • worker เก่าถูกเปลี่ยนครบ • ฟังก์ชันสำคัญผ่านการทดสอบ • มีหลักฐานและแผนกู้คืน
ระเบียบวิธีการวิเคราะห์ ข้อจำกัด และการคุ้มครองข้อมูล
หน่วยนับและการจัดสถานะ
สถิติหลักนับ IP ไม่ซ้ำจากบริการที่มีหลักฐาน PHP และมี geolocation ประเทศไทยจาก Shodan หาก IP เดียวมีอย่างน้อยหนึ่งบริการที่เข้าเงื่อนไข จะจัดเป็น “เข้าข่ายตามเวอร์ชัน” หากมีรุ่นที่ระบุไม่ได้ปนกับรุ่นถึงเกณฑ์แก้ไข จะจัดเป็น “หลักฐานไม่เพียงพอ” เว้นแต่พบรุ่นเข้าเงื่อนไขอยู่ด้วย
โดเมนและขอบเขต
ค่าเริ่มต้นใช้ PTR ที่ตรวจ forward DNS แล้วชี้กลับมายัง IP เดิม อีกมุมมองรวมชื่อที่รายงานไว้แต่ยังไม่ยืนยัน IP เดียวอาจอยู่ในหลายกลุ่ม จึงไม่สามารถรวมจำนวนข้ามกลุ่มเป็นยอดรวมได้ โดเมนฐานนับชื่อหนึ่งระดับหน้า suffix เช่นกลุ่ม .go.th โดยไม่นับ subdomain ซ้ำ ไม่ใช่จำนวนเว็บไซต์หรือจำนวนองค์กรตามกฎหมาย
ชื่อโดเมนที่พบจาก PTR และ Shodan ไม่ครอบคลุมทุก virtual host หรือโดเมนที่อาศัย IP นั้น การไม่มีข้อมูลใน 7 กลุ่มนี้ไม่สามารถสรุปได้ว่า IP ไม่มีโดเมน และ suffix ไม่ได้ยืนยันเจ้าของระบบหรือประเภทหน่วยงาน
การตีความความเสี่ยง
สัดส่วนคือ IP ที่เข้าข่ายตามเวอร์ชันในกลุ่มข้อมูล ไม่ใช่ความน่าจะเป็นที่จะถูกโจมตี ไม่ได้ทดสอบ exploit และไม่ได้ยืนยันการถูกบุกรุก CVSS 9.2 เป็นคะแนนความรุนแรงของ CVE ตามประกาศ PHP รุ่นที่ไม่ระบุได้หรืออยู่นอกขอบเขตเกณฑ์การประเมินจะไม่ถูกนับว่าปลอดภัย
แนวทางการเผยแพร่ข้อมูลสถิติ
หน้าเว็บ API สำหรับหน้านี้ และไฟล์ส่งออกไม่ส่ง IP ชื่อโดเมนเต็ม แบนเนอร์ ใบรับรอง หรือข้อมูลรายระบบไปยังผู้เข้าชม ใช้เฉพาะค่ารวมระดับประเทศ กลุ่ม suffix และตระกูลเวอร์ชัน