Tải bản đầy đủ (.doc) (77 trang)

Bảo mật cho mạng máy tính và các ứng dụng web

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 (521.66 KB, 77 trang )

Bảo mật cho mạng máy tính và các ứng dụng Web
Lời cảm ơn
Để có được đồ án này, tôi xin bầy tỏ lòng biết ơn sâu sắc đến tập thể các
thầy giáo, cô giáo trường Đại học Bách khoa Hà Nội nói chung và khoa Công
nghệ thông tin nói riêng đã tận tình giảng dạy và truyền đạt cho tôi những kiến
thức và kinh nghiệm quý báu trong suốt những năm học vừa qua.
Tôi xin chân thành cảm ơn thầy giáo Thạc sĩ Lương Mạnh Bá, bộ môn
Công nghệ phần mềm - Khoa Công nghệ thông tin đã cho tôi nhiều ý kiến đóng
góp quý báu, tận tình giúp đỡ tôi về kiến thức cũng như tài liệu trong suốt quá
trình làm đồ án. Nhờ sự quan tâm chỉ bảo và những đóng góp quý báu của thầy,
tôi mới có thể hoàn thành đồ án này.
Cuối cùng, xin cảm ơn gia đình và bạn bè, những người đã ở bên tôi trong
suốt những năm học vừa qua ./.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 1
Bảo mật cho mạng máy tính và các ứng dụng Web
MỤC LỤC
MỞ ĐẦU
1.Đặt vấn đề……………………………………………………………………4
2.Nhiệm vụ và bố cục của đồ án……………………………………………….5
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ ỨNG DỤNG WEB 7
I.MẠNG MÁY TÍNH VÀ CÁC VẤN ĐỀ LIÊN QUAN…………………… 8
1.Khái niệm mạng………………………………………………………….8
2.Kiến trúc mạng………………………………………………………… 9
2.1.Kiến trúc phân tầng…………………………………………… 9
2.2.Kiến trúc mạng theo mô hình OSI ……………………………10
3.Internet và họ giao thức TCP/IP……………………………………… 11
4.Các dịch vụ thông tin trên mạng……………………………………… 16
4.1.Dịch vụ tên miền - DNS (Domain Name Sevice)…………… 16
4.2.Đăng nhập từ xa (Telnet)………………………………………17
4.3.Truyền tệp FTP……………………………………………… 17
4.4.Thư điện tử…………………………………………………….17


5.Địa chỉ IP……………………………………………………………… 18
II.ỨNG DỤNG WEB ….…………………………………………… …… 24
1.Kiến trúc ứng dụng Web……………………………………………… 24
1.1.World Wide Web………………………………………………24
1.2.HyperText Markup Language (HTML)……………………… 25
1.3.HyperText Tranfer Protocol (HTTP)………………………… 26
2.Các vấn đề liên quan…………………………………………………….27
CHƯƠNG 2: CÁC VẤN ĐỀ VỀ AN NINH MẠNG, THỰC TRẠNG VÀ GIẢI
PHÁP…………………………………………………………………………… 32
I.VẤN ĐỀ AN NINH MẠNG HIỆN NAY… ………………… ……………33
1.Thực trạng về vấn đề an toàn an ninh mạng…………………………….33
2.Những khái niệm về an ninh mạng…………………………………… 36
2.1.Đối tượng cần đảm bảo an ninh……………………………… 36
2.2.Thế nào là đảm bảo an toàn hệ thống………………………….37
II.PHÂN LOẠI CÁC PHƯƠNG PHÁP TẤN CÔNG MẠNG…….………… 38
1.Thăm dò thu thập thông tin về hệ thống……………………………… 38
2.Xâm nhập hệ thống trái phép……………………………………………39
3.Giả mạo(Spoofing)…………………………………………………… 40
4.Tấn công gây từ chối dịch vụ……………………………………………40
III.NHỮNG GIẢI PHÁP TĂNG CƯỜNG AN NINH CHO HỆ THỐNG MẠNG
1.Giải pháp an ninh mạng bằng giao thức……………………………… 43
2.Giải pháp an ninh mạng bằng hệ thống…………………………………44
CHƯƠNG 3: BẢO MẬT CHO CÁC ỨNG DỤNG WEB……………………….47
1.Các vấn đề bảo mật phía Client……………………………………………… 48
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 2
Bảo mật cho mạng máy tính và các ứng dụng Web
2.Các vấn đề về Transport……………………………………………………….50
3.Các vấn đề từ phía Server…………………………………………………… 50
4.Các vấn đề về Web Application……………………………………………….54
5.Các vấn đề từ phía lập trình……………………………………………………56

CHƯƠNG 4: ỨNG DỤNG CÁC KẾT QUẢ NGHIÊN CỨU………………………… 61
1.Lựa chọn ứng dụng…………………………………………………………….62
2.Giải pháp……………………………………………………………………….62
3.Một số kết quả thử nghiệm…………………………………………………….74
TÀI LIỆU THAM KHẢO……………………………………………………………….77
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 3
Bảo mật cho mạng máy tính và các ứng dụng Web
MỞ ĐẦU
1.Đặt vấn đề
Song song với việc xây dựng nền tảng về công nghệ thông tin, cũng như
phát triển các ứng dụng máy tính trong sản xuất, kinh doanh, khoa học, giáo dục,
xã hội thì việc bảo vệ những thành quả đó là một điều không thể thiếu và thực sự
cần thiết.
Ngày nay, khi Internet trở thành một kho tàng thông tin khổng lồ, phục vụ
hữu hiệu trong sản xuất, kinh doanh, đã trở thành đối tượng cho nhiều người tấn
công với các mục đích khác nhau. Đôi khi cũng chỉ là để thử tài hoặc đùa bỡn với
người khác, nhưng hậu quả của nó thì không lường hết trước được.
Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên
Internet, số lượng các vụ tấn công trên Internet cũng ngày càng tăng theo cấp số
nhân. Trong khi các phương tiện thông tin đại chúng ngày càng nhắc nhiều đến
Internet với những khả năng truy nhập thông tin dường như vô tận của nó, thì các
tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an toàn dữ liệu
cho các máy tính được kết nối vào mạng Internet.
Theo số liệu của CERT (Computer Emegency Response Team) số lượng
các vụ tấn công trên Internet được thông báo cho tổ chức này là ít hơn 200 vào
năm 1989, khoảng 400 vào năm 1991, khoảng 1400 vào năm 1993 và 2241 vào
năm 1994. Những con số thống kê này cho chúng ta thấy số lượng các vụ tấn công
ngày càng nhiều, những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên
Internet, các máy tính của các công ty lớn như AT&T, IBM, các trường đại học,
các cơ quan nhà nước, các tổ chức quân sự, các hệ thống ngân hàng. Hơn nữa, các

vụ tấn công này chỉ như là phần nổi của tảng băng, một phần không nhỏ các vụ tấn
công không được thông báo vì nhiều lý do, trong đó có thể kể đến nỗi lo bị mất uy
tín hoặc đơn giản những người quản trị hệ thống không hề hay biết những cuộc tấn
công nhằm vào hệ thống của họ.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 4
Bảo mật cho mạng máy tính và các ứng dụng Web
Không chỉ số lượng các cuộc tấn công tăng lên nhanh chóng, mà các
phương pháp tấn công cũng ngày càng được hoàn thiện. Điều đó một phần cũng là
do các nhân viên quản trị hệ thống được kết nối với Internet ngày càng đề cao
cảnh giác. Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu
đoán tên người sử dụng - mật khẩu (UserID-Password) hoặc sử dụng một số lỗi
của các chương trình và hệ điều hành làm vô hiệu hoá hệ thống bảo vệ, tuy nhiên
các cuộc tấn công vào thời gian gần đây bao gồm cả các thao tác như giả mạo địa
chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm việc từ xa.
Bảo mật ứng dụng Web trong thương mại điện tử (eBusiness) là một công
việ khó khăn và rất phức tạp. Mọi vấn đề trong e-Business phải được bảo mật
trong cả mức mạng và mức ứng dụng. Trong khi bảo mật mức mạng đã được quan
tâm bao gồm từ việc điều khiển truy cập đến việc bảo mật việc truyền dữ liệu và
việc xác thực cũng có thể được địa chỉ hoá sử dụng các sản phẩm thương mại có
sẵn, bảo mật ứng dụng ít được quan tâm hơn. Ngày nay, hầu hết các Web site
thương mại điện tử có thể bị phá vỡ ở mức ứng dụng. Các kỹ thuật tấn công như là
thao tác với các vùng ẩn, giả mạo tham số hay mối nguy hiểm từ cookie có thể dễ
dàng bị khai thác, kết quả là đạt được quyền truy nhập, đánh cắp dữ liệu, thay đổi
giá cả, phá huỷ hoặc làm suy yếu và có thể là cho site đó ngừng hoạt động. Các lỗ
hổng mà cho phép các lỗi này tồn tại như là hệ quả của các thiếu sót trong thiết kế,
xây dựng, và kiểm thử việc phát triển mã bên trong. Việc cố gắng khắc phục tất cả
các lỗi đòi hỏi rất nhiều nhân lực làm việc liên tục để có thể kiểm tra và sửa chữa
các lỗi trong ứng dụng.
2.Nhiệm vụ và bố cục của đồ án
Đồ án này tập trung vào các vấn đề bảo mật cho mạng máy tính và ứng các

ứng dụng Web, tổng hợp các kết quả nghiên cứu liên quan đến vấn đề an ninh cho
các ứng dụng Web trong giai đoạn hiện nay, khi mà Internet đã được ứng dụng rất
sâu rộng trong rất nhiều lĩnh vực khác nhau.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 5
Bảo mật cho mạng máy tính và các ứng dụng Web
Các nhiệm vụ chính của đồ án như sau:
1. Tìm hiểu kiến trúc mạng máy tính, các giao thức truyền thông trên mạng
2. Tìm hiểu kiến trúc của các ứng dụng Web
3. Phân tích các lỗ hổng bảo mật trên mạng máy tính và trên ứng dụng Web.
4. Xây dựng ứng dụng minh hoạ cho các vấn đề lý thuyết nghiên cứu
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 6
Bảo mật cho mạng máy tính và các ứng dụng Web
Chương 1
TỔNG QUAN VỀ MẠNG MÁY TÍNH
VÀ ỨNG DỤNG WEB
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 7
I. Mạng máy tính và các vấn đề liên quan
1.Khái niệm Mạng
2.Kiến trúc Mạng máy tính
3.Internet và họ giao thức TCP/IP
4.Các dịch vụ thông tin trên Internet
5.Địa chỉ IP
II. Ứng dụng Web
1.Kiến trúc ứng dụng Web
2.Các vấn đề liên quan
Bảo mật cho mạng máy tính và các ứng dụng Web
I.MẠNG MÁY TÍNH VÀ CÁC VẤN ĐỀ LIÊN QUAN
1.Khái niệm Mạng (Network)
Là một hệ thống liên kết các đối tượng hay con người lại với nhau. Khái
niệm mạng mà chúng ta quan tâm : 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 đó. Người ta
nhận thấy rằng có thể tiết kiệm rất nhiều tiền của, công sức, tài nguyên khi áp
dụng các kỹ thuật mạng. Do đó họ đã liên tục xây dựng thêm các mạng mới và mở
rộng các mạng sẵn có cho riêng mình, và như vậy mỗi mạng ra đời thì gần như là
theo các kỹ thuật khác nhau, phương thức khác nhau, cùng các loại phần cứng,
phần mềm khác nhau. Hậu quả là các kỹ thuật mạng mới không tương thích với
nhau. Điều này gây rất nhiều khó khăn cho các mạng dùng đặc tả khác nhau thông
tin với nhau.
Một giải pháp đầu tiên cho vấn đề tạo ra các mạng là mạng cục bộ, mạng
LAN. LAN có thể kết nối tất cả các workstation, các thiết bị ngoại vi, các thiết bị
đầu cuối, và các thiết bị khác trong một phạm vi hẹp như trong một phòng hay
trong một toà nhà. Tuy nhiên khi yêu cầu mô hình lớn hơn thì LAN (Local Area
Network) không đáp ứng được yêu cầu mặt khác yêu cầu trao đổi thông tin không
chỉ trong nội bộ mà còn với các mạng khác là cần thiết. Và như vậy, WAN (Wide
Area Network) ra đời, sau đó là GAN (Global Area Network). Rõ ràng việc phân
chia các loại mạng ở đây là trên cơ sở khoảng cách địa lý vì vậy nó chỉ mang tính
chất tương đối.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 8
Bảo mật cho mạng máy tính và các ứng dụng Web
2.Kiến trúc mạng máy tính
Là cách kết nối các máy tính với nhau , tập các quy tắc, các quy ước mà tất
cả các thực thể tham gia phải tuân theo (đó chính là các giao thức).
2.1.Kiến trúc phân tầng
Mỗi hệ thống thành phần của mạng được xem như là một cấu trúc đa tầng,
trong đó mỗi tầng được xây trên tầng trước nó. Mục đích của mỗi tầng là để cung
cấp một số dịch vụ nhất định cho tầng cao hơn.
Hệ thống A Hệ thống B
Tầng N Tầng N

Tầng i+1 Tầng i+1

Tầng i Tầng i
Tầng i-1 Tầng i-1

Tầng 1 Tầng 1
Nguyên tắc kiến trúc phân tầng :
o Số lượng tầng, chức năng các tầng của mỗi hệ thống trong
một mạng là như nhau.
o Xác định mối quan hệ giữa 2 tầng kề nhau và mối quan hệ
giữa 2 tầng đồng mức.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 9
Giao thức tầng N
Giao thức tầng i+1
Giao thức tầng i
Giao thức tầng i-1
Giao thức tầng 1
Giao diện i+1/i
Giao diện i/i-1
Đường truyền
Bảo mật cho mạng máy tính và các ứng dụng Web
o Dữ liệu không truyền trực tiếp từ tầng i của hệ thống này sang
tầng i của hệ thống khác (trừ 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 bit từ hệ thống này sang hệ thống khác)
2.2.Kiến trúc mạng theo mô hình OSI :
Khi thiết kế kiến trúc mạng, các nhà thiết kế tự do lựa chọn kiến trúc mạng
riêng cho mô hình của mình, dẫn đến tình trạng không tương thích giữa các mạng.
Vì vậy mô hình OSI ra đời do tổ chức tiêu chuẩn hoá quốc tế (International
Organization for Standardization – ISO) đưa ra.
Mô hình OSI cũng xuất phát từ kiến trúc phân tầng trình bày ở trên, bao
gồm 7 tầng :
Hệ thống A Hệ thống B

7.Application
6.Presentation
5.Session
4.Transport
3.Network
2.Data Link
1.Physical
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 10
Giao thức tầng 7
Giao thức tầng 5
Giao thức tầng 4
Giao thức tầng 3
Giao thức tầng 1
Đường truyền
Giao thức tầng 2
Giao thức tầng 6
Bảo mật cho mạng máy tính và các ứng dụng Web
Chức năng của các tầng trong mô hình OSI :
Tầng Chức năng
1.Physical Truyền dòng bit qua đường truyền vật lý
2.Data Link Truyền thông tin qua liên kết vật lý bảo đảm
tin cậy.
3.Network Thực hiện việc chọn đường và chuyển tiếp
thông tin, thực hiện việc kiểm soát, cắt/hợp
dữ liệu nếu cần thiết.
4.Transport Thực hiện truyền dữ liệu giữa 2 đầu mút
5.Session Cung cấp phương tịên quản lý truyền thông
giữa các ứng dụng.
6.Presentation Chuyển đổi cú pháp dữ liệu để đáp ứng yêu
cầu truyền dữ liệu của các ứng dụng qua môi

trường OSI.
7.Application Cung cấp các phương tiện để người sử dụng
có thể truy nhập vào môi trường OSI .
3.Internet và họ giao thức TCP/IP(Transmission Control Protocol/Internet
Protocol)
Internet ra đời gắn liền với quá trình phát triển của hệ thống các mạng nhỏ
hơn như ARPANet, NSFNet. Về mặt địa lý, Internet đã vượt ra khỏi phạm vi nước
Mỹ (nơi phát minh ra mạng này) và trở thành một mạng toàn cầu.
Họ giao thức TCP/IP: Đây là họ giao thức theo chuẩn ISO và là giao thức
phổ biến nhất hiện nay. TCP/IP gồm 4 lớp giao thức, tương ứng với 7 lớp giao
thức của chuẩn ISO-OSI. Bốn lớp đó gồm (kể theo thứ tự từ trên xuống dưới):
Application layer, Host-to-host layer, Internet layer, cuối cùng là Physical layer.
TCP nằm ở lớp thứ 3 (Host-to-host layer), IP nằm ở lớp thứ 2 (Internet layer).
Tên Số thứ tự
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 11
Bảo mật cho mạng máy tính và các ứng dụng Web
Application layer 4
Host-to-host layer 3
Internet layer 2
Physical layer 1
Đi từ trên xuống dưới, lớp ứng dụng sẽ xử lý thông tin và ra lệnh gửi/nhận
đến lớp TCP để truyền và nhận dữ liệu.
TCP phụ trách việc truyền và nhận dữ liệu. TCP giúp cho lớp ứng dụng
(Application layer) sử dụng lớp IP (lớp IP là vì lớp Internet chỉ có IP) một cách
trong suốt. Điều này có nghĩa là lớp ứng dụng không cần biết đến phần cứng sẽ
làm việc gì, ra sao, mà chỉ cần quan tâm đến việc xử lý dữ liệu của riêng mình.
TCP cũng đảm trách việc nhận đúng dữ liệu và gửi dữ liệu đó đến đúng chương
trình cần nhận. TCP còn có chức năng kiểm tra và sửa lỗi thông qua việc đồng bộ
hoá (synchronize) thông tin 2 đầu truyền dữ liệu và lời nhận biết
(acknowledgement) từ phía nhận dữ liệu.

Lớp IP đảm trách việc tìm đường tối ưu để gửi dữ liệu qua mạng và đưa dữ
liệu xuống cho lớp vật lý (Physical layer).
Lớp vật lý chính thức chuyển dữ liệu thành các bit và truyền dữ liệu theo
đường truyền vật lý.
Khi dữ liệu đến thì lớp vật lý nhận dữ liệu, gộp lại thành các bit, byte và
chuyển lại cho lớp IP. Đến lượt lớp IP sau khi đã kiểm tra dữ liệu là thuộc về giao
thức TCP sẽ trả dữ liệu đó cho lớp Host-to-host (bao gồm TCP và UDP).
Nguyên tắc hoạt động
Các tính chất của TCP:
- Có tính kết nối (connection oriented) với giao tiếp 3 lượt (3-way
handshake).
- Phát hiện và sửa lỗi (error detection & recovery).
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 12
Bảo mật cho mạng máy tính và các ứng dụng Web
TCP là một giao thức có tính kết nối. Điều này có nghĩa là mọi kết nối đều
có sự thông tin trước. Ví dụ A muốn kết nối tới B thì A phải thông báo cho B biết
trước và đợi trả lời đồng ý từ B. Sự thông tin này diễn ra theo 3 bước (3-way
handshake) như sau:
1. A gửi thông điệp muốn kết nối tới B. (SYN)
2. B gửi thông điệp đồng ý kết nối lại cho A. (ACK, SYN)
3. A gửi thông điệp đã nhận được sự đồng ý lại cho B. (ACK)
SYN: synchronize, đồng bộ hoá kết nối.
ACK: acknowledgement, sự nhận biết.
Diễn giải quá trình:
Bước 1: A gửi một SYN message tới B, thông báo cổng (port) cần kết nối
tới, dung lượng đường truyền của A, khả năng gửi bao nhiêu thông điệp không cần
nhận biết (windowing, giải thích sau), và các thông tin khác.
Bước 2: B nhận được thông tin từ A, nếu chấp nhận kết nối sẽ gửi trả thông
báo đã nhận được yêu cầu kết nối từ A và chấp nhận sự kết nối, đồng thời cũng
gửi thêm thông tin về B như khả năng gửi bao nhiêu thông điệp không cần nhận

biết v.v
Bước 3: A gửi trả ACK message cho B thông báo rằng A đã nhận được.
Kết nối thành công.
Ngoài ra, khi muốn chấm dứt kết nối, bốn bước sau sẽ được thực hiện:
1. A gửi tín hiệu chấm dứt kết nối. (SYN)
2. B nhận tín hiệu và gửi trả tín hiệu cho biết đã nhận. (ACK)
3. B gửi tín hiệu cho Application layer thông báo kết nối sẽ bị chấm dứt đồng
thời gửi trả cho A tín hiệu thông báo đồng ý chấm dứt. (SYN)
A gửi lại cho B tín hiệu cho biết A đã nhận được thông điệp từ B. (ACK)
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 13
Bảo mật cho mạng máy tính và các ứng dụng Web
TCP có tính phát hiện lỗi vì mọi thông điệp gửi theo TCP đều được kiểm tra
thông qua một số nguyên 32 bit cho biết giá trị CRC (Cyclic Redundant Check)
của thông điệp được gửi. Bên gửi sẽ tính giá trị CRC và gửi kèm trong thông điệp.
Bên nhận sẽ tính lại giá trị đó và so sánh với giá trị do bên gửi gửi đi. Nếu không
đúng có nghĩa là đã có sự sai sót xảy ra. TCP có tính sửa lỗi vì khi phát hiện ra sai
sót, bên nhận sẽ gửi thông điệp báo sai tới bên gửi, đề nghị gửi lại thông điệp bị
sai.
Không phải sau mỗi một thông điệp được gửi đi thì đều có một thông điệp
thông báo đã nhận được từ bên nhận gửi trả về. Có thể sau 10 thông điệp được gửi
đi thì mới có một thông điệp thông báo nhận được gửi trả. Đó gọi là khả năng gửi
không cần nhận biết.
Ví dụ: A gửi cho B 6 lượt, mỗi lượt 1000 bytes, khả năng gửi không cần nhận
biết của A là 3, B nhận được thông điệp đầu hoàn chỉnh, thông điệp thứ 2 bị sai,
các thông điệp sau bình thường. Quá trình đó sẽ diễn ra như sau:
1. A gửi cho B 3 thông điệp lần lượt.
2. B gửi lại cho A ACK message với giá trị 2000. Nếu B nhận được tất cả các
thông điệp hoàn chỉnh, B sẽ gửi lại cho A một ACK message với giá trị
4000 (là giá trị kế tiếp mà A có thể gửi).
3. A gửi lại cho B message thứ 2 (từ vị trí 2000 đến vị trí 2999) và chờ. Lúc

này A hy vọng rằng B nhận được thông điệp thứ nhất và thông điệp thứ ba
hoàn chỉnh, A sẽ không phải gửi lại toàn bộ các thông điệp từ chỗ bị sai mà
chỉ gửi thông điệp bị sai.
4. B gửi lại cho A ACK message với giá trị 4000 cho biết B nhận được 3
thông điệp đầu hoàn chỉnh và A có thể gửi tiếp các thông điệp sau, bắt đầu
từ vị trí 4000.
5. A gửi cho B thông điệp thứ 4, 5 và 6.
6. B gửi trả ACK message với giá trị 7000.
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 14
Bảo mật cho mạng máy tính và các ứng dụng Web
Giả sử trong khi gửi thông điệp 4, 5, 6, A chưa kịp gửi thông điệp thứ 5 thì đã
nhận được ACK message từ B với giá trị 5000 thì lúc đó window của A sẽ được
sửa thành giá trị 3. Nếu A đã gửi thông điệp 4, 5 và nhận được ACK message của
B với giá trị 5000 thì window của A được sửa thành 2, A có thể gửi tiếp 2 thông
điệp 6 và 7. Có nghĩa là tối đa A có thể gửi ‘window’ lần số thông điệp. Mỗi lần
gửi, giá trị window giảm cho đến khi bằng 0. Khi nhận được ACK message, giá trị
đó sẽ thay đổi, tăng lên cho đến khi số thông điệp đã gửi đi mà chưa nhận được
ACK message bằng giá trị window chính).
Trong quá trình truyền tín hiệu như vậy, nếu bên B cảm thấy có thể nhận được
tín hiệu nhanh hơn thì bên B sẽ gửi SYN message lại cho A, thông báo muốn tăng
giá trị window lên (giảm thời gian và số ACK message được gửi đi). Bên A sẽ gửi
trả ACK message và tự tăng giá trị window lên theo yêu cầu của bên B. Ngược lại,
B sẽ đề nghị A giảm giá trị window xuống. Ngoài ra, số lượng thông tin được gửi
đi trong mỗi thông điệp cũng có thể thay đổi tuỳ vào đường truyền. Với TCP,
lượng thông tin này được đo bằng đơn vị byte. MTU (maximum transmission unit)
là số transmission unit (đơn vị truyền) (với TCP được tính là byte) tối đa mỗi
thông điệp có thể chứa.
Nói tóm lại, sự liên lạc bằng TCP có tính phát hiện và sửa lỗi, cũng như có sự
can thiệp một cách tự động của lớp TCP phụ thuộc vào điều kiện đường truyền.
TCP phân biệt các thông điệp gửi cho chương trình này và thông điệp gửi cho

chương trình khác thông qua socket. Socket là một khái niệm để chỉ 2 giá trị cần
thiết khi khởi tạo kết nối. Đó là địa chỉ IP (IP address) của máy và cổng (port). Giả
sử B chạy một server, nhận kết nối ở cổng 80, có địa chỉ IP là 192.168.1.89. A là
máy khách, chạy 2 chương trình client để kết nối tới B, A có địa chỉ là
192.168.1.93. Client đầu tiên dùng port 1024, client thứ 2 dùng port 1025. Khi B
nhận tín hiệu kết nối từ client thứ 1, B hiểu rằng tín hiệu đó từ địa chỉ IP
192.168.1.93 và từ port 1024. Tương tự, B hiểu client thứ 2 từ socket khác. Như
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 15
Bảo mật cho mạng máy tính và các ứng dụng Web
vậy, khi B trả lời A, B sẽ gửi thông tin tới socket tương ứng với client 1 hay 2 của
A. Khi A gửi cho B, B cũng biết thông tin đó từ client 1 hay 2 gửi cho mình thông
qua việc nhận biết thông tin đó xuất phát từ socket của client 1 hay 2.
4.Các dịch vụ thông tin trên Internet
4.1Dịch vụ tên miền (DNS-Domain Name Server)
Là việc quản lý hệ thống tên thông qua địa chỉ IP trên Internet. Hệ thống
này quản lý các tên bằng cách quản lý theo phân cấp cho các nhóm tên. Mỗi cấp
trong hệ thống được gọi là một miền (domain), các miền được tách nhau bởi dấu
chấm, số lượng domain trong một tên có thể thay đổi nhưng nhiều nhất là 5
domain.
Việc ánh xạ địa chỉ IP và các tên miền được thực hiện thông qua Name
Resolver và Name Server. Name Resolver được cài trên Workstation có nhiệm vụ
gửi yêu cầu ánh xạ địa chỉ (host name to IP address) tới Name Server (Name
Server được cài đặt trên Server). Nếu host name được tìm thấy thì Name Server sẽ
gửi địa chỉ IP tương ứng về workstation và sau đó workstation sẽ thử liên kết với
host bằng cách dùng IP chứ không dùng tên nữa)
4.2Đăng nhập từ xa Telnet
Là hình thức truy cập vào máy từ xa khi có thẩm quyền và làm việc với hệ
thống như là trạm cuối nối trực tiếp với trạm từ xa đó. Để khởi động, chúng ta
thực hiện lệnh : telnet <domain name or IP address> từ MS Dos prompt
Telnet hỗ trợ cho quá trình thực hiện thông qua một tập lệnh điều khiển

Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 16
Bảo mật cho mạng máy tính và các ứng dụng Web
4.3Truyền tệp FTP-File Tranfer Protocol
FTP cho phép chuyển các tệp từ trạm này sang trạm khác, bất kể các trạm
đó ở đâu. Thực hiện lệnh :
ftp <domain name or IP address>
Ftp sẽ thiết lập liên kết với trạm từ xa và sau đó phải đăng nhập hệ thống
với username/password.
Ftp cũng hỗ trợ cho quá trình thao tác với một tập lệnh điều khiển.
4.4Thư điện tử (Electronic Mail)
Đây là một trong những dịch vụ phổ biến nhất trên Internet hiện nay. Tuy
nhiên đây không phải là một dịch vụ đầu cuối mà đây là một dịch vụ kiểu “lưu và
chuyển tiếp”.
Mỗi người dùng đều phải kết nối với một Mail Server gần nhất, Mail server
này có nhiệm vụ chuyển thư đến đích hoặc Mail Server trung gian khác. Thư sẽ
chuyển đến Mail Server của người nhận và được lưu tại đó, khi người nhận thiết
lập một cuộc kết nối tới Mail Server đó thì thư sẽ được chuyển về máy người
nhận, nếu không thư vẫn được giữ lại Server đó để đảm bảo không bị mất thư.
Giao thức truyền thống sử dụng cho hệ thống thư điện tử trên Internet là
SMTP (Simple Mail Transfer Protocol).
5.Địa chỉ IP
5.1 Sơ qua về địa chỉ
Người sử dụng muốn truy cập vào dữ liệu trên mạng mà dữ liệu này như
một “đám mây” rộng lớn và do đó để có thể thông tin cho bất kỳ một người dùng
nào kết nối vào “đám mây” đó mà không đòi hỏi bất kỳ kiến thức nào về những gì
bên trong mạng “đám mây” đó. Địa chỉ được sử dụng để truyền trực tiếp từ một
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 17
Bảo mật cho mạng máy tính và các ứng dụng Web
điểm tới một hoặc nhiều điểm khác. Địa chỉ khác tên ở chỗ, địa chỉ từ một cấu trúc
dữ liệu trong một hệ thống truyền thông mà xác định vị trí một cách vật lý hoặc

logic của một thực thể, thiết bị hoặc điểm truy nhập đơn.
o Các mức của địa chỉ
Địa chỉ có thể được đánh một cách ngang hàng hoặc theo một lược đồ có
thứ bậc. Chẳng hạn, địa chỉ IP được đánh tuỳ ý trong một lược đồ của các lớp địa
chỉ.
o Các loại địa chỉ
Bảng dưới đây cho ta biết một số loại :
Technology Type Size
Circuit Switching
X 25 Packet Switching
X.121
Frame (ANSI)
502.6
302.6
302.5/SMDS
302.5/SMDS
302.6/SMDS
102.X LAN
None
LCI
LCI
DLCI
E.164/D15
E.164/D15
E.164/D15
E.164/D15
E.164/D15
MAC
None
12 bits

14 BCD digits
2octets(4 for ITU)
16 bits
48 bits
Individual 60 bits
Group bit
NPA/NXX
16 to 48 bits
Mỗi kiến trúc mạng có một loại địa chỉ riêng. Ví dụ như kiến trúc của
DECnet. Địa chỉ DECnet có một vùng ở mức 2 và một nút riêng địa chỉ ở mức 1
và có thể hỗ trợ tới 63 vùng, mỗi vùng hỗ trợ tới 1023 hệ thống.
o Cách đánh và phân bố địa chỉ
Một yêu cầu mang tính cần thiết là trong bất kỳ mạng truyền thông nào
cũng được đánh một địa chỉ duy nhất với mỗi thực thể tham gia truyền thông.
Giống như trong mạng điện thoại thì mỗi điện thoại trên thế giới được gán duy
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 18
Bảo mật cho mạng máy tính và các ứng dụng Web
nhất một số, trên Internet thì mỗi người dùng hoặc mỗi “host” được gán duy nhất
một địa chỉ IP.
5.2 Đánh địa chỉ IP
Một mạng có thể có một số lượng lớn các host, nếu mỗi cầu nối trong một
mạng cần biết vị trí của các host thì bảng định tuyến có thể trở thành khá lớn. Một
khái niệm khoá sử dụng trong định tuyến IP được gọi là “subnetting”. Subnetting
cho phép một không gian địa chỉ host có thể bị phá vỡ trong nhiều mạng phụ bằng
việc tạo mặt nạ các bits trong vùng địa chỉ của host.
5.2.1 Kích thước của địa chỉ IP
Một địa chỉ IP là một số nguyên 32-bit. Số nguyên này được chia làm 4 số
nguyên mỗi số nguyên có chiều dài 8 bit. Mỗi số nguyên được phân cách nhau bởi
dấu chấm (.). Ví dụ 198.62.193.32 là một địa chỉ đơn. Mỗi số nguyên 8-bits này có
thể biểu diễn bởi một số thập phân từ 0 đến 255, hoặc trong hệ 16 là 0 đến FF,

hoặc trong hệ nhị phân là từ 00000000 đến 11111111. Do đó một địa chỉ IP ở các
dạng A.B.C.D có kiến trúc như sau:
o Nhị phân: 00000000.00000000.00000000.00000000 đến
11111111.11111111.11111111.11111111 or
o Thập phân : 0.0.0.0 đến 255.255.255.255 hoặc
o Hệ 16 : 0.0.0.0 đến FF.FF.FF.FF
Mỗi địa chỉ IP sẽ bao gồm 2 phần : địa chỉ mạng (network : N) và địa chỉ
máy (host : H)
Toàn bộ địa chỉ IP được chia vào 6 lớp khác nhau: A, B, C, D, E và loopback.
Mỗi lớp khác nhau ở phần địa chỉ mạng và địa chỉ máy.
Lớp A:
- Format: N.H.H.H
- Bit đầu tiên là 0
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 19
Bảo mật cho mạng máy tính và các ứng dụng Web
- 7 bit tiếp theo của N dành cho địa chỉ network nên có tối đa 2
7
– 2 mạng
- 24 bit còn lại dành cho địa chỉ host nên mỗi mạng thuộc lớp A sẽ có tối
đa 2
24
– 2 máy.
- Nguyên nhân của việc trừ 2 trong cách tính số mạng và số máy là đều
bỏ đi địa chỉ đầu tiên và địa chỉ cuối cùng.
Lớp B:
- Format: N.N.H.H
- Hai bit đầu 10
- 14 bit tiếp theo dành cho địa chỉ mạng, nên có tối đa 2
14
mạng

- 16 bit còn lại dành cho địa chỉ host, nên mỗi mạng thuộc lớp B sẽ có tối
đa 2
16
-2 máy.
Lớp C:
- Format: N.N.N.H
- Ba bit đầu 110
- 21 bit tiếp theo dành cho địa chỉ mạng, nên có tối đa 2
21
-2 mạng
- 8 bit còn lại dành cho địa chỉ host, nên mỗi mạng thuộc lớp C sẽ có tối
đa 2
8
-2 máy
Lớp D:
- Bốn bit đầu là 1110
- Được dùng cho nhóm các multicasting
Lớp E :
- Bốn bit đầu tiên luôn là 1111
Loopback:
- Dải địa chỉ : 127.x.x.x
Như vậy, để phân biệt xem địa chỉ IP thuộc lớp nào thì chúng ta có thể căn
cứ vào byte đầu tiên của địa chỉ IP. Cụ thể :
Lớp Byte đầu tiên của địa chỉ IP
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 20
Bảo mật cho mạng máy tính và các ứng dụng Web
A 1 - 126
B 128 - 191
C 192 - 223
D 224 - 239

E 240 - 254
Loopback 127
5.2.2 Mặt nạ mạng
Có 4 lớp của địa chỉ IP, đó là A, B, C, D. Các lớp hay được sử dụng là A, B
và C. Mặt nạ mạng chia số lượng các nút mạng từ số các host. Các mặt nạ này
được biểu diễn như sau:
Lớp A = FF.0.0.0
Lớp B = FF.FF.0.0
Lớp C = FF.FF.FF.0
Lớp A có cấu trúc địa chỉ cho phép 256 mạng, mỗi mạng nhiều hơn 4 tỉ nút
Lớp B cho phép đánh được 65536 mạng, mỗi mạng với 65536 nút
Lớp C cho phép đánh được 4 tỉ mạng, mỗi mạng 256 nút.
Địa chỉ lớp A thường được đánh cho mạng của các hãng lớn hoặc cho các
nhà cung cấp dịch vụ như AT&T.
Địa chỉ lớp B thường được đánh cho các mạng có kích thước trung bình và
địa chỉ lớp C thường được đánh cho các mạng nhỏ hơn.
Ví dụ địa chỉ lớp C 198.62.193.0-255 có thể có một mặt nạ là FF.FF.FF.0
5.2.3 Giao thức địa chỉ IP
Có một số phương thức biểu diễn lược đồ một địa chỉ IP. Với giao thức ma
trận, mỗi người dùng (workstation, host, server) sẽ được gán một địa chỉ IP đơn.
Truyền thông sẽ được thực hiện từ điểm tới điểm. Với các mạng lớn hơn, việc
quản lý địa chỉ là giao thức theo thứ bậc. Địa chỉ IP được gán trong một khối dựa
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 21
Bảo mật cho mạng máy tính và các ứng dụng Web
trên các vùng khác nhau. Các mặt nạ này cung cấp một phương thức phân đoạn và
giảm số lượng các địa chỉ mạng mà các thiết bị mạng cần biết.
Ví dụ, địa chỉ ma trận IP sẽ tương tự như cách gửi mail, ở đó người gửi sẽ
đặt một tên, địa chỉ, thành phố của người nào đó trên lá thư. Mỗi bưu điện sẽ
chuyển lá thư dọc theo thành phố nơi người nhận được xác định thông qua tên và
địa chỉ.

5.3.4 Địa chỉ dựa trên giao thức
Các cách của giao thức cho mạng được xác định và chúng ta hiểu rằng việc
thiết lập địa chỉ IP, nó phải được xác định xem địa chỉ được đánh như thế nào tại
mỗi site cho mỗi lớp theo thứ bậc. Ví dụ:
o Mỗi trạm làm việc nhận 1 host địa chỉ
o Mỗi đoạn (vùng) của LAN nhận 64 host địa chỉ
o Mỗi floor nhận 256 host địa chỉ
o Mỗi toà nhà nhận 1024 host địa chỉ
Mỗi số lượng này chỉ ra một số ví dụ của việc đánh địa chỉ cho các host
trong mỗi đơn vị.
5.2.4 Mặt nạ mạng con
Khi chúng ta có một mặt nạ mạng xác định, chúng ta sẽ sử dụng lớp A, lớp
B hoặc lớp C và quyết định số lượng mạng và host yêu cầu. Mặt nạ mạng con chia
các mặt nạ mạng lớp A, B hoặc C thành nhiều host và các mạng con. Mặt nạ mạng
con được sử dụng để liên kết với mặt nạ mạng như sau:
Lấy địa chỉ lớp B 108.0.0.0. Phần địa chỉ mạng là 108.0. Mặt nạ mạng là
255.255.0.0 xác định 2 vị trí 0.0 đến 255.255. Tức là chúng ta có thể xác định đến
255 mạng và 255 host, tổng số là 255x255=65534 địa chỉ (loại trừ 2 địa chỉ 0 và
65535).
Bây giờ giả sử chúng ta xây dựng một mạng với 4 site và có 10 host cho
mỗi site. Địa chỉ lớp C mà chúng ta được dùng là 198.62.193.0, chúng ta sử dụng
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 22
Bảo mật cho mạng máy tính và các ứng dụng Web
240 mặt nạ mạng con để chia mặt nạ lớp C, điều này cho phép chúng ta có 14
mạng với 14 host mỗi mạng
5.2.5 Thay đổi chiều dài của mặt nạ mạng
Thay đổi chiều dài của mặt nạ mạng được sử dụng cho việc phân chia các
mạng con với kích thước khác nhau để sử dụng địa chỉ hiệu quả hơn. Chẳng hạn,
việc thay đổi chiều dài của mặt nạ mạng sẽ phân chia địa chỉ lớp C thành nhiều
mảnh khác nhau.

II.ỨNG DỤNG WEB (WEB APPLICATION)
Kiến trúc của ứng dụng Web hầu như gần giống mô hình máy tính trung
tâm, với nhiều máy khách(client) kết nối với máy chủ(server). Client sẽ thực hiện
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 23
Bảo mật cho mạng máy tính và các ứng dụng Web
một số công việc ở phía người dùng như trình diễn dữ liệu do server cung cấp,
phần lớn các công việc là do server đảm nhận.
Về căn bản, kiến trúc của ứng dụng Web dựa trên công nghệ phổ biến của
World Wide Web (WWW), Hypertext Markup Language (HTML) và phương tiện
chuyển tải là Hypertext Transfer Protocol (HTTP).
Sau đây chúng ta sẽ xem xét một số khái niệm cơ bản liên quan đến Web
App.
1.Kiến trúc ứng dụng Web
1.1.World Wide Web
Thông tin liên lạc là một yêu cầu cần thiết trong mọi thời đại. Từ xa xưa,
cha ông ta đã phát minh ra rất nhiều hình thức trao đổi thông tin, vận chuyển tin
tức từ nơi này đến nơi khác. Hình thức thì vô cùng đa dạng và phong phú. Từ
truyền miệng, cáo thị (ngày nay thường lá các thông báo) đến cách vận chuyển
thông tin bằng đường bộ, hay chim bồ câu. Càng ngày thì các phương thức truyền
tin này càng phát triển nhanh chóng, sự ra đời của radio, TV, điện thoại … đã giúp
cho việc thông tin liên lạc được hữu hiệu và nhanh chóng.
Sự phát minh ra máy vi tính và đặc biệt là mạng thông tin toàn cầu (Internet)
thực sự mở ra một kỷ nguyên mới cho thông tin liên lạc. Việc trao đổi thông tin
với nhau giữa những người trong mạng được diễn ra một cách nhanh chóng với
khối lượng thông tin khổng lồ.
Đến đầu những năm 1990, khi Internet đã phổ biến rộng rãi thì một công nghệ
mới là WWW (Word Wide Web) ra đời đã thay đổi tất cả và mang đến hàng triệu
người dùng mới với yêu cầu về người dùng ở mức thấp hơn. WWW khiến cho một
số site xác lập một số thông tin có chứa văn bản, âm thanh, hình ảnh liên kết
nhúng vào các trang khác với việc nhấp trên một liên kết , người dùng đột nhiên

đến được trang mà nó trỏ tới. Sự lớn mạnh và phổ biến sâu rộng của WWW phần
lớn là do sự dễ dàng trong sử dụng và rẻ tiền của nó.
Cùng với sự ra đời của WWW, một khái niệm khác cũng ra đời đó là Web
browser. Web browser (hay còn gọi là trình duyệt Web) có thể coi như là một
Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 24
Bảo mật cho mạng máy tính và các ứng dụng Web
công cụ dùng để đọc và hiển thị các tài liệu văn bản cũng như các tài liệu đa
phương tiện khác. :
Khi người sử dụng dùng Web browser để tìm tin tức thì trình duyệt sẽ móc nối
vào một trang gốc của máy phục vụ được định nghĩa sẵn hoặc có thể móc nối
thẳng tới máy phục vụ khác thông qua URL(Universal Resource Locator). Cách
thức móc nối như sau:
http://host/path
Trong đó : host tức là tên của máy phục vụ, path là nơi chứa trang tài liệu mà
người dùng muốn xem.
Địa chỉ URL thường được bắt đầu bằng www và tên vùng (domain name) của
địa chỉ cần trỏ tới. Từ đây ta có khái niệm domain name – là đại diện cho một dãy
các con số, xác định địa chỉ của máy tính hoặc nơi chứa tài liệu mà người dùng
yêu cầu.
1.2. Hypertext Markup Language (HTML)
Là ngôn ngữ đánh dấu (markup language), HTML được định nghĩa dựa
trên các thẻ (tags) để định dạng các thành phần của tài liệu cần trình bày. Các thẻ
HTML được giới hạn trong cặp dấu <>. Đây là một ví dụ đơn giản về cấu trúc của
tài liệu dựa trên HTML :
<HTML>
<H1> This is a First Level Header>/H1>
<p>This is the paragraph.</p>
</HTML>
Khi hiển thị trên Web brower thì các thẻ sẽ được dịch và các thành phần
của tài liệu sẽ được định dạng dựa trên các thẻ và kết quả như sau:

Sinh viên : Đỗ Trường Thọ - CNPM K44 Trang 25

×