Tải bản đầy đủ (.pdf) (72 trang)

Nghiên cứu hệ thống tên miền DNS và các kiểu tấn công hệ thống tên miền (LV thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.19 MB, 72 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

LÊ NGỌC ĐẠT

NGHIÊN CỨU HỆ THỐNG TÊN MIỀN DNS VÀ CÁC KIỂU
TẤN CÔNG HỆ THỐNG TÊN MIỀN

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hƣớng ứng dụng)

HÀ NỘI - 2017


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG

**************************

LÊ NGỌC ĐẠT

NGHIÊN CỨU HỆ THỐNG TÊN MIỀN DNS VÀ CÁC KIỂU TẤN
CÔNG HỆ THỐNG TÊN MIỀN

Chuyên ngành: Kỹ thuật Viễn thông
Mã ngành:

60.52.02.08

LUẬN VĂN THẠC SĨ
(Theo định hƣớng ứng dụng)
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGÔ ĐỨC THIỆN



HÀ NỘI - 2017


i

LỜI CAM ĐOAN

Tôi xin cam đoan nội dung luận văn của tôi là do sự tìm hiểu và nghiên cứu
của bản thân. Các kết quả nghiên cứu cũng nhƣ ý tƣởng của các tác giả khác đều
đƣợc trích dẫn cụ thể. Đề tài luận văn của tôi chƣa đƣợc bảo vệ tại bất kỳ một hội
đồng bảo vệ luận văn thạc sĩ nào trong nƣớc và nƣớc ngoài.

Tác giả

LÊ NGỌC ĐẠT


ii

LỜI CẢM ƠN

Trƣớc tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS. Ngô Đức Thiện
đã tận tình hƣớng dẫn trong suốt thời gian nghiên cứu và hoàn thành luận văn này.
Tôi cũng xin cảm ơn Ban lãnh đạo Học viện Công nghệ Bƣu chính Viễn
thông, Khoa Quốc tế và Đào tạo sau đại học, cũng nhƣ các đồng nghiệp đã tạo điều
kiện và giúp đỡ tôi hoàn thành đƣợc đề tài nghiên cứu của mình.
Cuối cùng là sự biết ơn tới gia đình, bạn bè lớp cao học B15CQTE02-B đã
thông cảm, động viên giúp đỡ cho tôi trong quá trình học tập và thực hiện luận văn.


Hà Nội, ngày 28 tháng 5 năm 2017

LÊ NGỌC ĐẠT


iii

MỤC LỤC

LỜI CAM ĐOAN ................................................................................................................... i
LỜI CẢM ƠN ........................................................................................................................ii
MỤC LỤC ............................................................................................................................iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT........................................................... v
DANH MỤC HÌNH VẼ ....................................................................................................... vi
LỜI MỞ ĐẦU ........................................................................................................................ 1
CHƢƠNG 1. TỔNG QUAN VỀ HỆ THỐNG TÊN MIỀN DNS ......................................... 2
1.1. GIỚI THIỆU HỆ THỐNG TÊN MIỀN DNS ..................................................... 2
1.1.1. Giới thiệu chung về DNS ......................................................................... 2
1.1.2. Nguyên tắc làm việc của DNS ................................................................. 3
1.2. CẤU TRÖC GÓI TIN VÀ CÁC BẢN GHI ....................................................... 4
1.3. CƠ CHẾ PHÂN GIẢI....................................................................................... 10
1.3.1. Phân giải tên thành địa chỉ IP ................................................................ 10
1.3.2. Phân giải địa chỉ IP thành tên host......................................................... 14
1.3.3. Chức năng của hệ thống tên miền DNS (Domain Name System) ......... 17
CHƢƠNG 2. VẤN ĐỀ BẢO MẬT TRONG DNS VÀ CÁC CÁCH THỨC TẤN CÔNG
VÀO DNS THƢỜNG THẤY HIỆN NAY ......................................................................... 19
2.1. CÁC ĐIỂM YẾU CỦA DNS ........................................................................... 19
2.2. CÁC CÁCH THỨC TẤN CÔNG VÀO HỆ THỐNG DNS ............................ 21
2.2.1. Tấn công đầu độc cache (cache poisoning attack) ................................. 21
2.2.2. Tấn công tràn bộ đệm (buffer overflow attack) ..................................... 25

2.2.3. Tấn công trong quá trình Zone Transfer ................................................ 29
2.2.4. Tấn công từ chối dịch vụ (Denial of Service Attack) ............................ 34


iv

2.2.5. Tấn công phƣơng thức cập nhật động .................................................... 34
2.3. BIỆN PHÁP PHÕNG CHỐNG TẤN CÔNG DNS ......................................... 35
CHƢƠNG 3. MÔ PHỎNG TẤN CÔNG DNS VÀ ĐỀ XUẤT BIỆN PHÁP PHÕNG
CHỐNG TẤN CÔNG .......................................................................................................... 37
3.1. THỬ NGHIỆM TẤN CÔNG DNS SPOOF CHUYỂN HƢỚNG MỘT
WEBSITE......................................................................................................... 37

