DNS là gì? Tìm hiểu cách thức hoạt động và lỗ hổng bảo mật

5
(1)

Chủ đề hôm nay sẽ giải thích DNS là gì, phân loại, cách thức hoạt động, cũng như một số hướng dẫn để bạn có thể sử dụng nó dễ dàng và hiệu quả hơn.

DNS là một phần không thể thiếu trên Internet.
DNS là một phần không thể thiếu trên Internet.

DNS là một giao thức tiêu chuẩn cho phép bạn nhập địa chỉ của một trang Web và tự động khám phá địa chỉ giao thức Internet (IP) cho trang Web đó. Nếu không có DNS, con người và máy móc sẽ không thể truy cập các máy chủ Internet thông qua các URL thân thiện. Trong bài viết này, NAVEE sẽ thảo luận về nội dung DNS là gì, cách nó hoạt động, so sánh các loại hình DNS… và nhiều thông tin thú vị khác. Khám phá ngay!

DNS là gì?

DNS là từ viết tắt của Domain Name Server. Để hai máy tính giao tiếp trên mạng IP, giao thức yêu cầu chúng cần một địa chỉ IP (Internet Protocol). Hãy coi địa chỉ IP giống như địa chỉ nhà. Để một máy tính định vị một máy tính khác, chúng cần biết “số nhà” của máy tính kia. Hầu hết chúng ta đều nhớ những cái tên thân thiện như matbao.net, Navee.asia hơn là dãy số 104.196.44.111. Thế nhưng máy lại chỉ nhận diện những dãy số IP. Vì thế, chúng ta cần một chương trình để máy tính dịch tên thành địa chỉ IP.

Chương trình chuyển đổi tên thành số và ngược lại được gọi là “DNS” hoặc hệ thống tên miền (Domain Name Server). Các máy tính chạy DNS được gọi là máy chủ DNS (DNS servers). Nếu không có DNS, chúng ta sẽ phải nhớ địa chỉ IP với dãy số dài khó nhớ của bất kỳ máy chủ nào muốn kết nối.

DNS hoạt động thế nào?

DNS sẽ chuyển đổi tên miền thành địa chỉ IP tương ứng với tên miền đó và ngược lại.
DNS sẽ chuyển đổi tên miền thành địa chỉ IP tương ứng với tên miền đó và ngược lại.

DNS là một phần không thể thiếu trên Internet. Bạn có thể xem DNS giống như một danh bạ điện thoại, nhưng thay vì thể hiện tên mọi người với địa chỉ nhà, danh bạ điện thoại này là nơi lưu trữ tên máy tính với địa chỉ IP. Cụ thể thì cách hoạt động của DNS là gì?

Internet có rất nhiều máy tính, DNS được sắp xếp thành các tên miền nhỏ hơn. Các tên miền có thể rất lớn. Vì vậy chúng được sắp xếp lại thành các vùng (Zone) nhỏ hơn để dễ quản lý.

Có rất nhiều máy chủ DNS lưu trữ tất cả các bản ghi DNS cho Internet. Bất kỳ máy tính nào muốn biết số hoặc tên đều có thể hỏi máy chủ DNS của họ. Máy chủ DNS của bạn cũng biết cách hỏi, hoặc truy vấn các máy chủ DNS khác khi chúng cần bản ghi. Khi một máy chủ DNS truy vấn các máy chủ DNS khác, nó sẽ thực hiện một truy vấn ngược dòng. 

Máy chủ định danh có thẩm quyền là nơi quản trị viên quản lý tên máy chủ và địa chỉ IP cho miền của họ. Bất cứ khi nào quản trị viên DNS muốn thêm, thay đổi hoặc xóa tên máy chủ hoặc địa chỉ IP, họ sẽ thực hiện thay đổi trên máy chủ DNS có thẩm quyền của mình (đôi khi được gọi là Master DNS Server). Ngoài ra, còn có các Slave DNS Server. Các máy chủ DNS này giữ bản sao của các bản ghi DNS cho các vùng và tên miền của chúng.

4 loại DNS Server là gì?

Root Name Server là một trong 4 loại máy chủ DNS.
Root Name Server là một trong 4 loại máy chủ DNS.

