Score:0

ฉันจะแก้ไข DNSSEC ของฉันได้อย่างไร ฉันไม่เคยทำให้ DNSSEC ทำงานได้และอาจทำให้ปัญหาแย่ลงไปอีก

ธง cn

ความพยายามใน DNSSEC ของฉันไม่ประสบผลสำเร็จ เพื่อช่วยให้เข้าใจ DNSSEC ฉันได้อ่านบทความออนไลน์มากมาย หน้าคนสำหรับ rndc, dnssec-*, ดู dnsviz.net และ dnssec-analyzer.verisignlabs.com/ ข้อมูลส่วนใหญ่อธิบาย DNSSEC อย่างละเอียด แต่ฉันจำเป็นต้องรู้ว่าต้องทำอะไรและจะแก้ไขปัญหาอย่างไร

ตัวอย่างเช่น dnsviz.net/allenintech.com ระบุว่า "ไม่มีระเบียน DNSKEY ที่ถูกต้องซึ่งจัดทำโดยเซิร์ฟเวอร์ชื่อที่เชื่อถือได้เพื่อให้ตรงกับระเบียน DS ที่เผยแพร่โดยเซิร์ฟเวอร์ชื่อ TLD"

ระเบียน DNSKEY ที่จัดทำโดย NS จะตรงกับระเบียน DS ที่เผยแพร่โดย TLD ได้อย่างไร มีการกำหนดค่าที่ฉันขาดหายไปหรือไม่? มีคำสั่ง rndc หรือ dnssec-* ให้ทำสิ่งนี้หรือไม่

ระบบ อูบุนตู 20.04 BIND 9.16.1-Ubuntu (รุ่นเสถียร) อาปาเช่/2.4.48 (อูบุนตู)

ชื่อไฟล์.conf โซน ในการแก้ไขปัญหาปัญหาทั้งหมดยกเว้นบางโซนยังคงอยู่ ฉันคิดว่าการลดโซนจะช่วยวินิจฉัยและแก้ไขปัญหาได้ดีกว่า

สังเกต สองมุมมอง: ภายในและภายนอก IP Local Server: 10.0.0.1 (มุมมองด้านใน) เซิร์ฟเวอร์ IP แบบคงที่: 99.93.25.17 (มุมมองภายนอก) NS รอง: 51.38.99.90

ตัวเลือก{
        ไดเร็กทอรี "/etc/bind/zoneFiles/";

        ฟังพอร์ต 53 { 127.0.0.1; 10.0.0.1; 99.93.25.17; };
        อนุญาตให้โอน { ไม่มี; };
        ค่าเริ่มต้นของนโยบาย DNSsec;
        ไฟล์ bindkeys "/etc/bind/zoneFiles/bind.keys";
};

acl "ไมโล" {
        127.0.0.1;
};
acl "ไมแลน" {
        10.0.0.0/24;
};
acl "mywireless" {
        192.168.1.0/24;
};
ดูภายใน {
        จับคู่ลูกค้า {"mylan"; "ไมโล"; "mywireless";};
        การเรียกซ้ำ ใช่;

        โซน "." {
                พิมพ์คำใบ้;
                ไฟล์ "/etc/bind/zoneFiles/root.hints";
        };
        โซน "allenintech.com" {                                                         
                พิมพ์ต้นแบบ;  
                ไฟล์ "/etc/bind/zoneFiles/insideView/allenintech.com.inside/db.allenintech.com.inside";
                ไดเร็กทอรีคีย์ "/etc/bind/zoneFiles/insideView/allenintech.com.inside";   
                อนุญาตให้โอน {51.38.99.90;};                                           
        };                                                                               
};                                                                                       
ดูภายนอก {      

        เรียกซ้ำไม่;
        จับคู่ลูกค้า {ใดๆ;};
        แบบสอบถามอนุญาต {ใดๆ;};
        #--------------------------------------------- -
        โซน "." {
                พิมพ์คำใบ้;
                ไฟล์ "/etc/bind/zoneFiles/root.hints";
        };
   
        โซน "allenintech.com" {
                พิมพ์ต้นแบบ;
                ไฟล์ "/etc/bind/zoneFiles/outsideView/allenintech.com.outside/db.allenintech.com.outside";
                ไดเร็กทอรีคีย์ "/etc/bind/zoneFiles/outsideView/allenintech.com.outside";
                อนุญาตให้โอน {51.38.99.90;};
        };
};

