shield ความปลอดภัย
ความปลอดภัยของระบบ Weekend
หน้านี้อธิบายสิ่งที่เราทำจริงเพื่อดูแลบัญชีและข้อมูลของผู้เรียน ทุกข้อด้านล่างตรวจสอบได้จากระบบทดสอบที่รันซ้ำทุกครั้งก่อนขึ้นระบบจริง
checklistตรวจตามกรอบ OWASP Top 10
OWASP เป็นองค์กรไม่แสวงหากำไรที่จัดทำรายการความเสี่ยงที่พบบ่อยที่สุดของเว็บแอปพลิเคชัน OWASP ไม่ได้ออกใบรับรองให้องค์กรใด — รายการด้านล่างคือสิ่งที่เราตรวจและแก้ตามกรอบนี้
A01การควบคุมสิทธิ์เข้าถึง
- ทุกหน้าและทุก API หลังบ้านมีการ์ดสิทธิ์ของตัวเอง ไม่พึ่งการซ่อนเมนู
- มีชุดทดสอบเมทริกซ์สิทธิ์ 100 เคส (ทุกเส้นทาง × ทุกบทบาท) รันทุกครั้งก่อนขึ้นระบบ
- ถอดสิทธิ์ผู้ดูแลแล้วมีผลภายใน 5 นาที เพราะระบบทวนบทบาทกับฐานข้อมูลเป็นระยะ ไม่เชื่อ token อย่างเดียว
- การเข้าถึงข้อมูลของผู้อื่นถูกทดสอบแยกอีก 29 เคส (IDOR)
A02การเข้ารหัสข้อมูล
- บังคับ HTTPS ทั้งเว็บด้วย HSTS (max-age 1 ปี รวมโดเมนย่อย)
- ไม่เก็บรหัสผ่านเลย — เข้าสู่ระบบผ่าน Google หรือ LINE เท่านั้น
- ไฟล์ที่ต้องจ่ายเงินก่อนดาวน์โหลดใช้ลิงก์ลงเวลาแบบมีอายุ ไม่เปิดสาธารณะ
- ไฟล์ส่งออกข้อมูลส่วนตัวไม่มีโทเคนของผู้ให้บริการล็อกอินติดไปด้วย
A03การแทรกคำสั่ง (Injection)
- เข้าถึงฐานข้อมูลผ่าน Prisma ซึ่งผูกค่าตัวแปรให้เสมอ ไม่ต่อสตริง SQL เอง
- ข้อมูลที่ผู้ใช้กรอกตรวจด้วย schema ก่อนใช้ทุกจุด
- เนื้อหาที่แสดงผลเป็น HTML ผ่านการกรองก่อนเสมอ
- ไฟล์ CSV ที่ส่งออกกันสูตรอันตราย (CSV injection) ไม่ให้ Excel ตีความเป็นคำสั่ง
A04การออกแบบที่ปลอดภัย
- จำกัดจำนวนคำขอต่อผู้ใช้ในเส้นทางที่มีค่าใช้จ่าย เช่น การสร้างรายการชำระเงิน
- จำกัดต่อ “ผู้ใช้” ไม่ใช่ต่อหมายเลขไอพี เพราะเน็ตมือถือในไทยใช้ไอพีร่วมกัน
- การยืนยันการชำระเงินเชื่อเฉพาะข้อความที่ลงลายเซ็นจากผู้ให้บริการชำระเงิน
A05การตั้งค่าที่ปลอดภัย
- กำหนด Content-Security-Policy แยกตามลักษณะหน้า ไม่ผ่อนทั้งเว็บเพื่อหน้าเดียว
- ตั้งหัวข้อความปลอดภัยครบ: nosniff, frame ancestors, referrer policy, permissions policy
- ปิดการเปิดเผยเทคโนโลยีเบื้องหลังในหัวข้อความตอบกลับ
- ฐานข้อมูลไม่เปิดพอร์ตออกอินเทอร์เน็ต เข้าถึงได้จากภายในเท่านั้น
A06ส่วนประกอบที่มีช่องโหว่
- สแกนไลบรารีที่ใช้จริงทุกครั้งก่อนขึ้นระบบ
- รอบล่าสุดปิดช่องโหว่ที่พบทั้งหมด 23 รายการ (ร้ายแรง 2 · สูง 11 · ปานกลาง 10) เหลือ 0
A07การพิสูจน์ตัวตน
- เข้าสู่ระบบผ่านผู้ให้บริการที่รองรับการยืนยันสองชั้นได้ (Google / LINE)
- อายุ session 7 วัน และยุติทันทีเมื่อบัญชีถูกลบหรือถูกลบข้อมูลตามคำขอ
- บันทึกการเข้าสู่ระบบทุกครั้ง
A08ความถูกต้องของข้อมูลและซอฟต์แวร์
- ตรวจลายเซ็นของข้อความแจ้งผลการชำระเงินก่อนเชื่อทุกครั้ง
- ใบประกาศนียบัตรมีลายนิ้วมือ SHA-256 ผูกกับเนื้อหาบนใบ ตรวจสอบย้อนได้ที่หน้า /verify
- การปรับฐานข้อมูลทำผ่านสคริปต์ที่บันทึกไว้ ไม่แก้มือบนเครื่องจริง
A09การบันทึกและเฝ้าระวัง
- บันทึกการกระทำสำคัญของผู้ดูแล เช่น เปลี่ยนสิทธิ์ ลบข้อมูล ออกใบประกาศ
- บันทึกไม่เก็บข้อมูลอ่อนไหวเกินจำเป็น
A10การให้เซิร์ฟเวอร์ยิงคำขอแทน (SSRF)
- ลิงก์ภายนอกที่ระบบต้องเรียกเองถูกตรวจก่อนใช้ ปิดกั้นที่อยู่ภายในวงเครือข่าย
- อนุญาตเฉพาะ https และตรึงปลายทางตามหมายเลขที่ตรวจแล้ว
policyข้อมูลส่วนบุคคล (PDPA)
- บันทึกความยินยอมแบบต่อท้าย ไม่เขียนทับของเดิม จึงพิสูจน์ได้ว่าวันนั้นยินยอมอะไร ภายใต้นโยบายรุ่นไหน
- ยกเลิกรับอีเมลได้จากลิงก์ท้ายอีเมลโดยไม่ต้องเข้าสู่ระบบ — ถอนความยินยอมต้องง่ายเท่าการให้
- ขอสำเนาข้อมูลของตัวเองได้จากหน้าตั้งค่าบัญชี
- ขอลบบัญชีได้ ระบบดำเนินการภายใน 30 วัน และไม่ทำให้ประวัติทางบัญชีของผู้อื่นเสียหาย
- อีเมลข่าวสารส่งเฉพาะผู้ที่ยินยอม ส่วนอีเมลที่ผู้ใช้ร้องขอเอง เช่น ลิงก์ ebook หรือใบเสร็จ ส่งตามสัญญา
อ่านรายละเอียดที่ นโยบายความเป็นส่วนตัว
bug_reportพบช่องโหว่? แจ้งเราได้
หากคุณพบปัญหาด้านความปลอดภัย กรุณาแจ้งมาที่หน้า ถามอาจารย์ หรือตอบกลับอีเมลใดก็ได้ที่ได้รับจากเรา โดยยังไม่เปิดเผยต่อสาธารณะ เราจะติดต่อกลับและแก้ไขให้เร็วที่สุด
ไม่มีระบบใดปลอดภัย 100% หน้านี้อธิบายมาตรการที่ใช้อยู่ ไม่ใช่คำรับประกันว่าจะไม่เกิดเหตุใด ๆ