3.1.1. Mô hình thực hiện tấn công ..........................................................37
3.1.2. Quá trình thực hiện .......................................................................38
3.2. ĐỀ XUẤT CÁC BIỆN PHÁP PHÕNG CHỐNG TẤN CÔNG DNS .............. 44

3.2.1. Giới thiệu về DNSSEC .................................................................47
3.2.2. Ứng dụng DNSSEC để bảo mật cho hệ thống DNS ....................49
3.2.3. Lộ trình triển khai DNSSEC trên thế giới và tại Việt Nam ..........53
3.3. ĐÁNH GIÁ HIỆU QUẢ CỦA CÁC BIỆN PHÁP PHÕNG CHỐNG TẤN
CÔNG DNS TRONG THỰC TẾ ..................................................................... 59
KẾT LUẬN.......................................................................................................................... 60
TÀI LIỆU THAM KHẢO ................................................................................................... 61


v

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT


Thuật ngữ

Tiếng Anh

Tiếng Việt

ccTLD

Country code top – level domain

Tên miền quốc gia cấp cao
nhât

CNAME

Canonical Name

Tên chuẩn

DHCP

Dynamic Host Configuration

Giao thức cấu hình động máy

Protocol

chủ

DNS


Domain Name System

Hệ thống tên miền

DNSSEC

The Domain Name System

Hệ thống tên miền bảo mật

Security Extensions

mở rộng

Dos

Denial of Service

Tấn công từ chối dịch vụ

ICANN

The Internet Corporation for

Tổ chức quản lý hệ thống tên

Assigned Names anh Number

miền trên thế gới


Internet Network Information

Trung tâm thông tin mạng

Center

Quốc tế

IPV4

Internet Protocol Version 4

Giao thức liên mạng thế hệ 4

IPV6

Internet Protocol Version 6

Giao thức liên mạng thế hệ 6

LIFO

Last in first out

Vào sau ra trƣớc

NSF

National Science Foundation


Quỹ khoa học quốc gia

URL

Uniform Resource Locator

Định vị tài nguyên thống nhất

TLD

Top – Level Domain

Tên miền cấp cao nhất

TTL

Time To Live

Thời gian cập nhật

VPN

Virtual Private Network

Mạng riêng ảo

INTERNIC



vi

DANH MỤC HÌNH VẼ

Hình 1.1.

Nguyên tắc làm việc của DNS .................................................................4

Hình 1.2.

Cấu trúc phân cấp DNS............................................................................5

Hình 1.3.

DNS trong mô hình TCP/IP .....................................................................6

Hình 1.4.

Cấu trúc gói tin DNS................................................................................7

Hình 1.5.

The message header .................................................................................7

Hình 1.6.

Truy vấn đệ quy .....................................................................................13

Hình 1.7.


Truy vấn lặp lại ......................................................................................13

Hình 1.8.

Client hỏi địa chỉ IP của www.whitehouse.gov .....................................14

Hình 1.9.

Cấu trúc không gian tên miền ngƣợc của IPv4, IPv6 trong cây tên miền
chung ......................................................................................................15

Hình 1.10. Hình vẽ minh họa cấu trúc tên miền ngƣợc trong IPv4 .........................16
Hình 1.11. Địa chỉ IP đƣợc dịch thành các tên miền ...............................................17
Hình 2.1.

Attacker tấn công DNS đánh lạc hƣớng ngƣời dùng .............................19

Hình 2.2.

DNS cache poisioning............................................................................22

Hình 2.3.

Một trang web giả mạo facebook...........................................................22

Hình 2.4.

DNS spoofing .........................................................................................24

Hình 2.5.


Các bƣớc tấn công tràn bộ nhớ ..............................................................26

Hình 2.6.

Ví dụ cơ bản về tràn nhớ trong stack .....................................................28

Hình 2.7.

Ví dụ cơ bản về Heap overflow .............................................................29

Hình 3.1.

Mô hình thực hiện tấn công ...................................................................37

Hình 3.2.

Giao diện máy Client chạy hệ điều hành Linux .....................................38


vii

Hình 3.3.

Kiểm tra địa chỉ IP máy Client ..............................................................39

Hình 3.4.

Kiểm tra địa chỉ IP máy tấn công...........................................................39


Hình 3.5.

Chọn phƣơng thức tấn công Social – Engineering Attacks ...................40

Hình 3.6.

Chèn IP máy tấn công và đƣờng dẫn của Web muốn giả mạo ..............41

Hình 3.7.

Giao diện Website giả mạo ....................................................................42

Hình 3.8.

IP của web ptit.edu.vn bị chuyển thành IP của máy Attacker ...............42

Hình 3.9.

Quá trình máy Attacker thực hiện tấn công DNS Spoof .......................43

