Secret Scanner ตรวจจับ API key, access token, ข้อมูลประจำตัว, URL webhook และค่าที่ละเอียดอ่อนอื่นๆ ที่เป็นไปได้ในสินทรัพย์ Apidog ที่รองรับ ผลการตรวจจับจะแสดงตำแหน่งที่อาจมีข้อมูลลับปรากฏอยู่ โดยไม่แสดงค่าเต็มของข้อมูลนั้น
บทช่วยสอนนี้จะอธิบายวิธีการตรวจสอบผลการตรวจจับ, ตอบสนองต่อการเปิดเผยข้อมูลจริง, บันทึกการแก้ไข และเพิ่มรูปแบบการตรวจจับที่กำหนดเองเมื่อทีมของคุณใช้รูปแบบข้อมูลลับภายใน
ก่อนที่คุณจะเริ่มต้น
Secret Scanner มีให้บริการในแผน Enterprise SaaS ปัจจุบันยังไม่มีให้บริการใน Apidog On-Premises
การเข้าถึงขึ้นอยู่กับบทบาทของคุณ:
| บทบาท | การดำเนินการที่ใช้ได้ |
|---|---|
| เจ้าขององค์กรหรือผู้ดูแลระบบ | ดูรายงานระดับองค์กรข้ามทีม |
| เจ้าของทีมหรือผู้ดูแลระบบทีม | ตรวจสอบผลการตรวจจับของทีม, แก้ไขหรือเปิดผลการตรวจจับใหม่, จัดการรูปแบบที่กำหนดเอง และดูการวิเคราะห์ |
| สมาชิกทีมหรือผู้เยี่ยมชม | ดูผลการตรวจจับเฉพาะโปรเจกต์ที่พวกเขาสามารถเข้าถึงได้ |
ใช้ค่าสมมติเมื่อทำการทดสอบ ห้ามวางข้อมูลประจำตัวจริงลงในทรัพยากรเพียงเพื่อยืนยันว่าการสแกนทำงาน
ขั้นตอนที่ 1: ตรวจสอบรายงานองค์กร
เจ้าขององค์กรและผู้ดูแลระบบสามารถใช้รายงานองค์กรเพื่อระบุทีมที่มีผลการตรวจจับที่ยังไม่ได้รับการแก้ไข
- เปิดรายงาน Secret Scanner ระดับองค์กร
- ตรวจสอบจำนวนผลการตรวจจับที่ยังไม่ได้รับการแก้ไขและข้อมูลที่รั่วไหลที่เผยแพร่แล้ว
- ตรวจสอบเวลาที่ตรวจจับล่าสุดและสถานะการสแกน
- เปิดทีมที่ได้รับผลกระทบหรือติดต่อเจ้าของทีมหรือผู้ดูแลระบบทีมนั้น
รายงานองค์กรช่วยให้ผู้ดูแลระบบระบุได้ว่าทีมใดที่ต้องติดตามผล
รายงานนี้เป็นมุมมองสำหรับการคัดแยกเบื้องต้น การตรวจสอบและการแก้ไขจะดำเนินการในหน้า Secret Scanner ของทีมที่ได้รับผลกระทบ
ขั้นตอนที่ 2: เปิดและกรองผลการตรวจจับของทีม
ในทีม ให้เปิด Secret Scanner และเลือก Secrets Detected
ใช้ตัวกรองที่มีอยู่เพื่อจำกัดรายการโดย:
- สถานะ
- โปรเจกต์
- รูปแบบ
- ประเภททรัพยากร
- คำสำคัญ
ผลการตรวจจับแต่ละรายการจะถูกจัดกลุ่มตามรูปแบบการตรวจจับและลายพิมพ์นิ้วมือที่ปลอดภัย ผลการตรวจจับหนึ่งรายการสามารถมีหลายเหตุการณ์เมื่อค่าที่ตรวจพบเดียวกันปรากฏในหลายตำแหน่ง
ค่าถูกปกปิดไว้ ใช้โปรเจกต์, ประเภททรัพยากร, จำนวนครั้งที่พบ และตำแหน่งแหล่งที่มาเพื่อตรวจสอบผลการตรวจจับ
เริ่มต้นด้วยผลการตรวจจับที่ยังไม่ได้รับการแก้ไขซึ่งถูกทำเครื่องหมายว่าเป็นการเปิดเผยที่เผยแพร่แล้ว จากนั้นตรวจสอบผลการตรวจจับที่ปรากฏในทรัพยากรหรือโปรเจกต์หลายรายการ
ขั้นตอนที่ 3: ตรวจสอบทุกเหตุการณ์
เปิดผลการตรวจจับและตรวจสอบเหตุการณ์ที่เกี่ยวข้อง สำหรับแต่ละเหตุการณ์ ให้ยืนยัน:
- โปรเจกต์และทรัพยากรที่มีค่า
- ประเภททรัพยากรและตำแหน่งแหล่งที่มา
- ว่าค่าดังกล่าวปรากฏในเอกสารที่เผยแพร่หรือไม่
- เวลาที่ตรวจพบครั้งแรกและครั้งสุดท้าย
- ว่าค่าดังกล่าวเป็นข้อมูลประจำตัวจริงหรือเป็นผลบวกปลอม (false positive)
อย่าอาศัยเฉพาะส่วนที่ถูกปกปิดเมื่อตัดสินใจว่าค่าเป็นของจริงหรือไม่ ตรวจสอบทรัพยากรต้นทาง และเมื่อจำเป็น ให้สอบถามเจ้าของทรัพยากรเพื่อระบุระบบที่ออกโดยไม่ต้องคัดลอกข้อมูลประจำตัวลงในตั๋วหรือข้อความแชท
ขั้นตอนที่ 4: ตอบสนองต่อการเปิดเผยข้อมูลจริง
Secret Scanner รายงานการเปิดเผยข้อมูลที่อาจเกิดขึ้น; ไม่ได้เปลี่ยนแปลงข้อมูลประจำตัว จัดการข้อมูลลับที่ได้รับการยืนยันในระบบที่ออกข้อมูลนั้น
ใช้ลำดับนี้:
- เพิกถอน, หมุนเวียน, หรือทำให้ข้อมูลประจำตัวใช้งานไม่ได้ในบริการภายนอก
- ตรวจสอบบันทึกการใช้งานที่มีอยู่สำหรับกิจกรรมที่ไม่คาดคิด
- ลบค่าออกจากทุกแหล่งที่มาที่แสดงใน Apidog
- แทนที่ค่าดิบด้วยตัวแปรที่เหมาะสมหรือการอ้างอิง Vault Secret เมื่อเวิร์กโฟลว์ยังคงต้องการข้อมูลประจำตัวนั้น
- บันทึกทรัพยากรที่เปลี่ยนแปลงแต่ละรายการเพื่อให้การสแกนแบบอะซิงโครนัสสามารถทำงานได้อีกครั้ง
หากข้อมูลประจำตัวปรากฏในเอกสารที่เผยแพร่ ให้ถือว่าถูกเปิดเผยภายนอกแม้ว่าจะไม่พบการใช้งานที่น่าสงสัยก็ตาม
การลบค่าออกจาก Apidog ไม่ได้ทำให้สำเนาที่อาจมีอยู่แล้วที่อื่นไม่ถูกต้อง การหมุนเวียนหรือการเพิกถอนเป็นการดำเนินการหลักเพื่อยับยั้งการรั่วไหลจริง
ขั้นตอนที่ 5: บันทึกการแก้ไข
หลังจากตอบสนองเสร็จสิ้น ให้กำหนดเหตุผลในการแก้ไขผลการตรวจจับ
| เหตุผลในการแก้ไข | ใช้เมื่อ |
|---|---|
| ถูกเพิกถอน | ค่าดังกล่าวเป็นข้อมูลลับจริงและถูกเพิกถอน, หมุนเวียน, หรือทำให้ใช้งานไม่ได้จากภายนอก Apidog |
| ผลบวกปลอม | ค่าที่ตรวจพบไม่ใช่ข้อมูลลับ |
| จะไม่แก้ไข | ค่าดังกล่าวเป็นข้อมูลลับจริง แต่ทีมยอมรับความเสี่ยงและจะไม่เปลี่ยนแปลง |
การทำเครื่องหมายผลการตรวจจับว่าได้รับการแก้ไขแล้วเป็นการเปลี่ยนสถานะใน Apidog เท่านั้น ไม่ได้เพิกถอน, หมุนเวียน, ทำให้ใช้งานไม่ได้, ลบ หรือแทนที่ค่าพื้นฐาน
หากจำเป็นต้องดำเนินการเพิ่มเติม ให้เปิดผลการตรวจจับนั้นขึ้นมาใหม่
ขั้นตอนที่ 6: ตรวจสอบการล้างข้อมูล
Secret Scanner ทำงานแบบอะซิงโครนัส ไม่ใช่แบบเรียลไทม์ การสแกนจะถูกกระตุ้นเมื่อมีการเพิ่มทรัพยากรที่รองรับ หรือเมื่อเลือก บันทึก หลังจากมีการเปลี่ยนแปลงทรัพยากรที่รองรับ
หลังจากการแก้ไข:
- ยืนยันว่าแหล่งที่มาที่พบทั้งหมดได้รับการเปลี่ยนแปลงแล้ว
- บันทึกทรัพยากรที่ได้รับผลกระทบ
- ให้เวลาสำหรับการสแกนแบบอะซิงโครนัส
- ตรวจสอบผลการตรวจจับและเวลาที่ตรวจพบครั้งล่าสุด
- ยืนยันแยกต่างหากว่าข้อมูลประจำตัวเก่าไม่สามารถใช้งานได้อีกต่อไปในบริการที่ออกข้อมูลนั้น
สถานะของเครื่องสแกนไม่ใช่การทดสอบความถูกต้องของข้อมูลประจำตัว ตรวจสอบการเพิกถอนในบริการภายนอก
ขั้นตอนที่ 7: เพิ่มรูปแบบการตรวจจับที่กำหนดเอง
เจ้าของทีมและผู้ดูแลระบบทีมสามารถสร้างรูปแบบที่กำหนดเองสำหรับรูปแบบข้อมูลลับเฉพาะขององค์กร
- เปิด Secret Scanner > Patterns
- เลือกตัวเลือกเพื่อสร้างรูปแบบที่กำหนดเอง
- ป้อนชื่อที่ชัดเจน
- เพิ่มนิพจน์ทั่วไป (regular expression) และคำสำคัญที่เป็นประโยชน์
- ทดสอบด้วยค่าสมมติ
- เปิดใช้งานรูปแบบและบันทึก
ข้อจำกัดปัจจุบันคือ:
- สูงสุด 5 รูปแบบที่กำหนดเองต่อทีม;
- ชื่อรูปแบบสูงสุด 128 ตัวอักษร;
- นิพจน์ทั่วไปสูงสุด 256 ตัวอักษรใน UI;
- สูงสุด 10 คำสำคัญ;
- แต่ละคำสำคัญสูงสุด 64 ตัวอักษร
รูปแบบในตัวเป็นแบบอ่านอย่างเดียว นิพจน์ทั่วไปภายในของรูปแบบเหล่านี้จะไม่แสดง และไม่สามารถแก้ไข, ลบ, เปิดใช้งาน หรือปิดใช้งานได้
ขั้นตอนที่ 8: ตรวจสอบการวิเคราะห์ของทีม
เจ้าของทีมและผู้ดูแลระบบทีมสามารถเปิด Analytics เพื่อตรวจสอบว่าผลการตรวจจับมีการกระจุกตัวอยู่ที่ใด
ใช้การวิเคราะห์เพื่อระบุโปรเจกต์, รูปแบบ และประเภทสินทรัพย์ที่ต้องมีการตรวจสอบเพิ่มเติม
การวิเคราะห์สามารถช่วยจัดลำดับความสำคัญของงานได้ แต่ผลการตรวจจับแต่ละรายการยังคงต้องมีการตรวจสอบในระดับแหล่งที่มา
ประเภทสินทรัพย์ที่รองรับ
ปัจจุบัน Secret Scanner สแกนสินทรัพย์ที่รองรับ ซึ่งรวมถึง:
- API และคำขอ API
- กรณี API
- โมดูลโปรเจกต์และตัวแปรโมดูลโปรเจกต์
- ตัวอย่างการตอบกลับ
- เอกสาร Markdown และ schema ข้อมูล
- ตัวแปรสภาพแวดล้อม, ตัวแปรส่วนกลาง และตัวแปรทีม
- สคริปต์ทั่วไปและพารามิเตอร์ทั่วไป
รายละเอียดแหล่งที่มาที่มีให้สำหรับเหตุการณ์หนึ่งๆ ขึ้นอยู่กับประเภททรัพยากรและสิทธิ์ของผู้ดู
การแก้ไขปัญหา
| ปัญหา | สิ่งที่ต้องตรวจสอบ |
|---|---|
| การเปลี่ยนแปลงล่าสุดยังไม่มีผลลัพธ์ | การสแกนเป็นแบบอะซิงโครนัส ยืนยันว่าได้บันทึกทรัพยากรแล้วและตรวจสอบอีกครั้งในภายหลัง |
| สมาชิกทีมไม่สามารถเห็นผลการตรวจจับได้ | ยืนยันว่าสมาชิกมีสิทธิ์เข้าถึงโปรเจกต์ที่เกี่ยวข้อง |
| ผู้ใช้ไม่สามารถจัดการรูปแบบหรือการวิเคราะห์ได้ | การจัดการรูปแบบและการวิเคราะห์ต้องใช้สิทธิ์เข้าถึงในฐานะเจ้าของทีมหรือผู้ดูแลระบบทีม |
| ผลการตรวจจับที่ได้รับการแก้ไขแล้วยังคงมีข้อมูลลับที่ใช้งานได้ | สถานะการแก้ไขไม่ได้เปลี่ยนแปลงข้อมูลประจำตัว เพิกถอนหรือหมุนเวียนในบริการที่ออกข้อมูลนั้น |
| ที่เก็บข้อมูลภายนอกไม่ถูกสแกน | Secret Scanner ไม่ได้สแกนที่เก็บ GitHub หรือ GitLab ภายนอก ใช้การควบคุมการสแกนของผู้ให้บริการที่เก็บข้อมูลควบคู่ไปด้วย |
ข้อจำกัดที่สำคัญ
Secret Scanner ไม่ได้ป้องกันผู้ใช้จากการป้อนข้อมูลลับ, บล็อกการเผยแพร่เอกสาร, สแกนที่เก็บข้อมูลภายนอก หรือรับประกันการตรวจจับรูปแบบข้อมูลลับทุกรูปแบบ และยังไม่ลบค่าแหล่งที่มาโดยอัตโนมัติหรือแทนที่ด้วยตัวแปรหรือการอ้างอิง Vault
ใช้เป็นส่วนหนึ่งของกระบวนการจัดการข้อมูลประจำตัว ซึ่งรวมถึงการออกสิทธิ์ที่น้อยที่สุด, การจัดเก็บที่ปลอดภัย, การหมุนเวียน, การเพิกถอน และการตรวจสอบการใช้งาน
บทช่วยสอนเกี่ยวกับการกำกับดูแล API ที่เกี่ยวข้อง:
บทช่วยสอนเหล่านี้ครอบคลุมการควบคุมเสริมสำหรับการกำกับดูแลพื้นที่ทำงาน API ขององค์กร:
- กรอบการกำกับดูแล API (API Governance Framework) — เชื่อมโยงความเป็นเจ้าของ, การควบคุม, หลักฐาน และการตัดสินใจตลอดวงจรชีวิต
- การแมปกลุ่ม SAML ด้วย Microsoft Entra ID — กำหนดสิทธิ์เข้าถึงทีมจากกลุ่มผู้ให้บริการข้อมูลระบุตัวตน
- Secret Scanner — ตรวจสอบข้อมูลประจำตัวที่อาจถูกเปิดเผยในสินทรัพย์ Apidog ที่รองรับ
- บันทึกการตรวจสอบ (Audit Logs) — ตรวจสอบและส่งออกกิจกรรมการดูแลระบบองค์กร
- การจัดสรร SCIM (SCIM Provisioning) — จัดการผู้ใช้ในองค์กรตลอดวงจรชีวิตข้อมูลระบุตัวตน
- นโยบายองค์กร (Enterprise Policies) — กำหนดค่าการควบคุมข้อมูลประจำตัว, การเป็นสมาชิก, เซสชัน SSO และการเชิญ
- ทีม API บริการตนเองที่อยู่ภายใต้การกำกับดูแล — อนุญาตให้ทีมที่สร้างโดยสมาชิกภายใต้การดูแลของเจ้าของ
- การผสานรวม GitHub Enterprise Cloud — เชื่อมต่อที่เก็บ GHE.com ที่รองรับสำหรับเวิร์กโฟลว์ OpenAPI
เอกสารทางการที่เกี่ยวข้อง:
