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

Xây dựng ứng dụng tấn công vô hiệu hóa DHCP server dựa vào gói tin DHCP discovery

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.72 MB, 89 trang )

LỜI CẢM ƠN
Sau một thời gian thực hiện đề tài “Xây dựng ứng dụng tấn công vô hiệu
hóa DHCP Server dựa vào gói tin DHCP discovery”. của em đã hoàn thành.
Đề tài được phát triển một phần nhờ sự nỗ lực tìm hiểu của bản thân, một phần nhờ
sự hướng dẫn tận tình, chu đáo của thầy Ths.Phạm Hồng Việt. Thầy đã chỉ bảo
cho em từng bước để thực hiện đề tài này và thầy cũng đã vạch ra hướng phát triển
đúng đắn để em có thể thực hiện đề tài một cách tốt đẹp. Bên cạnh đó em đã có
được sự quan tâm, giúp đỡ của các thầy cô giáo trong bộ môn, đó là nguồn động
viên to lớn để em có thể thực hiện tốt đề tài của mình. Em cũng xin cảm ơn gia
đình, bạn bè là những người đã giúp đỡ em rất nhiều trong những lúc em gặp khó
khăn và thử thách.
Qua đây, một lần nữa em muốn nói lên lòng biết ơn to lớn đến tất cả mọi
người, những người đã giúp đỡ em trong thời gian qua.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện

Phan Ngọc Linh

1


LỜI CAM ĐOAN
Em xin cam đoan nội dung của đồ án này hoàn toàn là do em nghiên cứu,
tìm hiểu và tổng hợp từ các tài liệu liên quan (có trích dẫn tài liệu tham khảo),
cũng như các kiến thức từ thực tế khi em học tập, rèn luyện trên ghế giảng đường,
không sao chép hoàn toàn nội dung của các bài thực tập hay đồ án khác.

Thái Nguyên, tháng 06 năm 2016.
Sinh viên
Phan Ngọc Linh



2


DANH MỤC TỪ VIẾT TẮT

ACK

Acknowledgement

DHCP

Dynamic Host Configuration Protocol

IP

Internet protocol

OSI

Open Systems Interconnection

ISP

Internet service provide

UDP

User datagaram protocol


TCP

Transmission

LAN

Local Area Network

WLAN

Wireless Local Area Network

3


MỤC LỤC

LỜI CẢM ƠN

1

LỜI CAM ĐOAN

2

DANH MỤC TỪ VIẾT TẮT
MỤC LỤC

3


4

DANH MỤC HÌNH ẢNH 6
LỜI MỞ ĐẦU

8

1. Giới thiêu đề tài

8

2. Nội dung của đề tài 9
CHƯƠNG I: CƠ SỞ LÝ THUYẾT

10

1.1 Tổng quan về an ninh mạng

10

1.1.1. Khái niệm về bảo mật.

10

1.1.2. Các tiêu chí đánh giá mức độ an ninh an toàn mạng. 11
1.2. Tổng Quan về máy chủ DHCP Server
1.2.1 Một số cách cấu hình địa chỉ IP

13


15