Có khá nhiều người dùng chưa biết các loại máy chủ DNS là gì. Điều này có thể sẽ khiến bạn gặp khó khăn trong việc sử dụng chúng. Navee sẽ giới thiệu 4 loại DNS Server ngay sau đây để bạn có thể tham khảo nhanh chóng.

  • DNS Recursor: Đây là máy chủ phản hồi truy vấn DNS và yêu cầu máy chủ DNS khác cung cấp địa chỉ hoặc đã có địa chỉ IP cho trang Web được lưu.
  • Root Name Server: Là máy chủ định danh cho vùng gốc (Root Zone). Nó phản hồi các yêu cầu trực tiếp và có thể trả về danh sách các Authoritative Name Server cho tên miền cấp cao nhất tương ứng.
  • TLD Name Server: Đây là một trong những máy chủ DNS cấp cao trên Internet. Ví dụ, khi bạn tìm kiếm www.google.com, máy chủ TLD cho ‘.com’ sẽ phản hồi đầu tiên, sau đó DNS sẽ tìm kiếm ‘Google’.
  • Authoritative Name Server: Là điểm dừng cuối cùng cho truy vấn DNS và có bản ghi DNS cho các truy vấn, yêu cầu.

Hai loại hình dịch vụ DNS là gì?

Có hai loại dịch vụ DNS khác nhau trên Internet. Mỗi dịch vụ xử lý các truy vấn DNS khác nhau tùy thuộc vào chức năng của chúng.

  • Recursive DNS Resolver: Đây là máy chủ DNS phản hồi truy vấn DNS và tìm kiếm máy chủ định danh có thẩm quyền hoặc kết quả DNS được lưu trong bộ nhớ Cache cho tên được yêu cầu.
  • Authoritative DNS Server: Là loại máy chủ DNS lưu trữ yêu cầu DNS. Vì vậy, nếu bạn yêu cầu một Authoritative DNS Server cho một trong các địa chỉ IP của nó, nó không cần phải hỏi bất kỳ ai khác. 

So sánh giữa Public DNS và Private DNS

Người dùng bên ngoài sẽ không có quyền truy cập trực tiếp vào các thiết bị dùng Private DNS.
Người dùng bên ngoài sẽ không có quyền truy cập trực tiếp vào các thiết bị dùng Private DNS.

Để một máy chủ có thể truy cập được trên Internet công cộng, nó cần một Public DNS Record (bản ghi DNS công cộng) và địa chỉ IP của nó cần phải có thể truy cập được trên Internet. Server DNS công cộng (Public DNS) có thể truy cập được cho bất kỳ ai có thể kết nối với chúng và không yêu cầu xác thực.

Tuy nhiên, không phải tất cả các bản ghi DNS đều công khai. Ngày nay, ngoài việc cho phép nhân viên sử dụng DNS để tìm mọi thứ trên Internet, các công ty sử dụng DNS để nhân viên của họ có thể tìm thấy các máy chủ nội bộ, riêng tư. Khi một tổ chức muốn giữ tên máy chủ và địa chỉ IP ở chế độ riêng tư hoặc không thể truy cập trực tiếp từ Internet, họ sẽ không liệt kê chúng trong các máy chủ DNS công cộng. Thay vào đó, các tổ chức liệt kê chúng trong máy chủ DNS riêng tư (Private DNS) hoặc nội bộ. Máy chủ DNS nội bộ lưu trữ tên và địa chỉ IP cho những thứ quan trọng như File Servers, Mail Servers, Database Servers nội bộ,…

Cụ thể:

  • Public DNS: Để một máy chủ có thể truy cập được trên Internet công cộng, nó cần có bản ghi DNS công cộng và địa chỉ IP của nó cần có thể truy cập được trên Internet.
  • Private DNS: Các máy tính có tường lửa hoặc trên mạng nội bộ sử dụng Private DNS Record để các máy tính cục bộ có thể nhận dạng chúng theo tên. Người dùng bên ngoài trên Internet sẽ không có quyền truy cập trực tiếp vào các máy tính đó.

7 bước trong quá trình tra cứu DNS là gì?

  • Bước 1: Khi bạn truy cập một máy tính trên Internet, một yêu cầu DNS sẽ được bắt đầu. Ví dụ bạn nhập www.Google.com vào thanh địa chỉ trình duyệt của mình.
  • Bước 2: Điểm dừng đầu tiên cho yêu cầu DNS là bộ nhớ đệm DNS cục bộ (Local DNS Cache). Khi bạn truy cập các máy tính khác nhau, các địa chỉ IP đó được lưu trữ trong kho lưu trữ cục bộ. Nếu bạn đã truy cập www.Google.com trước đây, trong bộ nhớ cache của bạn sẽ có địa chỉ IP này.
  • Bước 3: Nếu bạn không có địa chỉ IP trong Local DNS Cache, DNS sẽ kiểm tra bằng Recursive DNS Server. 
  • Bước 4: Recursive DNS Server có bộ nhớ Cache riêng và nếu có địa chỉ IP, nó sẽ trả lại cho bạn. Nếu không, nó sẽ hỏi một máy chủ DNS khác.
  • Bước 5: Điểm dừng tiếp theo là TLD Name Servers. Các máy chủ này có thể không có địa chỉ IP mà bạn cần, nhưng nó có thể gửi yêu cầu DNS theo đúng hướng.
  • Bước 6: TLD Name Servers có vị trí của Authoritative Name Server cho trang Web được yêu cầu. 
  • Bước 7: Dịch vụ DNS cục bộ của bạn lấy địa chỉ IP và kết nối với URL bạn tìm kiếm để tải xuống tất cả nội dung hấp dẫn. Sau đó, DNS ghi lại địa chỉ IP trong Local Cache với Time-To-Live (TTL). TTL là khoảng thời gian bản ghi DNS cục bộ hợp lệ, sau thời gian đó, DNS sẽ thực hiện lại quy trình khi bạn yêu cầu URL đã tìm kiếm vào lần tiếp theo.

