🇹🇭 ความปลอดภัย (ภาษาไทย)

ความปลอดภัยที่ออกแบบมาเพื่อธุรกิจคุณ

ข้อมูลลูกค้า การสนทนา และข้อมูลธุรกิจของคุณบน OptAdmin ได้รับการป้องกันด้วยมาตรการความปลอดภัยหลายระดับ ตั้งแต่การเข้าสู่ระบบ ไปจนถึงโครงสร้างพื้นฐานเบื้องหลัง


1. ความปลอดภัยของบัญชีและการเข้าถึงระบบ

  • เข้ารหัสรหัสผ่านด้วย bcrypt — รหัสผ่านของผู้ใช้ไม่ถูกจัดเก็บเป็นข้อความธรรมดาแม้แต่ในฐานข้อมูลของเราเอง ระบบใช้ bcrypt hashing (ผ่าน passlib) ซึ่งเป็นมาตรฐานอุตสาหกรรม บังคับความยาวขั้นต่ำ 8 ตัวอักษรตั้งแต่ตอนสมัคร
  • ยืนยันอีเมลก่อนเข้าใช้งาน — บัญชีใหม่ต้องคลิกลิงก์ยืนยันในอีเมลก่อนจึง login ได้ ลิงก์มีอายุ 24 ชั่วโมงและใช้ได้ครั้งเดียว โดยระบบเก็บเฉพาะค่า hash ของโทเค็น (ไม่เก็บโทเค็นจริง) จึงไม่มีใครนำไปใช้ซ้ำได้แม้เข้าถึงฐานข้อมูลได้
  • ยืนยันตัวตนสองชั้น (2FA / TOTP) — ผู้ใช้สามารถเปิดใช้ 2FA แบบ TOTP (ใช้กับ Google Authenticator หรือแอปยืนยันตัวตนทั่วไป) เพิ่มเกราะป้องกันอีกชั้นนอกจากรหัสผ่าน
  • ป้องกันการบรูทฟอร์ซ — หากพยายาม login ผิดเกิน 5 ครั้งภายใน 1 นาทีจาก IP เดียวกัน ระบบจะบล็อกชั่วคราวอัตโนมัติ ใช้ฐานข้อมูลกลางจึงป้องกันได้แม้รันหลาย instance พร้อมกัน และรีเซ็ตทันทีที่ login สำเร็จเพื่อไม่ให้ผู้ใช้จริงถูกบล็อกผิด มาตรการเดียวกันยังคุ้มครองหน้าสมัครและขอลิงก์ยืนยันอีเมลจากการสแปม
  • เข้าสู่ระบบผ่าน Google / Facebook อย่างปลอดภัย — ระบบตรวจสอบ token กับเซิร์ฟเวอร์ของ Google/Facebook โดยตรงทุกครั้ง ไม่เชื่อข้อมูลที่ส่งมาจาก client ฝั่งเดียว ป้องกันการปลอมแปลงตัวตน
  • สิทธิ์การเข้าถึงตามบทบาท (RBAC) — สมาชิกในทีมแบ่งเป็น 4 ระดับ: Owner, Admin, Agent, Viewer แต่ละระดับทำได้เฉพาะสิ่งที่ได้รับอนุญาต เช่น Viewer อ่านได้อย่างเดียว และ Admin ไม่สามารถลดสิทธิ์หรือลบ Owner ได้
  • แยกข้อมูลแต่ละธุรกิจอย่างเด็ดขาด (Tenant Isolation) — ทุก request จะถูกตรวจสอบว่าผู้ใช้เป็นสมาชิกที่ active ของ workspace นั้นจริงก่อนเข้าถึงข้อมูลใดๆ ข้อมูลของธุรกิจ A จะไม่รั่วไปยังธุรกิจ B แม้ใช้ระบบเดียวกัน

