การปรับปรุงเครื่อง Web Server เพื่อเพิ่มมาตรการรักษาความปลอดภัยตามคำแนะนำของกองบริการเทคโนโลยีสารสนเทศและการสื่อสาร
1. ปิด Port ต่างๆ ที่ไม่ได้ใช้งานเพื่อป้องกันการโจมตีจากผู้ไม่ประสงค์ดี
2. ติดตั้งโปรแกรม SpyFolder ตรวจจับการเพิ่มหรือแก้ไขไฟล์เอกสาร
3. สร้าง Drive D:\ เพื่อจัดเก็บไฟล์เอกสารของเว็บไซต์ และจัดการสิทธิ์การเข้าถึง
- การจัดการสิทธิ์เข้าถึง กำนหนดให้ Local user เป็นเจ้าของ Folder D:\htdocs แต่ไม่มีสิทธิ์ในการอ่านและเขียนและมีสิทธิ์ในการเข้าถึง Drive C:\ ในฐานะ User เท่านั้น
- กำหนดให้ SYSTEM สามารถเข้าถึง Folder แบบ Full Control ได้บาง Folder เท่านั้น(เฉพาะ Folder ที่ต้องมีการอัพโหลดไฟล์เอกสาร)
- กำหนดสิทธิ์เข้าถึง แบบ Full Control ให้กับผู้ใช้บางคนเท่านั้น
- การกำหนดค่า htdocs.conf เพื่อชี้ folder จัดเก็บไฟล์เอกสารของเว็บไซต์
#DocumentRoot “/xampp/htdocs”
#<Directory “/xampp/htdocs”>
DocumentRoot “D:/htdocs”
<Directory “D:/htdocs”>
4. สร้าง Drive E:\ เพื่อจัดเก็บไฟล์ระบบฐานข้อมูล MySQL และจัดการสิทธิ์การเข้าถึง
- การจัดการสิทธิ์เข้าถึง กำนหนดให้ user mysql_data เป็นเจ้าของ Folder D:\htdocs แต่ไม่มีสิทธิ์ในการอ่านและเขียนและมีสิทธิ์ในการเข้าถึง Drive C:\ ในฐานะ User เท่านั้น
- กำหนดให้ SYSTEM สามารถเข้าถึง Folder แบบ Full Control ได้ เพราะ Folder ที่ต้องมีการเขียนไฟล์เอกสาร
- กำหนดสิทธิ์เข้าถึง แบบ Full Control ให้กับผู้ใช้บางคนเท่านั้น
- การกำหนดค่า my.ini เพื่อชี้ไปยัง folder จัดเก็บไฟล์เอกสารของ MySQL
#datadir = “C:/xampp/mysql/data”
datadir = “E:/mysql/data”
- ปิด feature INTO OUTFILE เพื่อป้องกัน SQL injection
หมายเหตุ ก่อนการปรับปรุงในข้อ 3. และ 4. Web Server จะจัดเก็บ Folder htdocs และ MySQL ไว้บน Drive C:\ และไม่มีการจำกัดสิทธิ์การเข้าถึง ซึ่งอาจจะส่งผลให้ไฟล์เอกสารทั้งหมดติด virus เข้ารหัสไฟล์หรือ Ransom ware ได้
5. กำหนดให้ Apache จัดเก็บ Log เป็นรายวันเพื่อให้ง่ายต่อการตรวจสอบ
#CustomLog “logs/access.log” combined
CustomLog “|bin/rotatelogs.exe logs/access.%y-%m-%d.log 86400” common
6. กำหนดสิทธิ์การเรียกใช้(เปิด/ปิด) Service ของ Apache และ MySQL ให้เป็น Local User ที่กำหนดไว้ แทนของเดิมที่เป็น Local Service