Hình 3.10. Giao diện và IP website giả mạo của máy Client sau khi bị tấn công ...44
Hình 3.11. Username và password bị đánh cắp và hiển thị lên Terminal ...............44
Hình 3.12. DNSSEC trong các giao dịch DNS ........................................................47
Hình 3.13. Quá trình nghiên cứu DNSSEC .............................................................54
Hình 3.14. Quá trình triển khai DNSSEC trên thế giới ...........................................55
Hình 3.15. Lộ trình triển khai DNSSEC tại Việt Nam ............................................56


1


LỜI MỞ ĐẦU

Trong thời đại “phẳng” nhƣ ngày nay, vai trò của Công Nghệ Thông Tin và
Internet vô cùng quan trọng. Điều này kéo theo nhiều ngành kinh tế phụ thuộc vào
máy tính. Chính vì vậy, càng ngày càng có nhiều ý đồ phá hoại đã nhắm vào hệ
thống máy tính.
Nhiều website của các doanh nghiệp, công ty bảo mật hàng đầu trên thế giới
đều bị hacker tấn công, gây tổn thất lớn về nguồn tài chính cũng nhƣ uy tín cho
doanh nghiệp. Tình hình an ninh mạng thế giới vẫn trên đà bất ổn và tiếp tục đƣợc
coi là năm “báo động đỏ” của an ninh mạng Việt Nam và thế giới khi có nhiều lỗ
hổng an ninh mạng nghiêm trọng đƣợc phát hiện, hình thức tấn công thay đổi và có
rất nhiều cuộc tấn công của giới tội phạm công nghệ cao vào các hệ thống công
nghệ thông tin của doanh nghiệp và chính phủ.
Với mục đích nghiên cứu và tìm hiểu nguyên lý, cơ chế của các cuộc tấn công
của hacker nói chung, và từng kỹ thuật tấn công nói riêng, tôi chọn đề tài tìm hiểu
và mô phỏng tấn công dịch vụ DNS.
Do kinh nghiệm và kiến thức chƣa đƣợc sâu sắc nên trong luận văn về đề tài
bày của tôi còn nhiều thiếu sót, mong quý thầy cô góp ý thêm để tôi có thể hoàn
thiện tốt hơn luận văn của mình và các đề tài nghiên cứu về sau !
Xin chân thành cảm ơn !


2

CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG TÊN MIỀN DNS

1.1. GIỚI THIỆU HỆ THỐNG TÊN MIỀN DNS

1.1.1. Giới thiệu chung về DNS
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống tên

miền đƣợc phát minh vào năm 1984 cho Internet, định nghĩa trong các RFC 1034 và
1035, chỉ một hệ thống cho phép thiết lập tƣơng ứng giữa địa chỉ IP và tên miền. Hệ
thống tên miền (DNS) là một hệ thống đặt tên theo thứ tự cho máy vi tính, dịch vụ,
hoặc bất kì nguồn lực tham gia vào Internet. Nó liên kết nhiều thông tin đa dạng với
tên miền đƣợc gán cho những ngƣời tham gia. Quan trọng nhất là nó chuyển tên
miền có ý nghĩa cho con ngƣời vào số định danh (nhị phân), liên kết với các trang
thiết bị mạng cho các mục đích định vị và địa chỉ hóa các thiết bị khắp thế giới.
Hệ thống tên miền (DNS) là nền tảng của Internet giúp ngƣời dùng dễ dàng
đặt tên dựa trên tài nguyên Records (RR) vào các địa chỉ IP tƣơng ứng và ngƣợc lại.
Nhƣng ngày nay DNS không chỉ là địa chỉ dịch mà nó còn cung cấp xác thực và cải
thiện an ninh dịch vụ của nhiều ứng dụng internet. Bây giờ DNS trở thành thành
phần quan trọng nhất của Internet. Nếu DNS không hoạt động bình thƣờng thì toàn
bộ truyền thông trong internet sẽ sụp đổ. Vì vậy an ninh của cơ sở hạ tầng DNS là
một trong những yêu cầu cốt lõi đối với bất kỳ tổ chức nào.[2]
DNS là nơi yêu thích của kẻ tấn công do sự mất mát lớn khi DNS bị tấn công
Kết quả, DNS sẽ sụp đổ dẫn đến tất cả các máy chủ và internet cũng sụp đổ theo.
Các ứng dụng đƣợc xuất bản qua internet từ đó cũng ngƣng hoạt động. Do đó các vi
phạm trong an ninh DNS sẽ dẫn đến ảnh hƣởng sự tin cậy của internet. Vì vậy, bảo
mật của DNS là tối quan trọng, trong trƣờng hợp cơ sở hạ tầng DNS là tổ chức bị
tổn hại sẽ dẫn đến mất doanh thu, làm giảm độ tin cậy của họ do thời gian chết, sự
không hài lòng của khách hàng, mất mát riêng tƣ, đối đầu với những thách thức


3

pháp lý. DNS (Tên miền Name System) là lập bản đồ phân cấp cơ sở dữ liệu động
nằm rải rác trên toàn cầu cung cấp nhiều dịch vụ liên quan đến internet [2].