มุมมองภายใน

$ORIGIN **allenintech.com.**
$TTL 86400
@ IN SOA ns2.allenintech.com. besus.allenintech.com (
                        2022030750 ; อนุกรม
                        28800 ; รีเฟรช
                        120 ; ลองอีกครั้ง
                        1209600 ; หมดอายุ
                        86400 ; ขั้นต่ำ
)               
        
; เนมเซิร์ฟเวอร์
@ IN NS ns2.allenintech.com.
ns2 ใน 10.0.0.1
                
; บริการเว็บ  
www ใน A 10.0.0.1
@ ใน 10.0.0.1

มุมมองภายนอก

$ORIGIN **allenintech.com.**
$TTL 86400
@ IN SOA ns1.allenintech.com. besus.allenintech.com (
                        2022030725 ; อนุกรม
                        28800 ; รีเฟรช
                        120 ; ลองอีกครั้ง
                        1209600 ; หมดอายุ
                        86400 ; ขั้นต่ำ
)               
        
; เนมเซิร์ฟเวอร์ 
@ IN NS ns1.allenintech.com. ; หลัก
ns1 ใน 99.93.25.17 ; หลัก
                
                        NS fns2.42.pl. ; รอง
        
        
; บริการเว็บ  
www ใน A 99.93.25.17
@ ใน A 99.93.25.17

** รูปภาพปัจจุบัน

DNSVIZ

DNSSECANALYZER

ภาพเก่า dnsviz dnssec-analyzer.verisignlab

รูปภาพเก่า https://dnssec-analyzer.verisignlabs.com/allenintech.com

dnsviz.net/allenintech.com

djdomi avatar
za flag
ไม่ใช่ Insideview แผงการดูแลระบบ? โปรดแชร์ไฟล์โซน
cn flag
Insideview ไม่ใช่ "แผงการดูแลระบบ" ใช่ ฉันจะโพสต์ไฟล์โซนอย่างไรก็ตาม ก่อนที่จะโพสต์ไฟล์โซน ฉันจำเป็นต้องแก้ไขโพสต์เพื่ออัปเดตรูปภาพทั้งสอง: https://dnssec-analyzer.versignlabs.com/allenintech.com และ https://disviz.net/allenintech.com
Score:1
ธง jp

มีความไม่ตรงกันระหว่างคีย์ DNSSEC ที่ใช้ในการลงนามโซน (13/61524) และ ดีเอส บันทึกที่ลงนามโดยโซนหลัก (คอม มี 13/51277). โปรดอัปเดตของคุณ ดีเอส บันทึกที่นายทะเบียนของคุณ

เดอะ dnssec-signzone คำสั่งควรสร้างไฟล์ชื่อ dsset-allenintech.com ที่มีความถูกต้อง ดีเอส บันทึก:

