ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
--------------
NGUYỄN MINH TUẤN
BẢO MẬT DỊCH VỤ HỆ THỐNG
MẠNG MÁY TÍNH
Ngành: Kỹ thuật điện tử viễn thông
Chuyên ngành: Kỹ thuật Vô tuyến điện tử và thông tin liên lạc
Mã số: 2.07.00
LUẬN VĂN THẠC SĨ
Hà nội – 2005
Mục lục
Mở đầu ............................................................................................................................. 1
Chương 1: Các vấn đề chung về mạng máy tính và bảo mật hệ thống ......................... 3
1.1. Căn bản về mạng máy tính: ................................................................................... 3
1.1.1. Khái niệm chung:
1.1.1.1.
Các thành phần của mạng máy tính: .......................................................... 3
1.1.1.2.
Phân loại mạng máy tính: ......................................................................... 3
1.1.2. Mạng Internet và bộ giao thức TCP/IP
1.2. Các vấn đề chung về bảo mật hệ thống và mạng ................................................. 19
1.2.1. Các vấn đề về an ninh mạng: ......................................................................... 20
1.2.1.1.
Một số khái niệm về bảo mật .................................................................. 20
1.2.1.2.
Lịch sử bảo mật mạng và hệ thống: ......................................................... 22
1.2.1.3.
Một số hình thức tấn công mạng ............................................................. 23
1.2.1.4.
Các mức bảo vệ an toàn mạng ................................................................ 24
1.2.2. Các phương thức mã hoá ............................................................................... 25
1.2.2.1.
Đặc điểm chung của các phương thức mã hóa: ........................................ 25
1.2.2.2.
Các phương thức mã hóa: ....................................................................... 28
Chương 2: Các lỗ hổng và phương thức tấn công Mạng phổ biến .............................. 31
2.1. Các lỗ hổng và điểm yếu của mạng ...................................................................... 35
2.1.1.
Các lỗ hổng ................................................................................................... 35
2.1.1.1.
2.1.1.2.
2.1.1.3.
2.1.2.
Phân loại lỗ hổng bảo mật:...................................................................... 35
ảnh hưởng của các lỗ hổng bảo mật trên mạng Internet: .......................... 41
Các biện pháp phát hiện hệ thống bị tấn công: ........................................ 42
Một số điểm yếu của hệ thống:....................................................................... 44
2.1.2.1.
2.1.2.2.
2.1.2.3.
2.1.2.4.
Deamon fingerd: ..................................................................................... 44
File hosts.equiv:...................................................................................... 44
Thư mục /var/mail .................................................................................. 44
Chức năng proxy của FTPd: ................................................................... 45
2.1.3. Bảo mật dịch vụ Web: .................................................................................... 45
2.1.3.1.
Lý do: ..................................................................................................... 45
2.1.3.2.
Phương thức hoạt động của dịch vụ Web ................................................ 45
2.1.3.3.
Các vấn đề bảo mật đối với dịch vụ Web ................................................ 46
ii
2.2. Một số phương thức tấn công mạng phổ biến ..................................................... 51
2.2.1.
Scanner ......................................................................................................... 51
2.2.1.1.
2.2.1.2.
Khái niệm về Scanner? ........................................................................... 51
Cơ chế hoạt động của các chương trình Scanner ..................................... 51
2.2.2.
Password Cracker: ........................................................................................ 53
2.2.3.
Trojans .......................................................................................................... 56
2.2.3.1.
2.2.3.2.
2.2.3.3.
Khái niệm về Trojan ............................................................................... 56
Phương thức lây lan của các chương trình trojan: .................................... 58
ảnh hưởng của các chương trình trojans: ................................................. 58
2.2.4. Sniffer:........................................................................................................... 59
2.2.4.1.
Khái niệm về sniffer: .............................................................................. 59
2.2.4.2.
2.2.4.3.
2.2.4.4.
2.2.4.5.
Hoạt động của sniffer:............................................................................. 59
Mức độ nguy hại của sniffer ................................................................... 60
Một số chương trình sniffer .................................................................... 61
Phát hiện hệ thống bị sniffer: .................................................................. 61
2.2.4.6.
Các biện pháp hạn chế sniffer ................................................................. 61
Chương 3: Các biện pháp bảo vệ mạng máy tính ........................................................ 55
3.1. Các biện pháp kiểm soát hệ thống ....................................................................... 63
3.1.1. Kiểm soát hệ thống qua logfile: ..................................................................... 63
3.1.1.1.
Hệ thống Logfie trong Unix: ................................................................... 63
3.1.1.2.
Một số công cụ hữu ích hỗ trợ phân tích logfile: ..................................... 67
3.1.1.3.
Các công cụ ghi log thường sử dụng trong Windows NT: ....................... 68
3.2. Các biện pháp tạo kết nối an toàn ........................................................................ 70
3.2.1.
Giới thiệu chung: ........................................................................................... 70
3.2.2.
Các hoạt động của giao thức SSL đối với dịch vụ........................................... 71
3.2.3.
SSL Handshake .............................................................................................. 72
3.2.4.
Quá trình kiểm tra tính xác thực của Server được mô tả như sau: .................. 75
3.2.5.
Quá trình kiểm tra tính xác thực ở phía Client: .............................................. 76
3.3. Xây dựng hệ thống firewalls ................................................................................. 78
3.3.1. Giới thiệu chung: ........................................................................................... 78
3.3.1.1.
Định nghĩa: ............................................................................................. 78
iii
3.3.1.2.
3.3.1.3.
3.3.1.4.
Chức năng của firewalls:......................................................................... 78
Phân loại:................................................................................................ 79
Nguyên tắc hoạt động của firewalls: ....................................................... 79
3.3.2. Kiến trúc chung của firewall: ......................................................................... 82
3.3.2.1.
Kiến trúc của hệ thống có firewall: ......................................................... 82
3.3.2.2.
Các thành phần của hệ thống firewalls: ................................................... 83
3.3.2.3.
Các bước cần thiết xây dựng firewall ...................................................... 85
3.3.3.
Một số phần mềm firewalls thường sử dụng: .................................................. 86
3.4. Xây dựng chính sách bảo mật .............................................................................. 87
Chương 4: Xây dựng mô hình bảo mật hệ thống mạng máy
tính…………………..…94
4.1. Hiện trạng hệ thống mạng máy tính của trường Đại học Quốc gia Hà
nội……..94
4.2. Những nhược điểm của mạng thông tin Đại học Quốc gia Hà
nội………….…...95
4.3. Quy hoạch lại hệ thống mạng Đại học quốc gia Hà nội……………………...…..96
4.3.1. Mục tiêu quy hoạch……………………………………………………………..96
4.3.2. Kế hoạch thực hiện quy hoạch lại hệ thống mạng máy tính của ĐHQG HN…..96
4.3.3. Kết quả thực
hiện………………………………………………………………..97
Kết luận.............................................................................................................................140
Tài liệu tham khảo...........................................................................................................141
iv
CÁC HÌNH TRONG KHÓA LUẬN
Hình 1 - So sánh mô hình mạng TCP/IP và mô hình OSI ................................................................6
Hình 2 - Khuôn dạng segment trong TCP .......................................................................................7
Hình 3 - Cấu trúc địa chỉ lớp A ......................................................................................................8
Hình 4 - Cấu trúc địa chỉ lớp B.......................................................................................................8
Hình 5 - Cấu trúc địa chỉ lớp C.......................................................................................................8
Hình 6 - Cơ chế hoạt động của sâu Internet .................................................................................. 22
Hình 7 - Các hình thức tấn công mạng.......................................................................................... 24
Hình 8 - Các mức độ bảo vệ mạng ............................................................................................... 24
Hình 9 - Phương thức mã hóa đối xứng ........................................................................................ 28
Hình 10 - Phương thức mã hóa phi đối xứng ................................................................................ 30
Hình 11 - Mã hóa một chiều ......................................................................................................... 32
Hình 12 - Các loại lỗ hổng bảo mật và mức độ ngưy hiểm ............................................................ 36
Hình 13 - Một phiên làm việc của dịch vụ Web ............................................................................ 46
Hình 14 - Hoạt động của các chương trình CGI ............................................................................ 47
Hình 15 - Hoạt động của các chương trình bẻ khóa....................................................................... 54
Hình 16 - Các vị trí đặt sniffer trên 1 segment mạng ..................................................................... 60
Hình 17 - Ghi logs trong Windows 2000 ...................................................................................... 68
Hình 18 - Công cụ Event View của Windows 2000 ...................................................................... 69
Hình 19 - Chi tiết 1 thông báo lỗi trong Windows 2000 ................................................................ 69
Hình 20 - Cấu hình dịchvụ ghi logs trong Windows 2000 ............................................................. 70
Hình 21 - Vị trị của SSL trong mô hình TCP/IP ........................................................................... 70
Hình 22 - Quá trình kiểm tra xác thực ở phía Server ..................................................................... 75
Hình 23 - Quá trình kiểm tra xác thực của client ........................................................................... 78
Hình 24 - Kiến trúc hệ thống mạng không có firewall ................................................................... 83
Hình 25 - Kiến trúc hệ thống cò firewall....................................................................................... 83
Hình 26 - Các thành phần của hệ thống firewalls .......................................................................... 84
v
MỞ ĐẦU
Sự phát triển của công nghệ thông tin, công nghệ mạng máy tính và đặc biệt là
mạng Internet ngày càng phát triển đa dạng và phong phú. Các dịch vụ trên mạng
Internet đã xâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các thông tin
trao đổi trên Internet cũng đa dạng cả về nội dung và hình thức, trong đó có rất
nhiều thông tin cần bảo mật cao bởi tính kinh tế, tính chính xác và tin cậy của nó.
Bên cạnh đó, những dịch vụ mạng ngày càng có giá trị, yêu cầu phải đảm bảo
tính ổn định và an toàn cao. Tuy nhiên, các hình thức phá hoại mạng cũng trở nên
tinh vi và phức tạp hơn, do đó đối với mỗi hệ thống, nhiệm vụ bảo mật đặt ra cho
ngƣời quản trị là hết sức quan trọng và cần thiết.
Xuất phát từ những thực tế nêu trên, hiện nay trên thế giới đã xuất hiện rất
nhiều công nghệ liên quan đến bảo mật hệ thống và mạng máy tính. Việc nắm bắt
những công nghệ này là hết sức cần thiết vì công tác bảo mật của các hệ thống
mạng Internet Việt Nam nói chung và mạng nội bộ của khách hàng cũng không nằm
ngoài các yêu cầu trên.
Chính vì vậy, Tôi đã lựa chọn đề tài này để tìm hiểu, các vấn đề mà tôi tìm
hiểu và nghiên cứu là nhƣ sau:
Các vấn đề chung về hệ thống và các dịch vụ cung cấp trên mạng
Internet
Các điểm yếu và lỗ hổng bảo mật thƣờng có trên một số hệ thống cung
cấp dịch vụ.
Các phƣơng thức tấn công mạng phổ biến và các biến pháp phòng chống
Thiết lập các chính sách bảo mật đối với hệ thống.
Tôi biên soạn và cấu trúc tài liệu làm bốn phần, gồm:
Chƣơng 1: Trình bày các vấn đề chung về mạng máy tính và bảo mật hệ
thống.
Chƣơng 2: Trình bày các vấn đề về lỗ hổng bảo mật, điểm yếu của hệ thống và
một số dịch vụ cung cấp;
Chƣơng 3: Trình bày một số giải pháp bảo mật hệ thống và mạng nhƣ: tạo kết
nối bảo mật, firewalls, xây dựng chính sách bảo mật...
1
Chƣơng 4: Phần mô tả một số bài thực hành đƣợc làm trong khoá luận này
Bảo mật hệ thống là một vấn đề rộng và mới đối với Việt Nam, tôi nhận đƣợc
sự nhiệt tình hƣớng dẫn của thầy Nguyễn Kim Giao, cùng với những góp ý quý báu
của các anh chị làm việc tại công ty Điện toán và Truyền số liệu (VDC), sự nhiệt
tình trong phần thực hành của các anh chị và các bạn đồng nghiệp tại Viện Công
nghệ Thông tin - Đại học Quốc gia Hà Nội đã góp sức cho tôi hoàn thành khóa luận
này. Tôi tự nhận thấy kinh nghiệm và kỹ thuật còn hạn chế, nội dung chắc chắn sẽ
còn sai sót, hy vọng các đọc giả tham gia đóng góp nhiều ý kiến bổ sung để tôi hoàn
thiện kiến thức của mình hơn nữa.
2
CHƢƠNG 1: CÁC VẤN ĐỀ CHUNG VỀ MẠNG MÁY TÍNH
VÀ BẢO MẬT HỆ THỐNG
1.1. CĂN BẢN VỀ MẠNG MÁY TÍNH:
1.1.1.
Khái niệm chung:
1.1.1.1.
Các thành phần của mạng máy tính:
Định nghĩa mạng máy tính:
Mạng máy tính là một tập hợp các máy tính đƣợc nối với nhau bởi các đƣờng
truyền vật lý theo một kiến trúc nào đó. Việc hình thành các mạng máy tính cho
phép nâng cao hiệu quả khai thác tài nguyên chung từ những vị trí địa lý khác nhau.
Hai thành phần cơ bản của mạng máy tính đó là đƣờng truyền vật lý và kiến
trúc mạng
Đường truyền vật lý:
Đƣờng truyền vật lý dùng để chuyển các tín hiệu điện tử giữa các máy tính.
Các tín hiệu điện tử đó biểu thị các giả trị dữ liệu dƣới dạng các xung nhị phân (on off). Tất cả các tín hiệu đƣợc truyền giữa các máy tính đều thuộc một dạng sóng
điện từ (EM) nào đó, trải từ các tần số radio tới sóng cực ngắn (viba) và tia hồng
ngoại. Tuỳ theo tần số của sóng điện từ có thể dùng các đƣờng truyền vật lý khác
nhau để truyền các tín hiệu
Kiến trúc mạng:
Kiến trúc mạng thể hiện cách nối các máy tính với nhau ra sao và tập hợp các
qui tắc, qui ƣớc mà tất cả các thực thể tham gia truyền thông trên mạng phải tuân
theo để đảm bảo cho mạng hoạt động tốt.
Các cách nối các máy tính đƣợc gọi là hình trạng (topology) của mạng
Các tập hợp qui tắc, qui ƣớc truyền thông đƣợc gọi là giao thức (protocol) của
mạng
1.1.1.2.
Phân loại mạng máy tính:
Phân loại theo khoảng cách địa lý:
Phân loại theo khoảng cách địa lý là cách phổ biến và thông dụng nhât. Theo
cách phân loại này ta có các loại mạng sau:
3
Mạng cục bộ: Là mạng đƣợc cài đặt trong một phạm vi nhỏ (trong một
toà nhà, một trƣờng học...); khoảng cách tối đa giữa các máy tính chỉ vài
km trở lại
Mạng đô thị: Là mạng đƣợc cài đạt trong phạm vi một đô thị hoặc một
trung tâm kinh tế - xã hội; khoảng cách tối đa giữa các máy tính khoảng
vài chục km trở lại
Mạng diện rộng (WAN): Phạm vi của mạng trải rộng trong phạm vi một
quốc gia, hoặc giữa các quốc gia trên toàn thế giới. Mạng Internet ngày
này là một ví dụ điển hình của mạng WAN
Phân loại theo kiến trúc mạng sử dụng:
Ngoài cách phân loại trên, ngƣời ta còn có thể phân loại mạng theo kiến trúc
mạng (topo mạng và giao thức sử dụng). Theo cách phân loại này, có các loại mạng
nhƣ:
Mạng SNA của IBM
Mạng ISO (theo kiến trúc chuẩn quốc tế)
Mạng TCP/IP
Trong phạm vi của tài liệu này, chúng ta quan tâm đến các vấn đề về bảo mật
mạng Internet và các hệ thống xây dựng dựa trên nền bộ giao thức TCP/IP. Vì vậy,
trong phần sau đây chúng ta sẽ tìm hiểu một số khái niệm thƣờng đƣợc sử dụng trên
mạng Internet và bộ giao thức TCP/IP.
1.1.2.
Mạng Internet và bộ giao thức TCP/IP
1.1.2.1.
Mạng Internet:
Thuật ngữ "Internet" đƣợc xem nhƣ là một "mạng của các mạng" hay một liên
kết mạng có tính toàn cầu. Công nghệ Internet ra đời cho phép ngƣời sử dụng trên
toàn cầu có thể chia xẻ, trao đổi thông tin với nhau trong nhiều lĩnh vực. Có thể nói
các dịch vụ của mạng Internet có mặt trong hầu khắp các lĩnh vực của cuộc sống
ngày nay.
Lịch sử phát triển:
Năm 1969, cơ quan nghiên cứu và phát triển tiên tiến thuộc Bộ quốc phòng
Mỹ (Advanced Research Project Agency) đã xây dựng thành công mạng ARPANet,
4
cho phép kết nối 4 trung tâm máy tính trên toàn nƣớc Mỹ, phục vụ mục đích quân
sự. Khởi đầu ARPANet sử dụng bộ giao thức NCP (Network Control Protocol).
Vào giữa những năm 1970, họ giao thức TCP/IP (Transmission Control
Protocol/Internet Protocol) đƣợc Vint Cerf (Đại học Stanford) và Robert Kahn
(BBN) phát triển, ban đầu cùng tồn tại với NCP và đến năm 1983 thì hoàn toàn thay
thế NCP trong mạng ARPANet.
Vào đầu những năm 1980, mạng ARPANet đƣợc tách làm hai phần: phần dân
sự phục vụ mục đích nghiên cứu vần giữ tên là ARPANet và phần quân sự có tên là
mạng MILNET.
Tháng 11/1986, Uỷ ban khoa học quốc gia Mỹ NSF (National Science
Foundation) đã thúc đẩy việc xây dựng một mạng xƣơng sống cho phép kết nối 5
trung tâm máy tính lớn trên toàn liên bang Mỹ. Năm 1987, mạng NSFNet ra đời với
tốc độ đƣờng truyền cao 1.5Mb/s cho phép nối các trung tâm máy tính với nhau.
Việc ra đời mạng xƣơng sống NSFNet và các mạng vùng đã trở thành tiền
thân của mạng Internet ngày nay. Một xa lộ thông tin mới đƣợc hình thành cho phép
kết nối mạng của các trƣờng đại học, các viện nghiên cứu đã tham gia của cộng
đồng Internet. Sau đó, các cơ quan chính phủ, các tổ chức kinh doanh cũng tham gia
vào mạng Internet. Về mặt địa lý Internet nhanh chóng vƣợt ra khỏi nƣớc Mỹ và trở
thành một mạng toàn cầu. Đến nay, theo số liệu thống kê của tập đoàn dữ liệu quốc
tế IDG thì số lƣợng ngƣời sử dụng mạng Internet đã lên đến hơn 150 triệu ngƣời.
Việc phát triển mạnh mẽ mạng Internet gắn liền với việc phát triển bộ giao
thức TCP/IP. Ra đời vào những năm 1970, TCP/IP sau đó đƣợc tích hợp vào môi
trƣờng điều hành Unix (một hệ điều hành mạng của trƣờng đại học California ở
Berkeley). Đến khi xuất hiện máy tính cá nhân (Personal Computer - PC) thì
TCP/IP lại đƣợc chuyển sang máy PC chạy DOS và các trạm làm việc Unix có thể
kết nối với nhau. TCP/IP ngày càng phát triển và hoàn thiện, đến nay giao thức này
đƣợc tích hợp vào trong hầu hết các sản phẩm mạng nhƣ UNIX, WINDOWS NT,
NETWARE....
5
Một số khái niệm thường sử dụng:
Ngoài một số khái niệm chung về mạng máy tính nhƣ đã trình bày ở trên; còn
có một số thuật ngữ thƣờng đƣợc sử dụng liên quan đến mạng Internet đó là:
Site: Là một hệ thống mạng, máy tính và ngƣời dùng, trên đó có thiết lập và
thi hành các quyết định riêng biệt
Host: Là một trạm làm việc trong một site.
Sevicers: Là các dịch vụ cung cấp trên các site; Ví dụ các dịch vụ nhƣ: truyền
file; thƣ điện tử; nhóm tin, web...
Client/Server: Là một mô hình xử lý phân tán đối của các services. Trong đó
hoạt động của dịch vụ dựa trên 2 đối tƣợng là các chƣơng trình Server xử lý các yêu
cầu gửi từ Client của một host trên mạng; Sau khi nhận đƣợc đáp ứng từ Server,
Client xử lý thông tin đó để hiển thị cho ngƣời sử dụng.
Administration: Là hoạt động quản trị đối với một site; Ví dụ nhƣ theo dõi,
điều hành, quản lý hoạt động của hệ thống mạng và các dịch vụ; thiết lập các chính
sách cần thiết đối với site đó...
1.1.2.2.
Căn bản về giao thức TCP/IP
Kiến trúc phân tầng TCP/IP
Bộ giao thức TCP/IP đƣợc thiết kế theo kiến trúc phân tầng; hình sau minh
hoạ chức năng, vai trò tƣơng ứng với các tầng trong mô hình chuẩn OSI
øng dông
Telnet
FTP
SMTP
DNS
Tr×nh diÔn
TÇng phiªn
RIP
Transmision Control
Protocol (TCP)
User DataProgram
Protocol (UDP)
ICMP
TÇng giao vËn
TÇng m¹ng
ARP
Internet Protocol (IP)
Liªn kÕt d÷ liÖu
TÇng vËt lý
Ethernet
Token Bus
Token Ring
FDDI
Hình 1
Hình 1 - So sánh mô hình mạng TCP/IP và mô hình OSI
6
Xét về khía cạnh bảo mật, nhƣợc điểm của bộ giao thức TCP/IP là không hỗ
trợ xây dựng các cơ chế bảo mật; dễ dàng đối với các hoạt động giải mã, nghe trộm,
bắt trƣớc gói tin. Ví dụ: Cấu trúc chung của một gói dữ liệu TCP nhƣ sau:
16-bit source port number
16-bit destination port number
32-bit sequence number
32-bit acknowledgment number
4-bit header
length
reversed
(6-bit)
U A P R S F
R C S S Y I
G K H T N N
16-bit window size
16-bit TCP checksum
16-bit urgent pointer
options (nếu có)
data (nếu có)
Hình 2 - Khuôn dạng segment trong TCP
Nhƣ hình cho thấy, toàn bộ phần header là đƣợc định dạng chuẩn nền dữ liệu
ở phần này có thể làm giả, hoặc dễ dò tìm các thông tin, giải mã...
Mặt khác, hoạt động của các dịch vụ trong tầng ứng dụng dựa vào định danh
các cổng dịch vụ trên hệ thống đó. Có hai loại cổng:
Số cổng nguồn: Có giá trị tuỳ ý;
Số cổng đích: Có một số loại dịch vụ sử dụng các giá trị mặc định (wellknow); dẫn đến nguy cơ dễ bị xâm nhập và phá hoại dựa vào các loại
dịch vụ dùng các cổng mặc định.
Nếu trên hệ thống, để hạn chế phá hoại có thể thiết lập chính sách nhƣ đóng
cổng dịch vụ; tuy nhiên điều này dẫn đến hạn chế là từ chối cung cấp dịch vụ đó.
Trong phần hai sẽ trình bày cụ thể hơn các điểm yếu trong các loại dịch vụ và từ đó
thiết lập các biện pháp và xây dựng chính sách bảo mật hợp lý đối với mỗi hệ thống.
Network, địa chỉ IP, subnets và hostname:
Các máy tính trên mạng đƣợc phân biệt với nhau bằng địa chỉ, qua đó các gói
tin mới có thể chuyển giao tới đúng đích cần tới. Hệ thống địa chỉ này đƣợc quản lý
bởi giao thức mạng IP (Internet Protocol). Mỗi máy tính có một địa chỉ IP của riêng
nó.
7
Một địa chỉ IP có chiều dài 32 bits. Cấu trúc một địa chỉ IP đƣợc chia làm hai
phần: Phần network và phần host. Phần network định danh mạng chứa host. Phần
host định danh host trong mạng đó. Để đảm bảo không có sự nhầm lẫn địa chỉ trên
mạng các nhà khoa học đã thành lập một tổ chức có trách nhiệm phân phối và quản
lý địa chỉ trên mạng.
Các địa chỉ IP đƣợc chia thành 5 lớp A, B, C, D, E. Trong đó chỉ có 3 lớp A,
B, C đƣợc sử dụng thực tế để đánh địa chỉ cho host, còn lớp D dùng cho multicast
address, lớp E dành để dự trữ.
Địa chỉ IP có thể viết ở dạng cơ số 10, phân tách bởi các dấu chấm (Ví dụ:
192.139.5.12) hoặc viết ở dạng hệ 16 (0xC08BEA66). Cấu trúc của các lớp địa chỉ
này nhƣ sau:
Địa chỉ lớp A:
1
0
9
netid
17
hostid
25
31
Hình 3 - Cấu trúc địa chỉ lớp A
Lớp A dùng 8 bit đánh địa chỉ mạng và 24 bit đánh địa chỉ cho host. Bit đầu
tiên là 0 do đó địa chỉ mạng của lớp A từ 1-127.
Địa chỉ lớp B:
1
10
9
netid
17
25
31
hostid
Hình 4 - Cấu trúc địa chỉ lớp B
Lớp B dùng 16 bit đánh địa chỉ mạng và 16 bit đánh địa chỉ host. Bit đầu tiên
bằng 1, bit thứ 2 bằng 0, do đó địa chỉ mạng của lớp B từ 128 -191.
Địa chỉ lớp C:
1
110
9
netid
17
25
31
hostid
Hình 5 - Cấu trúc địa chỉ lớp C
Lớp C dùng 24 bit cho địa chỉ mạng và 8 bit cho địa chỉ host. Hai bit đầu bằng
1 bit thứ 3 bằng 0, do đó lớp C có địa chỉ mạng từ 192 - 223.
8
Địa chỉ lớp D:
Lớp D là lớp địa chỉ dùng cho multicast có địa chỉ mạng từ 224 - 255.
Một số địa chỉ đặc biệt:
0.0.0.0
x.x.x.0
x.x.x.255
255.255.255.255
Địa chỉ cho tất cả các host
Địa chỉ xác định mạng x.x.x
Chỉ tất cả các host có trong mạng x.x.x
Địa chỉ broadcast cho tất cả các host trên mạng
Tất cả các địa chỉ trên đều không đƣợc sử dụng để đánh địa chỉ cho host.
Subnet
Trong thực tế, để dễ dàng cho hoạt động quản lý các trạm trong mạng, thƣờng
phân mảnh các mạng lớn trong các lớp mạng (A, B, C) thành các mạng nhỏ hơn.
Các mạng nhỏ này gọi là các subnet. Quá trình này đƣợc thực hiện bằng cách lấy
một số bit ở phần định danh host để sử dụng cho việc đánh địa chỉ mạng. Tuỳ theo
cách sử dụng của ngƣời quản trị mạng ( số subnet và số host trên mỗi subnet) mà số
lƣợng bit lấy ở phần hostid nhiều hay it.
Để tách biệt giữa địa chỉ mạng và địa chỉ host ngƣời ta dùng netmask. Để tách
biệt giữa subnet address và địa chỉ host ngƣời ta dùng subnet mask.
Một số ví dụ về địa chỉ mạng cách dùng netmask và subnet mask
Lớp
Host address
Netmask
C
192.182.86.5
255.255.255.0
B
176.189.85.9
255.255.0.0
A
26.78.125.95
255.0.0.0
Khi thực hiện subnet một mạng trong một lớp mạng thì số lƣợng subnet sẽ
quyết định số bit đƣợc lấy từ phần host để phục vụ cho subnet. Ví dụ bạn muốn chia
1 mạng thành các mạng con gồm 32 subnet (thực tế chỉ dùng 30 subnet trên mỗi địa
chỉ mạng, subnet đầu là subnet zero, subnet cuối là subnet broadcast ) của một mạng
ở lớp B; bạn cần 5 bit (25=32) cho subnet, còn lại 11 bit cho host trên mỗi subnet
(khoảng 2046 host trên mỗi subnet).
11111111. 11111111.11111000.00000000, do đó subetmask là: 255.255.248.0.
Hostname: Việc nhớ địa chỉ IP định danh mỗi host trở nên khó khăn khi số
lƣợng các host trên mạng lớn. Khái niệm hostname sẽ giải quyết vấn đề này.
9
Hostname là tên mà ngƣời quản trị đặt cho một thiết bị mạng (có thể là router hoặc
máy tính...) để dễ quản lý về mặt hành chính. Mỗi thiết bị trên mạng thƣờng có một
hostname và địa chỉ IP tƣơng ứng. Trên mạng, một host chỉ đƣợc xác thực bằng địa
chỉ IP của nó. Do đó để host có thể hoạt động đƣợc trên mạng thì hostname phải
đƣợc chuyển đổi sang địa chỉ IP tƣơng ứng với nó. Để thực hiện đƣợc việc chuyển
đổi này ngƣời ta có thể dùng các cơ chế tạo bảng hostname table hoặc Domain
Name Service (DNS) cho phép lƣu các ánh xạ từ địa chỉ IP sang hostname tƣơng
ứng và ngƣợc lại.
Một số dịch vụ của giao thức TCP/IP:
Các dịch vụ này nằm ở tầng ứng dụng trong bộ giao thức TCP/IP. Cùng với
phát triển của Internet các ứng dụng ngày càng đa dạng và hoàn thiện hơn. Mỗi dịch
vụ có một giao thức riêng; Sau đây sẽ giới thiệu hoạt động của các dịch vụ này:
Telnet:
Telnet là dịch vụ cho phép thâm nhập (login) từ xa vào các máy tính, sử dụng
giao thức cùng tên là TELNET. Giao thức Telnet sử dụng kết nối TCP giữa Client
và Server. Khi truy nhập từ xa vào các hệ thống, ngƣời dùng không những có thể
truy nhập các tài nguyên về đĩa và các tệp mà còn tận dụng đƣợc tài nguyên bộ nhớ
và khả năng của bộ vi xử lý trên hệ thống ở xa đó. Telnet là một ứng dụng chuẩn mà
hầu hết các phiên bản TCP/IP đều hỗ trợ.
Dịch vụ truyền file (File Transfer Protocol)
FTP là dịch vụ cho phép truyền các file giữa các máy đƣợc nối với Internet với
nhau. Dùng dịch vụ này ta có thể truy cập tới hệ thống file ở một máy từ xa và sau
đó tải các tệp từ trạm làm việc ở xa đó vào máy tính của mình (download) hoặc
chuyển các file từ máy tính của mình vào máy tính trên mạng (upload). Dịch vụ này
sử dụng giao thức cùng tên là FTP để thực hiện việc truyền tệp. Giao thức FTP có
thể hỗ trợ tất cả các kiểu tệp (văn bản ASCII, nhị phân, các tệp ở các hệ điều hành
khác nhau...). FTP là một dịch vụ đã từng đƣợc sử dụng rất nhiều tuy nhiên nó có
nhƣợc điểm chính là ngƣời dùng không phải lúc nào cũng biết đƣợc toàn bộ danh
sách các tệp có thể sao chép và quá trình truy nhập các thƣ mục để tìm tệp thƣờng
chậm.
Dịch vụ thƣ tín điện tử (E-mail)
10
Thƣ điện tử (E-mail) là dịch vụ đƣợc sử dụng rộng rãi và lâu đời nhất trên
Internet. E-mail giúp ta trao đổi thông tin một cách dễ dàng, nhanh chóng và thuận
tiện với nhiều ngƣời trên mạng. E-mail có ƣu điểm là nó dùng phần mềm tƣơng đối
đơn giản, dễ sử dụng, so với các dịch vụ thông tin khác nó là dịch vụ yêu cầu mạng
có giải thông, phần cứng, phần mềm ít nhất. Giao thức sử dụng trong dịch vụ EMail là giao thức truyền thƣ đơn giản (SMTP - Simple mail tranfer protocol). Một
số chƣơng trình truyền thƣ đơn giản rất phổ biến trên UNIX là Sendmail; trên
Windows là exchange Server. Theo giao thức này, việc trao đổi thƣ đƣợc thực hiện
bởi các trạm truyền thƣ (MTA - Message Tranfer Agent), ngƣời gửi không trực tiếp
truyền thƣ đến ngƣời nhận, mà thƣ đƣợc lƣu truyển qua các MTA trung gian, do đó
cơ chế hoạt động của E-mail đƣợc gọi là lƣu và truyển tiếp. Ngƣời sử dụng nhận thƣ
qua giao thức POP 3 (Post office Protocol Version 3) hoặc IMAP. Hiện nay các
trình duyệt Web nhƣ IE và Netscape hỗ trợ các thành phần đóng vai trò POP3
Client (Netscape Messaging và Internet Mail).
Dịch vụ thông tin World Wide Web
Dịch vụ thông tin World Wide Web (WWW - gọi tắt là dịch vụ Web) là dịch
vụ thông tin mới nhất và có tốc độ phát triển mạnh nhất. Điểm mạnh của Web là
giao diện thân thiện với ngƣời sử dụng, khả năng tích hợp với các dịch vụ thông tin
khác nhƣ FTP, E-mail, Gopher....
Ngoài các dòng văn bản, dịch vụ Web còn hỗ trợ cả các thông tin dƣới dạng
đa phƣơng tiện (multimedia), đồ họa, hình ảnh, âm thanh. Trên mỗi một trang Web
có thể tạo kết nối từ bất cứ điểm nào của tài liệu hiện thời tới một tài liệu khác trong
mạng. Dịch vụ Web sử dụng giao thức truyền siêu văn bản (Hypertext Tranfer
Protocol), giao thức này đƣợc đánh giá là một giao thức đơn giản và hiệu quả nhất
trong các giao thức ở tầng ứng dụng. Chi tiết hoạt đông của dịch vụ Web và các vấn
đề bảo mật liên quan đƣợc trình bày trong phần 2 - Bảo mật dịch vụ Web.
1.1.2.3.
Xem xét một số file cấu hình mạng trong UNIX:
Có một số lƣợng lớn các file trên hệ thống UNIX liên quan đến cấu hình và
hoạt động của giao thức TCP/IP, ngƣời quản trị hệ thống cần nắm đƣợc ý nghĩa và
cách thức cấu hình của các file hệ thống này. Hiểu phƣơng thức làm việc và các cấu
hình tƣơng ứng sẽ giúp chúng ta nắm đƣợc cơ chế hoạt động và các vấn đề về bảo
11
mật của dịch vụ này cụ thể và sâu sắc hơn. Sau đây sẽ trình bày cụ thể các hoạt
động của các files, các tiện ích và các deamon liên quan đến cấu hình hệ thống
mạng trên UNIX.
Một số file liên quan đến cấu hình mạng và dịch vụ
File /etc/hosts
File này chứa tên hostname tƣơng ứng với địa chỉ IP của nó, dùng cho việc
chuyển đổi IP address. Khi bạn dùng hosname, TCP/IP sẽ rà soát file /etc/hosts để
tìm địa chỉ IP của host (giả sử bạn không dùng dịch vụ DNS).
Cấu trúc nội dung của file /etc/hosts nhƣ sau:
Address
địa chỉ
official name
alias...
domain name
Tên host
Ví dụ: Nội dung file /etc/host
# IP address
domain
alias
127.0.0.1
localhost
gateway.widgets.ca
142.77.252.1
nb.ottawa.uunet.ca
198.73.137.1
gateway.widgets.ca
ppp1
198.73.137.2
newton.widgets.ca
newton
198.73.137.50
gateway.widgets.ca
net2
Dấu "#" chỉ dòng ghi chú.
File /etc/ethers
Sau khi biết đƣợc địa chỉ IP, giao thức TCP/IP sẽ phải chuyển đổi địa chỉ này
sang địa chỉ ethernet (đia chỉ vật lý của card mạng - MAC address) để các host có
thể nói chuyện đƣợc với nhau trong mạng local. Việc chuyển đổi này có thể đƣợc
thực hiện bằng giao thức ARP hoặc tạo bảng địa chỉ ethernet trong file /etc/ethers
#ethernet address
hostname
08:00:20:86:48:cf
laidac
08:00:20:85:65:f9
anht
00:60:b0:a4:9d:42
salai
00:e0:14:a3:41:a0
dong
00:d0:c9:05:26:69
reint
00:c0:49:03:26:64
goedi
12
00:80:2d:09:90:92
lancudo
File /etc/networks
Liệt kê các địa chỉ IP và tên các mạng trên internet
#network name
ip address
hanoi-cs7513.vnn.vn
142.77.252.1
apnvn2
198.73.137.1
hanoi-term2.vnn.vn
198.73.137.2
hn-term18.vnn.vn
198.73.137.50
File /etc/protocols
File này chứa một bảng danh sách các giao thức hay đƣợc sử dụng (của
DARPA). File này cung cấp các thông tin về tên protocol, số protocol, và các bí
danh cho các protocol này.
Nó có dạng nhƣ sau:
ip
0
IP
# internet protocol, pseudo protocol number
icmp
1 ICMP
ggp
3
tcp
6 TCP
# transmission control protocol
egp
8
# exterior gateway protocol
pup
12 PUP
# PARC universal packet protocol
udp
17 UDP
# user datagram protocol
hmp
20 HMP
GGP
EGP
# internet control message protocol
# gateway-gateway protocol
# host monitoring protocol
xns-idp 22 XNS-IDP
rdp
27 RDP
# Xerox NS IDP
# "reliable datagram" protocol
File /etc/services
File này chứa một bảng danh sách liệt kê các dịch vụ mà host có thể chạy. Mỗi
dịch vụ gồm có: tên dịch vụ, số port, tên giao thức, bí danh.
smtp
25/tcp
mail
time
37/tcp
timserver
time
37/udp
timserver
name
42/udp
nameserver
whois
43/tcp
nicname
domain
# usually to sri-nic
53/udp
13
domain
53/tcp
bootps
67/udp
# BOOTP/DHCP server
bootpc
68/udp
# BOOTP/DHCP client
hostnames 101/tcp hostname
pop2
109/tcp
pop-2
# usually to sri-nic
# Post Office Protocol - V2
File /etc/inetd.conf
File này đƣợc sử dụng để cung cấp các thông tin cho lệnh inetd. Inetd nghe
trên port TCP và bật các tiến trình cần thiết khi kết nối yêu cầu trên port đó. Nó tiết
kiệm tài nguyên của hệ thống bằng cách chỉ bật các deamon khi chúng đƣợc gọi
đến.
#
tli
#
# Ftp and telnet are standard Internet services.
#
ftp stream tcp nowait root /usr/sbin/in.ftpd
in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
#
# Tnamed serves the obsolete IEN-116 name server protocol.
#
name dgram udp wait root /usr/sbin/in.tnamed in.tnamed
#
# Shell, login, exec, comsat and talk are BSD protocols.
#
shell stream tcp nowait root /usr/sbin/in.rshd
in.rshd
login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd
comsat dgram udp wait root /usr/sbin/in.comsat in.comsat
talk dgram udp wait root /usr/sbin/in.talkd in.talkd
#
# Must run as root (to read /etc/shadow); "-n" turns off logging in utmp/wtmp.
#
Một số file liên quan đến hoạt động truy nhập vào hệ thống
Hai file có tác động rất lớn tới vấn đề kiểm soát truy nhập của hệ thống từ xa
đó là: etc/hosts.equiv và .rhosts.
File /etc/hosts.equiv
14
File này chứa một danh sách các host tin cậy. Các file này đƣợc sử dụng bởi
các lệnh (r*) nhƣ: rlogin, rcp, rcmd, rsh.
Nội dung của file có dạng sau:
localhost
gateway.widgets.ca
gateway.widgets.ca
nb.ottawa.uunet.ca
gateway.widgets.ca
newton.widgets.ca
gateway.widgets.ca
File .rhosts
Tệp .rhost file đƣợc dùng trong thƣ mục home của user. Nó có ý nghĩa giống
nhƣ file /etc/hosts.equiv. Nội dung của hai file cũng giống nhau. File
/etc/hosts.equiv cung cấp sự ngang hàng giữa các host còn file .rhosts thì cung cấp
sự ngang hàng giữa các user.
Sự ngang hàng ở đây có nghĩa là tất cả các user trên các host có tên trong file
/etc/hosts.equiv (gọi là các trusted host) đều có quyền truy cập vào máy ngang hàng
nhƣ các account của chính máy đó.
Chú ý: file /etc/hosts.equiv không đƣợc sử dụng cho user root. Khi đó chỉ có
file .rhosts đƣợc xử lý.
Ví dụ:
Ta có 2 máy: host =wabbit; user =chare và host=oreo; user=chare. Nếu user
chare đang login vào máy wabbit và dùng lệnh:
$rlogin oreo
(giả sử wabbit là trusted host của oreo). Khi đó user chare sẽ login vào oreo
mà không bị hỏi password.
Trong file .rhosts có thêm trƣờng user name cho phép user có thể login với bất
cứ một user name nào có trong file /etc/passwd.
15