1.1.2. Nguyên tắc làm việc của DNS
Mỗi nhà cung cấp dịch vụ vận hành và duy trì DNS server riêng của mình,

gồm các máy bên trong phần riêng của mỗi nhà cung cấp dịch vụ đó trong Internet.
Tức là, nếu một trình duyệt tìm kiếm địa chỉ của một website thì DNS server phân
giải tên website này phải là DNS server của chính tổ chức quản lý website đó chứ
không phải là của một tổ chức (nhà cung cấp dịch vụ) nào khác.
INTERNIC (Internet Network Information Center) chịu trách nhiệm theo dõi
các tên miền và các DNS server tƣơng ứng. INTERNIC là một tổ chức đƣợc thành
lập bởi NSF (National Science Foundation), AT&T và Network Solution, chịu trách
nhiệm đăng ký các tên miền của Internet. INTERNIC chỉ có nhiệm vụ quản lý tất cả
các DNS server trên Internet chứ không có nhiệm vụ phân giải tên cho từng địa chỉ.
DNS có khả năng truy vấn các DNS server khác để có đƣợc 1 cái tên đã đƣợc
phân giải. DNS server của mỗi tên miền thƣờng có hai việc khác biệt. Thứ nhất,
chịu trách nhiệm phân giải tên từ các máy bên trong miền về các địa chỉ Internet, cả
bên trong lẫn bên ngoài miền nó quản lý. Thứ hai, chúng trả lời các DNS server bên
ngoài đang cố gắng phân giải những cái tên bên trong miền nó quản lý.
DNS server có khả năng ghi nhớ lại những tên vừa phân giải. Để dùng cho
những yêu cầu phân giải lần sau. Số lƣợng những tên phân giải đƣợc lƣu lại tùy
thuộc vào quy mô của từng DNS.


4

Hình 1.1. Nguyên tắc làm việc của DNS [4]

Do các DNS có tốc độ biên dịch khác nhau, có thể nhanh hoặc có thể chậm, do
đó ngƣời sử dụng có thể chọn DNS server để sử dụng cho riêng mình. Có các cách
chọn lựa cho ngƣời sử dụng. Sử dụng DNS mặc định của nhà cung cấp dịch vụ
(Internet), trƣờng hợp này ngƣời sử dụng không cần điền địa chỉ DNS vào network
connections trong máy của mình. Sử dụng DNS server khác (miễn phí hoặc trả phí)
thì phải điền địa chỉ DNS server vào network connections. Địa chỉ DNS server cũng
là 4 nhóm số cách nhau bởi các dấu chấm.

1.2. CẤU TRÚC GÓI TIN VÀ CÁC BẢN GHI

DNS có cấu trúc phân cấp. Một không gian tên miền đƣợc xác định nhƣ hình
1.2. Mọi thứ đều nằm dƣới không gian tên miền ".org". Thuộc về tên miền org và
mọi thứ bên dƣới không gian tên miền ".icann.org" đều nằm trong miền .icann.org.
Cơ sở dữ liệu của hệ thống DNS là hệ thống cơ sở dữ liệu phân tán và phân
cấp hình cây. Với .Root server là đỉnh của cây và sau đó các miền (domain) đƣợc
phân nhánh dần xuống phía dƣới và phân quyền quản lý. Khi một máy khách
(client) truy vấn một tên miền nó sẽ đi lần lƣợt từ root phân cấp xuống dƣới để đến
DNS quản lý domain cần truy vấn. Tổ chức quản lý hệ thống tên miền trên thế giới
là The Internet Corporations for Assigned Names and Numbers (ICANN). Tổ chức


5

này quản lý mức cao nhất của hệ thống tên miền (mức root) do đó nó có quyền cấp
phát các tên miền ở mức cao nhất gọi là Top-Level-Domain.
Cấu trúc của dữ liệu đƣợc phân cấp hình cây root quản lý toàn bộ sơ đồ và phân
quyền quản lý xuống dƣới và tiếp đó các tên miền lại đƣợc chuyển xuống cấp thấp
hơn.
Hệ thống tên miền (DNS) cho phép phân chia tên miền để quản lý và nó chia hệ
thống tên miền thành zone và trong zone quản lý tên miền đƣợc phân chia đó. Các
Zone chứa thông tin về miền cấp thấp hơn, có khả năng chia thành các zone cấp
thấp hơn và phân quyền cho các DNS server khác để quản lý.
Ví dụ: Zone “.vn” thì do DNS server quản lý zone “.vn” chứa thông tin về các
bản ghi có đuôi là “.vn” và có khả năng chuyển quyền quản lý (delegate) các zone
cấp thấp hơn cho các DNS khác quản lý nhƣ “.fpt.vn” là vùng (zone) do fpt quản lý.
Hệ thống cơ sở dữ liệu của DNS là hệ thống dữ liệu phân tán hình cây nhƣ cấu trúc
đó là cấu trúc logic trên mạng Internet.


