HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TỒN THƠNG TIN
ĐỒ ÁN TỐT NGHIỆP
Nghiên cứu một số tấn công lên hệ thống máy chủ tên miền và
đề xuất các giải pháp phịng chống
Ngành: An tồn thơng tin
Mã số: 7.48.02.02
Sinh viên thực hiện:
Đỗ Đức Khánh – AT131024
Lớp: AT13LT
Người hướng dẫn:
Ths. Phạm Kim Cương
TTCNTT & GSANM – Ban Cơ Yếu
Hà Nội 2021
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TỒN THƠNG TIN
ĐỒ ÁN TỐT NGHIỆP
Nghiên cứu một số tấn công lên hệ thống máy chủ tên miền và
đề xuất các giải pháp phịng chống
Ngành: An tồn thơng tin
Mã số: 7.48.02.02
Sinh viên thực hiện:
Đỗ Đức Khánh – AT131024
Lớp: AT13LT
Người hướng dẫn:
Ths. Phạm Kim Cương
TTCNTT & GSANM – Ban Cơ Yếu
Hà Nội 2021
MỤC LỤC
Danh mục kí hiệu và viết tắt..................................................................................iv
Danh mục hình vẽ...................................................................................................vi
Danh mục bảng.....................................................................................................viii
Lời cảm ơn..............................................................................................................ix
Lời nói đầu...............................................................................................................x
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG MÁY CHỦ TÊN MIỀN (DNS).......1
1.1. Khái niệm.....................................................................................................1
1.2. Chức năng của DNS....................................................................................2
1.3. Nguyên tắc làm việc....................................................................................3
1.4. Kiến trúc DNS.............................................................................................3
1.4.1. Cấu trúc cơ sở dữ liệu...........................................................................3
1.4.2. Cấu trúc của hệ thống tên miền............................................................4
1.4.2.1. Cách đặt tên miền.............................................................................4
1.4.2.2. Phân loại tên miền............................................................................5
1.4.2.3. Cấu trúc tên miền.............................................................................5
1.5. Máy chủ tên miền (Name Server - NS).....................................................6
1.5.1. Primary Name Server............................................................................7
1.5.2. Secondary Name Server........................................................................7
1.5.3. Caching Name Server............................................................................8
1.6. Cấu trúc gói tin DNS..................................................................................8
1.7. Cơ chế phân giải........................................................................................13
1
1.7.1. Phân giải tên thành địa chỉ IP............................................................13
1.7.2. Phân giải địa chỉ IP thành tên host....................................................17
1.8. Các loại bản ghi DNS................................................................................21
1.9. Kết luận chương 1.....................................................................................22
CHƯƠNG 2: VẤN ĐỀ BẢO MẬT TRONG DNS..............................................23
2.1. Các điểm yếu của DNS.............................................................................23
2.2. Các cách thức tấn công vào DNS.............................................................24
2.2.1. DNS Tunneling....................................................................................24
2.2.2. DNS Cache Poisoning.........................................................................25
2.2.2.1. Thiết lập 1 DNS Server giả mạo với các record độc hại................27
2.2.2.2. Gửi một spoofed reply đến client nạn nhân thông qua sự giúp đỡ
của 1 sniffer.........................................................................................29
2.2.2.3. Gửi một lượng lớn spoofing reply đến client nạn nhân..................30
2.2.2.4. Attacker gửi một lượng lớn spoofing reply đến DNS Server..........30
2.2.3. Buffer overflow attack.........................................................................32
2.2.4. DNS Zone Transfer Attack..................................................................36
2.2.5. DNS Hijacking.....................................................................................37
2.2.6. Subdomain Takeover...........................................................................38
2.3. Biện pháp phòng chống tấn công DNS....................................................39
2.4. Công nghệ DNSSEC.................................................................................40
2.4.1. Giới thiệu DNSSEC.............................................................................41
2.4.2. Ứng dụng DNSSEC để bảo mật cho hệ thống DNS..........................44
2
2.4.2.1. Thêm bản ghi DNSKEY vào 1 zone................................................45
2.4.2.2. Thêm các bản ghi RRSIG vào 1 zone.............................................45
2.4.2.3. Thêm bản ghi NSEC vào 1 zone.....................................................46
2.4.2.4. Thêm bản ghi DS vào trong 1 zone................................................47
2.4.2.5. Những thay đổi đối với bản ghi CNAME.......................................47
2.4.3. Triển khai DNSSEC............................................................................48
2.4.4. Lộ trình triển khai DNSSEC tại Việt Nam.........................................49
2.5. Kết luận chương 2.....................................................................................51
CHƯƠNG 3: THỬ NGHIỆM TẤN CÔNG........................................................52
3.1. Thử nghiệm tấn cơng DNS Cache Poisoning..........................................52
3.1.1. Mơ hình thực hiện tấn cơng................................................................52
3.1.2. Q trình thực hiện.............................................................................55
3.2. Kết luận chương 3.....................................................................................64
KẾT LUẬN............................................................................................................65
TÀI LIỆU THAM KHẢO.....................................................................................66
3
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
Thuật ngữ
Tiếng Anh
Tiếng Việt
DNS
Domain Name System
Hệ thống tên miền
LIFO
Last In First Out
Vào sau ra trước
NS
Name Server
Tên miền
CNAME
Canonical Name
Tên chuẩn
Domain Name System Security
Hệ thống tên miền bảo mật mở
Extensions
rộng
RR
Resource Record
Mẫu tin tài nguyên
ccTLD
Country code Top Level Domain Tên miền quốc gia cấp cao nhất
DNSSEC
CSDL
Cơ sở dữ liệu
IP
Internet Protocol
Giao thức Internet
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
The Internet Corporations for
Tổ chức quản lý hệ thống tên
Assigned Names and Numbers
miền trên thế giới
Internet Network Information
Trung tâm thông tin mạng
Center
Quốc tế
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
TTL
Time To Live
Thời gian sống
VPN
Virtual Private Network
Mạng riêng ảo
ID
Identification
Nhận dạng
American Standard Code for
Chuẩn mã trao đổi thông tin
Information Interchange
Hoa Kỳ
IDS
Intrusion Detection Systems
Hệ thống phát hiện xâm nhập
PKI
Public key infrastructure
Hạ tầng khóa cơng khai
ICANN
INTERNIC
ASCII
4
DNSKEY
Domain Name System Public Bản ghi khóa cơng khai hệ
Key
thống tên miền
RRSIG
Resource Record Signature
Bản ghi chữ ký tài nguyên
NSEC
Next Secure
Bản ghi bảo mật kế tiếp
DS
Delegation Signer
Bản ghi ký ủy quyền
SOA
Start of Authority
BTTTT
Bộ thông tin truyền thông
QĐ
Quyết định
FQDN
Fully qualified domain name
Tên miền tuyệt đối
RFC
Request for Comments
Đề nghị duyệt thảo và bình luận
5
DANH MỤC HÌNH VẼ
Hình 1-1: Cấu trúc phân cấp DNS.............................................................................6
Hình 1-2: Mơ hình tương tác giũa Primary NS và Secondary NS............................7
Hình 1-3: Cấu trúc gói tin DNS.................................................................................8
Hình 1-4: Message Header........................................................................................9
Hình 1-5: Truy vấn đệ quy......................................................................................16
Hình 1-6: Truy vấn lặp lại.......................................................................................17
Hình 1-7: 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.......................................................................................................................19
Hình 1-8: Cấu trúc tên miền ngược trong IPv4.......................................................20
Hình 2-1: Mơ hình DNS Tunneling
Hình 2-2: Mơ hình DNS Cache Poisoning
Hình 2-3: DNS Cache
Hình 2-4: 1 trang web giả mạo Facebook
Hình 2-5: Đầu độc cache DNS Server bằng cách sử dụng 1 DNS Server giả mạo
Hình 2-6: Đầu độc cache DNS bằng cách nghe lén (sniffer)
Hình 2-8: Đầu độc cache DNS bằng phương pháp birthday attack
Hình 2-9: Các bước tấn cơng Buffer Overflow
Hình 2- 10: Ping đến domain ra địa chỉ ip
Hình 2-11: truyền dữ liệu DNS thơng thường vs truyền dữ liệu DNSSEC
Hình 2-12: Mơ hình DNSSEC
Hình 2-13: Triển khai DNSSEC
Hình 2-14: Lộ trình triển khai DNS ở Việt Nam
Hình 3-1: Mơ hình thực hiện tấn cơng
Hình 3-2: IP máy Windows 7- Victim
Hình 3-3: IP máy Windows 7 - Attacker
6
Hình 3-4: Ứng dụng Cain And Abel
Hình 3-5: IP máy Kali Linux - Fake Server
Hình 3-6: Clone giao diện trang login của facebook 1
Hình 3-7: Clone giao diện trang login của facebook 2
Hình 3-8: Clone giao diện trang login của facebook 3
Hình 3-9: Clone giao diện trang login của facebook 4
Hình 3-10: Clone giao diện trang login của facebook 5
Hình 3-11: Clone giao diện trang login của facebook 6
Hình 3-12: Giao diện trang login của facebook sau khi clone
Hình 3-13: Scan các ip trong mạng 1
Hình 3-14: Scan các ip trong mạng 2
Hình 3-15: Kết quả sau khi scan
Hình 3-16: Config quá trình poison 1
Hình 3-17: Config quá trình poison 2
Hình 3-18: Config quá trình poison 3
Hình 3-19: Config quá trình poison 4
Hình 3-20: Config quá trình poison 5
Hình 3-21: Bắt đầu quá trình poison
Hình 3-22: Giao diện website giả mạo của máy Client khi bị tấn cơng
Hình 3-23: Email và password bị đánh cắp hiển thị trên terminal máy fake server
7
DANH MỤC BẢNG
Bảng 1- 1: Phân loại tên miền...................................................................................5
Bảng 1- 2: Resource Records..................................................................................12
8
LỜI CẢM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp, em đã nhận được rất nhiều sự
quan tâm, động viên và giúp đỡ của các thầy cô, người thân, và bạn bè.
Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới ThS. Phạm Kim Cương –
TTCNTT & GSANM – Ban Cơ Yếu, người đã hướng dẫn em thực hiện đồ án tốt
nghiệp. Sự quan tâm, góp ý tận tình của thầy đã giúp đồ án tốt nghiệp của em trở
nên đầy đủ, chỉn chu hơn. Bên cạnh đó, em cũng chân thành cảm ơn các thầy cơ
giảng viên trong khoa An tồn tồn thơng tin đã ân cần dạy dỗ em trong suốt thời
gian học tập tại Học viện, giúp em có được nền tảng kiến thức vững vàng về an
tồn thơng tin, để chuẩn bị tốt cho quá trình thực hiện đồ án tốt nghiệp.
Cuối cùng, em dành lời cảm ơn sâu sắc gửi tới tất cả người thân, bạn bè của
em, những người đã luôn quan tâm, động viên, tạo những điều kiện tốt nhất để em
hoàn thành đồ án tốt nghiệp này!
SINH VIÊN THỰC HIỆN ĐỒ ÁN
Đỗ Đức Khánh
9
LỜI NÓI ĐẦU
Chúng ta đang sống trong thời đại của cuộc cách mạng cơng nghiệp lần thứ
4, trong đó cơng nghệ đóng vai trị then chốt, vai trị của internet là vô cùng quan
trọng. Điều này kéo theo nhiều ngành kinh tế, nhiều hoạt động chính trị, văn hóa
phụ thuộc vào máy tính và internet. Chính vì vậy, ngày càng có nhiều ý đồ phá
hoại nhằm vào các hệ thống mạng máy tính.
Các cuộc tấn cơng mạng có thể là các cuộc tấn công vào trang web của các
công ty, tổ chức, cũng có thể là các cuộc tấn cơng lừa đảo để chiếm đoạt tài khoản
người dùng, … hay thậm chí là các cuộc tấn cơng có chủ đích nhằm vào các mục
tiêu quan trọng như kinh tế, chính trị, quốc phòng, an ninh, y tế … của một quốc
gia. Nhiều website của các doanh nghiệp, tổ chức, công ty bảo mật hàng đầu thế
giới đều bị hacker tấn cơng gây tổn thất lớn về tài chính và uy tín của doanh
nghiệp. Tình hình an ninh mạng vẫn vơ cùng bất ổn và năm 2021 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 của hacker liên tục
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ệ thong tin của doanh nghiệp và Chính phủ.
Trong số các cuộc tấn cơng mạng, có thể nói tấn công vào hệ thống DNS là
một trong số các loại tấn cơng nguy hiểm nhất, khó phịng tránh nhất. Chủ đích của
các cuộc tấn cơng DNS là sửa đổi hướng định tuyến của tên miền đến máy chủ của
kẻ tấn công. Hay hiểu đơn giản, bản chất của mỗi tên miền chính là địa chỉ IP (sử
dụng tên miền đại diện IP vì dễ nhớ hơn), khi hacker làm thay đổi thành công địa
chỉ IP gắn với một tên miền thì họ sẽ dễ dàng thực hiện ý đồ xấu.
Do tính chất nguy hiểm của các cuộc tấn cơng DNS, đã có nhiều các cơng
trình nghiên cứu đưa ra giải pháp nhằm phát hiện, cũng như ngăn chặn các hoạt
10
động xấu có liên quan đến chúng. Đồ án này tập trung nghiên cứu hệ thống tên
miền DNS, một số kỹ thuật tấn công DNS phổ biến hiện nay, đề xuất giải pháp
phịng chống và thử nghiệm tấn cơng
11
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG MÁY CHỦ TÊN MIỀN
(DNS Server)
1.1. Khái niệm
DNS (Domain Name System) được phát minh vào năm 1984 cho
internet, là hệ thống phân giải tên 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 là một hệ thống đặt tên
theo thứ tự cho dịch vụ, máy vi tính hay bất kỳ nguồn lực tham gia vào
internet. Nó liên kết đa dạng các thơng tin với tên miền được gán cho những
người tham gia. Đặc biệt, 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 những trang thiết bị mạng cho các mục
đích định vị và địa chỉ hóa thiết bị trên tồn cầu.
Phép so sánh thường được sử dụng để giải thích hệ thống tên miền,
phục vụ như một “danh bạ điện thoại” có khả năng tìm kiếm trên internet
bằng cách dịch tên máy chủ máy tính thành địa chỉ IP.
Chẳng hạn, www.example.com sẽ được dịch thành 208.77.188.166.
Nhờ vào hệ thống DNS mà có thể chỉ định tên miền cho từng nhóm
người dùng internet trong một cách độc lập và có ý nghĩa đối với mỗi địa
điểm của người sử dụng. Vì thế, World-Wide Web siêu liên kết và trao đổi
thơng tin trên internet có thể duy trì cố định và ổn định ngay cả khi định
tuyến dòng internet thay đổi hay những người tham gia dùng một thiết bị di
động.
Hệ thống tên miền phân phối trách nhiệm lập bản đồ và gán tên miền
những tên tới địa chỉ IP bằng cách định rõ máy chủ có thẩm quyền cho mỗi
tên miền. Những máy chủ có tên thẩm quyền được phân công chịu trách
nhiệm với tên miền riêng của họ, từ đó lần lượt chỉ định tên máy chủ khác
độc quyền của họ cho các tên miền phụ. Kỹ thuật này đã thực hiện những cơ
chế phân phối DNS, tránh sự cần thiết cho một trung tâm đơn lẻ, chịu đựng
lỗi để đăng ký được tư vấn và cập nhật liên tục.
1
Nhìn chung, hệ thống tên miền cũng lưu trữ những loại thông tin
khác, như danh sách những máy chủ email mà chấp nhận thư điện tử cho
một tên miền Internet. Hệ thống tên miền là một thành phần thiết yếu cho
các chức năng của internet bằng cách phân phối từ khóa - cơ sở dịch vụ đổi
hướng, cung cấp cho một thế giới rộng lớn. Các định dạng khác như mã số
UPC, ký tự quốc tế trong địa chỉ email và tên máy chủ, thẻ RFID và một loạt
những định dạng khác có thể có khả năng sử dụng DNS.[1]
1.2. Chức năng của DNS
Tất cả các thiết bị trên Internet có thể giao tiếp được với nhau là nhờ có
địa chỉ IP(IPv4 và IPv6). Khi bạn muốn truy cập vào 1 trang web như
facebook.com, github.com, dantri.com.vn,… thì bản chất thực sự của nó
là truy cập vào địa chỉ IP của server chứa dữ liệu của các trang web này.
Tuy nhiên khơng phải ai cũng có thể nhớ được đúng và nhớ được hết địa
chỉ IP của các trang web, từ đó DNS đã xuất hiện.
DNS đóng vai trị như 1 người phiên dịch, dịch giữa địa chỉ IP và tên
miền chứ khơng có tác dụng thay thế hồn tồn cho địa chỉ IP. Bạn cũng
có thể tải 1 website bằng cách nhập trực tiếp địa chỉ IP thay vì dùng tên
miền nếu bạn biết và nhớ địa chỉ IP của trang web đó. Ví dụ, khi bạn gõ
“www.google.com” vào trình duyệt, máy chủ DNS sẽ lấy địa chỉ IP của
máy chủ Google là “74.125.236.37”. Sau đó, bạn sẽ nhìn thấy trang chủ
Google tải trang trên trình duyệt. Đó là q trình phân giải DNS.
Mỗi DNS cịn có chức năng ghi nhớ những tên miền mà nó đã phân giải
và ưu tiên sử dụng cho những lần truy cập sau.
Nhờ DNS, bạn có thể sử dụng nhiều dịch vụ mạng như tìm kiếm thơng
tin, xem phim, chơi game, đăng nhập các website,…Có thể nói nếu
khơng có DNS, con người khơng thể duyệt Internet nhanh chóng và dễ
dàng như ngày nay.[2]
1.3. Nguyên tắc làm việc
2
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 một 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 ngồ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.[3]
1.4. Kiến trúc DNS
1.4.1. Cấu trúc cơ sở dữ liệu
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
3
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 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 (delegale) xuống dưới.
Zone
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ó đ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.
[4]
1.4.2. Cấu trúc của hệ thống tên miền
1.4.2.1. Cách đặt tên miền
- Tên miền sẽ có dạng : Label.label.label….label
- Độ dài tối đa của một tên miền là 255 ký tự
- Mỗi một label tối đa là 63 ký tự bao gồm cả dấu “.”
- Label phải được được bắt đầu bằng chữ số và chỉ được chứa chữ, số, dấu
trừ (-)
1.4.2.2. Phân loại tên miền
4
Bảng 1- 1: Phân loại tên miền
Tên miền
.com
.edu
.net
.tv
.gov
.info
.org
.int
.mil
.vn, .jp, .us,…
Ý nghĩa
Commercial – lĩnh vực thương mại.
Education – lĩnh vực giáo dục
Network – lĩnh vực mạng
Television – lĩnh vực truyền hình
Gorverment – chính phủ
Information – lĩnh vực thơng tin
Organization – các tổ chức, cộng đồng
International – quốc tế
Military – lĩnh vực quốc phòng
Tên miền quốc gia cấp cao nhất
1.4.2.3.Cấu trúc tên miền
Tên miền được tạo thành từ các nhãn và phân cách nhau bằng dấu chấm (.),
ví dụ example.com. Tên miền còn được chia theo cấp độ như tên miền top level,
tên miền cấp 1, cấp 2...
Hiện nay hệ thống tên miền được phân thành nhiều cấp :
Gốc (Domain root) : Nó là đỉnh của nhánh cây của tên miền. Nó có thể
biểu diễn đơn giản chỉ là dấu chấm “.”
Tên miền cấp một (Top-level-domain) : gồm vài kí tự xác định một nước,
khu vưc hoặc tổ chức. Nó đươc thể hiện là “.com” , “.edu” …
Tên miền cấp hai (Second-level-domain): Nó rất đa dạng rất đa dạng có
thể là tên một cơng ty, một tổ chức hay một cá nhân.
Tên miền cấp nhỏ hơn (Subdomain) : Chia thêm ra của tên miền cấp hai
trở xuống thường được sử dụng như chi nhánh, phòng ban của một cơ
quan hay chủ đề nào đó.
5
Hình 1-1: Cấu trúc phân cấp DNS
1.5. Máy chủ tên miền (Name Server - NS)
Máy chủ tên miền (name server) là máy chủ chứa cơ sở dữ liệu dùng
cho việc chuyển đổi giữa tên miền và địa chỉ IP. Như cách phân cấp của hệ
thống tên miền, tương ứng với mỗi cấp và mỗi loại tên miền có máy chủ tên
miền phục vụ tên miền ở cấp đó và loại tên miền đó. Máy chủ tên miền ở
mức ROOT sẽ chứa cơ sở dữ liệu quản lý tên miền ở mức top-level-domain.
Ở mức quốc gia sẽ có máy chủ tên miền quản lý domain ở mức quốc gia.
Nó tồn tại ở tất cả các cấp trong kiến trúc DNS
Authoritative name server kiểm soát một phần cơ sở dữ liệu DNS
Một NS có thể phục vụ nhiều zone khác nhau
Nhiều NS phục vụ cho một số zone/subzones nhất định
Hệ thống DNS định nghĩa hai kiểu máy chủ tên miền là máy chủ tên
miền chính (primary name server) và máy chủ tên miền phụ (secondary
name server). Ngoài ra cịn có Caching Name Server. [2]
6
Hình 1-2: Mơ hình tương tác giũa Primary NS và Secondary NS
1.5.1. Primary Name Server
Mỗi miền phải có một Primary Name Server . Server này được đăng
kí trên Internet để quản lý miền. Mọi người trên Internet đều biết tên máy
tình và địa chỉ IP của Server này. Người quản trị DNS sẽ tổ chức những tập
tin CSDL trên Primary Name Server . Server này có nhiệm vụ phân giải tất
cả các máy trong miền hay zone.
1.5.2. Secondary Name Server
Secondary Name Server có nhiệm vụ sao lưu tất cả những dữ liệu trên
Primary Name Server. Khi Primary Name Server bị gián đoạn thì nó sẽ đảm
nhận việc phân giải tên máy tính thành địa chỉ IP và ngược lại. Trong một
miền có thể có một hay nhiều Secondary Name Server. Theo một chu kỳ,
Secondary sẽ sao chép và cập nhật CSDL từ PrimaryName Server. Tên và
7
địa chỉ IP của Secondary Name Server cũng được mọi người trên Internet
biết đến.
1.5.3. Caching Name Server
Caching Name Server không có bất kỳ tập tin CSDL nào. Nó có chức
năng phân giải tên máy trên những mạng ở xa thông qua những Name
Server khác. Nó lưu giữ lại những tên máy đã được phân giải trước đó và
được sử dụng lại những thơng tin này nhằm mục đích: Làm tăng tốc độ phân
giải bằng cách sử dụng cache. Giảm bớt gánh nặng phân giải tên máy cho
các Name Server. Giảm việc lưu thơng trên những mạng lớn.[6]
1.6. Cấu trúc gói tin DNS
Hình 1-3: Cấu trúc gói tin DNS
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:
8
Hình 1-4: Message Header
ID: Là một trường 16 bits, chứa mã nhận dạng, nó được tạo ra bởi
một chương trình để thay cho truy vấn. Gói tin hồi đáp sẽ dựa vào
mã nhận dạng này để hồi đáp lại. Chính vì vậy mà truy vấn và hồi
đáp có thể phù hợp với nhau.
QR: Là một trường 1 bit. Bít này sẽ được thiết lập là 0 nếu là gói tin
truy vấn, được thiết lập là một nếu là gói tin hồi đáp.
Opcode: Là một trường 4 bits, được thiết lập là 0 cho cờ hiệu truy
vấn, được thiết lập là 1 cho truy vấn ngược, và được thiết lập là 2 cho
tình trạng truy vấn.
AA: Là trường 1 bit, nếu gói tin hồi đáp được thiết lập là 1, sau đó nó
sẽ đi đến một server có thẩm quyền giải quyết truy vấn.
TC: Là trường 1 bit, trường này sẽ cho biết là gói tin có bị cắt khúc
ra do kích thước gói tin vượt q băng thơng cho phép hay không.
RD: Là trường 1 bit, trường này sẽ cho biết là truy vấn muốn server
tiếp tục truy vấn một cách đệ quy.
9
RA: Trường 1 bit này sẽ cho biết truy vấn đệ quy có được thực thi
trên server khơng.
Z: Là trường 1 bit. Đây là một trường dự trữ, và được thiết lập là 0.
Rcode: Là trường 4 bits, gói tin hồi đáp sẽ có thể nhận các giá trị
sau:
0: Cho biết là khơng có lỗi trong q trình truy vấn.
1: Cho biết định dạng gói tin bị lỗi, server khơng hiểu được truy vấn.
2: Server bị trục trặc, không thực hiện hồi đáp được.
3: Tên bị lỗi. Chỉ có server có đủ thẩm quyền mới có thể thiết lập giá
trị náy.
4: Không thi hành. Server không thể thực hiện chức năng này.
5: Server từ chối thực thi truy vấn.
QDcount: Số lần truy vấn của gói tin trong một vấn đề.
ANcount: Số lượng tài nguyên tham gia trong phần trả lời.
NScount: Chỉ ra số lượng tài nguyên được ghi lại trong các phần có
thẩm quyền của gói tin.
ARcount: Chỉ ra số lượng tài nguyên ghi lại trong phần thêm vào
của gói tin.[10]
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)
10
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
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 theo tiêu chuẩn RFC-1035
11
Bảng 1- 2: Resource Records
Trường
NAME
Type
Mơ tả
Tên của nốt có record liên quan
Loại RR dạng số (ví dụ, 15 trong MX
Độ dài (octets)
Variable
2
CLASS
TTL
RRs)
Mã lớp
Thời gian theo giây để RR còn hiệu
2
4
RDLENGT
lực (Tối đa 231−1, khoảng 68 năm)
Độ dài trường RDATA
2
H
RDATA
RR bổ sung
Biến đổi, như
RDLENGTH
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 nội dung (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. Ngồ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. [7]
1.7. Cơ chế phân giải
12