1.2.2 Giới thiệu hệ thống DHCP Server 16
1.2.3 Cơ chế cấp phát địa chỉ IP 16
1.3 Giới thiệu ngôn ngữ lập trình C Shap (c#)

25

1.3.1 Giới thiệu về NameSpace System.Net và System.Net.Sockets
27
1.3.2 Socket không hướng kết nối UDP Socket
4

28


1.3.3 NameSpace System.Threading

31

1.3.4 Thư viện mã nguồn mở Shappcap – Winpcap- Pcap.net

32

1.3.5 Lý do chọn ngôn ngữ lập trình c# 33
CHƯƠNG II: TÌM HIỂU ĐIỂM YẾU BẢO MẬT VÀ PHÂN TÍCH, ĐÁNH GIÁ
ĐẶC ĐIỂM GÓI TIN DHCP DISCOVERY
2.1. Đặt vấn đề

34


34

2.1.1 Một số phương pháp tấn công vô hiệu hóa DHCP
2.1.2 Điểm yếu hệ thống

34

41

2.1.3 Phương án đặt ra tấn công vô hiệu hóa dịch vụ 43
2.2. Hoạt động của DHCP Discover 44
2.2.1 Vai trò và chức năng và hoạt động của DHCP Discover
2.2.2 Khả năng xuất hiện DHCP Server giả mạo
2.2.3 Cấu trúc bản tin DHCP

44

47

50

2.3 Điểm yếu của hệ thống DHCP và phương án tấn công vô hiệu hóa
dịch vụ

52

CHƯƠNG III: TẤN CÔNG VÔ HIỆU HÓA DHCP SERVER

54


3.1 Tấn công dịch vụ DHCP 54
3.2 So sánh với các ứng dụng hiện có trên internet và hướng phát triển
đề tài

59

KẾT LUẬN 64
TÀI LIỆU THAM KHẢO 65
NHẬN XÉT CỦA GIÁO VIÊN

66

5


6


DANH MỤC HÌNH ẢNH

Hình 1.1: Cơ chế cấp phát địa chỉ IP của DHCP Server 17
Hình 1.2: Nội dung một bản tin DHCP DISCOVERY

17

Hình 1.3: Thông tin chi tiết về một NIC trên máy tính window

18


Hình 1.4: Nội dung một bản tin DHCP offer 19
Hình 1.5: Nội dung 1 bản tin DHCPRequest 20
Hình 1.6: Nội dung một bản tin DHCP ACK 20
Hình 1.7 : Cơ chế cấp IP của DHCP Server Microsoft
Hình 1.8: Cơ chế cấp IP của Cisco

21

22

Hình 1.9 : UDP Packet. 29
Hình 1.10 : UDP Socket 30
Hình 2.1: Mô hình tấn công DHCP Spoofing35
Hình 2.2: Tấn công DHCP Starvation 37
Hình 2.3 Điểm tấn công dịch vụ 43
Hình 2.4: Mô hình DHCP giả trong hệ thống mạng47
Hình 2.5: DHCP Server giả cấp phát sai địa chỉ IP 48
Hình 2.6: DHCP phá vỡ cấu trúc hệ thống mạng - cấu hình sai DNS đe dọa
bảo mật toàn bộ hê thống mạng

49

Hình 2.7 : Tấn công nghe lén bằng kĩ thuật tấn công DHCP Server. 50
Hình 2.8: Định dạng bản tin DHCP.

51

Hình 2.9 : Bản giá trị tham chiếu thiết bị Htype
Hình 2.10: Điểm tấn công dịch vụ


51

53

Hình 3.1: Giao diện demo tấn công DHCP Server 54
Hình 3.2: Giao diện quản lý DHCP trước khi bị tấn công 54
Hình 3.3: Kích hoạt tấn công Dịch vụ 55

7


Hình 3.4 : Giao diện quản lý DHCP khi đang bị tấn công 55
Hình 3.5:Lưu lượng mạng khi đang diễn ra tấn công.

56

Hình 3.6 Có thể truy nhập internet bình thường khi diễn ra cuộc tấn công
56
Hình 3.7: kết thúc tấn công

57

Hình 3.8 : Giao diện quản lý DHCP khi kết thúc tấn công58
Hình 3.9: thống báo giới hạn hết địa chỉ IP 58
Hình 3.10 :Giao diện khởi động Yersinia

60

Hình 3.11: giao diện tấn công DHCP Server Yersinia


61

Hình 3.12 : giao diện Yersinia khi đang tấn công DHCP Server 61
Hình 3.13: giao diện hệ thống khi bị tấn công DHCP bằng Yersinia
Hinh 3.14: Kết thúc quá trình tấn công

62

Hình 3.15: Giao diện quản lý DHCP khi kết thúc tấn công

8

63

62


LỜI MỞ ĐẦU
1. Giới thiêu đề tài
Trên thực tế hiện nay khi việc kết nối vào internet trở nên dễ dàng hơn bao
giời hết, mọi người có thể online tại bất cứ đâu, bất cứ nơi nào có sóng điện thoại
hoặc các trạm phát Wifi công cộng, việc có quá nhiều thiết bị cần địa chỉ IP để truy
nhập vào mạng internet dẫn tới một hệ luy cần các thiết bị có khả năng cấp và đáp
ứng được tất cả các yêu cầu đó. Đặc biệt là khi các thiết bị hỗ trợ WIFI ra đời với
giá thành ngày một rẻ và đa dạng từ máy tính sách tay, máy tính bảng, điện thoại đi
dộng, các thiết bị đọc sách điện tử, máy nghe nhac... Ngoài việc giúp con người
tiến lại gần với xã hội ảo, giúp ích rất nhiều trong công việc cũng như giải trí
nhưng đồng thời cũng đầy người dùng tới gần các lọa tội phạm mạng hơn bảo giờ
hết. Trong khi đó IP được coi là xương sống của mạng internet, là con đường độc
đạo giúp người dùng tiếp cận với thế giới mạng lại được giao cho DHCP Server,

một dịch vụ quan trọng thiếu bảo mật dễ bị tấn công, cùng với những bước “xin
cho” được quản bá public trên toàn mạng. Bênh cạnh đó những thiết bị chuyển tiếp
mạng từ có dây sang mạng không dây có giá thành ngày một rẻ dẫn tới một thực
trạng các cơ chế bảo mật trên những thiết bị này gần như bị bỏ qua hoặc có nhưng
với nhưng cơ chế rất yếu kém dễ dàng bị vượt qua bởi một vài thủ thật đơn giản .
a) Mục đích chọn đề tài
Với những vấn đề được đặt ra ở trên đề tài được nêu ra nhằm mục đích nhận
định được các nguy cơ tiền ẩn, khả năng bảo mật, và khả năng trống đỡ của các
thiết bị mạng bình dân trước các cuộc tấn công mạng, các hành vi truy nhập trái
phép vào hệ thống.
- Demo là một công cụ nhỏ giúp cho người dùng có thể làm cạn kiệt năng
lực cấp phát IP của DHCP Server, nhằm mục đích đánh giá năng lực hệ thống
DHCP Server, khả năng cấp phát, và khoảng thời gian tới hạn trước các cuộc tấn
công từ trong mạng nội bộ, khả năng bảo mật và phát hiện của hệ thống bảo mật
9