allenintech.คอม รายวิชา สพ 61524 13 1 ****************************************
allenintech.คอม ใน สพ 61524 13 2 ********************************************* *********** ********
cn flag
(เอ) นี่เป็นขั้นตอนที่ถูกต้องในการนำคำแนะนำของคุณ (เช่น Esa Jokinem) ไปใช้งาน (เช่น Esa Jokinem) เพื่อ “อัปเดตบันทึก DS ของคุณที่ผู้รับจดทะเบียนของคุณ” หรือไม่ ฉันใช้ ARM สำหรับ 9.16.1 ที่ https://downloads.isc.org/isc/bind9/9.16.1/doc/arm/Bv9ARM.ch04.html#generating_dnssec_keys เพื่อนำคำแนะนำไปใช้ ไปที่ (B)
cn flag
(ข) 1) คีย์การลงนามโซน (ZSK) - cd ไปยังไดเร็กทอรีคีย์ - rm *.key *.private *.jnl *.state - ไฟล์การกำหนดค่าโซนสด cp ไปยังไดเร็กทอรีคีย์ - dnssec-keygen -a ECDSAP256SHA256 -n ZONE allenintech.com - เอาต์พุต คล้ายกับต่อไปนี้: - Kallenintech.com.+013+12345.key และ Kallenintech.com.+013+12345.private - โซน allenintech.com ได้รับการอัปเดตด้วยระเบียน DNSSEC ไปที่ (C)
cn flag
(ค) 2) ลงทะเบียนบันทึกการปรับปรุง DS 3) คีย์การลงนามคีย์ (KSK) - หลังจากบันทึก DS ได้รับการปรับปรุงโดยนายทะเบียน - หมายเหตุ: การลงนามคีย์เป็นแบบอัตโนมัติพร้อมตัวเลือก: âdnssec-policy defaultâ - โหลด rndc - เอาต์พุต - ไฟล์เอาต์พุตสองไฟล์ที่คล้ายกับต่อไปนี้จะถูกสร้างขึ้น: Kallenintech.com +013+12345.key and Kallenintech.com.+013+12345.private อาจจะพอๆ กับ *.state, และ allenintech.com.signed, ชุดคีย์ และ dsset ขอบคุณ!
cn flag
วิธีที่ดีที่สุดในการเปิดใช้งาน DNSSEC ด้วย BIND ด้วยการเซ็นชื่ออัตโนมัติคืออะไร ฉันต้องการความช่วยเหลือ โปรด ฉันใช้ ARM สำหรับ 9.16.1 ที่ https://downloads.isc.org/isc/bind9/9.16.1/doc/arm/Bv9ARM.ch04.html#generating_dnssec_keys เพื่อดำเนินการตามคำแนะนำ: âอัปเดตระเบียน DS ของคุณที่ผู้รับจดทะเบียนของคุณâ ตามที่แนะนำโดย @Esa Jokinen
cn flag
1) อะไรคือคำสั่งในการสร้างระเบียน DS ที่จะอัปเดตที่ผู้รับจดทะเบียน ความเฉพาะเจาะจงจะได้รับการชื่นชม @Esa Jokinen
cn flag
2) เกี่ยวกับบันทึก DS ข้อมูล DS อยู่ที่ไหน? ข้อมูล DS อยู่ในไฟล์ และ/หรือมีคำสั่งเพื่อดู/ดูข้อมูล DS ที่จะส่งไปยังผู้รับจดทะเบียนหรือไม่ @Esa Jokinen
cn flag
3) ใน names.com dnssec-policy ถูกตั้งค่าเป็น âdefaultâ ดังนั้นตาม ARM 9.16.1 การเซ็นชื่ออัตโนมัติจึงถูกเปิดใช้งาน ขั้นตอนและคำสั่งในการใช้การเซ็นชื่ออัตโนมัติคืออะไร คำสั่ง dnssec-signzone จำเป็นหรือไม่เมื่อ dnssec-policy เป็นค่าเริ่มต้น dsset-allenintech.com จะถูกสร้างโดยไม่ต้องออกคำสั่ง sign-zone หรือไม่ @Esa Jokinen
cn flag
@Anthon คำสั่ง `dnssec-signzone` เป็นทางเลือกเก่าสำหรับการเซ็นชื่อไฟล์โซนด้วยตนเอง คำสั่งนี้ไม่มีจุดประสงค์หากใช้งาน `dnssec-policy` (หรือ `auto-dnssecmaintain`) หลังจะรักษาลายเซ็นที่จำเป็นโดยอัตโนมัติ
cn flag
ขอบคุณ @Hakan Lidqvist! ฉันค้นพบสิ่งที่คุณพูดแล้ว ฉันโพสต์วิธีแก้ปัญหาด้วยความเข้าใจนโยบาย dnssec (และการบำรุงรักษา DNSsec อัตโนมัติ)
Score:0
ธง cn

นี่คือวิธีแก้ปัญหา: Bind9 ได้รับการตั้งค่าด้วย "dns-policy default" ตามที่แสดงในส่วนตัวเลือกด้านบน สิ่งนี้สำคัญและเจ๋งมาก ความช่วยเหลือและเอกสารประกอบส่วนใหญ่ไม่ได้ระบุถึง "ค่าเริ่มต้นของนโยบาย DNS" แต่ระบุถึง "ค่าเริ่มต้นของนโยบาย DNS" ในแง่ของวิธีการก่อนหน้า เก่ากว่า และแม้กระทั่งเลิกใช้แล้ว