Hình 1.2. Cấu trúc phân cấp DNS [2]


6

Hình 1.3. DNS trong mô hình TCP/IP [5]

DNS dùng cổng 53 để truyền tải thông tin. Tại lớp vận chuyển, DNS sử dụng
UDP hoặc TCP. UDP là giao thức không yêu cầu tính tin cậy của dữ liệu cao,
thƣờng đƣợc sử dụng cho việc trả lời các truy vấn (query) từ các host để đảm bảo
tính nhanh chóng, khi sử dụng UDP thì hạn chế của gói tin là 512 bytes. Do đó
UDP thƣờng đƣợc sử dụng để trả lời các truy vấn của host. Còn TCP là giao thức
đảm bảo thông tin, thƣờng đƣợc sử dụng khi các DNS server cập nhật thông tin với
nhau, đảm bảo tính chính xác. Thƣờng thì khi các DNS server cập nhật thông tin
với nhau, dữ liệu sẽ không bị hạn chế.


7

Hình 1.4. Cấu trúc gói tin DNS [5]

Trong phần này, ta đề cập đến 2 thành phần của bản tin DNS: Truy vấn DNS và
các bản tin phản hồi. Cả truy vấn và phản hồi đều có dạng tƣơng tự nhau, đƣợc chỉ
ra trong hình. Ý nghĩa các trƣờng của bản tin đƣợc chỉ ra nhƣ sau:
 Phần mở đầu (The message header): 12 bytes, bao gồm các cờ và các giá trị
điều khiển quá trình trao đổi. Gồm các thành phần chính:

0

1


Q
R

2

3

4 5

6

7
8
9
10
11 12 13 14 15
Message ID
OPCODE
AA TC RD RA Res Res2 Res
RCODE
1
3
QDCOUNT (số các items trong một truy vấn-Question)
ANCOUNT (số các items trong 1 phản hồi- Answers)
NSCOUNT (số các items trong Authority section)
ARCOUNT (số items trong Additional section)
Hình 1.5. The message header

 ID (Identification): Là một trƣờng 16 bits, chứa mã định danh, Định danh

truy vấn đƣợc sinh ra bởi client và đƣợc sao chép sang phản hồi của máy
chủ. ID đƣợc sử dụng để kết hợp truy vấn với trả lời. Nó xác định duy nhất
truy vấn nào đi kèm với phản hồi nào. Chính vì vậy mà truy vấn và phản hồi


8

có thể phù hợp với nhau. ID cho phép client gửi nhiều truy vấn cùng lúc mà
không cần phải chờ trả lời.
 QDCOUNT: 16 bit, quy định số lƣợt truy cập vào trƣờng Truy vấn
(Question)
 ANCOUNT: 16 bit, quy định số bản ghi trong trƣờng phản hồi (Answer). Có
thể là 0 trong trƣờng hợp không có bản ghi phản hồi nào trong bản tin.
 NSCOUNT: 16 bit, quy định số lƣợng của tên bản ghi nguồn trong trƣờng
Authority section. Có thể bằng 0 trong trƣờng hợp không có bản ghi có thẩm
quyền ở thời điểm hiện tại.
 ARCOUNT: 16 bit, quy định số lƣợng các bản ghi nguồn trong trƣờng
Additional. Có thể bằng 0 trong trƣờng hợp không có bản ghi thêm vào nào
đƣợc chỉ ra trong bản tin.


Phần truy vấn (The DNS question)
Thông thƣờng, chỉ có 1 truy vấn mỗi bản tin, tuy nhiên số lƣợng truy vấn đƣợc

cho phép 1 cách bất kỳ, xác định bởi QDCOUNT. Cấu trúc chung đƣợc cho nhƣ
sau:
 QNAME: tên trƣờng, là tên đƣợc truy vấn. Trong DNS, ký hiệu “.” không
sử dụng với các tên miền. Mỗi phần của tên miền (thƣờng đƣợc thể hiện giữa
các dấu chấm) đƣợc thể hiện bằng 1 byte chứa chiều dài chuỗi. Tên miền
đƣợc kết thúc bởi một đánh dấu zero (chuỗi cuối cùng có độ dài 0).

 QTYPE: 16 bit, đặc tả kiểu truy vấn. Là kiểu RR đƣợc yêu cầu trong trả lời.
 QCLASS: 16 bit, đặc tả lớp bản ghi nguồn đƣợc yêu cầu.


Phần phản hồi (The DNS Answer)
Phần phản hồi chứa 3 thành phần: thành phần trả lời, thành phần máy chủ xác

thực và thông tin thêm.
Bản thân phần trả lời đã chứa thành phần trả lời. Thành phần máy chủ xác
thực tên lƣu trữ tên của các máy chủ trong các bộ NS. Thông tin thêm thƣờng lƣu
địa chỉ IP của các máy chủ xác thực.


9