hiện tại đối trường hợp bị tấn công DHCP Server.
- Cung cấp cho người quản trị hệ thống một công cụ hữu hiệu để đánh giá hệ
thống mạng, để đặt ra các chính sách bảo mật tốt nhất cho hệ thống,
- Ứng dụng có thể qua mặt được một vài chế độ bảo mật trên mạng Lan,
Wlan nhằm mục đích tăng tính bảo mật cho máy chủ cấp phát địa chỉ IP DHCP
Server như : port-security , hoặc dùng cơ chế bản tin unicast trong các bước 2 và 4
trong chế độ cấp phát địa chỉ IP của DHCP theo chuẩn của cisco.
2. Nội dung của đề tài
Chương 1: Cơ sở lý thuyết
Chương 2: Tìm hiểu điểm yếu bảo mật và phân tích, đánh giá đặc điểm gói
tin DHCP Discovery
Chương 3: Tấn công vô hiệu hóa DHCP Server


10


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
Chương 2 trình bầy tổng quan về đề tài “Xây dựng ứng dụng tấn công vô
hiệu hóa DHCP Server dựa vào gói tin DHCP discovery”, mục đích, ý nghĩa,
phương pháp nghiên cứu thực hiện trong đề tài cùng với các khái niệm về mạng
máy tính, tổng quan về hệ thống DHCP Server, tổng quan về an ninh mạng
1.1 Tổng quan về an ninh mạng
Vấn đề an toàn và bảo mật một hệ thống thông tin đóng một vai trò hết sức
quan trọng. Thông tin chỉ có giá trị khi nó giữ được tính chính xác, thông tin chỉ có
tính bảo mật khi chỉ có những người được phép mới biết được thông tin này. Khi
ta chưa có thông tin, hoặc việc sử dụng hệ thống thông tin chưa phải là phương
tiện duy nhất trong quản lý, điều hành thì vấn đề an toàn, bảo mật đôi khi không
được chú trọng. Nhưng khi nhìn nhận tới mức độ quan trọng của tính bền vững hệ
thống và giá trị đích thực của thông tin đang có thì chúng ta sẽ có mức độ đánh
giá về an toàn, bảo mật hệ thống thông tin. Để đảm bảo được tính an toàn, bảo mật
cho một hệ thống cần phải có sự phối hợp giữa các yếu tố phần cứng, phần mền và
con người.
1.1.1. Khái niệm về bảo mật.
-Khái niệm.
Bảo mật là sự hạn chế khả năng lạm dụng tài nguyên và tài sản. Bảo mật trở
lên đặc biệt phức tạp trong quản lý, vận hành những hệ thống thông tin có sử dụng
các công cụ tin học, nơi có thể xảy ra và lan tràn nhanh chóng việc lạm dụng tài
nguyên (các thông tin vô hình trên mạng hoặc lưu trữ hữu hình trong các vật liệu)
và lạm dụng tài sản (các máy tính, thiết bị mạng, thiết bị ngoại vi, các phần mềm
của các cơ quan hoặc người sử dụng hệ thống). Hạn chế ở đây có ý rằng không thể
phá hết ngay việc lạm dụng, cho nên sẵn sàng đề phòng mọi khả năng xấu với các
phương cách thích hợp và chuẩn bị xử lý các sự cố nếu có việc lạm dụng xảy ra.
An toàn của một hệ thống thông tin thực chất là sự đảm bảo an ninh ở mức

11


