Score:0

BIND 9.16 ค่าเริ่มต้นของนโยบาย dnssec ไม่ได้ต่ออายุคีย์โดยอัตโนมัติ

ธง ci

เมื่อสามเดือนก่อน ฉันได้อัปเกรดเซิร์ฟเวอร์ DNS เป็น BIND 9.16 (ปัจจุบันใช้เวอร์ชัน 9.16.25) เพื่อใช้ประโยชน์จากเวอร์ชันใหม่ ค่าเริ่มต้นของนโยบาย DNSsec ตัวเลือกที่จะทำให้ฉันเรียกใช้ DNSSEC สำหรับโดเมนของฉันได้อย่างง่ายดาย เอกสารระบุว่าการจัดการคีย์จะเกิดขึ้นโดยอัตโนมัติ ฉันนำสิ่งนี้ไปใช้ ทดสอบในพื้นที่ ดูเหมือนว่าทุกอย่างได้รับการเซ็นชื่อเรียบร้อยดี และทุกอย่างก็ดูเข้ากับโลก ฉันไม่เคยติดตั้ง DNSSEC ในรูปแบบใดๆ มาก่อนสำหรับโซนเหล่านี้

ฉันมารู้ทีหลังว่าฉันควรอัปโหลดบันทึก DS ของฉันไปยังผู้รับจดทะเบียนเพื่อรายงานต่อ TLD ว่าโซนของฉันได้รับการเซ็นชื่อแล้ว และนั่นจะทำให้วงจรสมบูรณ์เพื่อให้ DNSSEC เกิดขึ้นได้จริง... ดังนั้นฉันจึงเริ่มทำในเดือนนี้ อย่างไรก็ตาม เมื่อทำเช่นนั้น สิ่งต่างๆ เริ่มล้มเหลว และฉันเรียนรู้อย่างรวดเร็วว่าลายเซ็นทั้งหมดของฉันหมดอายุแล้ว 15 วันหลังจากที่ฉันใช้ DNSSEC

ฉันพยายามทำการโรลโอเวอร์คีย์ด้วยตนเองสำหรับโซนหนึ่ง ซึ่งเปลี่ยนเครื่องหมายสำหรับบางระเบียน แต่ไม่ใช่ทั้งหมด (ไม่มีระเบียน A, AAAA, CNAME เป็นต้น) ฉันดูเอกสารเพื่อดูรายละเอียดวิธีการ ค่าเริ่มต้นของนโยบาย DNSsec ถูกนำไปใช้งาน และพบว่าคีย์ถูกตั้งค่าให้ไม่หมดอายุ แต่ลายเซ็นถูกตั้งค่าให้หมดอายุหลังจากผ่านไป 15 วันหรือมากกว่านั้น... และถ้าคีย์ไม่หมดอายุ ก็จะไม่มีการกำหนดเวลาแบบโรลโอเวอร์ แล้วฉันควรทำอย่างไรกับซิกที่หมดอายุแล้ว?

ไม่ ค่าเริ่มต้นของนโยบาย DNSsec ใช้งานได้จริงตามที่โฆษณาไว้ และฉันขาดสิ่งสำคัญไป หรือฉันควรจะม้วนเองที่นี่จริงๆ?

การตั้งค่าที่เกี่ยวข้องใน named.conf.options:

ตัวเลือก {
[..]
        การตรวจสอบ DNSsec อัตโนมัติ;
        ค่าเริ่มต้นของนโยบาย DNSsec;
        dnssec-dnskey-kskonly ใช่;
        คีย์ไดเร็กทอรีที่มีการจัดการ "/var/lib/bind";
[..]
};
Patrick Mevzek avatar
cn flag
"ฉันรู้ในภายหลังว่าฉันควรอัปโหลดบันทึก DS ของฉันไปยังผู้รับจดทะเบียนเพื่อรายงานต่อ TLD ว่าโซนของฉันได้รับการลงนามแล้ว" ใช่ มิฉะนั้นจะไม่มีเครือข่าย DNSSEC ที่เชื่อถือได้ ดังนั้นข้อเท็จจริงที่ว่าโซนของคุณได้รับการลงนามจึงไม่เกี่ยวข้องมากนัก นี่เป็นหัวใจหลักของการออกแบบ DNSSEC ฉันขอแนะนำให้คุณทำความเข้าใจสิ่งนี้อย่างถ่องแท้ก่อนที่จะดำเนินการต่อไป (คุณพูดถึงว่าไม่เคยทำ DNSSEC มาก่อน) สำหรับ "ลายเซ็นทั้งหมดของฉันหมดอายุ 15 วันหลังจากที่ฉันใช้ DNSSEC" อาจเป็นกรณีนี้ แต่แยกจากการส่ง DS ไปยังรีจิสทรีผ่านผู้รับจดทะเบียน
Christopher Hinkle avatar
ci flag
ขอบคุณแพทริค ปัญหาที่ฉันพบคือเมื่อฉันอัปโหลดระเบียน DS แล้ว ทุกอย่างพังเพราะลายเซ็นหมดอายุ ฉันต้องแก้ไขการหมดอายุของลายเซ็นก่อนที่ฉันจะสามารถอัปโหลดระเบียน DS เพื่อป้องกันไม่ให้สิ่งต่างๆ เสียหายเมื่อฉันทำ คุณมีข้อมูลเชิงลึกเกี่ยวกับวิธีที่ฉันสามารถทำได้หรือไม่?
Patrick Mevzek avatar
cn flag
คุณดูไฟล์บันทึกการผูกของคุณหรือไม่ ควรบันทึกลายเซ็นโซนและการอัปเดตคีย์หรือไม่ สิ่งนี้สามารถช่วยได้: https://gitlab.isc.org/isc-projects/bind9/-/wikis/DNSSEC-Key-and-Signing-Policy-(KASP) (มันเกี่ยวกับการเปลี่ยนแปลงใน 9.17 และถ้าทำได้คุณควร สลับไปมา) ดู https://bind9.readthedocs.io/en/v9_16_26/dnssec-guide.html: "คำสั่ง dnssec-policy ทำให้มีการเซ็นชื่อโซนและเปิดการบำรุงรักษาอัตโนมัติสำหรับโซน ซึ่งรวมถึงการเซ็นชื่อโซนอีกครั้งเป็น ลายเซ็นหมดอายุและเปลี่ยนคีย์เป็นระยะ "
Christopher Hinkle avatar
ci flag
ฉันทำจริง ฉันพบเอกสารเดียวกันกับที่คุณยกมา และนั่นคือเหตุผลที่ฉันอัปเกรดเป็น Bind 9.16 ตั้งแต่เริ่มต้น (ฉันพูดถึงสิ่งนั้นในโพสต์) บันทึกจะแสดง "การกำหนดค่าคีย์โซนใหม่" สำหรับแต่ละโซนชั่วโมงละครั้ง อย่างไรก็ตาม ลายเซ็นหมดอายุโดยไม่มีการต่ออายุ บันทึก dnssec แสดงการกำหนดค่าเริ่มต้น จากนั้นจะไม่มีสิ่งใดเลยนอกจากรายการการกำหนดค่าใหม่ซ้ำๆ แม้ว่าจะหมดอายุแล้วก็ตาม
Patrick Mevzek avatar
cn flag
เพิ่มระดับบันทึกและตรวจสอบการอนุญาตไฟล์/ไดเรกทอรีทั้งหมดอีกครั้ง โปรดทราบว่า 9.17 ควรง่ายกว่าสำหรับ DNSSEC มากกว่า 9.16 ฉันขอแนะนำให้คุณลองอย่างใจเย็นตั้งแต่เริ่มต้นด้วยโซนของเล่นและการทดลอง ในขั้นตอนนี้ด้วยองค์ประกอบที่กำหนดฉันไม่รู้ว่าทำไมสิ่งต่าง ๆ ไม่ทำงานสำหรับคุณ สิ่งนี้: "ฉันพยายามทำการโรลโอเวอร์คีย์ด้วยตนเองสำหรับหนึ่งโซน" เป็นเรื่องเกี่ยวกับคุณต้องปล่อยให้การผูกทำทุกอย่างให้คุณหรือคุณทำทุกอย่างด้วยตนเอง แต่การผสมมากเกินไปอาจเป็นสูตรสำหรับปัญหา
Patrick Mevzek avatar
cn flag
"บันทึกแสดง "การกำหนดค่าคีย์โซนใหม่" สำหรับแต่ละโซนชั่วโมงละครั้ง" ฉันไม่คิดว่านี่ควรเป็นกรณีที่คาดไว้ ไม่ต้องเปลี่ยนกุญแจบ่อย KSK เป็นเหมือนหนึ่งปี ZSK ไม่กี่สัปดาห์ สิ่งที่สามารถเปลี่ยนแปลงได้บ่อยขึ้นคือลายเซ็น หากการผูกกำลังพูดถึงคีย์บ่อยครั้งอาจมีปัญหาที่นั่น
Christopher Hinkle avatar
ci flag
"อาจมีปัญหาที่นั่น" ขวา! นั่นเป็นเหตุผลที่ฉันถามคำถาม :) ฉันได้รับมันโดยใช้ `dnssec-policy default` โดยไม่มีการกำหนดค่าอื่น ใช้ CSK แทน KSK/ZSK ฉันใช้ 9.17 ไม่ได้เพราะฉันใช้สิ่งนี้กับ Ubuntu 20 ซึ่งดูเหมือนว่าจะรองรับ 9.16 เท่านั้นในขณะนี้
Score:0
ธง cn

ดูตัวอย่างใน https://bind9.readthedocs.io/en/v9_16_26/dnssec-guide.html ที่กล่าวว่า:

การเปิดใช้งานการบำรุงรักษาโซน DNSSEC อัตโนมัติและการสร้างคีย์

ในการลงนามโซน ให้เพิ่มข้อความต่อไปนี้ในส่วนคำสั่งโซนใน ไฟล์คอนฟิกูเรชัน BIND 9:

