แนวทางปฏิบัติเพื่อความปลอดภัย
เรื่องความปลอดภัยกับการรับชำระเงินออนไลน์จะนิ่งนอนใจไม่ได้ เพื่อการปกป้องและคุ้มกันข้อมูลส่วนบุคคลอย่างดีที่สุด เรามีคำแนะนำที่อยากให้ทุกๆ คนร่วมมือกันปฏิบัติตามดังนี้
การรับข้อมูลบัตรด้วย JavaScript Library
Omise.js จะรับข้อมูลบัตรจากเบราว์เซอร์ของผู้ถือบัตรและส่งต่อให้เซิร์ฟเวอร์ของโอมิเซะอย่างปลอดภัย นอกจากการรับเอาข้อมูลบัตรที่จำเป็นต่อการรับชำระมาแล้ว library นี้ยังมีหน้าที่รวบรวมข้อมูลอื่นๆ ที่สำคัญต่อการตรวจสอบความปลอดภัยเช่น IP address browser agent และประวัติการใช้ ซึ่งจำเป็นต่อการประมวลผลของระบบการรักษาความปลอดภัยและคัดกรองการทุจริตของเรา
ด้วย Omise.js ผู้ประกอบการไม่ต้องกังวลว่าข้อมูลส่วนบุคคลจะถูกเปิดเผย หรือต้องรับผิดชอบดูแลข้อมูลเหล่านั้น เพราะจะไม่มีส่วนใดถูกส่งไปยังเซิร์ฟเวอร์ของร้านค้าเลย
อ่านเพิ่มเติมได้ที่ Token
ไม่ส่งข้อมูลบัตรผ่านทางเซิร์ฟเวอร์ร้านค้า
ข้อมูลของบัตรต้องไม่ผ่านเซิร์ฟเวอร์ของร้านค้า แต่ควรจะถูกส่งจากเบราว์เซอร์ของผู้ถือบัตรมายังเซิร์ฟเวอร์ที่ปลอดภัยของโอมิเซะโดยตรง เว้นแต่ว่าร้านค้าจะได้รับรองมาตรฐาน PCI DSS ด้านการรับ-ส่งข้อมูลแล้วเท่านั้น ผู้ประกอบการท่านใดที่ต้องการใช้งานในลักษณะนี้กรุณาติดต่อทีมงานของเราเพื่อแจ้งความประสงค์
ข้อดีของการส่งข้อมูลบัตรจากเบราว์เซอร์แทนการส่งจากเซิร์ฟเวอร์
ระบบการรักษาความปลอดภัยของเราจะดึงเอาข้อมูลบางส่วนจากเบราว์เซอร์ผู้ถือบัตร เช่น IP address และ browser user-agent มาผนวกรวมกับประวัติการใช้ที่บันทึกไว้บน database ของเรา เพื่อประเมินความเสี่ยงต่อการทุจริตของรายการ
ตัวอย่างเช่น IP address ที่เชื่อมต่อผ่าน public proxy หรือ Tor network มีความเป็นไปได้สูงว่าจะเป็นรายการทุจริต ส่วน IP address ที่เชื่อมต่อผ่าน ADSL และมี user ตรงกับประเทศที่ออกบัตร โดยมากพบว่าเป็นรายการที่กระทำอย่างถูกต้องและมีความเสี่ยงต่อการทุจริตต่ำ
กล่าวโดยสรุปคือการส่งข้อมูลบัตรจากเซิร์ฟเวอร์ร้านค้ามายัง Omise โดยตรงจะไม่เอื้อประโยชน์ต่อการทำงานของระบบการรักษาความปลอดภัยและคัดกรองการทุจริตของเรา ซ้ำแล้วยังอาจส่งผลให้รายการที่ทุจริตในบัญชีของร้านค้าเพิ่มสูงขึ้น ซึ่งอาจก่อให้เกิดความเสียหายต่อธุรกิจได้ในภายหลังเมื่อข้อมูลทั้งหมดของบัตรเครดิตผ่านเข้ามายังเซิร์ฟเวอร์ รายละเอียดต่างๆ อย่างที่อยู่การจัดส่ง รวมถึงรายละเอียดสำคัญๆ ของผู้ถือบัตรอาจถูกจัดเก็บไว้ใน logs บนเซิร์ฟเวอร์ของคุณได้ ซึ่งข้อมูลเหล่านี้สามารถดักจับโดยบุคคลภายนอกได้ง่ายๆ ด้วยโปรแกรมอย่าง tcpdump ใน linux
เราขอให้คุณตรวจสอบให้แน่ชัดว่า logs ของคุณไม่ได้ทำการบันทึกข้อมูลบัตรไว้ ไม่ว่าจะจากการตั้งค่า parameter ในหน้าเช็คเอาท์หรือด้วยวิธีใดก็ตาม เพราะหากวันใดที่เซิร์ฟเวอร์ของร้านค้าโดนเจาะ นั่นหมายถึงข้อมูลส่วนบุคคลทั้งหมดจะรั่วไหลสู่สาธารณะได้ ด้วยสาเหตุนี้เอง Visa และ MasterCard จึงไม่อนุญาตให้เซิร์ฟเวอร์ที่ไม่ผ่านการรับรองมาตรฐาน PCI DSS รับ-ส่งข้อมูลของบัตรโดยเด็ดขาด
เปิดใช้งาน HTTPS บนเว็บไซต์
การใช้งาน HTTPS (TLS) ในหน้าเช็คเอาท์จะช่วยรักษาความปลอดภัยให้ข้อมูลส่วนบุคคลของผู้ถือบัตร นอกจากเป็นการป้องกันการโจรกรรมข้อมูลได้แล้ว ยังเพิ่มความอุ่นใจแก่ผู้ใช้ได้อีกทางหนึ่งด้วย
ประโยชน์ของการใช้ HTTPS ยังรวมไปถึงการจัดอันดับเว็บไซต์ของ google ซึ่งนิยมลำดับเว็บไซต์ประเภทนี้ไว้เป็นอันดับต้นๆ
เรายังแนะนำให้เลือกติดตั้ง TLS เพื่อการใช้งาน HTTPS ให้ปลอดภัยยิ่งกว่า เนื่องจาก SSLv3 เป็นโปรโตคอลที่มีช่องโหว่ด้านความปลอดภัยค่อนข้างมาก เบราว์เซอร์ใหม่ๆ หลายๆ ตัวจึงเลือกที่จะยกเลิกการใช้งานโปรโตคอลนี้
รักษา secret keys ให้เป็นความลับ
เพราะ secret keys คือกุญแจสำคัญในการทำธุรกรรมทั้งหมด ไม่ว่าจะเป็นการเรียกใช้ API ต่างๆ เพื่อรับชำระเงิน การคืนเงิน การถอน/โอนเงิน รวมไปถึงการดาวน์โหลด Customer คุณจึงควรรักษารหัสนี้ไว้อย่างดีที่สุด
- ห้ามบันทึก secret keys ไว้ใน code repository (git, svn, hg) โดยเด็ดขาด สำหรับผู้ที่ใช้งาน Heroku สามารถเลือก environment variables เพื่อจัดเก็บ secret key ได้
- หากคุณได้สร้างระบบ backend ที่มี field สำหรับบันทึก secret key ก็ควรเพิ่ม input field ที่เป็น
<input type='password'>
- หากพบว่า secret key ถูกเปิดเผยแก่บุคคลอื่นๆ ให้ลงชื่อเข้าใช้งานบน dashboard และทำการ roll key ทันที พร้อมทั้งแจ้งเรื่องกับทีมงานของเรา
การป้องกันการทุจริต
ธุรกิจบางประเภทมีความเสี่ยงต่อการพบรายการที่เป็นการทุจริตมากกว่าธุรกิจอื่นๆ เช่นธุรกิจที่จำหน่ายสินค้าประเภทดิจิทัลที่ไม่ได้มีการจัดส่ง กล่าวคือผู้ประกอบการอนุญาตให้ผู้ซื้อทำการดาวน์โหลดสินค้านั้นๆ ได้ทันที ส่วนธุรกิจอื่นๆ ที่มีความเสี่ยงสูงไม่แพ้กันคือ บริการเติมเงินมือถือ บริการโอนเงิน การจำหน่ายบัตรเติมเงินชนิดต่างๆ เป็นต้น เนื่องจากผู้ซื้อสินค้าประเภทนี้จะได้รับประโยชน์จากมูลค่าของสินค้าในทันที ความเสี่ยงจึงตกอยู่ที่ผู้ประกอบการ เพราะในภายหลังผู้ถือบัตรอาจยื่นเรื่องเพื่อขอทำการคืนเงิน (refund) หรือ ขอยกเลิกรายการได้
คำแนะนำจากเราคือให้เพิ่มความระมัดระวังในการตรวจสอบความถูกต้อง เช่นให้ผู้ถือบัตรส่งรูปถ่ายของบัตรเครดิต/เดบิตใบที่ใช้ชำระเงิน แนบมาพร้อมกับบัตรอื่นๆ ที่มีชื่อตรงกันเพื่อให้ร้านค้าได้ใช้ยืนยันความถูกต้อง เรายังแนะนำให้หมั่นตรวจสอบรายการที่ส่อไปในทางทุจริตจาก logs บนแดชบอร์ดอีกทางหนึ่งด้วย วิธีการดูข้อมูลคือให้เข้าใช้งานแดชบอร์ดและเลือกที่เมนู “Logs”
อัพเดตอยู่เสมอ
คู่มือการใช้งานบนเว็บไซต์มีการปรับปรุงอยู่เสมอ เราแนะนำให้เข้ามาเยี่ยมชมเว็บไซต์ของเราเพื่ออัพเดตข่าวสารด้านความปลอดภัย รวมถึงเช็ค library ใหม่ๆ ที่เราอาจเพิ่มเข้ามาด้วย!
ติดตามข่าวสารและความเคลื่อนไหวของเราได้ที่
บทความที่เกี่ยวข้อง:
ความปลอดภัย
การป้องกันการทุจริต