độ chấp nhận được. Muốn hệ thống thông tin an toàn thì trước hết phải có sự đảm
bảo thông tin trên cơ sở mạng truyền dữ liệu thông suốt. Sau chữ an toàn thường
có chữ bảo mật để mở rộng khía cạnh đảm bảo bí mật về nội dung thông tin. Như
vậy, an toàn bảo mật hệ thống thông tin là đảm bảo hoạt động lưu thông và nội
dung bí mật cho những thành phần của hệ thống ở mức độ chấp nhận được.
Để bảo vệ hệ thống cũng như đề ra các chính sách bảo mật ta cần hiểu sâu
các khái niệm bảo mật. Khi hiểu sâu các khái niệm về bảo mật, phân tích chính xác
các cuộc tấn công, phân tích các điểm yếu của hệ thống và tăng cường bảo mật
những vùng cần thiết có thể làm giảm thiệt hại gây nên từ các cuộc tấn công vào hệ
thống.
1.1.2. Các tiêu chí đánh giá mức độ an ninh an toàn mạng.
Để đảm bảo an ninh cho mạng, cần phải xây dựng một số tiêu chuẩn đánh giá
mức độ an ninh an toàn mạng. Một số tiêu chuẩn đã được thừa nhận là thước đo
mức độ an ninh mạng.
a) Đánh giá trên phương diện vật lý.
An toàn thiết bị, các thiết bị sử dụng trong mạng cần phải đáp ứng một số yêu
cầu như: Có thiết bị dự phòng kịp thời cho các tình huống hỏng đột ngột, các thiết
bị có khả năng thay thế ngay theo từng phần hoặc toàn phần (hot-plug, hot-swap).
Các thiết bị có khả năng cập nhật, nâng cấp, bổ xung phần cứng và phần mềm. Về
nguồn điện yêu cầu phải có tính dự phòng trong tình huống mất điện đột ngột. Các
thiết bị được lắp đặt phù hợp với môi trường xung quanh( độ ẩm, nhiệt độ, chống
sét,vv…)
An toàn dữ liệu, có các biệt pháp sao lưu dữ liệu một cách định kỳ và không
định kỳ trong các tình huống phát sinh. Có biệt pháp lưu trữ dữ liệu tập trung và
phân tán nhằm chia bớt rủi ro trong các trường hợp đặc biệt như cháy nổ, thiên tai,
chiến tranh,vv…
b) Đánh giá trên phương diện logic.

Tính bí mật, bảo mật (Confidentiality), là sự bảo vệ dữ liệu truyền đi khỏi
12


những cuộc tấn công bị động. Có thể dùng vài mức bảo vệ để chống lại kiểu tấn
công này. Dịch vụ rộng nhất là bảo vệ mọi dữ liệu của người sử dụng truyền giữa
hai người dùng trong một khoảng thời gian. Nếu một kênh ảo được thiết lập giữa
hai hệ thống, mức bảo vệ rộng sẽ ngăn chặn sự rò rỉ của bất kỳ dữ liệu nào truyền
trên kênh đó. Cấu trúc hẹp hơn của dịch vụ này bao gồm việc bảo vệ một bản tin
riêng lẻ hay những trường hợp cụ thể trong một bản tin. Khía cạnh khác của tin bí
mật là việc bảo vệ lưu lượng khỏi việc phân tích. Điều này làm cho những kẻ tấn
công không thể quan sát được tần suất, độ dài của nguồn và đích hoặc những đặc
điểm khác của lưu lượng trên một phương tiện giao tiếp.
Tính xác thực(Authentication), liên quan tới việc đảm bảo rằng một cuộc trao
đổi thông tin là đáng tin cậy. Trong trường hợp một bản tin đơn lẻ, ví dụ như một
tín hiệu báo động hay cảnh báo, chức năng của dịch vụ ủy quyền là đảm bảo bên
nhận rằng bản tin là từ nguồn mà nó xác nhận là đúng. Trong trường hợp một
tương tác xảy ra, ví dụ kết nối của một đầu cuối đến máy chủ, có hai vấn đề đặt ra:
Thứ nhất tại thời điểm khởi tạo kết nối, dịch vụ đảm bảo rằng hai thực thể là đáng
tin, mỗi chúng là một thực thể được xác nhận. Thứ hai là dịch vụ cần phải đảm bảo
rằng kết nối là không gây nhiễu do một thực thể thứ ba có thể giả mạo là một trong
hai thực thể hợp pháp để truyền tin hoặc nhận tin khi không được cho phép.
Tính toàn vẹn (Integrity), cùng với tính bí mật thì tính toàn vẹn có thể áp
dụng cho một luồng các bản tin, một bản tin riêng biệt hoặc những trường hợp lựa
chọn trong bản tin. Một lần nữa, phương thức có ích nhất và dễ dàng nhất là bảo vệ
toàn bộ luồng dữ liệu. Một dịch vụ toàn vẹn hướng kết nối, liên quan tới luồng dữ
liệu, đảm bảo rằng các bản tin nhận được cũng như gửi không có sự trùng lặp,
chèn, sửa, hóan vị hoặc tái sử dụng. Việc hủy dữ liệu này cũng được bao gồm
trong dịch vụ này. Vì vậy, dịch vụ toàn vẹn hướng kết nối phá hủy được sự thay
đổi luồng dữ liệu. Mặt khác, một dịch vụ toàn vẹn không kết nối, liên quan tới