Các bộ trong thành phần này là các bộ tài nguyên thông dụng nhƣ các bộ lƣu
giữ máy chủ tên và sử dụng các định dạng nhƣ sau:
 NAME: tên miền, cùng định dạng với trƣờng QNAME trong truy vấn.
 TYPE: 16 bit giá trị. Kiểu bộ, cùng định dạng với QTYPE.
 CLASS: 16 bit giá trị. Lớp, cùng định dạng với QCLASS.
 TTL: 32 bit giá trị. Giới hạn kết thúc RR, thời gian mà trả lời có thể đƣợc lƣu
trong máy chủ lƣu trữ khi có giá trị.
 RDLENGHT: 16 bit giá trị. Chiều dài RDATA.
 RDATA: phần còn lại của RR (địa chỉ IP hay tên miền).


Phần quyền truy nhập (Authority section)
Phần truy cập có cấu cấu trúc giống hệt với phần phản hồi (Answer). Ngoài ra

chúng bao gồm bản ghi của các server bắt buộc khác.



Phần bản ghi bổ sung (Additional Information)
Tƣơng tự với phần trên, phần bản ghi bổ sung có cấu trúc giống với phần phản

hồi. Ngoài ra nó chứa các bản ghi hữu ích khác.
Ví dụ: phần câu trả lời trong phản hồi cho một truy vấn MX bao gồm bản ghi
nguồn cung cấp tên máy chủ theo quy tắc của một mail server. Phần thêm vào ở đây
bao gồm bản ghi Kiểu A cung cấp địa chỉ IP cho tên máy chủ theo quy tắc của mail
server.
Hiện tại, các bản ghi ngƣợc dùng cho vùng địa chỉ IP của Việt Nam đƣợc khai
báo theo cơ chế chuyển giao (delegation classful) thông thƣờng từ máy chủ DNS
của APNIC về máy chủ DNS của thành viên. Theo cơ chế này, APNIC sẽ khai báo
các bản ghi NS cho các tên miền ngƣợc (classful) xuống các máy chủ DNS của
thành viên. Mục đích của việc này là để tăng cƣờng hiệu quả trong việc khai báo tên
miền ngƣợc. Cụ thể nhƣ sau:
- Các tổ chức sử dụng địa chỉ trực tiếp duy trì các bản ghi tên miền ngƣợc cho
địa chỉ sử dụng trong mạng cơ sở hạ tầng và cho khách hàng của tổ chức.


10

- Các thành viên địa chỉ có thể quản lý linh hoạt việc khai báo tên miền ngƣợc
thuộc vùng địa chỉ của mình. Tên miền ngƣợc sẽ đƣợc chuyển giao trực tiếp theo
không gian lớp (B, C) đối với IPv4 và theo các biên 4 bit (1 số hexa) từ máy chủ
DNS của APNIC về DNS của thành viên. Do vậy, các thành viên có thể dễ dàng
trong việc quản lý và chuyển giao tên miền ngƣợc tới DNS của khách hàng (trong
trƣờng hợp cần thiết hoặc trực tiếp khai báo hỗ trợ khách hàng trên DNS của mình
một cách chủ động dễ dàng và hiệu quả).
1.3. CƠ CHẾ PHÂN GIẢI


DNS service có 2 chức năng chính là phân giải tên thành IP và IP thành tên.

1.3.1. Phân giải tên thành địa chỉ IP
Root Name Server là máy chủ quản lý các name server ở mức top-level
domain. Khi có truy vấn về một tên domain nào đó thì Root Name Server sẽ cung
cấp tên và địa chỉ IP của name server quản lý top-level domain đó (thực tế thì hầu
hết các root server cũng chính là máy chủ quản lý top-level domain) và đến lƣợc các
name server của top-level domain cung cấp danh sách các name server có quyền
trên các second-level domain mà domain này thuộc vào. Cứ nhƣ thế đến khi nào tìm
đƣợc máy chủ quản lý tên domain cần truy vấn.
Qua quá trình trên cho thấy vai trò rất quan trọng của Root Name Server trong
quá trình phân giải tên domain. Nếu mọi Root Name Server trên mạng Internet
không liên lạc đƣợc với nhau thì mọi yêu cầu phân giải tên đều sẽ không đƣợc thực
hiện.
Ví dụ: client cần truy cập trang web www.yahoo.com thì client sẽ yêu cầu
phân giải địa chỉ IP của web server nào có chứa website www.yahoo.com này. Đầu
tiên client sẽ tìm trong cache của nó, nếu cache của nó không có thì nó sẽ gửi
request querry đến DNS local (nếu trong mạng nội bộ có DNS server). Sau đó DNS
local cũng sẽ tìm trong cache của nó, nếu có nó sẽ gửi địa chỉ IP cần truy vấn đến
cho client, nếu cache không có thì lúc này DNS local sẽ gửi request query này đến


11

