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

Cài đặt và đánh giá chất lượng dịch vụ các proxy server mã mở

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 (1.3 MB, 59 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
–––––––––––––––––––––––––––––––––––––––

Nguyễn Trung Hưng

CÀI ĐẶT VÀ ĐÁNH GIÁ CHẤT LƯỢNG DỊCH VỤ
CÁC PROXY SERVER MÃ MỞ

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN:
TS. Nguyễn Tuấn Dũng

Hà Nội – 2016


SĐH.QT9.BM11

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
____________________________________________

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Nguyễn Trung Hưng
Đề tài luận văn: Cài đặt và đánh giá chất lượng dịch vụ các proxy server
mã mở
Chuyên ngành: Công nghệ thông tin


Mã số Học viên: CA140201
Tác giả, Người hướng dẫn và Hội đồng chấm luận văn xác nhận tác giả
đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 29/10/2016 với
các nội dung sau:
- Bổ sung trích dẫn tài liệu tham khảo khi giới thiệu về các Proxy Server;
- Bổ sung mô tả cho từng hình trong luận văn;
- Bổ sung ví dụ minh họa các cấu hình Proxy Server để chặn/hạn chế
truy cập.
Hà Nội, ngày

tháng 11 năm 2016

Giáo viên hướng dẫn

Tác giả luận văn

TS. Nguyễn Tuấn Dũng

Nguyễn Trung Hưng

CHỦ TỊCH HỘI ĐỒNG

PGS. TS. Nguyễn Đức Nghĩa


LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành tới thầy TS. Nguyễn Tuấn Dũng đã tận
tình hướng dẫn, chỉ bảo và có những nhận xét, góp ý quý báu giúp em trong suốt
quá trình thực hiện luận văn.
Em cũng xin cảm ơn tất cả các thầy, cô giáo Viện Công nghệ thông tin và

Truyền thông nói riêng, trường Đại học Bách Khoa Hà Nội nói chung, đã tận tình
giảng dạy, chỉ bảo và tạo điều kiện để em được nghiên cứu, học tập trong môi
trường thuận lợi nhất.
Hà Nội, ngày 25 tháng 11 năm 2016
Học viên

Nguyễn Trung Hưng

1


LỜI CAM ĐOAN
Những kiến thức trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và
trình bày theo những kiến thức tổng hợp của cá nhân. Kết quả nghiên cứu trong luận
văn này chưa từng được công bố tại bất kỳ công trình nào khác. Trong quá trình làm
luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham
khảo.
Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của
bất kỳ ai, nếu sai tôi xin chịu mọi hình thức kỷ luật theo quy định.
Hà Nội, ngày 25 tháng 11 năm 2016
Học viên

Nguyễn Trung Hưng

2


MỤC LỤC
trang
Danh mục các kí hiệu, các chữ viết tắt........................................................................6

Danh mục các bảng .....................................................................................................9
Danh mục các hình vẽ, đồ thị ....................................................................................10
MỞ ĐẦU ...................................................................................................................12
Chương 1 – TỔNG QUAN VỀ PROXY SERVER ..................................................14
1.1. Tổng quan về proxy server.............................................................................14
1.1.1. Khái niệm proxy server ...........................................................................14
1.1.2. Tác dụng và chức năng ...........................................................................14
1.1.3. Kết nối thông qua proxy..........................................................................16
1.2. Đặc điểm của proxy server.............................................................................17
1.2.1. Mục đích sử dụng proxy .........................................................................17
1.2.2. Hạn chế của proxy...................................................................................18
1.2.3. Các dạng proxy server.............................................................................18
1.2.4. Phân loại proxy .......................................................................................19
1.3. Tìm hiểu về firewall .......................................................................................22
1.3.1. Khái niệm firewall...................................................................................22
1.3.2. Đặc điểm chung.......................................................................................23
1.3.3. Phân loại firewall ....................................................................................24
Chương 2 – GIỚI THIỆU CÁC PHẦN MỀM PROXY MÃ NGUỒN MỞ.............28
2.1. Lựa chọn proxy server ...................................................................................28
2.2. Squid ..............................................................................................................29
2.2.1. Giới thiệu Squid ......................................................................................29

3


2.2.2. Tính năng Squid ........................................................................................30
2.2.3. Tùy chỉnh Squid ......................................................................................31
2.2.4. Nguyên tắc hoạt động Squid ...................................................................33
2.3. Apache Traffic Server ....................................................................................33
2.3.1. Giới thiệu Apache Traffic Server ............................................................33

2.3.2. Tính năng Apache Traffic Server............................................................34
2.3.3. Tùy chỉnh ATS ........................................................................................35
2.3.4. Nguyên tắc hoạt động ATS .....................................................................36
Chương 3 – CÀI ĐẶT, THỬ NGHIỆM VÀ ĐÁNH GIÁ PROXY SERVER .........39
3.1. Cài đặt Squid ..................................................................................................39
3.1.1. Mô hình mạng .........................................................................................39
3.1.2. Cấu hình máy chủ cài đặt ........................................................................39
3.1.3. Thông số cài đặt ......................................................................................40
3.2. Cài đặt Apache Traffic Server .......................................................................40
3.2.1. Mô hình mạng .........................................................................................40
3.2.2. Cấu hình máy chủ cài đặt ........................................................................41
3.2.3. Thông số cài đặt ......................................................................................41
3.3. Các thông số cần đánh giá..............................................................................42
3.4. Phương pháp thử nghiệm ...............................................................................43
Chương 4 – KẾT QUẢ VÀ THẢO LUẬN ..............................................................44
4.1. Kịch bản mô phỏng ........................................................................................44
4.2. Thử nghiệm cấu hình mặc định......................................................................44
4.2.1. Đo thông số cơ bản .................................................................................44
4.2.2. Mô phỏng 100 người sử dụng .................................................................45

4


4.2.3. Mô phỏng 200 người sử dụng .................................................................46
4.3. Thử nghiệm sau khi điều chỉnh một số thông số ...........................................46
4.3.1. Các thông số điều chỉnh ..........................................................................47
4.3.2. Kết quả ....................................................................................................47
4.4. Đánh giá kết quả ............................................................................................48
4.4.1. Đánh giá với cấu hình mặc định .............................................................48
4.4.2. Đánh giá với cấu hình điều chỉnh ...........................................................52

4.5. Xây dựng mô hình mạng ................................................................................54
KẾT LUẬN VÀ KIẾN NGHỊ...................................................................................56
TÀI LIỆU THAM KHẢO .........................................................................................57

5


Danh mục các kí hiệu, các chữ viết tắt
Viết tắt

Giải nghĩa

ATS

Apache Traffic Server – Một phần mềm Proxy server mã nguồn mở

CARP

Cache Array Routing Protocol – Giao thức định tuyến dãy cache

CGI

Common Gateway Interface – Phương thức giao tiếp giữa ứng dụng và
máy tính bằng định dạng đặc tả thông tin

CNTT

Công nghệ thông tin

CPU


Central Processing Unit – Bộ xử lý trung tâm

CSS

Cascading Style Sheets – Ngôn ngữ được sử dụng để tìm và định dạng
lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu

DNS

Domain Name System – Hệ thống phân giải tên miền

FTP

File Transfer Protocol – Giao thức truyền tập tin

HTTP

Hyper Text Transfer Protocol – Giao thức truyền tải siêu văn bản
Internet Control Message Protocol – Giao thức điều khiển trên internet,
là một giao thức của gói Internet Protocol. Giao thức này được các

ICMP

thiết bị mạng như bộ định tuyến sử dụng để gửi đi các thông báo lỗi chỉ
ra một dịch vụ hoặc một địa chỉ máy chủ hay một bộ định tuyến có tồn
tại hay không.
Internet Cache Protocol – Giao thức đệm internet được sử dụng để cập

ICP


nhật những thay đổi về nội dung của những URL sẵn có trong cache
thay vì ghi đè toàn bộ cache dẫn đến tăng tốc độ và lượng dữ liệu cần
truy cập.

6


Viết tắt

ICQ

Giải nghĩa
I Seek You – Một chương trình nhắn tin tức thì (Instant Messaging)
trên máy tính

IP

Internet Protocol – Giao thức kết nối internet

ISP

Internet Service Provider – Nhà cung cấp dịch vụ Internet

LAN

Local Area Network – Mạng máy tính cục bộ

NFS


Network File System – Giao thức chia sẻ tập tin phổ biến trên UNIX

RAM

Random Access Memory – Bộ nhớ truy cập ngẫu nhiên

RTSP

Real Time Streaming Protocol – Giao thức truyền tin thời gian thực
Simple Network Management Protocol – Giao thức quản lý mạng đơn

SNMP

giản, là một giao thức tầng ứng dụng quy định của Hội đồng Kiến trúc
Internet trong RFC1157 để trao đổi thông tin quản lý giữa các thiết bị
mạng

SMP

Symmetric multiprocessing – Đa xử lý đối xứng, cơ chế hỗ trợ nhiều
CPU hoặc CPU đa nhân chạy song song để tăng hiệu suất

SMTP

Simple Mail Transfer Protocol – Giao thức truyền thư điện tử đơn giản

SSL

Secure Sockets Layer – Giao thức bảo mật trên internet


TCP

Transmission Control Protocol – Giao thức điều khiển truyền vận

TMG

Threat Management Gateway – Sản phẩm Firewall thương mại có tính
năng proxy của Microsoft

7


Viết tắt

Giải nghĩa

UDP

User Datagram Protocol – Giao thức truyền dữ liệu ngắn

URL

Uniform Resource Locator – Định vị tài nguyên thống nhất

WCCP

Web Cache Communication Protocol – Giao thức định tuyến dữ liệu
do Cisco phát triển

8



Danh mục các bảng
Bảng 1. Bảng so sánh tính năng các Proxy Server....................................................28
Bảng 2. Ví dụ cấu hình squid.conf để chặn truy cập ................................................31
Bảng 3. Một số thông số cài đặt trong file squid.conf ..............................................40
Bảng 4. Một số thông số cài đặt trong file records.config ........................................41
Bảng 5. Thông số cần xác định .................................................................................42
Bảng 6. Đo thông số cơ bản của Squid .....................................................................44
Bảng 7. Đo thông số cơ bản của ATS .......................................................................45
Bảng 8. Kết quả mô phỏng 100 người sử dụng với cấu hình mặc định ....................45
Bảng 9. Kết quả mô phỏng 200 người sử dụng với cấu hình mặc định ....................46
Bảng 10. Kết quả mô phỏng 200 người sử dụng với cấu hình điều chỉnh ................47
Bảng 11. Mô hình mạng tương ứng với quy mô người sử dụng ...............................55

9


Danh mục các hình vẽ, đồ thị
Hình 1. Proxy server là máy trung gian giữa máy chủ và máy khách ......................14
Hình 2. Kết nối sử dụng Application–Level Gateway ..............................................16
Hình 3. Kết nối giữa client với server qua bastion host ............................................17
Hình 4. Forward Proxy ..............................................................................................20
Hình 5. Reverse Proxy ..............................................................................................21
Hình 6. Intercepting Proxy ........................................................................................22
Hình 7. Mô hình mạng đơn giản khi có Firewall ......................................................23
Hình 8. Sơ đồ làm việc của Packet Filtering .............................................................25
Hình 9. Kết nối qua cổng vòng (Circuit–Level Gateway) ........................................27
Hình 10. Mô hình Squid làm Proxy Server đơn giản ................................................30
Hình 11. Lịch sử phát triển của ATS ........................................................................33

Hình 12. ATS cache hit .............................................................................................37
Hình 13. ATS cache hit hoặc cache không còn mới .................................................38
Hình 14. Mô hình cài đặt Squid ................................................................................39
Hình 15. Mô hình cài đặt ATS ..................................................................................40
Hình 16. So sánh thời gian hoàn thành mô phỏng với cấu hình mặc định ...............48
Hình 17. So sánh tốc độ xử lý yêu cầu trong mô phỏng với cấu hình mặc định ......49
Hình 18. So sánh thời gian phản hồi yêu cầu trung bình trong mô phỏng với cấu
hình mặc định ............................................................................................................49
Hình 19. Số luồng các proxy server sử dụng ............................................................50
Hình 20. So sánh tài nguyên sử dụng trong mô phỏng với cấu hình mặc định ........50
Hình 21. So sánh tỉ lệ yêu cầu lỗi mô phỏng với cấu hình mặc định........................51

10


Hình 22. So sánh lưu lượng sử dụng trong mô phỏng với cấu hình mặc định .........52
Hình 23. So sánh thời gian hoàn thành mô phỏng giữa các cấu hình .......................52
Hình 24. Cơ chế đa luồng..........................................................................................53
Hình 25. ATS phân bổ tài nguyên sử dụng ...............................................................53
Hình 26. Squid phân bổ tài nguyên sử dụng .............................................................54
Hình 27. So sánh tốc độ xử lý yêu cầu trong mô phỏng giữa các cấu hình ..............54

11


MỞ ĐẦU
Hiện nay, bảo mật thông tin đang đóng một vai trò quan trọng trong mọi hoạt
động liên quan đến việc ứng dụng CNTT. Một cơ quan, tổ chức khi ứng dụng
CNTT vào sản xuất, kinh doanh, phục vụ công việc chuyên môn luôn mong muốn
thông tin của mình được bảo mật nhất, đồng thời quản lý việc sử dụng mạng

internet của nhân viên để đảm bảo hiệu quả làm việc cao nhất. Proxy server đóng
vai trò quan trọng trong nhiều mô hình mạng doanh nghiệp với các tính năng hữu
ích:
 Quản lý truy cập vào ra mạng (bao gồm cả mạng nội bộ, mạng diện rộng

và mạng internet);
 Tăng tính bảo mật;
 Tăng tốc độ truy cập internet và hệ thống bằng cách sử dụng cache;
 Tích hợp firewall.

Vì lí do trên, rất nhiều phần mềm proxy server đã được phát triển, bao gồm
cả có phí và miễn phí, nguồn mở và nguồn đóng dẫn đến khó khăn cho các quản trị
mạng khi lựa chọn giải pháp proxy server phù hợp để triển khai. Em chọn luận văn
đề tài “Cài đặt và đánh giá chất lượng dịch vụ các proxy server mã mở” nhằm
mục đích thử nghiệm, đánh giá tính năng của các phần mềm mã nguồn mở, từ đó
đưa ra một số tinh chỉnh, cấu hình proxy server phù hợp áp dụng cho mô hình mạng
vừa và nhỏ với chi phí thấp nhất mà vẫn đảm bảo hoạt động hiệu quả với các tính
năng cơ bản.
Nội dung chính của luận văn gồm có 4 chương:
 Chương 1 – Tổng quan về proxy server: Giới thiệu tổng quan về proxy

server, firewall và các đặc điểm;
 Chương 2 – Giới thiệu các phần mềm proxy mã nguồn mở: Tìm hiểu về

tính năng của các proxy mã nguồn mở, so sánh và lựa chọn 02 proxy để đánh giá;

12


 Chương 3 – Cài đặt, thử nghiệm và đánh giá proxy server: Cài đặt các


proxy đã lựa chọn, đưa ra phương pháp thử nghiệm và đánh giá;
 Chương 4 – Kết quả và thảo luận: Thực hiện mô phỏng lấy kết quả và

đánh giá kết quả, đề xuất mô hình mạng phù hợp.
Trong quá trình thực hiện luận văn, em không thể tránh khỏi một số thiếu sót
và hạn chế về mặt nội dung, kiến thức, em rất mong sẽ nhận được các ý kiến đóng
góp của các thầy cô để em có thể xây dựng một giải pháp hoàn chỉnh hơn trong
tương lai.
Học viên

Nguyễn Trung Hưng

13


Chương 1 – TỔNG QUAN VỀ PROXY SERVER
1.1. Tổng quan về proxy server
1.1.1. Khái niệm proxy server
Proxy là một thành phần trong firewall chuẩn với vai trò là cổng ứng dụng
(application–level gateway) và máy chủ cài đặt proxy gọi là proxy server. Proxy
server đóng vai trò trung gian giữa hai điểm đầu cuối của một kết nối mạng
khách/chủ (client/server). Proxy server làm nhiệm vụ chuyển tiếp thông tin và kiểm
soát thông tin, từ đó cung cấp các kết nối an toàn hoặc các biện pháp bảo vệ mạng
máy tính.

Web Servers
Clients
Proxy Server


Hình 1. Proxy server là máy trung gian giữa máy chủ và máy khách
Hình 1 ở trên cho thấy, ở trong một mạng máy tính, proxy server có thể hoạt
động với vai trò của máy chủ hoặc của máy khách nhằm mục đích đại diện cho máy
khách tạo ra các yêu cầu. Các yêu cầu này sẽ được xử lý tại chỗ hoặc chuyển qua
các proxy khác để xác định máy chủ cần kết nối. Proxy server biên dịch các yêu cầu
và nếu cần có thể viết lại các yêu cầu trước khi chuyển tiếp yêu cầu, khi đó, các
máy khách đã gửi yêu cầu sẽ làm việc với proxy server thay vì với máy chủ thật cần
kết nối.
1.1.2. Tác dụng và chức năng
Để đáp ứng được nhu cầu của người sử dụng khi cần truy cập đến những ứng

14


dụng ngoài Internet nhưng vẫn đảm bảo an toàn cho hệ thống cục bộ, hầu hết những
giải pháp được đưa ra đều có đặc điểm là xây dựng một máy chủ riêng biệt để truy
cập đến internet cho tất cả người sử dụng. Người sử dụng khi cần kết nối internet sẽ
truy cập vào máy chủ này và thực hiện giao tiếp với internet. Các giải pháp phổ biến
có thể kể đến như Remote Desktop Service và Remote App của Microsoft.
Tuy nhiên, các giải pháp trên làm cho người sử dụng thấy không thoải mái
do phải thực hiện nhiều bước khi cần truy cập internet: đầu tiên, người sử dụng cần
thực hiện kết nối để truy cập vào máy chủ, sau đó, thực hiện tất cả những công việc
cần internet trên máy chủ này, cuối cùng, chuyển kết quả công việc trở lại máy
khách.
Giải pháp truy cập Internet trên cũng có rất nhiều hạn chế:
 Với hệ thống có nhiều hệ điều hành khác nhau sẽ khó tìm được giải pháp

chung cho tất cả các hệ điều hành, nhất là khi có lỗi xảy ra;
 Máy chủ để truy cập internet chung sẽ cần rất nhiều tài nguyên để phục


vụ cho nhiều người sử dụng đồng thời mà không tận dụng được tài nguyên của máy
khách;
 Giảm tính bảo mật do có nhiều người sử dụng cùng kết nối đến một máy

chủ;
 Máy chủ truy cập internet dễ bị tấn công do kết nối trực tiếp internet mà

không có firewall.
Giải pháp sử dụng proxy server thay thế những yêu cầu của người sử dụng
bằng yêu cầu từ proxy server. Đồng thời, do vẫn làm việc tại máy khách nên người
sử dụng giảm bớt các thao thác khi cần kết nối internet, đồng thời máy chủ truy cập
internet được giảm tải và yêu cầu ít tài nguyên hơn các giải pháp truy cập internet
được nêu ở trên [4].
Như đã nói ở trên, proxy là cổng mức ứng dụng (application–level gateway)
trong firewall. Proxy hoạt động bằng cách chuyển đổi những yêu cầu của người sử

15


dụng thông qua firewall theo trình tự như tại hình 2 dưới đây, cụ thể:

Hình 2. Kết nối sử dụng Application–Level Gateway
1. Máy khách (User PC) thiết lập yêu cầu kết nối đến proxy trong firewall
thông qua lớp lõi của hệ điều hành (Kernel level);
2. Proxy thu nhập thông tin trong yêu cầu kết nối của máy khách và cơ sở
dữ liệu xác thực (Authentication Database);
3. Proxy sử dụng thông tin thu thập được và các luật (rule) trong proxy để
cho phép hoặc từ chối yêu cầu. Nếu yêu cầu được chấp nhận, proxy sẽ tạo kết nối
khác từ firewall đến máy chủ đích (Destination Host);
4. Sau khi tạo kết nối, proxy thực hiện vai trò giao tiếp trung gian để truyền

dữ liệu qua lại giữa máy khách và máy chủ đích.
Với phương thực hoạt động như trên, proxy giảm được rủi ro trên hệ thống
khi người sử dụng không phải đăng nhập vào máy chủ và không phụ thuộc vào
phần mềm điều khiển [4].
1.1.3. Kết nối thông qua proxy
Hình 3 mô tả phương thức kết nối thông qua proxy server (proxying), trong
đó, proxy server đóng vai trò là một “pháo đài” (bastion host). Trên bastion host chỉ
được cài đặt một số dịch vụ phổ biến, sử dụng các giao thức thông dụng, kết nối qua
proxy dễ dàng hoặc có thể tự động sử dụng proxy của hệ điều hành để kết nối (ví

16


dụ: HTTP, FTP, DNS …). Việc sử dụng bastion host làm tăng tốc độ truy cập của
người dùng khi sử dụng các dịch vụ phổ biến, đồng thời bastion host luôn chạy các
phiên bản an toàn của hệ điều hành, các phiên bản này được thiết kế với mục đích
chống tấn công nên vẫn đảm bảo an toàn bảo mật.

Hình 3. Kết nối giữa client với server qua bastion host
1.2. Đặc điểm của proxy server
1.2.1. Mục đích sử dụng proxy
Các mục đích sử dụng của proxy bao gồm [2,3]:
 Giảm băng thông sử dụng;
 Tăng tốc độ lướt web bằng cách sử dụng bộ nhớ đệm (caching);
 Thiết lập các chính sách quản lý truy cập;
 Giám sát lưu lượng sử dụng mạng của người dùng;
 Bảo vệ người dùng và máy tính của người dùng khi truy cập internet do

không kết nối trực tiếp đến internet;
 Phân tải giữa các máy chủ web khác nhau;

 Tăng hiệu quả hoạt động của các máy chủ web có hiệu năng thấp;
 Lọc dữ liệu vào ra khi tích hợp hệ thống phát hiện mã độc;

17


 Cân bằng tải khi có nhiều đường kết nối internet;
 Chuyển tiếp băng thông trong mạng LAN;
 Truy cập một số website mà ISP không cho vào (vượt tường lửa).

1.2.2. Hạn chế của proxy
Mặc dù proxy có nhiều ưu điểm và hiệu quả với những dịch vụ phổ biến như
HTTP, FTP và telnet, nhưng với những dịch vụ mới sử dụng các giao thức mới, cần
phải thiết kế proxy mới cho những dịch vụ đó dẫn đến khó khăn khi triển khai dịch
vụ mới vào hệ thống. Khi đó, quản trị viên thường đặt hệ thống cung cấp hoặc
những máy tính cần kết nối đến dịch vụ mới bên ngoài proxy cho đến khi có proxy
được thiết kế cho dịch vụ đó, điều này làm giảm tính an toàn bảo mật của toàn hệ
thống.
Ngoài ra, proxy thực hiện nhiệm vụ trung gian giữa máy chủ và máy khách,
do đó, proxy cần phải hiểu tất cả các giao thức cần quản lý, từ đó xác định những
kết nối được cho phép hoặc bị từ chối. Để hiểu được giao thức cần quản lý, proxy
phải cài đặt những dịch vụ tương ứng, dẫn đến làm tăng số lỗ hổng bảo mật theo số
dịch vụ trên proxy server.
1.2.3. Các dạng proxy server
 Dạng kết nối trực tiếp: Phương pháp đầu tiên được sử dụng trong kỹ thuật

kết nối sử dụng proxy là cấu hình ứng dụng cho người dùng kết nối trực tiếp đến
proxy server. Với trình duyệt web, người dùng cần phải biết hai địa chỉ cho mỗi kết
nối là địa chỉ của proxy server (kèm theo cổng kết nối) và địa chỉ của máy chủ đích.
Với phương pháp này, nhiều ứng dụng trên máy khách có yêu cầu kết nối đặc biệt

sẽ không sử dụng được;
 Dạng thay đổi máy khách: Phương pháp kế tiếp là cài đặt một chương

trình proxy client lên máy khách. Chương trình này sẽ chuyển toàn bộ kết nối từ
ứng dụng trên máy tính người dùng qua proxy server, người dùng chạy những ứng
dụng có kết nối đặc biệt làm việc bình thường nhưng các kết nối được điều chỉnh

18


thông qua proxy server. Người dùng chỉ cần cung cấp địa chỉ của máy chủ đích,
proxy client sẽ tự động thiết lập kết nối đến địa chỉ đã biết của proxy server và
chuyển địa chỉ máy chủ đích được cung cấp bởi người sử dụng. Phương pháp này
rất hiệu quả, tuy nhiên, cần cài đặt thêm chương trình lên máy khách;
 Proxy vô hình: Là phương pháp cho phép truy xuất thông qua proxy nằm

trong hệ thống firewall. Khi sử dụng dạng proxy này, máy khách không cần cài
thêm ứng dụng và không kết nối trực tiếp đến proxy server. Tất cả dữ liệu vào ra
mạng được điều hướng thông qua proxy server tự động và trong suốt với người
dùng. Bằng phương pháp này, khi ứng dụng trên máy khách gửi yêu cầu kết nối đến
proxy server, nếu yêu cầu kết nối được chấp nhận, proxy server sẽ thực hiện kết nối
đến máy chủ đích bằng giao thức tương ứng và viết lại các yêu cầu của ứng dụng từ
máy khách cũng như các phản hồi của máy chủ đích. Ứng dụng trên máy khách và
máy chủ đích sẽ làm việc bình thường mà không nhận ra proxy server ở giữa.
1.2.4. Phân loại proxy
1.2.4.1. Phân loại proxy theo giao thức
 HTTP proxy: HTTP proxy là một proxy server phổ biến nhất. Trước đây,

khi sử dụng loại proxy này chỉ có thể duyệt website, hình ảnh, và tải tập tin. Tuy
nhiên, các phiên bản mới hiện nay đã cho phép nhiều giao thức khác (FTP, SSL …)

kết nối qua các proxy server loại này. HTTP proxy cho phép tất cả các trình duyệt
kết nối;
 SOCKS proxy: Các SOCKS proxy có thể làm việc với bất kỳ loại thông

tin nào trên internet nếu sử dụng mạng với giao thức TCP/IP nhưng có ít ứng dụng
được thiết kế để làm việc trực tiếp với SOCKS proxy (ví dụ: các chương trình ICQ
hầu hết đều làm việc được thông qua SOCKS proxy). Với các ứng dụng không có
khả năng kết nối thông qua SOCKS proxy cần sử dụng chương trình phụ để thiết
lập kết nối. Ví dụ: trình duyệt Firefox phải sử dụng thêm các add-in để kết nối với
SOCKS proxy yêu cầu xác thực;
 CGI proxy: CGI proxy là loại proxy được thiết kế chỉ làm việc với các

19


trình duyệt, việc cấu hình cho các chương trình khác ngoài trình duyệt sử dụng loại
proxy này khá phức tạp. Trong khi đó, các trình duyệt có thể sử dụng HTTP proxy
nên CGI proxy không được sử dụng phổ biến. Tuy nhiên, mục đích ban đầu của
CGI proxy được thiết kế chỉ để làm việc với trình duyệt nên không cần cấu hình lại
trình duyệt và CGI Proxy cho phép tạo chuỗi proxy server dễ dàng nên vẫn còn
được một số nơi sử dụng;
 FTP proxy: FTP proxy là loại proxy được thiết kế chỉ làm việc với các

máy chủ dịch vụ FTP. FTP proxy được sử dụng trong hầu hết các trình quản lý tập
tin, các trình tải tập tin thông dụng và trong các trình duyệt. Hiện nay, FPT proxy
thường được cài đặt trong HTTP proxy [2].
1.2.4.2. Phân loại proxy theo mục đích sử dụng
 Forward proxy: Proxy chuyển tiếp, hình 4 cho thấy forward proxy đứng

giữa máy khách và máy chủ đích. Forward proxy được dùng chủ yếu trong các

mạng intranet hoặc proxy công cộng để kiểm soát, bảo mật và chia sẻ truy cập
internet [1];

Hình 4. Forward Proxy
 Reverse proxy: Proxy ngược, hình 5 cho thấy reverse proxy đứng giữa

các máy chủ và các máy khách truy cập đến để chuyển tiếp yêu cầu kết nối đến máy

20


chủ đích thích hợp. Reverse proxy được dùng trong các trung tâm dữ liệu để tăng
hiệu năng hoạt động của hệ thống máy chủ [1];

Hình 5. Reverse Proxy
Intercepting proxy: Proxy chặn, hình 6 cho thấy intercepting proxy giống
forward proxy nhưng không yêu cầu cấu hình trình duyệt hoặc cài đặt ứng dụng bổ
sung. Người sử dụng sẽ hoàn toàn không nhận biết sự có mặt của proxy server trong
quá trình sử dụng. Thường gặp dưới dạng transparent proxy (Proxy vô hình) [1].

21


Hình 6. Intercepting Proxy
1.3. Tìm hiểu về firewall
Như đã nói ở trên, Proxy là một thành phần trong firewall chuẩn với vai trò
là cổng ứng dụng (application–level gateway) nên để cài đặt và đánh giá proxy
server, em tiến hành tìm hiểu về firewall cũng như cơ chế hoạt động cơ bản.
1.3.1. Khái niệm firewall
Để bảo vệ một máy tính hay cho cả một mạng nội bộ cần kết hợp sử dụng rất

nhiều giải pháp và không thể thiếu trong các giải pháp đó là tường lửa (Firewall).
Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống truy cập trái
phép, nhằm bảo vệ các nguồn thông tin nội bộ và hạn chế xâm nhập không mong
muốn vào hệ thống.
Hình 7 mô tả mô hình mạng đơn giản kết nối internet của một hệ thống
không sử dụng firewall và một hệ thống có sử dụng firewall, trong đó, khi được sử
dụng, firewall được đặt giữa mạng nội bộ của một công ty, tổ chức, ngành hay một
quốc gia và Internet. Firewall có vai trò chính là bảo mật thông tin, ngăn chặn truy
nhập không mong muốn từ bên ngoài (Internet) và cấm truy nhập từ mạng nội bộ

22


tới một số địa chỉ nhất định trên Internet.

Hình 7. Mô hình mạng đơn giản khi có Firewall
1.3.2. Đặc điểm chung
Firewall có đặc điểm chung là kiểm soát thông tin được truyền theo hai chiều
và chỉ cho phép những thông tin thỏa mãn các chính sách bảo vệ mới được đi qua.
Ngoài ra, Firewall có một số ưu điểm và hạn chế như sau:
 Ưu điểm:

 Ngăn chặn thông tin từ bên ngoài vào trong mạng để bảo vệ, đồng
thời vẫn cho phép người sử dụng bên trong truy nhập tự do mạng bên ngoài;
 Khi tham gia vào hệ thống mạng, firewall là đường kết nối ra mạng
bên ngoài duy nhất, đường kết nối này được bảo vệ và có thể hạn chế truy cập theo
nhiều kịch bản;
 Firewall ghi nhận mọi thông tin đi qua như: nguồn, đích, thời gian,
giao thức … từ đó, firewall có thể sử dụng như một công cụ theo dõi và chặn các
cuộc tấn công từ bên ngoài hoặc dự báo khả năng bị tấn công hoặc theo dõi tình

trạng an toàn thông tin với dữ liệu từ mạng bên trong gửi ra.
 Hạn chế:

 Firewall không thể tự đọc hiểu từng loại thông tin và phân tích nội
dung các thông tin được chuyển qua, mà firewall chỉ có thể ngăn chặn xâm nhập
của những nguồn thông tin đã xác định trước thông qua các chính sách truy cập;

23


×