từng bản tin riêng lẻ, không quan tâm tới bất kỳ một hoàn cảnh rộng nào, chỉ cung
cấp sự bảo vệ chống lại sửa đổi bản tin. Ta có thể phân biệt giữa dịch vụ có và
13


không có phục hồi. Bởi vì dịch vụ toàn vẹn liên quan tới tấn công chủ động, ta
quan tâm tới phát hiện hơn là ngăn chặn. Nếu một sự vi phạm toàn vẹn được phát
hiện, thì phần dịch vụ đơn giản là báo cáo sự vi phạm này và một vài những phần
mềm hoặc sự ngăn chặn của con người sẽ được yêu cầu để khôi phục từ những vi
phạm đó. Có những cơ chế giành sẵn để khôi phục lại những mất mát của việc toàn
vẹn dữ liệu.
Không thể phủ nhận (Non repudiation), tính không thể phủ nhận đảm bảo
rằng người gửi và người nhận không thể chối bỏ 1 bản tin đã được truyền. Vì vậy,
khi một bản tin được gửi đi, bên nhận có thể chứng minh được rằng bản tin đó thật
sự được gửi từ người gửi hợp pháp. Hoàn toàn tương tự, khi một bản tin được
nhận, bên gửi có thể chưng minh được bản tin đó đúng thật được nhận bởi người
nhận hợp lệ.
Khả năng điều khiển truy nhập (Access Control), trong hoàn cảnh của an
ninh mạng điều khiển truy cập là khả năng hạn chế các truy nhập với máy chủ
thống qua đường truyền thông. Để đạt được việc điều khiển này, mỗi một thực thể
cố gắng đạt được quyền truy nhập cần phải được nhận diện hoặc được xác nhận
sao cho quyền truy nhập có thể được đáp ứng nhu cầu đối với từng người.
Tính khả dụng, sẵn sàng(Availability), một hệ thống đảm bảo tính sẵn sàng
có nghĩa là có thể truy nhập dữ liệu bất cứ lúc nào mong muốn trong một khoảng
thời gian cho phép. Các cuộc tấn công khác nhau có thể tạo ra sự mất mát hoặc
thiếu về sự sẵn sàng của dịch vụ. Tính khả dụng của dịch vụ thể hiện khả năng
ngăn chặn và khôi phục những tổn thất của hệ thống do các cuộc tấn công gây ra.
1.2. Tổng Quan về máy chủ DHCP Server
DHCP (Dynamic Host Configuration Protocol) là giao thức cấu hình Host
động. Giao thức này cung cấp phương pháp thiết lập các thông số TCP/IP cần thiết

cho hoạt động của mạng, giúp giảm khối lượng công việc cho quản trị hệ thống.
Tuy có nhiều ưu điểm, nhưng giao thức DHCP hoạt động lại khá đơn giản, suốt
quá trình trao đổi thông điệp giữa DHCP Server và DHCP Client không có sự xác
14


thực hay kiểm soát truy cập nên cũng phát sinh một số điểm yếu về an toàn.
Trong một hệ thống mạng, các máy tính thường liên lạc với nhau bằng giao
thức TCP/IP, do đó chúng phải được cấu hình IP theo một quy tắc nhất định. Với
một hệ thống khoảng từ 20 máy tính trở xuống thì việc cấp phát, cài đặt, quản lý
các địa chỉ IP thủ công có thể thực hiện được. Nhưng với một hệ thống lớn hơn thì
việc sử dụng một dịch vụ như DHCP để cấp phát, quản lý địa chỉ IP một cách tự
động là hoàn toàn cần thiết. Những ưu, nhược điểm và giải pháp khắc phục của
dịch vụ DHCP sẽ được đề cập dưới đây.
+ Ưu điểm của dịch vụ DHCP
DHCP là giao thức cấu hình Host động. Giao thức này cung cấp phương
pháp thiết lập các thông số TCP/IP cần thiết cho hoạt động của mạng, giúp giảm
khối lượng công việc cho quản trị hệ thống mạng. Dịch vụ DHCP gồm hai thành
phần là DHCP Server (máy chủ chạy dịch vụ DHCP) và DHCP Client (máy trạm
chạy dịch vụ DHCP).
Quá trình truyền thông giữa một máy tính trạm được cấu hình sử dụng IP
động (DHCP Client) với một máy chỉ được cấu hình đảm nhận chức năng cấp phát
IP động (DHCP Server) diễn ra như sau:
- Đầu tiên, DHCP Client muốn nhận một địa chỉ IP mới (tức là máy tính này
muốn tham gia vào hệ thống mạng) sẽ gửi lên toàn mạng (gửi broadcast) một
thông điệp DHCP Discover có chứa địa chỉ MAC của mình để tìm kiếm sự hiện
diện của DHCP Server.
- Nếu tồn tại sự hoạt động của một DHCP Server có cùng subnet với DHCP
Client trên thì DHCP Server này sẽ phản hồi cho DHCP Client một thông điệp
DHCP Offer có chứa địa chỉ IP và các thiết lập TCP/IP khác như một lời đề nghị