Các loại truy vấn DNS gồm những gì?

Với truy vấn Recursive, máy tính sẽ yêu cầu địa chỉ IP.
Với truy vấn Recursive, máy tính sẽ yêu cầu địa chỉ IP.

Nội dung này sẽ cho bạn biết truy vấn DNS là gì, bao gồm những gì. Truy vấn DNS là mã máy tính cho máy chủ DNS biết nó là loại truy vấn nào và nó muốn lấy thông tin gì. Có ba truy vấn DNS cơ bản trong tra cứu DNS tiêu chuẩn.

  • Truy vấn Recursive: Máy tính yêu cầu địa chỉ IP hoặc xác nhận rằng máy chủ DNS không biết địa chỉ IP đó.
  • Truy vấn Iterative: Nếu DNS Server không có địa chỉ IP, nó sẽ trả về Authoritative Name Server hoặc TLD Name Server. Người yêu cầu sẽ tiếp tục quá trình lặp đi lặp lại này cho đến khi tìm thấy câu trả lời hoặc hết thời gian.
  • Truy vấn Non-Recursive: Trình phân giải DNS sẽ sử dụng truy vấn này để tìm địa chỉ IP mà nó không có trong bộ nhớ Cache. Chúng được giới hạn trong một yêu cầu duy nhất để giới hạn việc sử dụng băng thông mạng.

Các loại DNS Record gồm những gì?

  • A Record (viết tắt là A): Là Host Record cho IPv4, xác định địa chỉ IP của máy chủ.
  • Quad-A Record (viết tắt là AAAA ): Đây là Host Record cho IPv6, xác định địa chỉ IP của máy chủ.
  • Alias Record (CName): Có chức năng chuyển hướng một tên miền sang một tên miền khác.
  • Mail Exchanger Record (MX): Xác định Host Name cho một Mail Server.
  • Service Location Record (SRV): Cho phép người dùng tìm một dịch vụ cụ thể.
  • Name Server Record (NS): Hướng người dùng đến các máy chủ DNS khác.
  • Start Of Authority (SOA): Chứa dữ liệu trong DNS Zone cung cấp thông tin quản trị về Zone đó và các bản ghi DNS khác.
  • Reverse-lookup Pointer Record (PTR): Cho phép người dùng tra cứu ngược lại nơi họ cung cấp địa chỉ IP và truy xuất Hostname.
  • Certificate Record (CERT): Hồ sơ về chứng chỉ và danh sách các chứng chỉ đã bị thu hồi (Certificate Revocation List – CRLs) có liên quan.
  • Text Record (TXT): Chứa thông tin văn bản có thể đọc được,các thông tin này có thể có giá trị đối với những người khác đang truy cập vào Server.

Điểm yếu của DNS là gì?

DNS trở thành một nguồn thông tin tuyệt vời, dễ tấn công cho những kẻ xấu.
DNS trở thành một nguồn thông tin tuyệt vời, dễ tấn công cho những kẻ xấu.

Có ba lỗ hổng bảo mật chính cần đề phòng đối với DNS:

  • Máy chủ DNS nội bộ (Internal DNS Servers) giữ tất cả tên máy chủ và địa chỉ IP cho tên miền của chúng. Nó sẽ chia sẻ chúng với bất kỳ ai yêu cầu. Điều này làm cho DNS trở thành một nguồn thông tin tuyệt vời cho những kẻ tấn công.
  • DNS Caches có thể bị thao túng. Nếu máy chủ DNS của bạn bị “nhiễm độc” với các bản ghi xấu, máy tính có thể bị lừa để đi đến những nơi không an toàn.
  • DNS chuyển tiếp thông tin truy vấn từ các máy trạm bên trong sang các máy chủ bên ngoài. Những kẻ tấn công có thể sử dụng hành vi này để tạo các kênh bí mật nhằm lấy dữ liệu.