một Root Name Server nào đó gần nó nhất mà nó biết đƣợc. Sau đó Root Name
Server này sẽ trã lời địa chỉ IP của Name Server quản lý miền .com cho DNS local.
DNS local lại hỏi tiếp name server quản lý domain .com miền yahoo.com địa chỉ IP
là bao nhiêu. Cuối cùng DNS local sẽ gửi đi một truy vấn máy chủ quản lý domain
www.yahoo.com và nhận đƣợc câu trả lời.

Quá trình phân giải tên đƣợc thực hiện theo trình tự cụ thể sau:
1.

Client trên hệ thống mạng, cần phân giải www.yahoo.com, client tra cứu file
/etc/nsswitch.conf để biết thứ tự quá trình phân giải tên: flies, nisplus, dns

2.

Client tra cứu file /etc/inet/hosts để tìm kiếm www.yahoo.com , giả sử file
không chứa thông tin cần truy vấn.

3.

Client tạo 1 truy vấn đến NIS+ server để tra cứu thông tin
về www.yahoo.com, kết quả là không có record nào liên quan đến truy vấn.

4.

Client tra cứu file /etc/resolv.conf để xác định danh sách tìm kiếm phân giải
tên và địa chỉ DNS servers.

5.

Client gửi yêu cầu truy vấn – recursive đến local DNS để tra cứu thông tin IP
của www.yahoo.com và client chờ cho đến khi quá trình phân giải tên hoàn
thành.

6.

Local DNS server tra cứu thông tin trong cache xem các thông tin truy vấn gần

đây có record www.yahoo.com đã đƣợc phân giải không. Nếu địa chỉ IP
của www.yahoo.com có sẵn trong cache, nó sẽ trả kết quả về cho client (nonauthoritative).

7.

Nếu Local DNS server không có thông tin về www.yahoo.com, nó sẽ liên lạc
với root servers và gửi một truy vấn dạng iterative: “Send me the best answer
you have, and I will do all of the work.” (gửi cho tôi câu trả lời tốt nhất mà ta
có và tôi sẽ làm tất cả công việc).


12

8.

Root server trả về thông tin tốt nhất mà nó có bao gồm tên và địa chỉ của tất cả
các server đang quản lý .net cùng với giá trị TTL cho biết những thông tin này
sẽ đƣợc lƣu bao lâu trong cache của local DNS server.

9.

Local DNS server liên lạc với một trong những server quản lý .net thông qua
kết quả từ root server trả về.

10. Máy server trong domain net trả về thông tin tốt nhất nó có, gồm tên và địa chỉ
của tất cả các server của domain www.yahoo.com và giá trị TTL.
11. Local

DNS


server

liên

domain www.yahoo.com và

lạc
tạo

với
một

một

trong

truy

vấn

những
tìm

server
địa

trong

chị


IP

của www.yahoo.com.
12. Server trong domain www.yahoo.com trả về địa chỉ IP www.yahoo.com, cùng
với giá trị TTL.

13. Local DNS server trả về địa chỉ IP mà client yêu cầu.
Có 2 dạng truy vấn (query):
- Truy vấn đệ quy (Recursive): khi Name Server nhận đƣợc truy vấn dạng này
(Hình 1.6), nó bắt buộc phải trả kết quả tìm đƣợc hoặc thông báo lỗi nếu nhƣ truy
vấn này không phân giải đƣợc. Name Server không thể tham chiếu đến một Name
Server khác. Name Server có thể gửi truy vấn dạng truy vấn đệ quy hoặc truy vấn
lặp lại đến Name Server khác nhƣng phải thực hiện cho đến khi nào có kết quả mới
thôi. DNS server kiểm tra cache và forward lookup zone để gửi lại truy vấn.
- Truy vấn lặp lại (Iterative): khi Name Server nhận đƣợc truy vấn dạng này (hình
1.7), nó sẽ trả lời cho thiết bị truy vấn với thông tin tốt nhất mà nó có đƣợc vào thời
điểm lúc đó. Bản thân Name Server không thực hiện bất cứ 1 truy vấn nào thêm.
Thông tin trả về lúc đó có thể lấy từ dữ liệu cục bộ (kể cả cache). Trong trƣờng hợp
Name Server không tìm thấy thông tin trong dữ liệu cục bộ nó sẽ trả về tên miền và
địa chỉ IP của Name Server nào gần nhất mà nó biết.


13

Hình 1.6. Truy vấn đệ quy [5]

Hình 1.7. Truy vấn lặp lại [5]

Tóm lại việc truy vấn thƣờng nhƣ sau:
- Truy vấn giữa Thiết bị truy vấn (host) ---> DNS Server là truy vấn đệ quy

- Truy vấn giữa DNS Server ---> DNS Server là truy vấn lặp lại.


14

Tức là khi client truy vấn đến DNS server nó sẽ dùng recursive, còn khi server
truy vấn đến server khác, nó sẽ sử dụng iterative.

Hình 1.8. Client hỏi địa chỉ IP của www.whitehouse.gov [6]