2. การปกป้องข้อมูล

  • เข้ารหัสข้อมูลอ่อนไหวก่อนจัดเก็บ — ข้อมูลสำคัญ เช่น API key ของ AI ที่ลูกค้าตั้งค่าเอง, token เชื่อมต่อ LINE/Facebook, credential ของ Calendar และ webhook URL จะถูกเข้ารหัสก่อนบันทึกลงฐานข้อมูลเสมอ แม้แอดมินของเราเองก็อ่านค่าจริงไม่ได้หากไม่มีกุญแจ และระบบออกแบบให้ "fail safe" — หากกุญแจไม่ถูกต้องหรือไม่ได้ตั้งค่า ระบบจะไม่แสดงค่าที่เข้ารหัสไว้ออกมาเด็ดขาด
  • เข้ารหัสการเชื่อมต่อระหว่างทาง — การเชื่อมต่อทั้งหมดจากผู้ใช้มาสู่ระบบเป็น HTTPS ผ่าน Cloudflare ก่อนถึงเซิร์ฟเวอร์จริงของเรา
  • สแกนไวรัส/มัลแวร์ทุกไฟล์ที่อัปโหลด — รูปภาพและไฟล์ที่อัปโหลดเข้าระบบจะถูกสแกนด้วย ClamAV อัตโนมัติ หากพบไฟล์อันตราย ระบบจะลบออกจากที่จัดเก็บและกักไว้ (quarantine) ทันที
  • ตรวจสอบประเภทไฟล์จริง ไม่ใช่แค่นามสกุล — ระบบตรวจเนื้อหาไฟล์จริงก่อนยอมรับ ป้องกันไฟล์อันตรายที่ปลอมนามสกุลเป็นรูปภาพหรือเอกสารทั่วไป
  • ลบข้อมูลตามรอบเวลาที่กำหนด — ข้อมูลที่ถูกลบ (เอกสาร, ลีด, การจอง, บัญชีธุรกิจ) ยังกู้คืนได้ในช่วงสั้นๆ แล้วถูกลบออกจากระบบอย่างถาวรอัตโนมัติหลัง 30 วัน

3. โครงสร้างพื้นฐานและเครือข่าย

  • ฐานข้อมูลไม่เปิดสู่อินเทอร์เน็ตสาธารณะ — ฐานข้อมูล Postgres ที่เก็บข้อมูลลูกค้าทั้งหมดอยู่ใน internal network เท่านั้น ไม่มีพอร์ตที่เปิดให้เข้าถึงจากอินเทอร์เน็ตโดยตรง
  • ป้องกันการโจมตีระดับเครือข่ายด้วย Cloudflare — ทราฟฟิกทั้งหมดผ่าน Cloudflare ก่อนถึง origin server จริง ช่วยกรองและกระจายภาระทราฟฟิกที่ผิดปกติก่อนถึงระบบ
  • นโยบาย CORS ที่ปิดช่องโหว่การขโมย session — API อนุญาตให้เว็บไซต์ลูกค้าฝัง widget แชทได้จากโดเมนใดก็ได้ตามที่ตั้งค่า แต่ "ปิด" การส่ง credential (cookie) ข้าม origin โดยเด็ดขาด เพราะระบบยืนยันตัวตนด้วย Bearer token ผ่าน header เท่านั้น
  • ตรวจสอบลายเซ็นของ Webhook ทุกครั้ง — Webhook จาก Stripe (การเงิน) และช่องทางขายอื่น เช่น Shopee, Lazada, TikTok, Instagram จะถูกตรวจสอบลายเซ็นเข้ารหัสก่อนนำไปประมวลผลทุกครั้ง ป้องกันคนนอกปลอม request มายิงเข้าระบบ

4. ความปลอดภัยระดับแอปพลิเคชัน

  • Token หมดอายุไว ลดความเสี่ยงระยะยาว — การเข้าสู่ระบบใช้ access token (JWT) ที่หมดอายุไว คู่กับ refresh token อายุยาวกว่าสำหรับขอ token ใหม่ หากเกิด token รั่วไหล ความเสียหายถูกจำกัดเวลาด้วยตัวมันเอง
  • จำกัดอัตราการใช้งานของ AI Chat Widget — Widget แชท AI ที่ฝังบนเว็บลูกค้ามีระบบจำกัดจำนวนคำขอต่อผู้ใช้งานต่อช่วงเวลา ป้องกันการยิง request รัวๆ จากบอทหรือผู้ไม่ประสงค์ดีที่พยายามหลบเลี่ยง quota

5. การตรวจสอบ บันทึก และความสอดคล้องกับกฎหมาย

  • บันทึกประวัติการใช้งานแบบ Audit Log — การกระทำสำคัญในระบบ (ใครทำอะไร เมื่อไหร่ จาก IP ไหน) ถูกบันทึกแบบ append-only ไว้ตรวจสอบย้อนหลังได้
  • ระบบติดตามข้อผิดพลาดที่ไม่เก็บข้อมูลส่วนบุคคล — เราใช้ Sentry ติดตาม error ของระบบ แต่ตั้งค่าให้ "ไม่" แนบ request body, header, cookie หรือ IP ของผู้ใช้ไปกับรายงาน error สอดคล้องกับแนวทาง PDPA
  • สอดคล้องกับ พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล (PDPA) — OptAdmin มีนโยบายความเป็นส่วนตัว (Privacy Policy), ข้อตกลงประมวลผลข้อมูล (DPA) และ Cookie Policy ที่จัดทำตาม PDPA พ.ศ. 2562 รวมถึงรายชื่อ sub-processor ที่ใช้งานอย่างชัดเจน