Powered by Blogger.

DNSSEC là gì ? tại sao cần phải có DNSSEC trên hệ thống máy chủ tên miền ?



Để tìm hiểu DNSSEC là gì trước tiên người dùng cần hiểu về DNS. Vậy DNS là gì?
DNS là hệ thống nền tảng quan trọng giúp truy cập và sử dụng dịch vu trên mạng Internet, máy chủ DNS thực hiện phân giải giữa tên miền sang địa chỉ IP và ngược lại. Là hệ thống dẫn đường được ví như trái tim của mạng Internet.

Do tính chất quan trọng của hệ thống này, hiện nay các cuộc tấn công, khai thác lỗ hổng của hệ thống DNS ngày càng được tiến hành một cách tinh vi, với quy mô ngày càng lớn đặc biệt trong bối cảnh an toàn thông tin ngày càng trở lên quan trọng như hiện nay.
Với mục đích làm tê liệt hệ thống hoặc chuyển hướng tên miền đến một địa chỉ IP khác, từ đó có thể đánh cắp dữ liệu cá nhân của người dùng. Làm cho người dùng tin rằng họ đang truy xuất vào một website hoặc máy tính hợp lệ trong khi thực chất họ đã được dẫn đến một trang web có chứa nội dung độc hại.
Tại sao DNS lại dễ bị tấn công ?
Do DNS sử  dụng cơ chế truyền tải UDP, vì vậy  khi truy vấn, bất kỳ gói tin UDP trả về cũng có thể là câu trả lời. Mặt khác gói tin UDP trả về chỉ cần đúng Source IP, Source port, Destination IP, Destination port, DNS query ID từ đó có thể vượt qua kiểm tra (bailiwick checking).
Các dạng tấn công DNS phổ biến:
  • Giả mạo master trong việc đồng bộ dữ liệu giữa các máy chủ DNS.
  • Spoofing master, spoofing update, …
  • Chuyển hướng phân giải DNS người dùng sang DNS giả mạo: Man in middle attack.
  • Đầu độc bộ nhớ Cache DNS: DNS Cache Poisoning hay DNS Pharming
  • Giả mạo hoặc thay đổi các bản ghi trong DNS.
Để giải quyết các nguy cơ ở trên, ngay từ năm 1990, các giải pháp khắc phục đã được nghiên cứu. Năm 1995, giải pháp DNSSEC được công bố, năm 2001 được xây dựng thành các tiêu chuẩn RFC dự thảo và cuối cùng được IETF chính thức công bố thành tiêu chuẩn RFC vào năm 2005.
Vậy DNSSEC là gì ?
DNSSEC (DNS Security Extensions) là tiêu chuẩn an toàn mở rộng cho hệ thống DNS được định nghĩa trong các RFC 4033, 4034, 4035. Dựa trên mã hóa PKI (Public/Private Key) để thêm chữ ký số vào câu trả lời truy vấn DNS Truy vấn tên miền với hệ thống DNSSEC có bước xác thực (validation), thiết lập kết nối an toàn, tin cậy với người sử dụng.
Trong khi giao thức DNS thông thường không có công cụ để xác thực nguồn dữ liệu. Trước nguy cơ dữ liệu DNS bị giả mạo và bị làm sai lệch trong các tương tác giữa máy chủ DNS với các máy trạm (resolver) hoặc máy chủ chuyển tiếp (forwarder), công nghệ bảo mật mới DNSSEC đã được nghiên cứu, triển khai áp dụng để hỗ trợ cho DNS bảo vệ chống lại các nguy cơ giả mạo làm sai lệch nguồn dữ liệu. Trong đó DNSSEC sẽ cung cấp một cơ chế xác thực giữa các máy chủ DNS với nhau và xác thực cho từng zone dữ liệu để đảm bảo toàn vẹn dữ liệu.
Bản chất DNSSEC cung cấp các cơ chế có khả năng chứng thực và đảm bảo toàn vẹn dữ liệu cho hệ thống DNS, theo đó DNSSEC đưa ra 4 loại bản ghi mới:
  • Bản ghi khóa công cộng DNS (DNSKEY – DNS Public Key): sử dụng để chứng thực zone dữ liệu.
  • Bản ghi chữ ký tài nguyên (RRSIG – Resource Record Signature): sử dụng để chứng thực cho các bản ghi tài nguyên trong zone dữ liệu.
  • Bản ghi bảo mật kế tiếp (NSEC – Next Secure): sử dụng trong quá trình xác thực đối với các bản ghi có cùng sở hữu tập các bản ghi tài nguyên hoặc bản ghi CNAME. Kết hợp với bản ghi RRSIG để xác thực cho zone dữ liệu.
  • Bản ghi ký ủy quyền (DS – Delegation Signer): thiết lập chứng thực giữa các zone dữ liệu, sử dụng trong việc ký xác thực trong quá trình chuyển giao DNS.
Như vậy bằng cách thức tổ chức thêm những bản ghi mới và những giao thức đã được chỉnh sửa nhằm chứng thực nguồn gốc và tính toàn vẹn dữ liệu cho hệ thống, với DNSSEC, hệ thống DNS đã được mở rộng thêm các tính năng bảo mật và được tăng cường độ an toàn, tin cậy, khắc phục được những nhược điểm của thiết kế sơ khai ban đầu. Vừa đáp ứng được các yêu cầu thông tin định tuyến về tên miền, giao thức làm việc giữa các máy chủ DNS với nhau, vừa đáp ứng được các yêu cầu bảo mật, tăng cường khả năng dự phòng cho hệ thống.
DNSSEC đã thay đổi mô hình DNS từ mô hình mở (open) sang mô hình tin cậy (trusting) và xác thực (verifiable).  Không cung cấp confidentiality (không mã hóa).
Với các tính năng:
  • Chứng thực dữ liệu trong quá trình gửi đi. (Sender authentication)
  • Toàn vẹn dữ liệu trong quá trình truyền. (Data Integrity)
  • Xác thực từ chối tồn tại. (Authenticated denial of existence)
Vì là tiêu chuẩn mở rộng, DNSSEC không làm thay đổi cấu trúc và nền tảng giao thức DNS (cùng tồn tại với ha tầng hiện tại EDNS0). Ngoài ra nó còn thêm chữ ký số vào câu trả lời truy vấn, người dùng tên miền được sử dụng DNSSEC được kiểm tra xác thực, toàn vẹn dữ liệu, đảm bảo truy cập an toàn.
Xác lập được một chuỗi tin cậy trong DNSSEC, bắt đầu từ root đến zone được ký là cơ sở đảm bảo xác thực nguồn gốc và toàn vẹn dữ liệu trong DNSSEC, mỗi thành phần trong chuỗi được validate với thành phần kế tiếp nó. Bản ghi DS trong parent được sử dụng để xác thực public key của child. Sau khi được triển khai đầy đủ, việc tin tặc tấn công hệ thống DNS, chuyển hướng tên miền sẽ bị phát hiện và ngăn chặn.
Từ đó việc truy cập vào các dịch vụ trên tên miền được đảm bảo an toàn, xác thực, các nguy cơ đã trình bày ở trên được giải quyết.
    Blogger Comment
    Facebook Comment