Hình trên cho ta thấy cả 2 truy vấn. Đầu tiên resolver hỏi nameserver xem có
biết địa chỉ www.whitehouse.gov hay không. Nếu biết thì nameserver sẽ trả lại cho
resolver một IP của domain name kia. Nếu ko biết, nameserver sẽ thực hiện các truy
vấn lặp lại (2-7) hỏi các nameserver gần với domain name đó nhất để lấy cho đƣợc
thông tin.

1.3.2. Phân giải địa chỉ IP thành tên host
Ngoài chức năng chuyển đổi tên miền sang địa chỉ IP, hệ thống DNS còn có
chức năng chuyển đổi ngƣợc lại từ địa chỉ IP sang tên miền (reverse lookup). Chức
năng reverse lookup cho phép tìm tên miền khi biết địa chỉ IP và đƣợc sử dụng
trong trƣờng hợp cần kiểm tra tính xác thực của các dịch vụ sử dụng trên Internet.
Ví dụ: Trong dịch vụ thƣ điện tử, thƣ điện tử (email) cần đƣợc chuyển qua một
loạt các trạm chuyển tiếp thƣ điện tử (email exchanger) trƣớc khi đƣợc chuyển đến
ngƣời dùng. Khi email đƣợc chuyển từ một trạm chuyển tiếp thƣ điện tử này đến
một trạm chuyển tiếp thƣ điện tử khác, trạm chuyển tiếp thƣ điện tử nhận thƣ sẽ
dùng chức năng reverse lookup của hệ thống DNS để tìm tên miền của trạm chuyển


15


tiếp thƣ điện tử chuyển thƣ đến. Trong trƣờng hợp địa chỉ IP của trạm chuyển tiếp
thƣ điện tử gửi không đƣợc khai báo bản ghi ngƣợc, trạm chuyển tiếp thƣ điện tử
nhận sẽ không chấp nhận kết nối này và sẽ loại bỏ thƣ điện tử. Không gian tên miền
các bản ghi ngƣợc cũng đƣợc xây dựng theo cơ chế phân cấp nhƣ không gian tên
miền của các bản ghi thuận:
Để có thể phân giải tên máy tính của 1 địa chỉ IP, trong không gian tên miền
ngƣời ta bổ sung thêm 1 nhánh tên miền mà đƣợc lập chỉ mục theo địa chỉ IP. Phần
không gian này có tên miền là in-addr.arpa.
Mỗi node trong miền in-addr.arpa có một tên nhãn là chỉ số thập phân của địa
chỉ IP. Ví dụ miền in-addr.arpa có thể có 256 subdomain tƣơng ứng với 256 giá trị
từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi subdomain lại có 256
subdomain con nữa ứng với byte thứ 2. Cứ nhƣ thế và đến byte thứ 4 có các bản ghi
cho biết tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tƣơng ứng.

Hình 1.9. Cấu trúc không gian tên miền ngƣợc của IPv4, IPv6
trong cây tên miền chung [7]


16

Đối với thế hệ địa chỉ IPv4, cấu trúc của tên miền ngƣợc có dạng nhƣ sau:
www.zzz.yyy.xxx.inaddr. arpa. Trong đó: xxx, yyy, zzz, www là các số viết trong
hệ thập phân biểu diễn giá trị của 4byte cấu thành 1 địa chỉ IPv4. Ví dụ: Một máy
tính trên mạng đƣợc gán địa chỉ IPv4 203.162.57.101 thì tên miền ngƣợc tƣơng ứng
sẽ là 101.57.162.203.in-addr. arpa. Máy chủ có tên miền: mail.vnnic.net.vn Ánh xạ
vào tên miền thuận bằng bản ghi PTR: 12.57.162.203.in-addr.arpa. IN PTR
mail.vnnic.net.vn

Hình 1.10. Hình vẽ minh họa cấu trúc tên miền ngƣợc trong IPv4 [8]


Đối với thế hệ địa chỉ Internet mới IPv6, cấu trúc tên miền ngƣợc có khác một
chút. Cụ thể: Không gian các tên miền ngƣợc của các địa chỉ IPv6 không nằm dƣới
miền in-addr.arpa nhƣ của IPv4 mà nằm dƣới miền .ip6.arpa. Do hoàn toàn không
còn khái niệm class (lớp) trong IPv6 và một địa chỉ IPv6 đƣợc biểu diễn dƣới dạng
số hexa nên cấu trúc phân cấp tên miền ngƣợc trong IPv6 cũng không chia theo lớp
nhƣ ở IPv4 mà đƣợc phân cấp theo từng biên 4 bit tƣơng ứng với mỗi số hexa cấu
thành nên một địa chỉ IPv6 arpa In-addr 0 255 12 57 0 162 255 203 “.”. Ví dụ: Một
node mạng đƣợc gán địa chỉ IPv6 2001:0dc8:0123:1234:abcd:0000:0000:0000 thì
tên miền ngƣợc tƣng ứng sẽ là:
0.0.0.0.0.0.0.0.0.0.0.0.d.c.b.a.4.3.2.1.3.2.1.0.8.c.d.0.1.0.0.2.ip6.arpa


×