cho thuê địa chỉ đó.
- Ngay sau khi nhận được thông điệp DHCP Offer đầu tiên, DHCP Client sẽ
gửi lại cho DHCP Server đó một thông điệp DHCP như là một lời chấp thuận thuê
địa chỉ IP đó.
15


- Cuối cùng, DHCP Server sẽ gửi lại cho DHCP Client thông điệp DHCP
Acknowledgment để xác nhận lần cuối hợp đồng cho thuê địa chỉ IP.
Sau bốn bước trên, máy tính trạm có thể sử dụng IP vừa được thuê để truyền thông
với các máy tính khác trên hệ thống mạng. Sử dụng dịch vụ DHCP sẽ có các ưu
điểm sau:
- Quản lý TCP/IP tập trung: dịch vụ DHCP sẽ quản lý tập trung trên giao
diện của nó. Điều đó giúp người quản trị dễ dàng quản lý, cấu hình, khắc phục khi
có lỗi xảy ra trên các máy trạm.
- Giảm khối lượng công việc cho các nhà quản trị hệ thống: với dịch vụ
DHCP, người quản trị không phải đến từng máy trạm để cấp phát địa chỉ IP và
người dùng cũng không tự ý thay đổi địa chỉ IP của mình được.
- Giúp hệ thống mạng luôn được duy trì ổn định: dịch vụ DHCP cấp phát IP
động cho máy trạm từ dải IP có sẵn trên DHCP Server, nên sự trùng lặp IP không
bao giờ xảy ra, các máy trạm luôn có cấu hình TCP/IP chuẩn, giúp hệ thống mạng
hoạt động liên tục, ổn định cao.
- Linh hoạt và tăng khả năng mở rộng: qua giao diện của dịch vụ DHCP
người quản trị có thể dễ dàng thay đổi cấu hình IP cho toàn bộ các máy khi cơ sở
hạ tầng thay đổi, có thể giới hạn hoặc mở rộng dải địa chỉ IP cho hệ thống mạng.
1.2.1 Một số cách cấu hình địa chỉ IP
Thông thường trong một mô hình mạng, người quản trị có thể cấu hình IP
cho các máy client theo 2 cách là cấu hình thủ công (static) và sử dụng dịch vụ
DHCP để cấp phát IP động (dynamic).
- Static : người quản trị phải khai báo địa chỉ IP dạng tĩnh này trên từng máy

client theo cách thủ công. Chỉ nên dùng cách này để cấp phát địa chỉ IP cho các
client khi :
+) Một máy chủ hoặc một máy trạm (client) đang chạy một ứng dụng đòi hỏi
phải có IP tĩnh.
+) Trong mạng không có DHCP Server.
16


+) Quy mô mạng nhỏ (dưới 20 máy).
Dùng cách này thì người quản trị không cần cấu hình thêm DHCP, giảm bớt
một phần việc cho người quản trị. Nhưng việc làm này chỉ phù hợp đối với hệ
thống mạng có quy mô nhỏ (<20 máy). Nếu một mạng lớn thì việc cấp phát trùng
địa chỉ IP là việc hoàn toàn có khả năng xảy ra, dẫn đến máy trạm trên mạng có địa
chỉ IP trùng lặp (duplicate IP) này sẽ không truy cập được vào mạng, và việc cấp
phát IP như vậy trong một mạng lớn là việc không khả thi.
- Dynamic : một địa chỉ IP động là một địa chỉ sẽ thay đổi trong khoản thời
gian xác định. Người quản trị dùng dịch vụ DHCP để cấp phát địa chỉ IP động này
cho các máy trạm trong mạng. Phù hợp với việc cấp phát địa chỉ cho một mạng
lớn, và việc cấp phát IP động dạng này được quản lý tập trung thông qua DHCP
Server.
Việc cấp phát IP động dạng này có ưu điểm hơn so với cơ chế khai báo tĩnh
các thông số mạng như :
+) Khắc phục được tình trạng đụng địa chỉ IP và giảm chi phí quản trị cho hệ
thống mạng.
+) Giúp cho các nhà cung cấp dịch vụ (ISP) tiết kiệm được số lượng địa chỉ
IP thật (public IP).
+) Phù hợp với các máy tính thường xuyên di chuyển qua lại giữa các mạng.
+) Kết hợp với hệ thống mạng không dây (Wireless) cung cấp các điểm
Hostpot như: nhà ga, sân bay, trường học,…
1.2.2 Giới thiệu hệ thống DHCP Server

