ความปลอดภัยถูกออกแบบไว้ใน MeQueue ตั้งแต่โครงสร้างฐานข้อมูลไปจนถึงเบราว์เซอร์ของผู้ใช้ หน้านี้อธิบายอย่างตรงไปตรงมาว่าเราปกป้องข้อมูลของคุณและข้อมูลของลูกค้าคุณอย่างไรทั่วทั้งแพลตฟอร์ม ทั้งสิ่งที่ใช้งานจริงแล้ววันนี้และสิ่งที่อยู่ในแผนพัฒนา เราจะไม่กล่าวอ้างการรับรองมาตรฐานที่เรายังไม่ได้รับจริง
ทราฟฟิกทั้งหมดระหว่างเบราว์เซอร์ แอปมือถือ และ MeQueue ให้บริการผ่าน HTTPS โดยยุติการเชื่อมต่อ TLS ที่ขอบเครือข่าย (Cloudflare) และที่แพลตฟอร์ม Railway ใช้ TLS ขั้นต่ำ 1.2 พร้อม cipher suite ที่ทันสมัย และเปลี่ยนเส้นทางคำขอ HTTP ธรรมดาไปยัง HTTPS ขณะจัดเก็บ ฐานข้อมูล MySQL 8.4, แคช Redis และที่เก็บไฟล์ Cloudflare R2 อยู่บนดิสก์ที่เข้ารหัสซึ่งจัดการโดยผู้ให้บริการโครงสร้างพื้นฐานของเรา และไฟล์สำรองข้อมูลยังถูกเข้ารหัสเพิ่มก่อนออกจากแพลตฟอร์ม
รหัสผ่านจะไม่ถูกเก็บเป็นข้อความธรรมดา — เราแฮชด้วย bcrypt พร้อม salt เฉพาะรายผู้ใช้ เมื่อเข้าสู่ระบบ เราออก JWT access token อายุสั้นที่ลงนามด้วย RS256 (คีย์แบบอสมมาตร จึงตรวจสอบ token ด้วยคีย์สาธารณะได้โดยไม่เปิดเผยคีย์ที่ใช้ลงนาม) ส่วน refresh token อายุยาวจะถูกหมุนเวียนทุกครั้งที่ใช้ และส่งผ่านคุกกี้แบบ HttpOnly และ Secure จึงเข้าถึงจาก JavaScript ไม่ได้ แต่ละบัญชีมีหมายเลขเวอร์ชันเซสชัน การเปลี่ยนรหัสผ่าน การออกจากระบบทุกอุปกรณ์ หรือการที่ผู้ดูแลเพิกถอนสิทธิ์ จะเพิ่มค่านี้และทำให้ทุก token ที่ออกก่อนหน้าใช้ไม่ได้ทันที บัญชีที่ต้องการสามารถเปิดใช้การยืนยันตัวตนสองชั้น (TOTP) ได้
MeQueue กำหนด 4 บทบาทที่มีขอบเขตต่างกัน: • super — ผู้ดูแลแพลตฟอร์ม (BEST SOLUTION) ดูแลข้ามผู้เช่า • tenant — เจ้าของธุรกิจ ควบคุมองค์กรของตนเองได้เต็มที่ • staff — พนักงานเคาน์เตอร์ จัดการคิวประจำวัน • customer — ผู้ถือบัตรคิวผ่านตู้คีออสก์และมือถือ ทุกเส้นทาง API ระบุว่าบทบาทใดเรียกได้ และตัวป้องกันจะทำงานที่ฝั่งเซิร์ฟเวอร์ก่อนที่โค้ดจัดการใดๆ จะทำงาน การตัดสินใจเรื่องสิทธิ์ไม่เคยฝากไว้ที่เบราว์เซอร์
ปลายทางทั้งแบบสาธารณะและที่ต้องยืนยันตัวตนถูกจำกัดอัตราต่อผู้เรียกและต่อเส้นทาง ปลายทางการยืนยันตัวตน (เข้าสู่ระบบ, refresh, รีเซ็ตรหัสผ่าน) มีขีดจำกัดเข้มงวดขึ้นเพื่อชะลอการลองรหัสจำนวนมากและการเดารหัสผ่าน หากเกินขีดจำกัดจะได้รับการตอบกลับ 429 พร้อมช่วงเวลาให้ลองใหม่ แทนที่จะล้มเหลวเงียบๆ
การกระทำที่อ่อนไหวต่อความปลอดภัยและต่อธุรกิจ — การเข้าสู่ระบบ, การเปลี่ยนสิทธิ์, การเปลี่ยนแปลงพนักงานและสาขา, การคืนเงิน และการปรับตั้งค่า — ถูกบันทึกลง audit log โดยเก็บว่าใครทำ เมื่อใด และบริบทที่เกี่ยวข้อง ผู้ดูแลผู้เช่าสามารถตรวจสอบกิจกรรมขององค์กรตนเองได้ ส่วนผู้ดูแลแพลตฟอร์มมองเห็นได้ทั้งระบบ
MeQueue เป็นระบบหลายผู้เช่า (multi-tenant) หลายธุรกิจใช้โครงสร้างพื้นฐานร่วมกันขณะที่ข้อมูลถูกแยกออกจากกันอย่างเคร่งครัด ทุกระเบียนถูกกำกับด้วยผู้เช่าของตน และทุกคำสั่งค้นข้อมูลถูกจำกัดขอบเขตด้วยรหัสผู้เช่าที่ชั้นเข้าถึงข้อมูล คำขอที่ยืนยันตัวตนสำหรับธุรกิจหนึ่งจึงไม่มีทางอ่านหรือแก้ไขข้อมูลของอีกธุรกิจได้
การอัปเดตคิวแบบเรียลไทม์ทำงานผ่าน Socket.IO การจับมือ (handshake) ของ WebSocket ยืนยันตัวตนด้วย JWT ชุดเดียวกับที่ใช้กับ REST API การเชื่อมต่อที่ไม่ได้ยืนยันตัวตนหรือหมดอายุจะถูกปฏิเสธก่อนเข้าร่วมห้องใดๆ และไคลเอนต์จะถูกจำกัดให้อยู่เฉพาะห้องที่จำกัดขอบเขตตามผู้เช่าและสาขาของตนเท่านั้น เหตุการณ์เรียลไทม์จึงไม่รั่วไหลข้ามธุรกิจ
การชำระด้วยบัตรดำเนินการโดย Beam ผู้ให้บริการชำระเงินของเรา ข้อมูลบัตรที่อ่อนไหว (เลขบัตร วันหมดอายุ CVC) ถูกกรอกลงในช่องที่ปลอดภัยของผู้ให้บริการโดยตรง และไม่เคยผ่านเซิร์ฟเวอร์หรือฐานข้อมูลของ MeQueue — เราเก็บเพียงข้อมูลอ้างอิงที่ไม่อ่อนไหว เช่น รหัสธุรกรรมและสถานะ ทำให้ภาระการปฏิบัติตามมาตรฐานบัตรส่วนใหญ่อยู่ที่ผู้ให้บริการ
MeQueue ทำงานบน Railway โดย API ถูกดีพลอยหลายอินสแตนซ์อยู่หลังตัวกระจายโหลด เพื่อความทนทานและการดีพลอยแบบไม่มีดาวน์ไทม์ บริการสนับสนุนได้แก่ ฐานข้อมูล MySQL 8.4 แบบจัดการให้, Redis สำหรับแคชและการประสานงานเรียลไทม์ และ Cloudflare R2 สำหรับสื่อและไฟล์เสียงที่สร้างขึ้น การเข้าถึงโครงสร้างพื้นฐานของระบบจริงจำกัดเฉพาะผู้ดูแลที่ได้รับอนุญาต
ระบบทำ dump ฐานข้อมูล MySQL แบบเต็มอัตโนมัติทุกวัน เข้ารหัส และอัปโหลดไปยัง Cloudflare R2 ในตำแหน่งแยกจากฐานข้อมูลที่ใช้งานจริง การสำรองข้อมูลช่วยให้เรากู้คืนบริการได้หลังข้อมูลสูญหายหรือเสียหาย ขั้นตอนการกู้คืนมีการจัดทำเอกสารไว้ ส่วนการซ้อมกู้คืนอย่างเป็นทางการและสม่ำเสมออยู่ในแผนพัฒนา (ดูด้านล่าง)
MeQueue สร้างขึ้นสำหรับตลาดไทยและสอดคล้องกับพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA พ.ศ. 2562) เราเก็บเฉพาะข้อมูลเท่าที่จำเป็นต่อการให้บริการคิว รองรับคำขอของเจ้าของข้อมูล และจัดทำข้อตกลงการประมวลผลข้อมูล (DPA) ให้ลูกค้าธุรกิจเมื่อร้องขอ
เรายินดีรับรายงานจากนักวิจัยด้านความปลอดภัย หากคุณเชื่อว่าพบช่องโหว่ กรุณาแจ้งเราเป็นการส่วนตัวก่อนเปิดเผยต่อสาธารณะ เพื่อให้เราตรวจสอบและแก้ไขได้ เรามุ่งตอบรับรายงานโดยเร็วและจะแจ้งความคืบหน้าการแก้ไขให้ทราบ
ใช้งานจริงวันนี้: TLS ทุกช่องทาง, การเข้ารหัสข้อมูลและไฟล์สำรอง, การยืนยันตัวตนด้วย JWT RS256 พร้อม refresh token หมุนเวียนและการเพิกถอนเซสชัน, การกำหนดสิทธิ์ตามบทบาท, การจำกัดอัตรา, บันทึกการตรวจสอบ, การแยกข้อมูลผู้เช่า, WebSocket ที่ยืนยันตัวตน และการชำระเงินที่จัดการโดยผู้ให้บริการ อยู่ในแผนพัฒนา: การยืนยันตัวตนสองชั้นสำหรับทุกบทบาท, การทดสอบเจาะระบบโดยบุคคลที่สามอิสระ, โปรแกรม bug bounty สาธารณะ, การซ้อมกู้คืนระบบอย่างสม่ำเสมอ และการเฝ้าระวัง uptime ที่โฮสต์ภายนอก เราระบุสิ่งเหล่านี้เป็นแผนพัฒนาโดยไม่บอกเป็นนัยว่ามีอยู่แล้ว และปัจจุบันเรายังไม่มีการรับรอง SOC 2, ISO 27001 หรือมาตรฐานทำนองเดียวกัน
กรุณาแจ้งเราที่ security@mequeue.com ก่อนเปิดเผยสาธารณะ · เรามี Bug Bounty สูงสุด ฿100,000 สำหรับช่องโหว่ที่ส่งผลกระทบรุนแรง
สำหรับคำถามด้านความปลอดภัย ข้อตกลงการประมวลผลข้อมูล หรือการรายงานช่องโหว่ ติดต่อทีมงานด้านล่าง
บริษัท เบสท์ โซลูชั่น (ประเทศไทย) จำกัด · นนทบุรี ประเทศไทย