คู่มือนี้จะสำรวจเหตุผลด้านความปลอดภัยบางประการที่คุณไม่ควรใช้ XAMPP บนเซิร์ฟเวอร์ที่ใช้งานจริงสำหรับการโฮสต์หรือปรับใช้แอปพลิเคชันที่ใช้ PHP
ทำไมต้องใช้ XAMPP เพื่อการพัฒนา
XAMPP เป็นหนึ่งใน LAMP stacks ที่ใช้กันอย่างแพร่หลายมากที่สุดสำหรับการพัฒนาแอพพลิเคชั่นที่ใช้ PHP ประกอบด้วยเซิร์ฟเวอร์ Apache, ฐานข้อมูล MariaDB และสคริปต์ต่างๆ ที่เกี่ยวข้องกับ PHP และ Perl
เนื่องจากเป็นข้ามแพลตฟอร์ม โอเพ่นซอร์ส และตั้งค่าได้ง่าย จึงเป็นหนึ่งในเครื่องมือที่ดีที่สุดสำหรับผู้เริ่มต้นที่เริ่มต้นกับการพัฒนาเว็บแอปโดยใช้ PHP
เหตุใดคุณจึงไม่ควรใช้ XAMPP สำหรับการผลิต
อย่างไรก็ตาม ไม่แนะนำให้ใช้ XAMPP บนเซิร์ฟเวอร์ที่ใช้งานจริงเนื่องจากเหตุผลด้านความปลอดภัยดังต่อไปนี้
1. ไม่มีรหัสผ่านสำหรับผู้ดูแลระบบฐานข้อมูล
รหัสผ่านมีความสำคัญหากคุณมีเว็บไซต์แบบไดนามิกที่มีฐานข้อมูล รหัสผ่านสำหรับผู้ดูแลระบบฐานข้อมูลบน XAMPP ไม่ได้ตั้งไว้โดยค่าเริ่มต้น ซึ่งอาจนำไปสู่ปัญหาด้านความปลอดภัยมากมาย
- แฮกเกอร์สามารถเข้าถึงฐานข้อมูลทั้งหมดของคุณ และแก้ไขทุกอย่างได้ตามต้องการ เนื่องจากผู้ใช้รูทมีสิทธิ์ในการอ่าน เขียน และดำเนินการ
- ใครก็ตามที่เข้าถึงฐานข้อมูลของคุณสามารถดูและคัดลอกข้อมูลผู้ใช้ที่เป็นความลับและข้อมูลบริษัททั้งหมดของคุณ รวมถึงการคัดลอกฐานข้อมูลทั้งหมด
- ระบบส่วนใหญ่ในปัจจุบันอาศัยฐานข้อมูล ในกรณีที่ฐานข้อมูลถูกลบหรือไม่สามารถเข้าถึงได้ ระบบของคุณจะถูกนำลงโดยพื้นฐาน
2. MySQL สามารถเข้าถึงได้ผ่านเครือข่าย
XAMPP ใช้ MySQL หรือ Maria DB เป็นบริการฐานข้อมูล น่าเสียดายที่ MySQL daemon สามารถเข้าถึงได้ง่ายผ่านเครือข่าย ซึ่งมีประโยชน์มากหากคุณกำลังพัฒนาเว็บไซต์บนพีซีในพื้นที่ แต่ไม่เหมาะสำหรับการผลิต
แม้ว่าคุณจะใช้ไฟร์วอลล์เพื่อจำกัดการเข้าถึง แต่ก็อาจไม่ได้ทำให้ฐานข้อมูลของคุณปลอดภัยจากการเข้าถึงโดยสมบูรณ์
เรียนรู้เพิ่มเติม: เป็นผู้เชี่ยวชาญในการพัฒนาเว็บและ MySQL
3. ProFTPD ใช้รหัสผ่านที่รู้จัก
ProFTPD เป็นไคลเอนต์ FTP (File Transfer Protocol) เริ่มต้นที่ใช้โดย XAMPP เป็นที่ทราบกันดีอยู่แล้วว่ารหัสผ่านเริ่มต้นสำหรับสิ่งนี้ถูกตั้งค่าเป็น "lampp" ซึ่งหมายความว่าผู้ใช้สามารถเข้าถึงไฟล์ HTML หรือหน้าเว็บทั้งหมดของคุณได้อย่างง่ายดาย
แฮกเกอร์สามารถคัดลอกหน้าเว็บแบบคงที่ของคุณเพื่อสร้างเว็บไซต์ปลอมที่คล้ายกับของคุณและพยายามรีดไถข้อมูลที่มีค่าจากผู้ใช้ของคุณ นอกจากนี้ แฮกเกอร์สามารถแทรกโค้ดที่เป็นอันตรายลงในไซต์ปลอมหรือไซต์ที่ซ้ำกันซึ่งติดไวรัสคอมพิวเตอร์ในเครือข่ายได้
4. เซิร์ฟเวอร์เมลในเครื่องไม่ปลอดภัย
บน Windows XAMPP ใช้ Mercury เป็นเซิร์ฟเวอร์เมลเริ่มต้น ขออภัย รหัสผ่านยังเป็นที่ทราบกันดี ซึ่งจะทำให้ผู้ใช้ที่ประสงค์ร้ายเข้าถึงอีเมลของคุณได้ง่ายขึ้น
ด้วยการเข้าถึงอีเมลของคุณ แฮกเกอร์สามารถส่งรหัสที่เป็นอันตรายในอีเมล พยายามรีดไถเงินจากผู้ใช้ที่ไม่สงสัย หรือทำลายชื่อเสียงของบริษัทของคุณด้วยการส่งอีเมลที่ไม่เหมาะสมไปยังลูกค้า
เสริมความแข็งแกร่งให้กับการติดตั้ง XAMPP ของคุณ
หากคุณต้องการทำให้การติดตั้ง XAMPP ปลอดภัยยิ่งขึ้น คุณสามารถเรียกใช้คำสั่งต่อไปนี้หาก XAMPP ทำงานบนเซิร์ฟเวอร์ Linux:
sudo /opt/lampp/lampp security
ใน Windows คุณสามารถใช้ URL:https://localhost/security เพื่อแก้ไขปัญหาด้านความปลอดภัยบางอย่าง โปรดทราบว่าแม้ว่าคุณจะทำการกำหนดค่าดังกล่าว ช่องโหว่ด้านความปลอดภัยที่เกี่ยวข้องกับ FileZilla และ Mercury จะยังไม่ได้รับการแก้ไข
ทางเลือก XAMPP ที่คุณลองใช้ได้
XAMPP เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการตั้งค่าสภาพแวดล้อมการพัฒนา PHP ไม่ว่าคุณจะใช้ Windows, macOS หรือ Linux อย่างไรก็ตาม มันไม่ปลอดภัยพอที่จะใช้ในเซิร์ฟเวอร์ที่ใช้งานจริง
ผู้ดูแลระบบส่วนใหญ่ใช้ LAMP stack แบบเนทีฟบน Linux หรือ IIS บนเซิร์ฟเวอร์ที่ใช้งานจริงของ Windows ซึ่งนำเสนอวิธีการปรับใช้แอปพลิเคชัน PHP ที่ปลอดภัยยิ่งขึ้น หากคุณใช้ Windows ให้พิจารณาสร้างสภาพแวดล้อมการพัฒนา WAMP โดยใช้ WampServer