ส่วนขยายความปลอดภัย DNS (DNSSEC) และความเสี่ยงด้านความปลอดภัยทางไซเบอร์
อุตสาหกรรมที่รวบรวมข้อมูลผู้ใช้ เช่น การเงิน การดูแลสุขภาพ และรัฐบาล เป็นเป้าหมายที่มีชื่อเสียงสําหรับการโจมตี DNS เนื่องจากข้อมูลดังกล่าวน่าสนใจสําหรับผู้ประสงค์ร้าย การรวมการบรรเทาความปลอดภัยที่หลากหลาย รวมถึงส่วนขยายความปลอดภัยของระบบชื่อโดเมนเพื่อป้องกันการโจมตีด้วยการปลอมแปลง สามารถช่วยให้องค์กรป้องกันการละเมิดข้อมูลและปกป้องผู้ใช้และข้อมูลของพวกเขาจากการถูกนําไปใช้ในทางที่ผิด
บทความนี้อธิบายวิธีที่ส่วนขยายความปลอดภัยของ DNS (DNSSEC) สร้างการรักษาความปลอดภัยเพิ่มเติมสําหรับโดเมนของคุณ ชี้แจงความต้องการด้านกฎระเบียบสําหรับการใช้งาน DNSSEC และประเมินความเสี่ยงที่เกี่ยวข้องกับการใช้ DNSSEC
DNSSEC คืออะไร?
DNS หรือระบบชื่อโดเมนมีโครงสร้างพื้นฐานการกําหนดเส้นทางเพื่อเชื่อมต่อผู้เยี่ยมชมเว็บไซต์กับที่อยู่ IP ที่เหมาะสมซึ่งสอดคล้องกับชื่อโดเมน ส่วนขยายความปลอดภัยของ DNS หรือที่เรียกว่า DNSSEC ให้การแก้ไขความถูกต้องสําหรับระเบียน DNS โดยตรวจสอบลายเซ็นระเบียนทรัพยากร ([.rt-script]RRSIG[.rt-script]) ด้วยคีย์สาธารณะที่จัดเก็บไว้ในระเบียน ([.rt-script]DNSKEY[.rt-script]) ในแง่หนึ่ง DNSSEC จะดึงลายเซ็นสําหรับระเบียน DNS เพื่อยืนยันว่าเว็บไซต์เป็นของแท้ผ่านการเข้ารหัสคีย์สาธารณะ DNSSEC ขยายโปรโตคอล DNS ด้วยการรับรองความถูกต้องด้วยการเข้ารหัส
เมื่อเปิดใช้ DNSSEC สําหรับโดเมนแล้ว ตัวแก้ไข DNS จะตรวจสอบข้อมูล DNS เพื่อหาห่วงโซ่ความน่าเชื่อถือที่เชื่อมโยงกับการตั้งค่าการตรวจสอบสิทธิ์ของโดเมน ตัวแก้ไขจะตรวจสอบว่าลายเซ็นดิจิทัลมาจากโซนที่เชื่อถือได้ซึ่งสามารถยืนยันได้ด้วยการเข้ารหัส ซึ่งเรียกว่าการรับรองความถูกต้องของต้นทางข้อมูล นอกจากนี้ DNSSEC ยังให้การป้องกันความสมบูรณ์ของข้อมูลจากการโจมตีแคช DNS เพื่อยืนยันว่าข้อมูลระหว่างการส่งไม่ได้รับการแก้ไข เพื่อให้ตัวแก้ไข DNS สามารถส่งคืนไซต์ที่ตรวจสอบแล้วไปยังเบราว์เซอร์ไคลเอ็นต์ได้ หากการรับรองความถูกต้องและการตรวจสอบล้มเหลว ตัวแก้ไขจะส่งคืนข้อผิดพลาดแทนเว็บไซต์
หากไม่มีข้อกําหนดด้านความปลอดภัยเหล่านี้ ตัวแก้ไขสามารถเปลี่ยนเส้นทางผู้ใช้ไปยังไซต์ที่ผู้โจมตีเลือกผ่านการปลอมแปลง DNS หรือการทําให้แคช DNS เป็นพิษ วิธีที่ DNSSEC ทํางานกับการรับรองความถูกต้องและความสมบูรณ์ของต้นทางข้อมูลมีรายละเอียดอยู่ในคําขอความคิดเห็น 4033 (RFC 4033) ของ Internet Engineering Task Force (IETF)
DNSSEC ใช้ห่วงโซ่ความน่าเชื่อถือเพื่อยืนยันความถูกต้องจากบนลงล่างจากโซนราก ผู้ให้บริการโดเมนระดับบนสุด (TLD) จะสร้างจุดยึดความน่าเชื่อถือไปยังโซนรากของ DNS Internet Assigned Numbers Authority (IANA) ประสานงานทรัพยากร DNS รวมถึงการจัดการโซนรากและการดําเนินการคีย์การลงนามคีย์สําหรับการเชื่อมต่อ TLD Trust anchor เมื่อ TLD ให้จุดยึดความน่าเชื่อถือไปยังโซนรากของ DNS เจ้าของโดเมนที่ลงทะเบียนกับ TLD นั้นสามารถตั้งค่า DNSSEC ด้วยห่วงโซ่ความน่าเชื่อถือที่แก้ไขกลับไปยังโซนรากที่ลงนามและยืนยันแล้ว ข้อมูลเพิ่มเติมเกี่ยวกับการลงนามและการแก้ไขโซนสามารถพบได้ใน RFC 4035 ของ IETF หากจําเป็นต้องใช้โซนที่ลงนาม (เช่นเดียวกับกรณีเมื่อปรับใช้ DNSSEC) การเข้าถึงโดเมนจะถูกจํากัดมากขึ้น เนื่องจากต้องได้รับการรับรองความถูกต้อง แต่ก็ได้รับการปกป้องจากการโจมตีของศัตรูที่อยู่ตรงกลางเช่นเดียวกัน
แม้ว่า DNSSEC จะเพิ่มคุณสมบัติการรับรองความถูกต้องที่เป็นประโยชน์สําหรับโดเมน แต่ก็ยังไม่ได้นําไปใช้อย่างกว้างขวาง APNIC Labs รายงานว่าอัตราการตรวจสอบ DNSSEC ทั่วโลกรวม 40% โดย 8.35% เป็นการตรวจสอบบางส่วนเท่านั้น
ข้อกําหนดด้านกฎระเบียบของ DNSSEC และสหรัฐอเมริกา
แม้ว่าส่วนขยายความปลอดภัยของ DNS จะไม่ได้รับคําสั่งจากกฎระเบียบการปฏิบัติตามข้อกําหนดหลายประการ แต่ก็เป็นการกําหนดค่าที่จําเป็นสําหรับความต้องการด้านกฎระเบียบของรัฐบาลกลางสหรัฐอเมริกา ระหว่างพระราชบัญญัติการจัดการความปลอดภัยของข้อมูลของรัฐบาลกลาง (FISMA) และมาตรฐานที่เผยแพร่ของ NIST (รวมถึงสิ่งพิมพ์พิเศษ 800-53 และมาตรฐานการประมวลผลข้อมูลของรัฐบาลกลาง 140-2) หน่วยงานของรัฐบาลกลางของสหรัฐอเมริกาและผู้ให้บริการบุคคลที่สามสําหรับหน่วยงานของรัฐบาลกลางเหล่านั้นมีพื้นฐานด้านความปลอดภัยที่หลากหลายเพื่อให้บรรลุ NIST SP 800-81-2 มีคู่มือการปรับใช้ DNS ที่ปลอดภัยซึ่งมีส่วนสําหรับการใช้ส่วนขยายความปลอดภัยของ DNS
NIST SP 800-53 ประกอบด้วยชุดการควบคุมที่เกี่ยวข้องกับการป้องกันระบบและการสื่อสาร ซึ่งเรียกว่า "SC" SC-21 และ SC-22 กําหนดความคาดหวังสําหรับการแก้ปัญหา DNS รวมถึงการตรวจสอบความถูกต้องผ่าน DNSSEC หรือช่องทางการตรวจสอบสิทธิ์อื่นใน SC-21 ดูเหมือนว่าจะไม่มีการเปลี่ยนแปลงที่มีความหมายสําหรับการควบคุมนี้จากการแก้ไข 4 เป็นการแก้ไข 5 (Rev 5) ที่เพิ่งดําเนินการใหม่
การรับรอง Federal Risk and Authorization Management Program (FedRAMP) รวมถึง DNSSEC ในขอบเขตการควบคุมที่จําเป็น และองค์กรที่ผ่านกระบวนการรับรองจะต้องยืนยันการกําหนดค่า DNSSEC หรือยอมรับเกณฑ์ความเสี่ยงของการไม่ใช้ DNSSEC รายงานการประเมินความพร้อมของ FedRAMP ประกอบด้วยคําถามต่อไปนี้ที่เกี่ยวข้องกับการกําหนดค่า DNSSEC ขององค์กรของคุณ:
- "โซลูชัน DNS ภายนอกของระบบรองรับ DNS Security (DNSSEC) เพื่อให้การรับรองความถูกต้องของต้นทางและการตรวจสอบความสมบูรณ์หรือไม่ สิ่งนี้ใช้กับการควบคุม SC-20, SC-21 และ SC-22 ใน SSP" (หัวข้อ 4.1)
- "3PAO [องค์กรประเมินบุคคลที่สาม] ได้ตรวจสอบว่าเซิร์ฟเวอร์ DNS ภายนอกตอบกลับด้วยการตอบสนอง DNSSEC ที่ถูกต้อง และเซิร์ฟเวอร์แบบเรียกซ้ําอยู่ภายในขอบเขตที่ได้รับอนุญาตของ FedRAMP ส่งคําขอ DNSSEC สําหรับโดเมนที่อยู่นอกขอบเขต และการเรียก DNS นั้นรักษาการรับรองความถูกต้องและความสมบูรณ์ของ DNSSEC หรือไม่ [SC-20, SC-21]" (หัวข้อ 4.2)
สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) ประมาณการโดเมน IPv6 ของรัฐบาลสหรัฐฯ น้อยกว่า 1100 โดเมนที่มีการปรับใช้ DNSSEC ที่ใช้งานได้ การปรับใช้ในอุตสาหกรรมการดําเนินงาน 73 แห่ง และการปรับใช้มหาวิทยาลัยที่ดําเนินงาน 30 แห่ง โดยส่วนใหญ่ของการปรับใช้ DNSSEC ของมหาวิทยาลัยไม่ได้ลงนาม (ณ วันที่ 8 มกราคม 2023)
การใช้งาน DNSSEC ที่จํากัดทั่วโลกอาจเป็นเพราะส่วนหนึ่งเป็นเพราะไม่ได้กําหนดโดยการรับรองการปฏิบัติตามข้อกําหนดทั้งหมด นอกจากนี้ยังอาจเป็นไปได้ว่าเจ้าของโดเมนและผู้ดูแลระบบยอมรับระดับความเสี่ยงที่เกี่ยวข้องกับการไม่ใช้ DNSSEC เนื่องจากอาจมีมาตรการรักษาความปลอดภัยทางเลือกเพื่อป้องกันความเสี่ยง
DNSSEC และความเสี่ยงด้านความปลอดภัยทางไซเบอร์
DNSSEC ให้การป้องกันการโจมตี DNS ที่หลากหลาย รวมถึงสิ่งต่อไปนี้:
- การปลอมแปลง DNS และพิษแคช DNS โดยที่ตัวแก้ไข DNS ส่งคืนข้อมูลเท็จ เช่น เว็บไซต์ที่เป็นอันตรายของผู้โจมตี
- การจี้ DNS โดยที่ผู้โจมตีเปลี่ยนเส้นทางการสืบค้น
- การโจมตีแบบ Adversary-in-the-middle (บางครั้งเรียกว่าการโจมตีแบบคนกลางหรือการโจมตีแบบคนกลาง) ซึ่งผู้โจมตีสกัดกั้นการสื่อสารและอาจแก้ไขข้อมูลระหว่างการส่ง การโจมตีแบบกลางของศัตรูมีข้อจํากัดเนื่องจากการตรวจสอบ DNSSEC เนื่องจากผู้โจมตีไม่สามารถลงนามในการสกัดกั้นด้วยคีย์ที่จําเป็นได้
การรับรองความถูกต้องและการตรวจสอบความถูกต้องที่จัดทําโดย DNS Security Extensions ช่วยเพิ่มการป้องกันการโจมตีบางประเภท แต่ไม่ใช่กลยุทธ์การป้องกันการโจมตีทางไซเบอร์ขั้นสุดท้าย ตัวอย่างเช่น โครงสร้างพื้นฐานคีย์สาธารณะ (PKI) บนเว็บ เช่น ใบรับรอง SSL/TLS ช่วยปกป้องเว็บไซต์และเพิ่มความเชื่อมั่นของผู้ใช้ในเว็บไซต์ที่พวกเขาเยี่ยมชม ดังนั้นบางครั้งเว็บ PKI จึงแทนที่ความต้องการ DNSSEC ที่รับรู้ อย่างไรก็ตาม DNSSEC ปกป้องเจ้าของโดเมนจากการโจมตีการปลอมแปลงของผู้โจมตี การจับคู่ DNSSEC กับเว็บ PKI ให้กลยุทธ์การรักษาความปลอดภัยเสริมสําหรับทั้งผู้ดูแลระบบและผู้ใช้ที่อุ่นใจ
DNSSEC ยังให้การรักษาความปลอดภัยที่สามารถช่วยป้องกันการอุโมงค์ DNS แต่ไม่ได้ป้องกันไฟล์แนบเพย์โหลดไปยังการสืบค้น DNS โดยตรง ในทํานองเดียวกัน DNSSEC ไม่ได้ป้องกันการโจมตีแบบปฏิเสธการให้บริการหรือการพิมพ์ผิด ดังนั้นจึงเป็นสิ่งสําคัญที่ต้องใช้เทคนิคการรักษาความปลอดภัยที่หลากหลายซึ่งคํานึงถึงประเภทของการโจมตีที่หลากหลาย
เนื่องจาก DNSSEC สร้างโซนที่ลงนามสําหรับโดเมน จึงสามารถเปิดเผยโดเมนย่อยภายในโซนที่ลงนามได้ แม้ว่าข้อมูลโซนบางโซนจะไม่เป็นพิษเป็นภัย (เว็บไซต์ส่วนใหญ่คาดว่าจะมีโดเมนย่อย [.rt-script]www[.rt-script] เป็นต้น) หน้าเข้าสู่ระบบส่วนตัวหรือโดเมนย่อยการเข้าถึงภายในใดๆ อาจถูกตรวจสอบและอาจถูกโจมตีโดยแฮ็กเกอร์ที่อยากรู้อยากเห็น การตรวจสอบข้อมูลการตอบกลับ DNS สามารถทําได้ทั้งในโซนหลักและโซนรองสําหรับโดเมนของคุณ
วิธีกําหนดค่า DNSSEC
การกําหนดค่า DNSSEC เกิดขึ้นในระดับผู้ให้บริการโดเมน เจ้าของโดเมนและผู้ให้บริการทั้งหมดมีส่วนร่วมในกระบวนการ DNSSEC ได้แก่ เจ้าของโดเมน ผู้รับจดทะเบียนโดเมน รีจิสทรีโดเมน และผู้ให้บริการ DNS ทั้งผู้รับจดทะเบียนและผู้รับจดทะเบียนต้องรองรับ DNSSEC
กระบวนการกําหนดค่า DNSSEC ประกอบด้วยงานสามอย่าง:
- ตั้งค่า DNSSEC กับผู้ให้บริการโฮสติ้ง DNS ของคุณและสร้างระเบียนที่จําเป็น
- เปิดใช้งานระเบียนกับผู้รับจดทะเบียนโดเมนของคุณ (ในบางกรณี ผู้ให้บริการโฮสติ้งและผู้รับจดทะเบียนโดเมนอาจเป็นองค์กรเดียวกัน เช่น Cloudflare)
- เปิดใช้งานการตรวจสอบลายเซ็นในเซิร์ฟเวอร์ DNS
ระเบียนทรัพยากรสําหรับการใช้งาน DNSSEC ประกอบด้วยระเบียน [.rt-script]A[.rt-script] หรือ [.rt-script]AAAA[.rt-script] สําหรับที่อยู่ IP ของคุณ, ระเบียน [.rt-script]DNSKEY[.rt-script], ระเบียน [.rt-script]DS[.rt-script] สําหรับผู้ลงนามมอบสิทธิ์ และระเบียน [.rt-script]RRSIG[.rt-script] ในการสร้างระเบียน [.rt-script]DS[.rt-script] กับผู้รับจดทะเบียนโดเมน คุณจะต้องมีลายเซ็นคีย์สําหรับโซน DNS ของคุณ ซึ่งโดยทั่วไปจะเป็นคีย์เซ็นคีย์ (KSK) และคีย์เซ็นโซน (ZSK) รวมถึงแท็กคีย์ อัลกอริทึม ประเภทสรุป และสรุป
ผู้รับจดทะเบียนโดเมนและผู้ให้บริการโฮสติ้งมักจะจัดเตรียมเอกสารสนับสนุนสําหรับ DNSSEC คุณสามารถค้นหาได้โดยตรงในเอกสารประกอบของผู้ให้บริการ หรือใช้ลิงก์เหล่านี้สําหรับผู้ให้บริการยอดนิยม:
- Amazon Web Services (AWS): การกําหนดค่าการลงนาม DNSSEC ใน Amazon Route 53
- Cloudflare: เปิดใช้งาน DNSSEC
- dnsimple: คู่มือ DNSSEC
- GoDaddy: เปิดหรือปิด DNSSEC
- Google Domains: ตั้งค่า DNSSEC และความปลอดภัยของ DNS
- Squarespace: เนมเซิร์ฟเวอร์และ DNSSEC สําหรับโดเมนที่จัดการโดย Squarespace
อย่างไรก็ตาม Microsoft Azure ไม่รองรับ DNSSEC ในขณะนี้
การตรวจสอบอย่างต่อเนื่องสามารถช่วยคุณติดตามการใช้งานด้านความปลอดภัย รวมถึงสถานะปัจจุบันของการกําหนดค่า DNSSEC ของคุณ
นอกเหนือจากความเสี่ยงในการกําหนดค่าและช่องโหว่ซอฟต์แวร์อื่นๆ แล้ว UpGuard BreachSight ยังสแกนพื้นผิวการโจมตีภายนอกของคุณเพื่อประเมินการตั้งค่าการกําหนดค่า DNS ของคุณ สําหรับการค้นพบที่เกี่ยวข้องกับ DNS BreachSight จะให้การแจ้งเตือนสองรายการ:
- ไม่ได้เปิดใช้งาน DNSSEC
- พอร์ต 'DNS' เปิดอยู่
การค้นหา DNSSEC ไม่ได้เปิดใช้งานจะรายงานว่าการปรับใช้โดเมนของคุณไม่ได้กําหนดค่าด้วย DNSSEC ตั้งค่า DNSSEC เพื่อตรวจสอบสิทธิ์การตอบสนองต่อคําขอ DNS และยืนยันว่าระบบจะส่งคืนเฉพาะการแก้ปัญหาที่ได้รับอนุญาตให้กับผู้ใช้เท่านั้น การรวม DNSSEC ไว้ในการกําหนดค่าโดเมนจะช่วยให้คุณป้องกันไม่ให้ผู้โจมตีแทรกโดเมนของตนเองในระหว่างการแก้ไข DNS
หากคุณได้รับการค้นหาเปิดพอร์ต 'DNS' แสดงว่าเซิร์ฟเวอร์ของคุณไม่ได้ปกป้องพอร์ต DNS จากภัยคุกคามสาธารณะ เช่น พิษแคช DNS การโจมตีของศัตรูกลาง หรือการปลอมแปลง DNS DNS ใช้พอร์ต [.rt-script]53[.rt-script] สําหรับทั้งการเชื่อมต่อ UDP และ TCP การค้นหาความเสี่ยงของคุณใน UpGuard จะระบุว่าพอร์ต DNS จะฟังหากเปิดรับอินเทอร์เน็ตสาธารณะ เพื่อป้องกันการใช้ประโยชน์จาก DNS ให้ปิดพอร์ตไปยังอินเทอร์เน็ตสาธารณะ หากคุณต้องการรักษาการเข้าถึงระหว่างอินเทอร์เน็ตสาธารณะและบริการ DNS ของคุณ ให้พิจารณาจํากัดการเข้าถึงเซิร์ฟเวอร์ที่แข็งแรงซึ่งได้รับการบํารุงรักษาอย่างสม่ําเสมอ และใช้ DNSSEC สําหรับการป้องกันโซน โปรดทราบว่า DNSSEC สามารถเปิดเผยสถาปัตยกรรมโดเมนย่อยของคุณได้
ผู้ใช้ UpGuard ปัจจุบันสามารถเข้าสู่ระบบและเข้าถึงโปรไฟล์ความเสี่ยงใน BreachSight เพื่อประเมินว่าการค้นพบที่เกี่ยวข้องกับ DNS เหล่านี้ส่งผลกระทบต่อองค์กรของตนหรือไม่ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการอื่นๆ ที่ UpGuard ระบุผ่านการสแกนพอร์ต โปรดดูบทความสนับสนุนของเราเกี่ยวกับ UpGuard ระบุบริการใดบ้างด้วยการสแกนพอร์ต