- DHCP là : Dynamic Host Configuration Protocol (DHCP - giao thức cấu
hình động máy chủ) là một giao thức cấu hình tự động địa chỉ IP. Máy tính được
cấu hình một cách tự động vì thế sẽ giảm việc can thiệp vào hệ thống mạng. Nó
cung cấp một database trung tâm để theo dõi tất cả các máy tính trong hệ thống
mạng. Mục đích quan trọng nhất là tránh trường hợp hai máy tính khác nhau lại có
cùng địa chỉ IP. Nếu không có DHCP, các máy có thể cấu hình IP thủ công. Ngoài
17


việc cung cấp địa chỉ IP, DHCP còn cung cấp thông tin cấu hình khác, cụ thể như
DNS. Hiện nay DHCP có 2 version: cho IPv4 và IPv6.
- Lịch sử phát triển : DHCP đầu tiên được định nghĩa trong RFC 1531 vào
tháng 10/1993, là phần mở rộng của Bootstrap Protocol(BOOTP). Động cơ để cải
tiến BOOTP là BOOTP đòi hỏi phải cấu hình thủ công để thêm thông tin cho từng
máy client, và không cung cấp cơ chế tái sử dụng lại địa chỉ IP. Năm 1997, RFC
2131 ra đời, cho chuẩn IPv4 cho đến năm 2011. DHCPv6 được định nghĩa
trong RFC 3315 RFC 3633 được thêm vào DHCPv6 cơ chế prefix delegation.Giao
thức BOOTP lần đầu tiên được định nghĩa trong RFC 951 thay thê cho RARP
(Reverse Address Resolution Protocol), mà động cơ thiết yếu để thay thế RARP
bằng BOOTP là RARP hoạt động ở tầng data link, điều này làm cho việc thực hiện
trên nhiều máy Server trở nên khó khăn, và đòi hỏi một Server sử lí trên riêng trên
từng network. BOOTP có đổi mới relay agent, cho phép forwarding đến gói
BOOTP trong mạng cục bộ, vì vậy BOOTP Server có thể phục vụ cho nhiều IP
subnet.
1.2.3 Cơ chế cấp phát địa chỉ IP
a) Cơ chế hoạt động của DHCP
Quản lý tập trung việc cấp phát địa chỉ IP (và các thiết lập cần thiết khác như
các địa chỉ của DNS Server, WINS Server, default gateway…) cho các máy tính
trong mạng được thực hiện tại DHCP Server giúp giảm thiểu thời gian cần thiết để
để cấu hình (hoặc cấu hình lại) cho các thông số IP đó.

(+) Việc tự động gán các địa chỉ IP cũng giúp tránh được những lỗi phát sinh
từ việc nhập bằng tay các thông số IP tại mỗi máy. Ví dụ, DHCP giúp ngăn chặn
các xung đột về địa chỉ xảy ra khi hai (hay nhiều) máy được gán cùng một IP.

18


Hình 1.1: Cơ chế cấp phát địa chỉ IP của DHCP Server
Giao thức DHCP làm việc theo mô hình client/Server. Đó là một quá trình
tương tác giữa DHCP client và DHCP Server diễn ra theo 4 bước:
1. IP lease request
2. IP lease offer
3. IP lease selection
4. IP lease acknowledgement
Có thể tóm tắt quá trình này như sau:
- IP Lease Request
Đầu tiên, client sẽ broadcast một message tên là DHCPDISCOVER, vì client
lúc này chưa có địa chỉ IP cho nên nó sẽ dùng một địa chỉ source(nguồn) là 0.0.0.0
và cũng vì client không biết địa chỉ của DHCP Server nên nó sẽ gửi đến một địa
chỉ broadcast là 255.255.255.255. Lúc này gói tin DHCPDISCOVER này sẽ
broadcast lên toàn mạng.

19