1.แสดงความคิดเห็นเกี่ยวกับการกำหนดค่าโซนทั้งหมดใน names.conf ยกเว้นหนึ่งรายการเช่น example.com

โซน "example.com" { พิมพ์ต้นแบบ; ไฟล์ "/.../example.com.outsideView/example.com.outside"; ไดเร็กทอรีคีย์ "/.../zoneFiles/outsideView/example.com.outside"; };

ก) ไฟล์ คือตำแหน่งของไฟล์โซน example.comฉันแยกมุมมองภายในและภายนอกออก และระบุให้ชัดเจนว่าไฟล์โซนใดแสดงถึงมุมมองใด ดังนั้น example.com.outside

ข) ไดเร็กทอรีคีย์ คือตำแหน่งที่จะเขียนคีย์ DNSSEC และ ที่ไหน สำเนา ของ example.com วางอยู่ สิ่งสำคัญคือต้องแยกไฟล์โซน example.com ในการกำหนดค่า bind9 ชื่อ.conf เช่น ไฟล์และไฟล์โซน, example.com, คัดลอกไปยังไดเร็กทอรีคีย์ตามที่กำหนดเป็นตัวเลือก name.conf คุณจะแก้ไขไฟล์โซน example.com ในไฟล์ได้ตามต้องการ เป็นสำเนาการทำงาน สำเนาของไฟล์โซน example.com ในไดเร็กทอรีคีย์จะถูกแก้ไขหรือ "ลงนาม" โดย DNSSEC "dnssec-policy default"

2.เมื่อตั้งค่าตัวเลือก bind9 สำหรับไฟล์คอนฟิกูเรชันโซนด้วยไฟล์และคีย์ไดเรคทอยแล้ว ก) เริ่มการผูกใหม่ด้วย "systemctl รีสตาร์ท bind9" หรือ "rndc reload" "rndc reload" จะโหลดไฟล์การกำหนดค่าและโซนใหม่ เมื่อไม่เข้าใจการโต้ตอบของ DNSSEC กับการเชื่อมโยงและการกำหนดค่าโซน ฉันใช้ "rndc reload" เมื่อสิ่งต่าง ๆ ชัดเจน "systemctl รีสตาร์ท bind9" ก็เพียงพอแล้ว b) เมื่อ bind9 รีสตาร์ท cd ไปยังไดเร็กทอรีคีย์สำเร็จแล้ว จะมีไฟล์โซน example.com.outside .jnl และ K.(key|state|private) ไฟล์แบบนี้:

example.com.outside

example.com.outside.jnl

Kexample.com.+013+12345.key Kexample.com.+013+12345.state Kexample.com.+013+12345.private (013 - หมายเลขอัลกอริทึม 12345 - คีย์)

3)แยกระเบียน DS ออกจากคีย์ ใช้คำสั่งต่อไปนี้และบันทึกผลลัพธ์

ก) dnssec-dsfromkey Kexample.com.outside+013+12345.key > DSkeyexample.com.outside

b) DSkeyexample.com.outside จะมีบันทึก DS สำหรับโซน example.com ในไฟล์ example.com.outside ตัวอย่างเช่น cat DSkeyexample.com.outside จะสร้าง:

ตัวอย่าง.คอม. ใน ทส 12345 13 2 1234adb69784efc7528746dab15432abfd78764cd543cccd5432123abcdef123

ค) ส่งบันทึก DS ไปยัง ISP หรือป้อนบันทึก DS นี้ลงในอินเทอร์เฟซ DNSSEC ของ ISP

4)ลงนามเขต example.com (ชื่อไฟล์ example.com.outside) โปรดจำไว้ว่า โซน example.com อยู่ในสองตำแหน่ง: ไฟล์และคัดลอกไปยังไดเร็กทอรีคีย์ example.com ที่อยู่ใน "ไฟล์" การกำหนดค่าการผูกมีไว้สำหรับการเปลี่ยนแปลงและแก้ไข ไฟล์โซน example.com ที่คัดลอกเพื่อเชื่อมโยงการกำหนดค่า "ไดเรกทอรีคีย์" ได้รับการลงนามโดย DNSSEC

ก) ในขั้นต้น ไฟล์โซนทั้งสองจะมีขนาดที่เล็กเท่ากัน กล่าวคือ เหมือนกันแน่นอน เช่น 8KB เมื่อการลงนามเกิดขึ้น ไฟล์โซนในไดเร็กทอรีคีย์จะเพิ่มขนาดเป็นสองเท่า เช่น จาก 8KB เป็น 24KB นอกจากนี้ ใช้เอดิเตอร์ เปิดไฟล์โซนที่อยู่ในไดเร็กทอรีคีย์ สังเกตข้อมูลการลงนาม การลงนามโซนคือเมื่อ DNSSEC เขียนไฟล์โซนใหม่ในไดเร็กทอรีคีย์ "dnssec-policy default" ลงนามและดูแลโซน

ข) การลงนามโซนไม่ได้เกิดขึ้นทันทีเสมอไป ใช้ "สถานะ systemctl bind9" เพื่อสังเกตการอัปเดตคีย์ถัดไปเพื่อรับข้อบ่งชี้เมื่อโซนอาจลงนาม

5)ทำการเปลี่ยนแปลง/แก้ไขไฟล์โซน ก) ห้ามเปลี่ยนหรือแก้ไขไฟล์โซนที่ลงนามหรือไม่ได้ลงนามในไดเร็กทอรีคีย์ เปลี่ยนและแก้ไขไฟล์โซนในไฟล์และบันทึกและอย่าลืมเพิ่มหมายเลขซีเรียล จากนั้นคัดลอกหรือบันทึกการเปลี่ยนแปลงไปยังไดเร็กทอรีคีย์ ใช่ ไฟล์โซนที่ลงนามหรือไม่ได้ลงนามจะถูกเขียนทับ b) รีสตาร์ท bind9: systemctl รีสตาร์ท bind9

6)บังคับให้เซ็นโซน. เมื่อ bind9 ทำงานและไม่มีข้อผิดพลาด แต่โซนจะไม่เซ็นชื่อ

a) ลบ/ลบไฟล์ *.jnl และเพิ่มซีเรียลของไฟล์โซนที่อยู่ในไฟล์ จากนั้นคัดลอก/บันทึกเป็นคีย์ไดเร็กทอรี จากนั้น systemctl รีสตาร์ท bind9

b) การใช้คำสั่ง rndc เพื่อบังคับให้ลงนาม ดู man rndc

rndc flush - ล้างแคชของเซิร์ฟเวอร์

rndc flushname name [มุมมอง] - ล้างชื่อที่กำหนดจากแคช DNS ของมุมมองและจากฐานข้อมูลที่อยู่เนมเซิร์ฟเวอร์ของมุมมอง แคชเซิร์ฟเวอร์ที่ไม่ดี และแคช SERVFAIL ถ้ามี

rndc flushtree name [มุมมอง] - ล้างชื่อที่กำหนดและโดเมนย่อยทั้งหมดจากแคช DNS ของมุมมอง ฐานข้อมูลที่อยู่ แคชเซิร์ฟเวอร์ที่ไม่ดี และแคช SERVFAIL

คีย์ที่มีการจัดการ (สถานะ | รีเฟรช ) [คลาส [ดู]]

c) คำสั่งด้านบนดูเหมือนจะทำงานได้ดีขึ้นเมื่อใช้ร่วมกับ rndc freeze และ rndc thaw ขั้นแรกให้ใช้ rndc freeze ออกคำสั่งด้านบน จากนั้น rndc thaw หลังจากละลาย rndc ฉันออก systemctl รีสตาร์ท bind9 ซ้ำซ้อน เพราะดูเหมือนว่าจะทำงานได้ดีขึ้น.

7)ตรวจสอบ DNSSEC โดยใช้ https://dnsviz.net/ และ https://dnssec-analyzer.verisignlabs.com/

เมื่อโซนแรกเป็น DNSSEC ให้ยกเลิกการแสดงความคิดเห็นในโซนอื่นและดำเนินการตามขั้นตอน การเขียนนั้นยาวและยากกว่าการทำตามขั้นตอนเพื่อให้ DNSSEC ทำงาน

โพสต์คำตอบ

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