LỜI NÓI ĐẦUInternet ngày nay đã thực sự trở thành một phần không thể thiếu củacuộc sống, nó giúp chúng ta có được thông tin một cách nhanh nhất, traođổi tin tức với bạn bè, người thân mộ
Trang 1Mục Lục
Mục Lục 1
LỜI NÓI ĐẦU 4
CHƯƠNG I : LÝ THUYẾT MẠNG MÁY TÍNH 6
I.1 Khái niệm cơ bản 6
I.2 Kiến trúc mạng máy tính 7
I.3 Topology của mạng 7
I.4 Giao thức mạng 8
I.5 Mô hình OSI 8
I.5.1 Kiến trúc phân tầng 8
I.5.2 Mô hình OSI 9
CHƯƠNG II: CÁC GIAO THỨC HOẠT ĐỘNG PHỔ BIẾN TRONG HOẠT ĐỘNG MẠNG MÁY TÍNH 13
II.1 Giao thức IP 13
II.1.1 Tổng quan về giao thức IP 13
II.1.2 Địa chỉ IP 14
II.1.3 Cấu trúc gói dữ liệu IP 16
II.1.4 Một số giao thức được sử dụng trong mạng IP 20
II.1.5 Hoạt động của giao thức IP 21
II.2 Giao thức TCP 22
II.2.1 Tổng quan về giao thức TCP 22
II.2.2 Cấu trúc gói dữ liệu TCP 23
II.2.3 Ba bước bắt tay tạo tập liên kết (The three- way-handshake) 25
II.2.4 Bốn bước bắt tay giải phóng liên kết 26
II.2.5 Các cờ của gói tin TCP 27
Trang 2II.3 Giao thức UDP (User Datagram Protocol) 28
II.4 Dịch vụ IIS (Internet Information Server) 29
II.4.1 WWW (World Wide Web) 30
II.4.2 FTP (File transfer Protocol) 30
II.5 Dịch vụ DHCP 30
II.6 RAS (Remote Access Service) 32
CHƯƠNG III : CÁC VẤN ĐỀ AN NINH VÀ KỸ THUẬT CHẶN BẮT GÓI TIN BẰNG WINCAP VÀ THƯ VIỆN PACKETX 35
III.1 Các mức tiêu chuẩn an ninh 35
III.2.Điểm yếu an ninh, sự tấn công và các giải pháp bảo vệ mạng 38
III.2.1.Tổng hợp các điểm yếu của mạng máy tính 38
III.2.2.Sự tấn công trên mạng máy tính 41
III.2.3.Một số giải pháp bảo vệ 41
III.3.Đánh giá an ninh mạng máy tính qua mô hình 7 lớp (OSI model) 43
III.4.Giới thiệu WinCap và thư viện xây dựng ứng dụng mạng PacketX 47
III.4.1.WinCap 47
III.4.2.Thư viện PacketstX 49
III.4.3.Cấu trúc của Wincap 52
CHƯƠNG IV : THIẾT KẾ CHƯƠNG TRÌNH 54
IV.1 Phân tích hệ thống 54
IV.1.1.Hoạt động của mạng máy tính 54
IV.1.2.Mục tiêu của hệ thống 54
IV.1.3.Các chức năng của hệ thống 55
IV.1.4.Các yếu tố kĩ thuật 56
IV.1.5.Một số yêu cầu đối với hệ thống 57
IV.2.Thiết kế hệ thống 57
Trang 3IV.2.1 Sơ đồ chức năng của hệ thống 57
IV.2.2.Thiết kế cơ sở dữ liệu : 60
IV.2.3.Phương pháp xây dựng chương trình 61
IV.2.4 Các module quan trọng 62
IV.2.5 Một số giao diện chính của chương trình 65
CHƯƠNG V : KẾT QUẢ THỰC HIỆN,HƯỚNG PHÁT TRIỂN,KẾT LUẬN VÀ CÀI ĐẶT SẢN PHẨM 67
V.1.Các kết quả đạt được 67
V.1.1.Các tính năng 67
V.1.2.Ý nghĩa khoa học 68
V.2.Hướng dẫn cài đặt và sử dụng chương trình 69
V.2.1.Giới thiệu về chương trình 69
V.2.2.Hướng dẫn cài đặt 69
KẾT LUẬN 79
TÀI LIỆU THAM KHẢO 82
Sách điện tử: 82
Trang web: 82
Trang 4LỜI NÓI ĐẦU
Internet ngày nay đã thực sự trở thành một phần không thể thiếu củacuộc sống, nó giúp chúng ta có được thông tin một cách nhanh nhất, traođổi tin tức với bạn bè, người thân một cách thuận tiện, rẻ tiền nhất.Internetcũng giúp cho các nhà hoạt động kinh doanh có những phương thức làm
việc mới, phương thức quản lý mới hiện đại và hữu hiệu.Thực tế cho thấy,
hiện nay hầu hết các công ty, các ngân hàng và các tổ chức đã sử dụngInternet như một phần tất yếu cho các mục đích quảng cáo, liên lạc hay kýkết hợp đồng…
Tuy nhiên, bên cạnh những lợi ích thiết thực do mạng Internet đem lại,chúng ta cũng không thể không kể đến sự bùng phát mạnh mẽ của cácchương trình tấn công với nhiều mục đích khác nhau, lấy cắp thông tin, tấncông làm tê liệt hệ thống, tấn công vì mục đích kinh tế, chính trị hay chỉđơn giản là sự thử nghiệm kỹ thuật… Các cuộc tấn công ngày càng đadạng, tổ chức tinh xảo, kỹ thuật tấn công trên các mức từ thấp đến cao của
mô hình mạng, từ tầng vật lý cho đến mức ứng dụng Với những hoạt độngtruy cập mạng bất cẩn, hay sự thiếu hiểu biết về bảo mật thông tin củangười quản trị mạng có thể là nguyên nhân gây ra những thiệt hại khôngthể lường trước được cả về mặt thời gian cũng như vật chất Hậu quả khôngchỉ là mất mát các thông tin nhạy cảm, mà có thể mất toàn bộ dữ liệu haynghiêm trọng hơn là tê liệt toàn bộ hệ thống Những thiệt hại kinh tế màchúng mang lại không nhỏ và không ngừng tăng lên trong những năm qua
Có những thời điểm gây thiệt hại nặng nề cho các nạn nhân mà không dễdàng có thể khắc phục kịp thời Do đó rất cần thiết có các chương trình bảo
vệ mạng máy tính một cách tổng hợp ngăn chặn tấn công ngay từ mứcthấp, cảnh báo các tấn công ngay từ khi nó có ý định mà chưa thể gây tổnhại tới hệ thống của chúng ta
Trang 5Trong xu hướng hiện nay, vấn đề bảo đảm an ninh cho mạng máy tính
đã trở thành một vấn đề quan tâm của các chuyên gia đầu ngành trong lĩnhvực CNTT của Việt Nam cũng như trên thế giới
Được sự hướng dẫn tận tình của TS, em đã chọn đề tài: “Xây dựng
phần mềm chặn bắt và phân tích các đặc trưng của gói tin hỗ trợ xử lý cảnh báo xâm nhập và bảo vệ thông tin máy tính trong mạng LAN”
cho đồ án tốt nghiệp của mình
Đồ án tập trung nghiên cứu các vấn đề chính sau:
- Nghiên cứu mô hình mạng OSI
- Bộ giao thức TCP/IP và các điểm yếu trong hoạt động của giao thứcTCP/IP
- Nguyên tắc truyền tin trên mạng và các công cụ chặn bắt, phân tíchgói tin trên mạng
- Xây dựng chương trình chặn bắt và phân tích gói tin trên mạng
Do kinh nghiệm làm việc của bản thân cũng như kiến thức về lĩnh vựcbảo mật còn nhiều thiếu sót nên đề tài không thể tránh khỏi những sai sót
Em rất mong nhận được sự đóng góp ý kiến của thầy cô giáo và các bạn để
đề tài được hoàn thiện
Cuối cùng, em xin chân thành cảm ơn các thầy cô giáo khoa Công nghệthông tin, đặc biệt là thầy giáo TS Dương Tử Cường đã tận tình giúp đỡ emtrong quá trình thực hiện đồ án
Trang 6
CHƯƠNG I : LÝ THUYẾT MẠNG MÁY TÍNH
I.1 Khái niệm cơ bản
Sự kết hợp của máy tính với các hệ thống truyền thông(communication) đặc biệt là viễn thống (telecommunication) đã tạo ra một
sự chuyển biến có tính cách mạng trong vấn đề tổ chức khai thác và sửdụng các hệ thống máy tính Mô hình tập trung dựa trên các máy tính lớnvới phương thức khai thác theo “lô” (batch processing) đã được thay thếbởi một mô hình tổ chức sử dụng mới, trong đó các máy tính đơn lẻ đượckết nối lại để cùng thực hiện công việc Một môi trường làm việc nhiềungười sử dụng phân tán đã hình thành cho phép nâng cao hiệu quả khaithác tài nguyên chung từ những vị trí địa lý khác nhau Các hệ thống nhưthế được gọi là các mạng máy tính (computernetworks)
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đường truyền theo một cấu trúc nào đó và thông qua đó các máy tính traođổi thông tin qua lại cho nhau
Hình 1.1 Mô hình mạng máy tính
I.2 Kiến trúc mạng máy tính
Trang 7Kiến trúc mạng máy tính (network architecture) thể hiện cách nối cácmạng máy tính với nhau ra sao và tập hợp các quy tắc, quy ướ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ảocho mạng hoạt động tốt
Cách nối các máy tính được gọi là hình trạng (topology) của mạng Còntập hợp các quy tắc, quy ước truyền thông thì được gọi là giao thức(protocol) của mạng Topo và giao thức mạng là hai khái niệm rất cơ bảncủa mạng máy tính
I.3 Topology của mạng
Có hai kiểu nối mạng chủ yếu là điểm - điểm (point – to – point) vàquảng bá (broadcast hay point – to – multipoint)
Theo kiểu điểm - điểm, các đường truyền nối từng cặp nút với nhau vàmỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp dữ liệu tạmthời sau đó chuyển tiếp dữ liệu đi cho tới đích Do cách thức làm việc nhưthế nên mạng này còn gọi là mạng “lưu và chuyển tiếp” (store – and –forward)
Hình 1.2 Hình trên đây minh hoạ topo kiểu mạng điểm - điểm
Theo kiểu quảng bá, tất cả các nút phân chia chung một đường truyềnvật lý Dữ liệu được gửi đi từ một nút nào đó sẽ có thể được tiếp nhận bởi
loop(chu trình)
Trang 8tất cả các nút còn lại, bởi vậy chỉ ra địa chỉ đích của dữ liệu để mỗi nút căn
cứ vào đó để kiểm tra xem dữ liệu có phải dành cho mình hay không?
Hình 1.3 Hình trên minh hoạ một số topo mạng kiểu quảng bá
I.4 Giao thức mạng
Việc trao đổi thông tin, cho dù là đơn giản nhất, cũng đều phải tuân theonhững quy tắc nhất định Ngay cả hai người nói chuyện với nhau muốn chocuộc nói chuyện có kết quả thí ít nhất cả hai cùng phải ngầm tuân thủ quytắc: khi người này nói thì người kia phải nghe và ngược lại Việc truyền tínhiệu trên mạng cũng vậy, cần phải có những quy tắc, quy ước về nhiều mặt,
từ khuôn dạng (cú pháp, ngữ nghĩa) của dữ liệu cho tới các thủ tục gửi,nhận dữ liệu kiểm soát hiệu quả và chất lượng truyền tin và xử lý các lỗi vàcác sự cố yêu cầu về quy tắc càng nhiều và phức tạp hơn Tập hợp tất cảnhững quy tắc, quy ước đó được gọi là giao thức (protocol) của mạng Rõràng là các mạng có thể sử dụng các giao thức khác nhau tuỳ sự lựa chọncủa người thiết kế
Trên thực tế, giao thức phổ biến hiện nay được sử dụng rộng rãi trongmạng Internet cũng như các mạng nội bộ là bộ giao thức TCP/IP
I.5 Mô hình OSI
I.5.1 Kiến trúc phân tầng
Để giảm độ phức tạp của việc thiết kế và cài đặt mạng, hầu hết cácmạng máy tính hiện có đều được phân tích thiết kế theo quan điểm phân
Trang 9tầng (layering) Mỗi hệ thống thành phần của mạng được xem như là mộtcấu trúc đa tầng, trong đó mỗi tầng được xây trên tầng trước nó Số lượngtầng và chức năng của mỗi tầng là phụ thuộc vào các nhà thiết kế.
Nguyên tắc của kiến trúc mạng phân tầng là : mỗi hệ thống trong mộtmạng đều có cấu trúc tầng (số lượng tầng, chức năng của mỗi tầng là nhưnhau) Sau khi xác định số lượng tầng và chức năng của mỗi tầng thì côngviệc quan trọng tiếp theo là định nghĩa mối quan hệ (giao diện) giữa haitầng đồng mức ở hai hệ thống kết nối với nhau Trong thực tế dữ liệukhông được truyền trực tiếp từ tầng thứ i của hệ thống này sang tầng thứ icủa hệ thống kia và ngược lại (trừ đối với tầng thấp nhất trực tiếp sử dụngđường truyền vật lý để truyền các xâu bít (0,1) từ hệ thống này sang hệthống khác) Ở đây quy ước dữ liệu ở bên hệ thống gửi (sender) đượctruyền sang hệ thống nhận (receiver) bằng đường truyền vật lý và cứ thế đingược lên các tầng trên Như vậy giữa 2 hệ thống kết nối với nhau chỉ cótầng thấp nhất mới có liên kết vật lý, còn ở các tầng cao hơn chỉ là nhữngliên kết logic (hay liên kết ảo) được đưa vào để hình thức hoá các hoạtđộng của mạng thuận tiện cho việc thiết kế và cài đặt các phần mềm truyềnthông
I.5.2 Mô hình OSI
Khi thiết kế, các nhà thiết kế tự do lựa chọn kiến trúc mạng riêng củamình Từ đó dẫn đến tình trạng không tương thích giữa các mạng: phươngpháp truy nhập đường truyền khác nhau, sử dụng họ giao thức khác nhau
sự không tương thích đó làm trở ngại cho sự tương tác của người sử dụngcác mạng khác nhau Nhu cầu trao đổi thông tin càng lớn thì trở ngại đócàng không thể chấp nhận được đối với người sử dụng
Năm 1984, ISO đã xây dựng xong mô hình tham chiếu cho việc nối kết
Trang 10OSI Reference Model) Mô hình này được dùng làm cơ sở để nối kết các hệthống mở phục vụ cho các ứng dụng phân tán Từ “mở” ở đây nói lên khảnăng hai hệ thống có thể nối kết để trao đổi thông tin với nhau nếu chúngtuân thủ mô hình tham chiếu và các chuẩn liên quan.
Sau đây là các nguyên tắc mà ISO quy định dùng trong quá trình xâydựng mô hình OSI :
- Không định nghĩa quá nhiều tầng để việc xác định và ghép nối cáctầng không quá phức tạp
- Tạo các ranh giới các tầng sao cho việc giải thích các phục vụ và sốcác tương tác qua lại hai tầng là nhỏ nhất
- Tạo các tầng riêng biệt cho các chức năng khác biệt nhau hoàn toàn
về kỹ thuật sử dụng hoặc quá trình thực hiên
- Các chức năng giống nhau được đặt trong cùng một tầng
- Lựa chọn ranh giới các tầng tại các điểm mà những thử nghiệm trongquá khứ thành công
- Các chức năng được xác định sao cho chúng có thể dễ dàng xác địnhlại, và các nghi thức của chúng có thể thay đổi trên mọi hướng
- Tạo ranh giới các tầng mà ở đó cần có những mức độ trừu tượng khácnhau trong việc sử dụng số liệu
- Cho phép thay đổi các chức năng hoặc giao thức trong tầng không ảnhhưởng đến các tầng khác
- Tạo các ranh giới giữa mỗi tầng với tầng trên và dưới nó
Trang 11Hình 1.4 Mô hình OSI bẩy tầng
Trên mạng Internet hiện nay, bộ giao thức TCP/IP sử dụng mô hìnhmạng bốn tầng, bao gồm các tầng: ứng dụng, giao vận, internet, và tầng vật
lý Mỗi tầng trong mô hình bốn tầng này tương ứng với một hoặc nhiềutầng trong mô hình OSI Dưới đây là hình ảnh ánh xạ của mô hình OSI bẩytầng với mô hình bốn tầng được sử dụng trong mạng Internet hiện nay
SESSION Các giao thức tầng phiên
APPLICATION Các giao thức tầng ứng dụng
NETWORK Các giao thức tầng mạng
PRESENTATION Các giao thức tầng trình diễn
TRANSPORT Các giao thức tầng giao vận
DATA-LINK Các giao thức tầng liên kết dữ liệu
PHYSICAL Các giao thức tầng vật lý
Trang 12Mô hình OSI Mô hình cho giao thức TCP/IPApplication
Hình 1.5 Hình ánh xạ của mô hình OSI bảy tầng
CHƯƠNG II: CÁC GIAO THỨC HOẠT ĐỘNG PHỔ BIẾN
TRONG HOẠT ĐỘNG MẠNG MÁY TÍNH
II.1 Giao thức IP
II.1.1 Tổng quan về giao thức IP
Trang 13Mục đích chính của giao thức IP là kết nối các mạng con thành liênmạng Giao thức IP nằm trong tầng mạng(network) của mô hình OSI Giaothức IP là giao thức kiểu không liên kết(connectionless), tức là không cógiai đoạn thiết lập liên kết trước khi truyền dữ liệu.
Khi một máy tính tham gia vào trao đổi dữ liệu trong mạng, nó sử dụngmột bộ điều hợp mạng(network adapter) Mỗi một bộ điều hợp mạng nàyđược gắn với một địa chỉ vật lý cố định và duy nhất, do nhà sản xuất quyếtđịnh Trong mạng cục bộ, những nơi chỉ chú trọng vào phần cứng sẽ vậnchuyển dữ liệu theo mạng vật lý nhờ sử dụng địa chỉ vật lý của bộ điềuhợp Có nhiều loại mạng và mỗi mạng có cách thức vận chuyển dữ liệukhác nhau Ví dụ, một mạng Ethernet, một máy tính gửi thông tin trực tiếptới bộ phận trung gian Bộ điều phối mạng của mỗi máy tính sẽ lắng nghetất cả các tín hiệu truyền qua lại trong mạng cục bộ để xác định thông tinnào có địa chỉ nhận giống của mình
Tất nhiên, với những mạng rộng hơn, các bộ điều hợp không thể lắngnghe tất cả các thông tin Khi các bộ phận trung gian trở nên quá tải với sốlượng máy tính được thêm mới, hình thức hoạt động này không thể hoạtđộng hiệu quả
Các nhà quản trị mạng thường phải chia vùng mạng bằng cách sử dụngcác thiết bị như bộ định tuyến để giảm lượng giao thông Trên những mạng
có định tuyến, người quản trị cần có cách để chia nhỏ mạng thành nhữngphần nhỏ (gọi là tiểu mạng) và thiết lập các cấp độ để thông tin có thể dichuyển tới đích một cách hiệu quả TCP/IP cung cấp khả năng chia tiểumạng thông qua địa chỉ logic Một địa chỉ logic là địa chỉ được thiết lậpbằng phần mềm của mạng Trong TCP/IP, địa chỉ logic của một máy tínhđược gọi là địa chỉ IP
Sau đây chúng ta sẽ nghiên cứu kỹ lưỡng hơn về địa chỉ IP
Trang 14II.1.2 Địa chỉ IP
Địa chỉ IP là một chuỗi 32bits, được sử dụng để định danh các máy tínhtrong mạng Mỗi giao diện trong một máy tính có hỗ trợ giao thức IP đềuphải được gán 1 địa chỉ IP (một máy tính có thể gắn với nhiều mạng do vậy
có thể có nhiều địa chỉ IP) Địa chỉ IP gồm 2 phần: địa chỉ mạng (netid) vàđịa chỉ máy (hostid) Mỗi địa chỉ IP có độ dài 32 bits được tách thành 4vùng (mỗi vùng 1 byte), có thể biểu thị dưới dạng thập phân, bát phân, thậplục phân hay nhị phân Cách viết phổ biến nhất là dùng ký pháp thập phân
có dấu chấm (dotted decimal notation) để tách các vùng
Do tổ chức và độ lớn của các mạng con (subnet) của liên mạng có thểkhác nhau, người ta chia các địa chỉ IP thành 5 lớp, ký hiệu là A, B, C, D
và E Trong lớp A, B, C chứa địa chỉ có thể gán được Lớp D dành riêngcho lớp kỹ thuật multicasting Lớp E được dành những ứng dụng trongtương lai
Netid trong địa chỉ mạng dùng để nhận dạng từng mạng riêng biệt Cácmạng liên kết phải có địa chỉ mạng (netid) riêng cho mỗi mạng Ở đây cácbit đầu tiên của byte đầu tiên được dùng để định danh lớp địa chỉ (0 - lớp
A, 10 - lớp B, 110 - lớp C, 1110 - lớp D và 11110 - lớp E)
Ở đây ta xét cấu trúc của các lớp địa chỉ có thể gán được là lớp A, lớp
B, lớp C:
Cấu trúc của các địa chỉ IP như sau:
Mạng lớp A: địa chỉ mạng (netid) là 1 Byte và địa chỉ host(hostid) là 3 byte
Mạng lớp B: địa chỉ mạng (netid) là 2 Byte và địa chỉ host(hostid) là 2 byte
Mạng lớp C: địa chỉ mạng (netid) là 3 Byte và địa chỉ host(hostid) là 1 byte
Trang 15Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host trênmỗi mạng Lớp này được dùng cho các mạng có số trạm cực lớn
Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host trênmỗi mạng
Lớp C cho phép định danh tới 2 triệu mạng, với tối đa 254 host trên mỗimạng Lớp này được dùng cho các mạng có ít trạm
Địa chỉ lớp A 0xxxxxxx xxxxxxx
x
xxxxxxxx
xxxxxxxx
Địa chỉ lớp B 10xxxxxx xxxxxxx
x
xxxxxxxx
xxxxxxxx
Địa chỉ lớp C 110xxxxx xxxxxxx
x
xxxxxxxx
xxxxxxxx
cả các host trong liên mạng
Cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng
ở tầng mạng của mô hình OSI, và chúng không phải là các địa chỉ vật lý(hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, TokenRing.)
Trong nhiều trường hợp, một mạng có thể được chia thành nhiều mạngcon (subnet), lúc đó có thể đưa thêm các vùng subnetid để định danh cácmạng con Vùng subnetid được lấy từ vùng hostid, cụ thể đối với lớp A, B,
C như ví dụ sau:
Trang 16Hình 2.2 Ví dụ địa chỉ khi bổ sung vùng subnetid
II.1.3 Cấu trúc gói dữ liệu IP
Dưới đây là các trường của một gói tin IP:
Ver IHL Type of
Server Total LengthIdentification Flag
s Fragment offsetTime to Live Protocol Header Checksum
+Ý nghĩa các trường dữ liệu trong gói tin IP:
Ver(4 bits): chỉ version hiện hành của giao thức IP hiện được càiđặt, Việc có chỉ số version cho phép có các trao đổi giữa các hệthống sử dụng version cũ và hệ thống sử dụng version mới
IHL (4 bits): chỉ độ dài phần đầu (Internet header Length) của góitin datagram, tính theo đơn vị từ ( 32 bits) Trường này bắt buộtphải có vì phần đầu IP có thể có độ dài thay đổi tùy ý Độ dài tốithiểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes
Trang 17 Type of Server(8 bits): đặc tả các tham số về dịch vụ nhằm thôngbáo cho mạng biết dịch vụ nào mà gói tin muốn được sử dụng,chẳng hạn ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tincậy
Hình 2.4 Hình trên cho biết ý nghĩ của trường 8 bits
+ Precedence(3 bits):chỉ thị về quyền ưu tiên gửi datagram, nó cógiá trị từ 0 (gói tin bình thường) đến 7 (gói tin kiểm soát mạng).+ D(Delay 1 bit): Chỉ độ trễ yêu cầu trong đó
D=0: Chỉ gói tin có độ trễ bình thường
D=1: Chỉ gói tin có độ trễ thấp
+ T(Throughput) (1 bit): chỉ độ thông lượng yêu cầu sử dụng đểtruyền gói tin với lựa chọn truyền trên đường thông suất thấp hayđường thông suất cao
T=0: Thông lượng bình thường
T=1: Thông lượng cao
+ R(Reliability) (1 bit): chỉ độ tin cậy yêu cầu
R=0: Độ tin cậy bình thường
R=1: Độ tin cậy cao
Total Length(16 bits): chỉ độ dài toàn bộ gói tin, kể cả phần đầutính theo đơn vị byte với chiều dài tối đa là 65535 bytes Hiện naygiới hạn trên là rất lớn nhưng trong tương lai với những mạngGigabit thì các gói tin có kích thước lớn là cần thiết
Identification(16 bits): cùng với các tham số khác (như SourceAddress và Destination Address) tham số này dùng để định danh
Trang 18duy nhất cho một datagram trong khoảng thời gian nó vẫn còntrên liên mạng.
Flags(3 bits): liên quan đến sự phân đoạn (fragment) cácdatagram, Các gói tin khi đi trên đường đi có thể bị phân thànhnhiều gói tin nhỏ, trong trường hợp bị phân đoạn thì trường Flagsđược dùng điều khiển phân đoạn và tái lắp ghép bó dữ liệu Tùytheo giá trị của Flags sẽ có ý nghĩa là gói tin sẽ không phân đoạn,
có thể phân đoạn hay là gói tin phân đoạn cuối cùng TrườngFragment Offset cho biết vị trí dữ liệu thuộc phân đoạn tương ứngvới đoạn bắt đầu của gói dữ liệu gốc Ý nghĩa cụ thể của trườngFlags là:
Hình 2.5 Trường Flags
- Bit 0: reserved - chưa sử dụng, luôn lấy giá trị 0
- Bit 1: DF=0( Có thể có sự phân đoạn) DF=1(Không có sự phânđoạn)
- Bit 2: MF=0(Gói phân đoạn cuối) MF=1(Còn gói tin tiếp trongphân đoạn)
Fragment offset(13 bits): chỉ vị trí của đoạn (fragment) ở trongdatagram tính theo đơn vị 8 bytes, có nghĩa là phần dữ liệu mỗigói tin (trừ gói tin cuối cùng) phải chứa một vùng dữ liệu có độdài là bội số của 8 bytes Điều này có ý nghĩa là phải nhân giá trịcủa Fragment offset với 8 để tính ra độ lệch byte
Time to Live(8 bits): qui định thời gian tồn tại (tính bằng giây)của gói tin trong mạng để tránh tình trạng một gói tin bị quẩn trênmạng Thời gian này được cho bởi trạm gửi và được giảm đi
Trang 19(thường qui ước là 1 đơn vị) khi datagram đi qua mỗi router củaliên mạng Thời lượng này giảm xuống tại mỗi router với mụcđích giới hạn thời gian tồn tại của các gói tin và kết thúc nhữnglần lặp lại vô hạn trên mạng Sau đây là 1 số điều cần lưu ý vềtrường Time To Live:
- Nút trung gian trong mạng không được gửi một gói tin màtrường này có giá trị bằng 0
- Một giao thức có thể ấn định giá trị Time To Live để thực hiệntìm tài nguyên trong mạng trong phạm vi mở rộng
- Một giá trị cố định tối thiểu phải đủ lớn cho mạng hoạt động tốt
Protocol(8 bits): chỉ giao thức tầng trên kế tiếp sẽ nhận vùng dữliệu ở trạm đích (hiện tại thường là TCP hoặc UDP được cài đặttrên IP) Ví dụ: TCP có giá trị trường Protocol là 6, UDP có giátrị trường Protocol là 17
Header Checksum(16 bits): Mã kiểm soát lỗi của header gói tinIP
Source Address(32 bits): Địa chỉ của máy nguồn
Destination Address(32 bits): địa chỉ của máy đích
Options (độ dài thay đổi): khai báo các lựa chọn do người gửi yêucầu (tuỳ theo từng chương trình)
Padding (độ dài thay đổi): Vùng đệm, được dùng để đảm bảo chophần header luôn kết thúc ở một mốc 32 bits
Data (độ dài thay đổi): Trên một mạng cục bộ như vậy, hai trạmchỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau.Như vậy vấn đề đặt ra là phải thực hiện ánh xạ giữa địa chỉ IP (32
bits) và địa chỉ vật lý (48 bits) của một trạm.
Trang 20Để mạng với giao thức IP hoạt động được tốt người ta cần một số giaothức bổ sung, các giao thức này đều không phải là bộ phận của giao thức IP
và giao thức IP sẽ dùng đến chúng khi cần
Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ýrằng các địa chỉ IP được dùng để định danh các host và mạng ởtầng mạng của mô hình OSI, và chúng không phải là các địa chỉvật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ(Ethernet, Token Ring) Trên một mạng cục bộ hai trạm chỉ cóthể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau Nhưvậy vấn đề đặt ra là phải tìm được ánh xạ giữa địa chỉ IP (32 bits)
và địa chỉ vật lý của một trạm Giao thức ARP đã được xây dựng
để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết
Giao thức RARP (Reverse Address Resolution Protocol): Là giaothức ngược với giao thức ARP Giao thức RARP được dùng đểtìm địa chỉ IP từ địa chỉ vật lý
Giao thức ICMP(Internet Control Message Protocol): Giao thứcnày thực hiện truyền các thông báo điều khiển (báo cáo về cáctình trạng các lỗi trên mạng.) giữa các gateway hoặc một nút củaliên mạng Tình trạng lỗi có thể là: một gói tin IP không thể tớiđích của nó, hoặc một router không đủ bộ nhớ đệm để lưu vàchuyển một gói tin IP, Một thông báo ICMP được tạo và chuyểncho IP IP sẽ "bọc" (encapsulate) thông báo đó với một IP header
và truyền đến cho router hoặc trạm đích
II.1.5 Hoạt động của giao thức IP
Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trongmáy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể
Trang 21IP là cấu thành của tầng mạng, nhận yêu cầu từ các tầng trên nó và gửi yêucầu xuống các tầng dưới nó.
Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từtầng trên, nó thực hiện các bước sau đây:
Tạo một IP datagram dựa trên tham số nhận được
Tính checksum và ghép vào header của gói tin
Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùngmạng hoặc một gateway sẽ được chọn cho chặng tiếp theo
Chuyển gói tin xuống tầng dưới để truyền qua mạng
Đối với router, khi nhận được một gói tin đi qua, nó thực hiện cácđộng tác sau:
Tính checksum, nếu sai thì loại bỏ gói tin
Giảm giá trị tham số Time - to Live nếu thời gian đã hết thì loại
bỏ gói tin
Ra quyết định chọn đường
Phân đoạn gói tin, nếu cần
Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time
-to -Live, Fragmentation và Checksum
Chuyển datagram xuống tầng dưới để chuyển qua mạng
Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạmđích, nó sẽ thực hiện bởi các công việc sau:
Tính checksum Nếu sai thì loại bỏ gói tin
Tập hợp các đoạn của gói tin (nếu có phân đoạn)
Chuyển dữ liệu và các tham số điều khiển lên tầng trên.
II.2 Giao thức TCP
II.2.1 Tổng quan về giao thức TCP
Trang 22TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cầnphải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữliệu với nhau Một tiến trình ứng dụng trong một máy tính truy nhập vàocác dịch vụ của giao thức TCP thông qua một cổng (port) của TCP Số hiệucổng TCP được thể hiện bởi 2 bytes.
Hình 2.6 Cổng truy cập dịch vụ TCP
Một cổng TCP được kết hợp với địa chỉ IP tạo thành một đầu nốiTCP/IP (socket) duy nhất trong liên mạng Dịch vụ TCP được cung cấpnhờ một liên kết logic giữa một cặp đầu nối TCP/IP Một đầu nối TCP/IP
có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau.Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCPgiữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ đượcgiải phóng
II.2.2 Cấu trúc gói dữ liệu TCP
Source port Destination port
Sequence number
Acknowledgement number
Trang 23Offset Receiver U A P R S F Window
Checksum Urgent Pointer
Option + Padding
Data
Hình 2.7 Cấu trúc gói tin TCP
Source port(16 bits): Số hiệu cổng TCP của trạm nguồn
Destination port(16 bits): Số hiệu cổng TCP của trạm đích
Sequence number(32 bits): Số hiệu của byte đầu tiên của segmenttrừ khi bit SYN được thiết lập Nếu bit SYN được thiết lập thìSequence Number là số hiệu tuần tự khởi đầu (ISN) và byte dữliệu đầu tiên là ISN+1
Acknowledgement number(32 bits): Số hiệu của segment tiếptheo mà trạm nguồn đang chờ để nhận Ngầm ý báo nhận tốt (các)segment mà trạm đích đã gửi cho trạm nguồn
Data Offset(4 bits): Số lượng bội của 32 bit (32 bit words) trongTCP header (tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu)
Receiver(): Dành riêng
U: Vùng con trỏ khẩn (Ucgent Poiter) có hiệu lực
A: Vùng báo nhận (ACK number) có hiệu lực
P: Chức năng PUSH
R: Khởi động lại (reset) liên kết
S: Đồng bộ hóa số hiệu tuần tự (sequence number)
F: Không còn dữ liệu từ trạm nguồn
Window(16 bits): Cấp phát credit để kiểm soát nguồn dữ liệu (cơchế cửa sổ) Đây chính là số lượng các byte dữ liệu, bắt đầu từbyte được chỉ ra trong vùng ACK number, mà trạm nguồn đã sẵnsàng để nhận
Trang 24 Checksum(16 bits): Mã kiểm soát lỗi cho toàn bộ segment(header + data).
Urgent Pointer(16 bits): Con trỏ này trỏ tới số hiệu tuần tự củabyte đi theo sau dữ liệu khẩn Vùng này chỉ có hiệu lực khi bitURG được thiết lập
Option(Độ dài thay đổi): Khai báo các option của TCP, trong đó
có độ dài tối đa của vùng TCP data trong một segment
Padding(Độ dài thay đổi): Phần chèn thêm vào header để đảmbảo phần header luôn kết thúc ở một mốc 32 bit Phần thêm nàygồm toàn số 0
Data(Độ dài thay đổi): Chứa dữ liệu của tầng trên, có độ dài tối
đa ngầm định là 536 byte Giá trị này có thể điều chỉnh bằng cáchkhai báo trong vùng options
II.2.3 Ba bước bắt tay tạo tập liên kết (The three- way-handshake)
Trước khi hai máy tính có thể truyền thông với nhau qua một kết nốiTCP thì kết nối đó phải được thiết lập Quá trình xử lý việc thiết lập kết nốiTCP được chia thành ba bước Mô hình dưới đây minh họa ba bước bắt taytạo liên kết TCP:
SYN(INS A)
ACK(INS B +1) SYN(INS B) +ACK(INS A+1)
Trang 25Hình 2.8 Ba bước bắt tay thiết lâp liên kết
Bước 1 : Client gửi tới Server một gói tin, trong gói tin này, cờSYN được xác lập, nó nói cho Server biết rằng nó muấn mở mộtkết nối với Server Gói tin này cũng gửi một giá trị khởi tạo củaSequence Number(INS)
Bước 2 : Server nhận yêu cầu kết nối này và gửi trả lại một gói tin
có cờ SYN và cờ ACK được thiết lập để thông báo chấp nhận góitin yêu cầu kết nối Trong gói tin này, Server đặt giá trị khởi tạoSequence Number ở trạng thái randomly, và đặtACKnowledgement Number bằng INS+1
Bước 3 : Khi Client nhận được gói tin chấp nhận kết nối củaServer, nó sẽ đáp trả lại một gói tin có cờ SYN và cờ ACK đểthông báo cho Server biết rằng nó đã nhận được gói tin chấp nhậnkết nối từ Server, và đặt giá trị ACKnowledgement Number bằngINS +1
Khi kết nối đã được xác lập, các máy tính có thể gửi dữ liệu cho nhau,
và tất cả các gói tin của hai máy tính gửi đi đều phải có cờ ACK để xácnhận đã nhận gói tin trước đó
II.2.4 Bốn bước bắt tay giải phóng liên kết
Để giải phóng một kết nối TCP đã được thiết lập, hai máy sử dụng bốnbước như sau:
Trang 26 Bước 1: Client(hoặc Server) gửi một gói tin có cờ FIN được đặt,
để nói rằng quá trình gửi dữ liệu đã kết thúc, với một giá trị đúngcủa Sequence Number
Bước 2: Server sau đó sẽ gửi lại một gói tin có cờ ACK được bật,xác nhận đã nhận được gói tin từ Client, với ACK number bằngSequence number +1
Bước 3: Server sẽ được xử lý để gửi đi một gói tin khác, với mộtgiá trị Sequence number và cờ FIN được bật
Bước 4: Để hoàn thành bốn bước bắt tay kết thúc kết nối, Client
sẽ gửi một gói tin có cờ ACK được bật, với ACK number bằnggiá trị của Sequence number +1
II.2.5 Các cờ của gói tin TCP
SYN: Cờ SYN được sử dụng trong gói tin đầu tiên của kết nối,cho biết một máy tính muốn có một kết nối TCP với máy chủnhận gói tin này
ACK: Cờ ACK được sử dụng trong suốt toàn bộ quá trình củaphiên kết nối Cho biết đã nhận được gói tin trước đó
FIN: Cờ FIN được sử dụng khi một trong hai máy tính đã hoànthành quá trình gửi dữ liệu, kết nối sau đó sẽ được đóng lại mộtcách bình thường
RST: Cờ RST được sử dụng khi một trong hai máy tính nhậnđược gói tin không mong muấn Gói tin có cờ RST sẽ thực hiệnreset lại kết nối và hai máy tính có thể thực hiện lại kết nối nếucần
SYN|ACK: Sự kết hợp hai cờ SYN và ACK được sử dụng đểthông báo lại cho máy tính khác biết đã nhận được gói tin SYNtrước đó và gửi lại thông tin chấp nhận kết nối
Trang 27 FIN|ACK: Hai cờ FIN và ACK được liên kết để thông báo đãnhận được gói tin có cờ FIN trước đó và hoàn thành việc đóng kếtnối.
URG: Cờ này hiếm khi được sử dụng trong kết nối thông thường
Nó được sử dụng để thông báo có một vùng dữ liệu khẩn
PSH: Cờ PSH có mục đích thông báo cho máy tính thứ hai biếtrằng chuyển toàn bộ dữ liệu lên tầng trên để xử lý
II.3 Giao thức UDP (User Datagram Protocol)
UDP (User Datagram Protocol) là giao thức theo phương thức không
liên kết được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từngứng dụng Khác với TCP, UDP không có các chức năng thiết lập và kếtthúc liên kết Tương tự như IP, nó cũng không cung cấp cơ chế báo nhận(acknowledgment), không sắp xếp tuần tự các gói tin (datagram) đến và cóthể dẫn đến tình trạng mất hoặc trùng dữ liệu mà không có cơ chế thôngbáo lỗi cho người gửi Qua đó ta thấy UDP cung cấp các dịch vụ vậnchuyển không tin cậy như trong TCP
Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giảnhơn nhiều so với TCP segment
Hình 2.9 Dạng thức của gói tin UDP
UDP cũng cung cấp cơ chế gán và quản lý các số hiệu cổng (portnumber) để định danh duy nhất cho các ứng dụng chạy trên một trạm củamạng Do ít chức năng phức tạp nên UDP thường có xu thế hoạt động
Trang 28nhanh hơn so với TCP Nó thường được dùng cho các ứng không đòi hỏi
độ tin cậy cao trong giao vận
Hình 2.10 Mô hình quan hệ họ giao thức TCP/IP
II.4 Dịch vụ IIS (Internet Information Server)
Internet Information Server là một ứng dụng chạy trên Windows NT,tích hợp chặt với Windows NT, khi cài đặt IIS, IIS có đưa thêm vào tiệních màn hình kiểm soát (Performance monitor) một số mục như thống kê sốlượng truy cập, số trang truy cập Việc kiểm tra người dùng truy cập cũngdựa trên cơ chế quản lý người sử dụng của Windows NT Sau khi cài đặtIIS, trong thư mục InetSrv sẽ có các thư mục gốc tương ứng cho từng dịch
vụ chọn cài đặt
Trang 29IIS bao gồm 3 dịch vụ: World Wide Web (WWW), chuyển file (FTP File Transfer Protocol) và Gopher Cả 3 dịch vụ này đều sử dụng kết nốitheo giao thức TCP/IP.
-II.4.1 WWW (World Wide Web)
Là một trong những dịch vụ chính trên Internet cho phép người sử dụngxem thông tin một cách dễ dàng, sinh động Dữ liệu chuyển giữa WebServer và Web Client thông qua nghi thức HTTP (Hypertext TransferProtocol)
Người quản trị có thể xem các thông tin như các người dùng đã truycập, các trang được truy cập, các yêu cầu được chấp nhận, các yêu cầu bị từchối thông qua các file có thể được lưu dưới dạng cơ sở dữ liệu
II.4.2 FTP (File transfer Protocol)
Sử dụng giao thức TCP để chuyển file giữa 2 máy và cũng hoạt độngtheo mô hình Client/Server, khi nhận được yêu cầu từ client, đầu tiên FTPServer sẽ kiểm tra tính hợp lệ của người dùng thông qua tên và mật mã.Nếu hợp lệ, FTP Server sẽ kiểm tra quyền người dùng trên tập tin hay thưmục được xác định trên FTP Server Nếu hợp lệ và hệ thống file là NTFSthì sẽ có thêm kiểm tra ở mức thư mục, tập tin theo NTFS Sau khi tất cảhợp lệ, người dùng sẽ được quyền tương ứng trên tập tin, thư mục đó
Trang 30Trong một mạng máy tính, việc cấp các địa chỉ IP tĩnh cố định cho cáchost sẽ dẫn đến tình trạng lãng phí địa chỉ IP, vì trong cùng một lúc khôngphải các host hoạt động đồng thời với nhau, do vậy sẽ có một số địa chỉ IP
bị thừa Để khắc phục tình trạng đó, dịch vụ DHCP đưa ra để cấp phát cácđịa chỉ IP động trong mạng
Trong mạng máy tính NT khi một máy phát ra yêu cầu về các thông tincủa TCPIP thì gọi là DHCP client, còn các máy cung cấp thông tin củaTCPIP gọi là DHCP server Các máy DHCP server bắt buộc phải làWindows NT server
Cách cấp phát địa chỉ IP trong DHCP: Một user khi log on vào mạng,
nó cần xin cấp 1 địa chỉ IP, theo 4 bước sau :
+ Gởi thông báo đến tất cả các DHCP server để yêu cầu được cấp địachỉ
+ Tất cả các DHCP server gởi trả lời địa chỉ sẽ cấp đến cho user đó + User chọn 1 địa chỉ trong số các địa chỉ, gởi thông báo đến server cóđịa chỉ được chọn
+ Server được chọn gởi thông báo khẳng định đến user mà nó cấp địachỉ
Quản trị các địa chỉ IP của DHCP server: Server quản trị địa chỉ thôngqua thời gian thuê bao địa chỉ (lease duration) Có ba phương pháp gán địachỉ IP cho các Worstation :
Trang 31Trong phương pháp gán địa chỉ IP tự động DHCP client được gán địachỉ IP khi lần đầu tiên nó nối vào mạng Địa chỉ IP được gán bằng phươngpháp này sẽ được gán vĩnh viễn cho DHCP client và địa chỉ này sẽ khôngbao giờ đuợc sử dụng bởi một DHCP client khác
Trong phương pháp gán địa chỉ IP động thì DHCP server gán địa chỉ IPcho DHCP client tạm thời Sau đó địa chỉ IP này sẽ được DHCP client sửdụng trong một thời gian đặc biệt Đến khi thời gian này hết hạn thì địa chỉ
IP này sẽ bị xóa mất Sau đó nếu DHCP client cần nối kết vào mạng thì nó
sẽ được cấp một địa chủ IP khác
Phương pháp gán địa chỉ IP động này đặc biệt hữu hiệu đối với nhữngDHCP client chỉ cần địa chỉ IP tạm thời để kết nối vào mạng Ví dụ mộttình huống trên mạng có 300 users và sử dụng subnet là lớp C Điều nàycho phép trên mạng có 253 nodes trên mạng Bởi vì mổi computer nối kếtvào mạng sử dụng TCP/IP cần có một địa chỉ IP duy nhất do đó tất cả 300computer không thể đồng thời nối kết vào mạng Vì vậy nếu ta sử dụngphương pháp này ta có thể sử dụng lại những IP mà đã được giải phóng từcác DHCP client khác
Cài đặt DHCP chỉ có thể cài trên Windows NT server mà không thể càitrên Client
II.6 RAS (Remote Access Service)
Ngoài những liên kết tại chỗ với mạng cục bộ (LAN) các nối kết từ xavào mạng LAN hiện đang là những yêu cầu cần thiết của người sử dụng.Việc liên kết đó cho phép một máy từ xa như của một người sử dụng tạinhà có thể qua đường dây điện thoại thâm nhập vào một mạng LAN và sửdụng tài nguyên của nó Cách thông dụng nhất hiện nay là dùng modem để
có thể truyền trên đường dây điện thoại
Trang 32Windows NT cung cấp Dịch vụ Remote access Service cho phép cácmáy trạm có thể nối với tài nguyên của Windows NT server thông quađường dây điện thoại RAS cho phép truyền nối với các server, điều hànhcác user và các server, thực hiện các chương trình khai thác số liệu, thiếtlập sự an toàn trên mạng.
Máy trạm có thể được nối với server có dịch vụ RAS thông qua modemhoặc pull modem, cable null modem (RS232) hoặc X.25 network
Khi đã cài đặt dịch vụ RAS, cần phải đảm bảo quyền truy nhập từ xacho người sử dụng bằng tiện ích remote access amind để gán quyền hoặc
có thể đăng ký người sử dụng ở remote access server RAS cũng có cơ chếđảm bảo an toàn cho tài nguyên bằng cách kiểm soát các yếu tố sau: quyền
sử dụng, kiểm tra mã số, xác nhận người sử dụng, đăng ký sử dụng tàinguyên và xác nhận quyền gọi lại
Hình 2.11 Mô hình truy cập từ xa bằng dịch vụ RAS
Với RAS tất cả các ứng dụng đều thực hiện trên máy từ xa, thay vì kếtnối với mạng thông qua card mạng và đường dây mạng thì máy ở xa sẽ liênkết qua modem tới một RAS Server Tất cả dữ liệu cần thiết được truyềnqua đường điện thoại, mặc dù tốc độ truyền qua modem chậm hơn so vớiqua card mạng nhưng với những tác vụ của LAN không phải bao giờ dữliệu cũng truyền nhiều
Với những khả năng to lớn của mình trong các dịch vụ mạng, hệ điềuhành Windows NT là một trong những hệ điều hành mạng tốt nhất hiện
Trang 33nay Hệ điều hành Windows NT vừa cho phép giao lưu giữa các máy trongmạng, vừa cho phép truy nhập từ xa, cho phép truyền file, vừa đáp ứng chomạng cục bộ (LAN) vừa đáp ứng cho mạng diện rộng (WAN) như Intranet,Internet Với những khả năng như vậy hiện nay hệ điều hành Windows NT
đã có những vị trí vững chắc trong việc cung cấp các giải pháp mạng trênthế giới
Trang 34CHƯƠNG III : CÁC VẤN ĐỀ AN NINH VÀ KỸ THUẬT CHẶN BẮT GÓI TIN BẰNG WINCAP VÀ THƯ VIỆN
PACKETXIII.1 Các mức tiêu chuẩn an ninh
Các tiêu chuẩn an ninh máy tính này gọi là các nguyên tắc để đánh giátiêu chuẩn độ tin cậy của máy tính (Trusted Computer StandardsEvaluation Criteria) Theo các tiêu chuẩn này, người ta sử dụng rất nhiềucác mức an ninh để bảo vệ phần cứng, phần mềm và các thông tin lưu trữkhỏi bị tấn công Các mức này mô tả các loại an ninh khác nhau như: antoàn vật lý, xác minh người dùng(user authentication), độ tin cậy của phầnmềm hệ điều hành và các ứng dụng của khách hàng Các tiêu chuẩn nàycũng quy định những giới hạn về các loại hệ thống khác có thể được kết nốitới hệ thống của bạn
a)Mức D1
Mức D1 là mức an toàn thấp nhất Theo mức tiêu chuẩn này thì toàn bộ
hệ thống là không thể tin cậy được Phần cứng không được bảo vệ gì cả, hệđiều hành thì dễ dàng bị xâm hại và cũng chẳng tồn tại việc xác minh người
sử dụng cùng các quyền của họ được truy nhập thông tin lưu trữ trong máytính Thông thường mức an toàn này thuộc về các hệ điều hành như MS-DOS, MS-Windows, và các hệ Apple Macintosh 7.x
Trang 35này hệ thống xác định các quyền truy nhập của mỗi người sử dụng đối vớicác chương trình phần mềm và thông tin của hệ thống.
Các quyền truy nhập này thể hiện bằng các chấp nhận trên tệp và thưmục Các điều khiển truy nhập tùy ý này tạo khả năng cho chủ sở hữu củacáp tệp hoặc thư mục hoặc người quản lý hệ thống cấm một số người haymột số nhóm người không được truy nhập các chương trình hoặc thông tin
đó Tuy nhiên, ta không thể dùng phương pháp này để cấm được accountcủa người quản lý hệ thống thực hiện bất cứ công việc gì Kết quả là mộtnhà quản lý hệ thống vô lương tâm có thể dễ dàng làm tổn hại mức bảo vệ
an toàn này của hệ thống mà không cần ai phải biết tới
c)Mức C2
Mức an toàn phụ thuộc thứ hai, mức C2 dự kiến để hỗ trợ giải quyết cácvấn đề này Cùng với các tính năng của C1, mức C2 còn bao gồm thêm cáctính năng an toàn phụ nhằm tạo ra một môi trường truy nhập điều khiểnđược Môi trường này có khả năng tiếp tục hạn chế người sử dụng khôngcho thực hiện một số lệnh nhất định hoặc không cho truy nhập một số tệpnào đó Việc này được thực hiện không phải chỉ dựa trên sự cho phép(permission) mà còn dựa trên các mức xác minh (authorisation) Ngoài ra,mức an toàn này còn yêu cầu hệ thống phải được kiểm tra Nó bao hàmviệc ghi chép hồ sơ kiểm tra cho mỗi sự kiện xảy ra trên hệ thống
Việc kiểm tra (auditing) được sử dụng để ghi chép tất cả các sự kiện liênquan đến an toàn như các hoạt động do người quản trị hệ thống thực hiện.Việc kiểm tra đòi hỏi phải có thêm các yêu cầu xác minh, bởi vì nếu không
có nó thì làm sao bạn có thể biết chắc chắn rằng người thực hiện lệnh đúng
là người đó Tuy nhiên, nhược điểm của việc kiểm tra là nó yêu cầu bộ xử
lý phụ và các tài nguyên hệ thống ổ đĩa phụ
Với việc sử dụng thêm quyền hạn người sử dụng, trên hệ thống C2 có
Trang 36gốc Điều này cho phép theo dõi các nhiệm vụ liên quan đến quản lý hệthống tốt hơn, bởi vì mỗi người sử dụng đều thực hiện được công việc củamình mà không phải lúc nào cũng cần đến người quản lý hệ thống.
d)Mức B1
An toàn loại B bao gồm 3 mức: Mức B1 hay còn gọi là Bảo vệ an toàn
có Nhãn (Labeled Security Protection) là mức thứ nhất cũng lại hỗ trợ antoàn đa mức như mật và tuyệt mật Mức an toàn này quy định rằng một đốitượng đang được điều khiển truy nhập bắt buộc thì chủ sở hữu của tệp cũngkhông thể thay đổi việc cho phép trên vật thể đó
e)Mức B2
Mức B2, còn được gọi là Bảo vệ có cấu trúc (Structured Protection) đòihỏi rằng mọi đối tượng phải được dán nhãn Người ta có thể gán một mức
an toàn duy nhất hoặc nhiều mức an toàn cho các thiết bị như ổ đĩa, băng
từ, thiết bị đầu cuối Đây cũng là mức an toàn đầu tiên trình bày về vấn đềliên lạc giữa một đối tượng ở mức an toàn cao hơn so với một vật thể ởmức an toàn thấp
f)Mức B3
Mức B3 hay mức Miền An Toàn (Security Domain), nó đảm bảo chomiền bằng lắp đặt phần cứng Ví dụ người ta sử dụng phần cứng quản lý bộnhớ để bảo vệ miền an toàn khỏi bị truy nhập và sửa đổi trái phép từ cácđối tượng thuộc miền an toàn khác Mức an toàn này cũng yêu cầu thiết bịđầu cuối của người sử dụng phải được kết nối với hệ thống thông qua mộtđường truyền tin cậy
g)Mức A
Mức A, hay mức Thiết kế được Thẩm tra (Verified Design) hiện đang làmức an toàn cao nhất Nó bao gồm một thiết kế chặt chẽ, quá trình điềukhiển và xác minh Để đạt được mức an toàn này hệ thống phải chứa tất cảcác thành phần của các mức an toàn thấp hơn Phải dùng toán học để xác
Trang 37minh tính đúng đắn của bản thiết kế và phải thực hiện phân phối tin cậycũng như phân tích các kênh bí mật Phân phối tin cậy (Trusteddistribution) có nghĩa là phần cứng và phần mềm đã được bảo vệ trong quátrình vận chuyển để ngăn chặn sự nhòm ngó của các hệ thống an toàn.
III.2.Điểm yếu an ninh, sự tấn công và các giải pháp bảo vệ mạng
III.2.1.Tổng hợp các điểm yếu của mạng máy tính
Thiếu điều khiển truy cập bộ định tuyến và lập cấu hình sai ACL
sẽ cho phép rò rỉ thông tin thông qua các giao thức ICMP, IP,NetBIOS, dẫn đến truy cập bất hợp pháp các dịch vụ trên máyphục vụ
Điểm truy cập từ xa không được theo dõi và bảo vệ sẽ là phươngtiện truy cập dễ dàng nhất đối với mạng công ty
Rò rỉ thông tin có thể cung cấp thông tin phiên bản hệ điều hành
và chương trình ứng dụng, người dùng, nhóm, địa chỉ tên miềncho kẻ tấn công thông qua chuyển vùng và các dịch vụ đang chạynhư SNMP, finger, SMTP, telnet, rusers, sunrpc, NetBIOS
Máy chủ chạy các dịch vụ không cần thiết (như sunrpc, FTP,DNS, SMTP) sẽ tạo ra lối vào thâm nhập mạng trái phép
Mật mã yếu, dễ đoán, dùng lại ở cấp trạm làm việc có thể dồnmáy phục vụ vào chỗ thoả hiệp
Tài khoản người dùng hoặc tài khoản thử nghiệm có đặc quyềnquá mức
Máy phục vụ Internet bị lập cấu hình sai, đặc biệt là kịch bản CGItrên máy phục vụ web và FTP nặc danh
Bức tường lửa hoặc ACL bị lập cấu hình sai có thể cho phép truycập trực tiếp hệ thống trong hoặc một khi đã thoả hiệp xong máyphục vụ
Trang 38 Phần mềm chưa được sửa chữa, lỗi thời, dễ bị tấn công, hoặc để ởcấu hình mặc định.
Quá nhiều điều khiển truy cập như thư mục và tập tin
Quá nhiều mối quan hệ uỷ quyền như NT domain Trusts, các tậptin rhosts và hosts.equiv trong UNIX sẽ cho kẻ tấn công truy cập
Dựa vào khe hở xác thực:
+ Trộm mật khẩu+ Lý thuyết và công nghệ đã được quảng bá (public)+ Hệ thống mật nhưng đã bị sụp đổ
Dựa vào dự liệu:
+ Gắn e-mail vào một chương trình+ Các ngôn ngữ lập trình nhúng + Các lệnh macro của Microsoft word
+ Máy in Postscript
+ Phần mềm xâm nhập từ xa: JAVA, ActiveX
Trang 39 Dựa trên phần mềm điều khiển và ứng dụng:
+ Viruses+ Lỗ thủng an ninh+ Các đặc quyền+ Các đặc tính an ninh không sử dụng+ Cửa sau
+ Cấu hình hệ thống nghèo nàn
Dựa trên cấu trúc trao đổi thông tin:
+ Xác thực yếu+ Dẫy số dễ đoán+ Nguồn định tuyến cho các gói dữ liệu+ Các trường header không sử dụng
Từ chối dịch vụ:
+ Làm tràn ngập mạng+ “Băm nát”
Chặn bắt đường truyền trên mạng:
+ Bắt dữ liệu trước khi mã hoá+ Loại bỏ mã hoá
Trang 40III.2.2.Sự tấn công trên mạng máy tính
a)Các đối tượng tấn công mạng
+ Giá mạo địa chỉ
+ Tấn công từ chối dịch vụ (DOS – denial of service)
+ Tấn công vào yếu tố con người (Social Engineering)
+ Sử dụng virus máy tính
+ Sử dụng worm
+ Sử dụng chương trình Trojan Horse
+ Kẻ phá hoại – Vandal
+ Chặn bắt gói tin (Network Packet Sniffing)
+ Xáo trộn và phát lại thông tin
Quét lỗ hổng mạng là một phương pháp để trừ tận gốc các điểm yếu cóthể trong mạng.Các công cụ quét lỗ hổng mạng dựa trên phần mềm đểthăm dò mạng như tìm ra các điểm yếu trong hệ điều hành,các trình ứngdụng, mật khẩu,giao thức…Trên thực tế,các hackers cũng dùng những