Hình 1.2: Nội dung một bản tin DHCP DISCOVERY
Gói tin này cũng chứa một địa chỉ MAC (Media Access Control) (là địa chỉ
mà mỗi một network adapter (card mạng) sẽ được nhà sản xuất cấp cho và là mã số
để phân biệt các card mạng với nhau.
Ví dụ để biết card mạng của mình có MAC address là gì, trên WINDOW vào

run --> đánh command --> IPconfig /all --> sẽ hiện ra một đoạn text gồm các thông
tin khác nhau về IP, DNS, default gateway

20


Hình 1.3: Thông tin chi tiết về một NIC trên máy tính window
- IP Lease Offer
Nếu có một DHCP hợp lệ (nghĩa là nó có thể cấp địa chỉ IP cho một client)
nhận được gói tin DHCPDISCOVER của client thì nó sẽ trả lời lại bằng một gói
tin DHCPOFFER, gói tin này đi kèm theo những thông tin sau:
+ MAC address của client
+ Một IP address cấp cho (offer IP address)
+ Một subnet mask
+ Thời gian thuê (mặc định là 8 ngày)
+ Địa chỉ IP của DHCP cấp IP cho client này

21


Hình 1.4: Nội dung một bản tin DHCP offer
Lúc này DHCP Server sẽ được giữ lại một IP đã offer (cấp) cho client để nó
không cấp cho DHCP client nào khác.
DHCP client chờ một vài giây cho một offer, nếu nó không nhận một offer
nó sẽ rebroadcast (broadcast gói DHCPDISCOVER) trong khoảng thời gian là 2-,
4-, 8- và 16- giây, bao gồm một khoảng thời gian ngẫu nhiên từ 0 - 1000 mili giây.
Nếu DHCP client không nhận một offer sau 4 lần yêu cầu, nó sử dụng một địa chỉ
IP trong khoảng 169.254.0.1 đến 169.254.255.254 với subnet mask là 255.255.0.0.
Nó sẽ sử dụng trong một số trong khoảng IP đó và việc đó sẽ giúp các DHCP
client trong một mạng không có DHCP Server thấy nhau. DHCP client tiếp tục cố

gắng tìm kiếm một DHCP Server sau mỗi 5 phút.
- IP Lease Selection
DHCP client đã nhận được gói tin DHCPOFFER thì nó sẽ phản hồi broadcast
lại một gói DHCPREQUEST để chấp nhận cái offer đó.
22


Hình 1.5: Nội dung 1 bản tin DHCPRequest
DHCPREQUEST bao gồm thông tin về DHCP Server cấp địa chỉ cho nó.
Sau đó, tấc cả DHCP Server khác sẽ rút lại các offer (trường hợp này là trong
mạng có nhiều hơn 1 DHCP Server) và sẽ giữ lại IP address cho các yêu cầu xin IP
address khác.
- IP Lease Acknowledgement
DHCP Server nhận được DHCPREQUEST sẽ gởi trả lại DHCP client một
DHCPACK để cho biết là đã chấp nhận cho DHCP client đó thuê IP address đó.

23


Hình 1.6: Nội dung một bản tin DHCP ACK
Gói tin này bao gồm địa chỉ IP và các thông tin cấu hình khác (DNS Server,
WINS Server... ). Khi DHCP client nhận được DHCPACK thì cũng có nghĩa là kết
thúc quá trình "tìm kiếm và xin sỏ" của mình.
(Tấc cả việc trao đổi thông tin giữa một DHCP Server và DHCP client sẽ sử
dụng UDP port là 67 và 68 (User Datagram Protocol). Một vài switch sẽ không
cho phép các gói tin trao đổi theo kiểu broadcast đi qua, cho nên cần phải config
những switch này để được broadcast qua những port này)
Như vậy, nhìn chung DHCP làm việc khá đơn giản nhưng điểm mấu chốt ở
đây là xuyên suốt quá trình trao đổi thông điệp giữa Server và client không hề có
sự xác thực hay kiểm soát truy cập nào. Vì vậy:

(+) Server không có cách nào biết được rằng nó có đang liên lạc với một
legitimate client (tạm dịch là máy hợp pháp, tức là một máy không bị điều khiển để
thực hiện các mục đích xấu) hay không.
24


(+) và ngược lại client cũng không thể biết được là nó có đang liên lạc với
một legitimate Server hay không.
b) Cơ chế tự động refresh lại thời gian đăng ký ( lease time).
Khi cài đặt dịch vụ DHCP nó sẽ thường mặc định thời gian thuê của 1 địa chỉ
IP là 8 ngày ( tuỳ vào nhu cầu mà ta có thể tinh chỉnh thời gian sao cho phù hợp ).
+Sau 50% thời gian DHCP client sẽ trực tiếp gửi 1 DHCP request đến DHCP
Server để xin lại IP address ( là unicast chứ ko phải broadcast). Nếu DHCP Server
chấp nhận , nó sẽ gửi lại gói tin DHCP ACK cho DHCP client.
+ Sau 87,5 % thì DHCP client sẽ gửi 1 DHCP discover tới bất cứ Server nào
để update lại IP .( trừ Server ban đầu)
c) Vấn đề gói tin của MS và CISCO đây là cơ chế của MS

Hình 1.7 : Cơ chế cấp IP của DHCP Server Microsoft
Đây là cơ chế của CISCO
25


×