เปิด DNSSEC ให้โดเมนเพื่อป้องกันการปลอมแปลง DNS
DNS ที่ใช้กันมาตั้งแต่ต้นไม่มีกลไกยืนยันว่าคำตอบที่ได้รับมาจากเจ้าของโดเมนจริง ผู้โจมตีที่อยู่ระหว่างทางจึงปลอมคำตอบให้ผู้ใช้ไปยังเซิร์ฟเวอร์ปลอมได้ ซึ่งเป็นเทคนิคที่ใช้ในการโจมตีแบบขโมยข้อมูล
DNSSEC แก้ปัญหานี้ด้วยการลงลายเซ็นดิจิทัลให้ทุกคำตอบ ทำให้ Resolver ตรวจสอบได้ว่าข้อมูลไม่ถูกแก้ไขระหว่างทาง
คำเตือนก่อนเริ่ม DNSSEC ที่ตั้งผิดทำให้โดเมนหายจากอินเทอร์เน็ตทั้งหมด ไม่ใช่แค่ช้าหรือเข้าบางที่ไม่ได้ เพราะ Resolver ที่ตรวจสอบลายเซ็นจะปฏิเสธคำตอบที่ลายเซ็นไม่ถูกต้อง ทำตามลำดับอย่างเคร่งครัด
สิ่งที่ต้องเตรียม
- โดเมนที่ผู้รับจดทะเบียนรองรับ DNSSEC ซึ่ง
.com.netและ.co.thรองรับแล้ว - ผู้ให้บริการ DNS ที่รองรับการลงลายเซ็น
- สิทธิ์เข้าถึงทั้งหน้าจัดการ DNS และหน้าจัดการโดเมนที่ผู้รับจดทะเบียน
ขั้นตอนที่ 1: ตรวจสถานะปัจจุบัน
dig +dnssec example.com | grep -E 'flags:|RRSIG'
dig DS example.com +short
delv example.com
หากยังไม่ได้เปิด จะไม่เห็นระเบียน RRSIG และ DS คำสั่ง delv จะแสดง unsigned answer
ขั้นตอนที่ 2: เปิดการลงลายเซ็นที่ผู้ให้บริการ DNS
ขั้นตอนนี้ต้องทำก่อนส่ง DS Record เสมอ
ที่ Cloudflare ไปที่ DNS แล้ว Settings แล้ว DNSSEC กด Enable DNSSEC ระบบจะแสดงค่าที่ต้องนำไปใส่ที่ผู้รับจดทะเบียน
ที่ผู้ให้บริการอื่นมักอยู่ในหน้าจัดการ DNS ของโดเมนนั้น มองหาคำว่า DNSSEC หรือ Sign Zone
ตรวจว่าโซนถูกลงลายเซ็นแล้ว
dig DNSKEY example.com +short
dig +dnssec example.com SOA | grep RRSIG
ต้องเห็นระเบียน DNSKEY และ RRSIG ก่อนไปขั้นตอนถัดไป
ขั้นตอนที่ 3: เข้าใจค่าที่ต้องส่ง
DS Record คือค่าย่อของกุญแจสาธารณะที่ส่งไปเก็บไว้ที่ระดับโดเมนแม่ ประกอบด้วยสี่ส่วน
example.com. IN DS 12345 13 2 A1B2C3D4E5F6...
- Key Tag เลขระบุกุญแจ ในตัวอย่างคือ 12345
- Algorithm อัลกอริทึม ในตัวอย่างคือ 13 ซึ่งคือ ECDSA P-256 ที่แนะนำในปัจจุบัน
- Digest Type ชนิดของค่าย่อ ในตัวอย่างคือ 2 ซึ่งคือ SHA-256
- Digest ค่าย่อของกุญแจ
ผู้ให้บริการ DNS จะแสดงค่าทั้งสี่ให้ คัดลอกให้ครบทุกตัวโดยไม่ตกหล่น
ขั้นตอนที่ 4: ส่ง DS Record ไปยังผู้รับจดทะเบียน
เข้าหน้าจัดการโดเมนที่ผู้รับจดทะเบียน มองหาเมนู DNSSEC หรือ DS Records แล้วใส่ค่าทั้งสี่
บางรายให้ใส่แบบ DNSKEY แทน DS ซึ่งใช้ค่าจากระเบียน DNSKEY โดยตรง ผู้ให้บริการ DNS มักแสดงทั้งสองรูปแบบให้เลือก
สำหรับโดเมน .th ต้องติดต่อผู้รับจดทะเบียนโดยตรงในบางกรณี เพราะบางรายยังไม่มีหน้าจอให้จัดการเอง
ขั้นตอนที่ 5: ตรวจสอบว่าใช้งานได้จริง
รอ 15 นาทีถึงหลายชั่วโมงให้ข้อมูลเผยแพร่ แล้วตรวจ
# ต้องเห็นระเบียน DS
dig DS example.com +short
# ต้องเห็นธง ad ซึ่งหมายถึง authenticated data
dig +dnssec example.com @1.1.1.1 | grep 'flags:'
# ตรวจห่วงโซ่ความเชื่อถือทั้งเส้น
delv example.com +rtrace
ผลที่ถูกต้องคือเห็น flags: qr rd ra ad โดยมีตัว ad อยู่ด้วย และ delv แสดงข้อความ fully validated
ใช้เครื่องมือตรวจสอบแบบเห็นภาพที่ dnsviz.net หรือ dnssec-analyzer ของ Verisign ซึ่งแสดงห่วงโซ่ทั้งหมดและชี้จุดที่ผิดพลาดได้ชัดเจน
ขั้นตอนที่ 6: ทดสอบว่าโดเมนยังเข้าถึงได้จากทุกที่
for r in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do
printf '%-16s %s\n' "$r" "$(dig +short example.com @$r | head -1)"
done
ทุก Resolver ต้องตอบ IP เดียวกัน หากบางตัวไม่ตอบเลย แปลว่าลายเซ็นมีปัญหาและ Resolver นั้นปฏิเสธคำตอบ ต้องแก้ทันที
# ตรวจว่าเป็นปัญหาลายเซ็นหรือไม่
dig +cd example.com @9.9.9.9 +short
ตัวเลือก +cd คือปิดการตรวจสอบ หากคำสั่งนี้ตอบได้แต่คำสั่งปกติไม่ตอบ ยืนยันว่าเป็นปัญหาของ DNSSEC
ขั้นตอนที่ 7: ปิด DNSSEC อย่างปลอดภัย
จำเป็นเมื่อต้องย้าย DNS ไปผู้ให้บริการอื่น ลำดับสำคัญมากและตรงข้ามกับตอนเปิด
- ลบ DS Record ที่ผู้รับจดทะเบียนก่อน
- รอจนหมดอายุตาม TTL ซึ่งสำหรับ DS มักเป็น 24-48 ชั่วโมง ห้ามรีบ
- ตรวจว่า DS หายแล้วจริง
- จึงค่อยปิดการลงลายเซ็นที่ผู้ให้บริการ DNS
- จึงค่อยย้าย DNS
# ตรวจว่า DS หายแล้ว
dig DS example.com +short
# ต้องไม่มีผลลัพธ์ จึงจะปิดขั้นถัดไปได้
การปิดการลงลายเซ็นก่อนลบ DS ทำให้โดเมนหายจากอินเทอร์เน็ตทันที เพราะ Resolver ยังคาดหวังลายเซ็นแต่ไม่มีให้ตรวจ นี่คือความผิดพลาดที่ทำให้หลายองค์กรเว็บล่มข้ามคืน
ขั้นตอนที่ 8: เฝ้าดูต่อเนื่อง
ลายเซ็นมีวันหมดอายุ โดยปกติผู้ให้บริการต่ออายุให้อัตโนมัติ แต่ควรเฝ้าดูไว้
#!/bin/bash
# ตรวจว่า DNSSEC ยังทำงานปกติ
for d in example.com example.co.th; do
if dig +dnssec "$d" @1.1.1.1 | grep -q 'flags:.* ad'; then
echo "OK $d"
else
echo "ปัญหา $d" | mail -s "DNSSEC ของ $d มีปัญหา" [email protected]
fi
done
ตั้งรันทุกชั่วโมงด้วย systemd Timer และเพิ่มการตรวจสอบชนิด DNS ใน Uptime Kuma ด้วย
ปัญหาที่พบบ่อย
โดเมนเข้าไม่ได้จาก Resolver บางตัว
DS Record ไม่ตรงกับกุญแจที่ใช้ลงลายเซ็นจริง ตรวจด้วย dnsviz.net ซึ่งจะชี้ว่าขาดตรงไหน วิธีแก้เร็วที่สุดคือลบ DS ที่ผู้รับจดทะเบียนเพื่อให้โดเมนกลับมาใช้งานได้ แล้วค่อยตั้งใหม่ให้ถูก
ย้าย DNS แล้วโดเมนหาย
ลืมลบ DS ก่อนย้าย ผู้ให้บริการใหม่ลงลายเซ็นด้วยกุญแจคนละชุด ลบ DS ที่ผู้รับจดทะเบียนทันทีเพื่อกู้สถานการณ์ แล้วเริ่มกระบวนการใหม่ตามลำดับที่ถูกต้อง
ผู้รับจดทะเบียนไม่มีหน้าจอใส่ DS
ติดต่อฝ่ายสนับสนุนเพื่อขอให้ใส่ให้ หรือย้ายไปผู้รับจดทะเบียนที่รองรับ สำหรับโดเมน .th ควรสอบถามก่อนเริ่มกระบวนการ
ไม่แน่ใจว่าควรเปิดหรือไม่
DNSSEC มีประโยชน์ชัดเจนสำหรับโดเมนที่เกี่ยวข้องกับธุรกรรมทางการเงินหรือข้อมูลสำคัญ สำหรับเว็บทั่วไปให้ชั่งน้ำหนักระหว่างความปลอดภัยที่เพิ่มขึ้นกับความเสี่ยงจากการตั้งค่าผิด หากทีมไม่มีประสบการณ์ ควรทดลองกับโดเมนทดสอบก่อน
ต้องการที่ปรึกษาด้านความปลอดภัยของโดเมนและ DNS ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








