Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • DNS Sec

    DNSSEC là gì? Cơ chế bảo vệ DNS khỏi giả mạo phản hồi


    DNS là một trong những dịch vụ nền tảng quan trọng nhất của hạ tầng CNTT. Mỗi khi người dùng truy cập một website, kết nối ứng dụng nội bộ, hay xác thực với dịch vụ cloud, hệ thống thường phải thực hiện truy vấn DNS để phân giải tên miền thành địa chỉ IP.

    Nhưng DNS truyền thống được thiết kế từ thời Internet còn đơn giản, gần như không có cơ chế xác thực mạnh. Điều này tạo ra một vấn đề lớn: làm sao client biết phản hồi DNS nhận được là thật, chứ không phải phản hồi giả mạo từ attacker?

    Đây chính là lý do DNSSEC ra đời. DNSSEC là gì?


    DNSSEC (Domain Name System Security Extensions) là tập hợp các phần mở rộng bảo mật cho DNS, được thiết kế để bảo vệ tính toàn vẹn và tính xác thực của phản hồi DNS bằng chữ ký số (digital signatures).

    Nói đơn giản:

    DNS truyền thống chỉ trả lời:
    "IP của vnpro.vn là X.X.X.X"

    DNSSEC cho phép client kiểm tra thêm:
    "Thông tin này thực sự được DNS server hợp lệ ký xác nhận."

    Điểm quan trọng là DNSSEC không mã hóa lưu lượng DNS.

    DNSSEC chỉ tập trung vào:
    • Xác thực dữ liệu DNS là hợp lệ
    • Đảm bảo phản hồi không bị chỉnh sửa
    • Ngăn chặn giả mạo DNS response

    Vấn đề của DNS truyền thống


    Trong DNS thông thường, client gửi query:
    www.company.local ?

    DNS server trả lời:
    10.10.10.25

    Client tin ngay phản hồi này.

    Nếu attacker thực hiện:
    • DNS spoofing
    • DNS cache poisoning
    • Man-in-the-middle attack

    thì client có thể bị chuyển hướng sang:
    10.10.10.250

    là một máy giả mạo.

    Ví dụ thực tế:

    Người dùng truy cập:
    bank.example.com

    Nhưng DNS giả mạo trả về IP của phishing server.

    Người dùng nhìn URL vẫn đúng nhưng thực chất đang kết nối sai đích.
    DNSSEC hoạt động như thế nào?


    DNSSEC thêm cơ chế digital signature vào dữ liệu DNS.

    Khi DNS server gửi phản hồi, nó không chỉ gửi record thông thường mà còn gửi chữ ký số.

    Client sẽ dùng public key để xác minh:
    • dữ liệu có bị sửa không
    • chữ ký có hợp lệ không
    • dữ liệu có thực sự đến từ nguồn tin cậy không

    Luồng đơn giản:
    Client → DNS Query
    DNS Server → DNS Response + Digital Signature
    Client → Verify Signature

    Nếu chữ ký hợp lệ:
    Accept response

    Nếu không:
    Reject response
    Các bước triển khai DNSSEC


    Theo quy trình chuẩn, triển khai DNSSEC thường gồm 3 bước chính. 1. Ký DNS Zone


    Zone DNS phải được ký số.

    Ví dụ:
    company.local

    sẽ được DNS server ký bằng private key.

    Quá trình này tạo ra các bản ghi DNSSEC bổ sung.

    Không còn chỉ có:
    A
    AAAA
    MX
    CNAME
    PTR

    mà sẽ có thêm các record bảo mật.
    2. Phân phối Trust Anchor


    Client cần biết public key nào đáng tin cậy.

    Điểm neo tin cậy này gọi là:

    Trust Anchor

    Nếu không có trust anchor, client không thể xác minh chữ ký.

    Trong môi trường Windows enterprise, trust anchor thường được phân phối qua:
    • Active Directory
    • Group Policy

    3. Cấu hình NRPT trên client


    Windows dùng:

    NRPT (Name Resolution Policy Table)

    để định nghĩa policy cho DNS resolution.

    NRPT cho phép:
    • áp chính sách DNSSEC
    • xác định zone nào phải xác minh
    • chỉ định trust settings

    Trong môi trường domain, admin thường deploy qua:

    Group Policy
    Các DNSSEC Resource Record quan trọng

    RRSIG


    Resource Record Signature

    Đây là chữ ký số của một tập DNS record.

    Ví dụ:
    www.company.com A 10.1.1.10

    DNSSEC sẽ có:
    RRSIG

    để chứng minh bản ghi này hợp lệ.

    Hiểu đơn giản:

    RRSIG = digital signature cho DNS data
    DNSKEY


    Chứa public key của zone.

    Client dùng key này để verify chữ ký.

    Ví dụ:
    company.com DNSKEY

    record này công bố public key.

    Lưu ý:

    Private key giữ bí mật trên DNS server.
    NSEC


    Dùng để xác thực trường hợp "không tồn tại".

    Ví dụ user query:
    abc.company.com

    nhưng record không có.

    DNS server không chỉ nói:
    NXDOMAIN

    mà còn phải chứng minh:
    "Tên này thực sự không tồn tại."

    NSEC đảm nhiệm việc này.
    NSEC3


    Là phiên bản cải tiến của NSEC.

    Thay vì lộ trực tiếp cấu trúc zone, NSEC3 dùng hashing.

    Điều này giúp giảm nguy cơ:

    zone enumeration

    tức attacker dò toàn bộ DNS entries.
    DS Record


    Delegation Signer

    Dùng khi có mô hình parent-child zone.

    Ví dụ:
    company.com
    sales.company.com

    Parent zone cần tin child zone.

    DS record giúp xây dựng chuỗi tin cậy:
    Root
    → Parent
    → Child

    Đây gọi là:

    Chain of Trust
    DNSSEC không làm gì?


    Điểm này rất hay bị hiểu nhầm.

    DNSSEC KHÔNG:
    • mã hóa DNS traffic
    • ẩn nội dung query
    • bảo vệ privacy
    • ngăn sniffing

    Nếu muốn mã hóa DNS traffic:
    • DNS over TLS (DoT)
    • DNS over HTTPS (DoH)

    DNSSEC chỉ xác minh tính xác thực.
    Ví dụ dễ hiểu


    Không có DNSSEC:

    Bạn nhận một lá thư và chỉ nhìn nội dung.

    Bạn không biết:
    • ai gửi
    • có bị sửa không

    Có DNSSEC:

    Lá thư có chữ ký số.

    Bạn kiểm tra:
    • đúng người gửi
    • nội dung nguyên vẹn

    Nếu chữ ký sai → loại bỏ.
    Góc nhìn dành cho System Engineer


    DNSSEC đặc biệt quan trọng trong:
    • enterprise internal DNS
    • Active Directory environments
    • public authoritative DNS
    • hybrid cloud infrastructures

    Vì DNS là nền móng cho:
    • domain authentication
    • Kerberos
    • LDAP
    • web applications
    • email routing
    • service discovery

    Nếu DNS bị giả mạo, toàn bộ trust model của hệ thống có thể sụp đổ.
    Kết luận


    DNSSEC giải quyết một lỗ hổng lớn của DNS truyền thống: thiếu khả năng xác thực phản hồi.

    Những điểm cần nhớ:

    DNSSEC dùng:
    • digital signatures
    • trust anchors
    • chain of trust

    Các record quan trọng:
    • RRSIG → chữ ký
    • DNSKEY → public key
    • NSEC → chứng minh record không tồn tại
    • NSEC3 → chống enumeration
    • DS → liên kết trust giữa parent/child zones

    Một câu tóm tắt:

    DNSSEC không giấu DNS, DNSSEC xác thực DNS.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X