Cách sử dụng DNS để Redirect Traffic

Hacker có thể giả mạo phản hồi DNS để chúng như đến từ các DNS Server hợp pháp.
Hacker có thể giả mạo phản hồi DNS để chúng như đến từ các DNS Server hợp pháp.

Khi người dùng cố gắng vào một trang Web, máy tính của họ sẽ truy vấn máy chủ DNS của nó để biết địa chỉ IP của trang Web hoặc DNS Record. Nếu DNS Server có bản sao lưu trong bộ nhớ Cache của bản ghi, nó sẽ trả lời. Nếu không, nó sẽ truy vấn ngược dòng một máy chủ DNS và chuyển kết quả trở lại người dùng cuối và lưu chúng vào bộ nhớ Cache cho lần sau.

Tin tặc có thể giả mạo phản hồi DNS hoặc làm cho phản hồi giống như chúng đến từ các máy chủ DNS hợp pháp. Những kẻ tấn công tận dụng ba điểm yếu trong DNS để làm điều này:

  • DNS thực hiện xác thực rất yếu đối với các phản hồi đến từ các máy chủ ngược dòng (Upstream Servers). Các phản hồi chỉ cần chứa đúng ID giao dịch, chỉ là một số 16 bit (0-65536).
  • Máy chủ DNS chấp nhận phản hồi đồng thời (hoặc gần như đồng thời) đối với yêu cầu của chúng. Điều này cho phép kẻ tấn công đưa ra nhiều phỏng đoán về ID giao dịch.
  • Các kết nối IP được sử dụng bởi DNS rất dễ bị giả mạo. Điều đó có nghĩa là Hacker có thể gửi lưu lượng truy cập đến máy chủ DNS từ một máy tính và làm cho nó giống như đến từ một máy tính khác như một DNS Server hợp lệ. DNS là một trong những loại kết nối IP dễ bị giả mạo.

Sử dụng DNS như là một công cụ chuyển đổi

Kẻ xấu sử dụng kỹ thuật DNS Tunneling để xâm nhập Server và đánh cắp dữ liệu.
Kẻ xấu sử dụng kỹ thuật DNS Tunneling để xâm nhập Server và đánh cắp dữ liệu.

Giả sử kẻ tấn công đã tìm cách xâm nhập vào mạng, xâm nhập một hoặc hai máy chủ và tìm thấy dữ liệu quan trọng mà chúng muốn lấy. Cách mà chúng có thể làm điều đó mà không cần tắt bất kỳ cảnh báo nào để bảo vệ DNS là gì? Những kẻ tấn công sử dụng một kỹ thuật gọi là DNS Tunneling để làm điều đó. Họ thiết lập một miền DNS (ví dụ: Evil-Domain.com) trên Internet và tạo một Authoritative Name Server. Trên máy chủ bị xâm nhập, kẻ tấn công có thể sử dụng một chương trình chia nhỏ dữ liệu thành các phần nhỏ và chèn nó vào một loạt các tra cứu.

DNS Server bị tấn công sẽ nhận các yêu cầu này. Khi nhận ra kết quả không có trong bộ nhớ Cache, nó sẽ chuyển tiếp các yêu cầu đó trở lại Authoritative Name Server của Evil-Domain.com. Kẻ tấn công đang mong đợi lưu lượng truy cập này. 

DNS đã có từ rất lâu và mọi máy tính kết nối Internet đều dựa vào nó. Những kẻ tấn công hiện có thể sử dụng DNS để chiếm đoạt lưu lượng truy cập và tạo các kênh liên lạc bí mật. May mắn thay, bằng cách giám sát các DNS Server và áp dụng phân tích bảo mật, nhiều cuộc tấn công có thể được phát hiện và ngăn chặn.

Kết luận

Hy vọng bài viết này đã giúp bạn hiểu DNS là gì, cách nó hoạt động,… Doanh nghiệp nên kiểm tra các truy vấn mà DNS Server của mình thực hiện để phát hiện những bất thường kịp thời.

Nội dung có hữu ích cho bạn?

Bình chọn 5 sao nếu bạn tìm được thông tin hữu ích!

Xếp hạng: 5 / 5. Lượt bình chọn: 1

-

HỖ TRỢ CỘNG ĐỒNG PHÁT TRIỂN
KINH DOANH BỀN VỮNG

Chương trình hỗ trợ đến hết ngày 31/12/2021
close-link