ตัวเลือก {
    ไดเร็กทอรี "/etc/bind";
    เรียกซ้ำไม่;
    ...
};

โซน "example.com" ใน {
    ...
    ค่าเริ่มต้นของนโยบาย DNSsec;
    ...
};

คำแถลงนโยบาย dnssec ทำให้โซนได้รับการลงนามและเปิดใช้งาน การบำรุงรักษาอัตโนมัติสำหรับโซน ซึ่งรวมถึงการลงนามในโซนอีกครั้ง เนื่องจากลายเซ็นหมดอายุและเปลี่ยนคีย์เป็นระยะ มูลค่า ค่าเริ่มต้น เลือกนโยบายเริ่มต้นซึ่งมีค่าที่เหมาะสมสำหรับ สถานการณ์ส่วนใหญ่

ไม่ว่า นโยบาย DNSsec สามารถอยู่ใน โซน คำชี้แจงหรือใน ตัวเลือก แต่ก็นำไปใช้ได้ทุกที่ โดยเฉพาะอย่างยิ่งในตอนเริ่มต้น เพื่อทดสอบสิ่งต่างๆ คุณอาจต้องการจำกัดสิ่งต่างๆ ต่อโซน แต่นอกเหนือจากนั้น มันควรจะทำงานนอกกรอบด้วยการกำหนดค่านั้น

หากไม่ใช่กรณีของคุณ คุณต้องให้รายละเอียดเพิ่มเติมตามไฟล์บันทึกของคุณ

ในภายหลังในหน้าเดียวกัน คุณสามารถดูบรรทัดบันทึกที่คาดหวังด้วยการกำหนดค่าด้านบน:

07-เม.ย.-2020 16:02:55.045 โซน example.com/IN (ลงชื่อ): กำหนดค่าคีย์โซนใหม่
07-Apr-2020 16:02:55.045 การโหลดการกำหนดค่าใหม่สำเร็จ
07-เม.ย.-2020 16:02:55.046 keymgr: DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) สร้างขึ้นสำหรับค่าเริ่มต้นของนโยบาย
07-เม.ย.-2020 16:02:55.046 กำลังดึงไฟล์ example.com/ECDSAP256SHA256/10376 (CSK) จากที่เก็บคีย์
07-เม.ย.-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) เผยแพร่แล้ว
07-เม.ย.-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) เปิดใช้งานแล้ว
07-เม.ย.-2020 16:02:55.048 โซน example.com/IN (ลงชื่อ): เหตุการณ์สำคัญถัดไป: 07-เม.ย.-2020 18:07:55.045

ดู ลงนาม ในบรรทัดสุดท้ายและการประทับเวลาที่กำหนดเมื่อบางสิ่ง (อาจเป็นลายเซ็นใหม่) จะเกิดขึ้น ส่วน:

ฉันต้องแก้ไขการหมดอายุของลายเซ็นก่อนที่ฉันจะสามารถอัปโหลดระเบียน DS เพื่อป้องกันไม่ให้สิ่งต่างๆ เสียหายเมื่อฉันทำ

แม้จะไม่มีปัญหา อย่าอัปโหลด DS โดยไม่ตรวจสอบในเครื่อง การตรวจสอบความถูกต้องจะทำงานตั้งแต่ต้นจนจบ คุณสามารถทำได้ด้วยเครื่องมือออนไลน์อย่าง DNSViz โดยระบุ DS ใหม่ที่คุณกำลังจะเพิ่มอย่างชัดเจน และเครื่องมือจะทดสอบสิ่งต่างๆ ราวกับว่า DS นั้นใช้ได้อยู่แล้ว โปรดทราบว่าโดยปกติแล้ว KSK (ซึ่ง ดีเอส บันทึกเป็นแฮชโดยพื้นฐาน) ควรจะเปลี่ยน "เป็นประจำ" เป็นเพลงปีละครั้งทุกๆ 2 ปีหรืออะไรทำนองนั้น เมื่อถึงจุดที่คุณต้องหมุน ดีเอส เช่นกัน แต่ด้วยความระมัดระวังหากคุณไม่ต้องการทำลายความละเอียด

Christopher Hinkle avatar
ci flag
_Config_: ฉันใส่บรรทัด `dnssec-policy` ในคำสั่งตัวเลือกโดยเจตนาเพราะต้องการให้ใช้กับทุกโซน _Logfiles_: บันทึก /var/log/named/dnssec ของฉันมีรายการที่คุณอธิบาย ยกเว้นว่าจะไม่มีคำว่า "(เซ็นชื่อ)" หลังจากรายการโซนใดๆ และ "เหตุการณ์คีย์ถัดไป" จะอยู่ที่ 60 นาทีเสมอ เมื่อครบ 60 นาที ฉันจะได้รับรายการ: `zone example.com/IN: reconfiguring zone keys' และหลังจากนั้นอีกรายการ 'next key event' ไม่มีอะไรได้รับการกำหนดค่าใหม่ ไม่มีข้อผิดพลาดในบันทึกที่เกี่ยวข้องกับกระบวนการนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา