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

nghiên cứu giải pháp mở rộng của kiến trúc client-server kiến trúc proxy ngược

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.03 MB, 35 trang )











BÁO CÁO


ĐỀ TÀI:
-server:





 TS. Hà Quốc Trung

Nguyễn Khánh Hưng 20081279 TTM-K53





 5/2012
2


LI GII THIU 3
I. Gii thiu chung v kin trúc client-server 4
1. Giới thiệu chung 4
2. Cấu trúc vật lý 4
3. Các kiến trúc Client/Server 5
4. Nguyên tắc hoạt động của kiến trúc Client/Server 7
5. Ưu nhược điểm của kiến trúc Client/Server 7
5.1. Ưu điểm 7
5.2. Nhược điểm 8
II. Kin trúc proxy 8
1. Giới thiệu chung về proxy 8
2. Forward proxy 9
2.1. Chức năng của Forward proxy 10
2.2. Ý nghĩa của Forward proxy 10
III. Kin trúc reverse proxy 12
1. Giới thiệu về Reverse proxy 12
2. Reverse proxy bảo vệ 13
3. Reverse proxy tích hợp 20
IV. T THC NGHIM 26
1. Môi trường công cụ 26
2. Xây dựng mô hình mạng 26
3. Cấu hình reverse proxy 28
V. KT LUN 34
TÀI LIU THAM KHO 35

3

LI GII THIU

Thế kỷ 21 được mệnh danh là thế kỷ của công nghệ thông tin, với sự bùng nổ

mạnh mẽ về khoa học công nghệ. Đây là kỷ nguyên của nền văn minh dựa trên cơ
sở công nghiệp trí tuệ. Ngày nay, tin học đã trở thành một môn khoa học quan trọng
trên thế giới.
Sự phát triển mạnh mẽ như vậy thì vấn đề quản lý nguồn tài nguyên “công
nghệ” đặt ra cho người sử dụng là một vấn đề cấp thiết hiện nay. Một trong số đó là
vấn đề đảm bảo an toàn cho hệ thống server cũng như những giải pháp giúp mô
hình client/server làm việc hiệu quả hơn, an toàn hơn. Kiến trúc reverse proxy được
đề xuất đã giải quyết được đòi hỏi đó. Reverse proxy đảm bảo an toàn cho server,
giúp cân bằng tải, lọc những yêu cầu có hại,… Chính vì lý do này mà tôi đã chọn đề
tài “-serv
 để hiểu rõ hơn về kiến trúc này.
Do thời gian có hạn nên không thể tránh khỏi những sai sót, mong thầy góp ý
để tôi hoành chỉnh đề tài này.
4

I. -server
1. 
Mô hình được phổ biến nhất và được chấp nhận rộng rãi trong hệ thống phân
tán là mô hình client/server. Trong mô hình này sẽ có một tập các tiến trình mà mỗi
tiến trình đóng vai trò như là một trình quản lý tài nguyên cho trước và một tập các
tiến trình client trong đó mỗi tiến trình thực hiện một tác vụ nào đó cần truy xuất tới
tài nguyên phần cứng hoặc phần mềm dùng chung. Bản thân các trình quản lý tài
nguyên cần phải truy xuất tới các tài nguyên dùng chung được quản lý bởi các tiến
trình khác, vì vậy một số tiến trình vừa là tiến trình client vừa là tiến trình server.
Các tiến trình phát ra các yêu cầu tới server bất kỳ khi nào chúng cần truy xuất tới
một trong các tài nguyên của các server. Nếu yêu cầu là đúng đắn thì server sẽ thực
hiện hành động được yêu cầu và gửi một đáp ứng tới tiến trình client.
Mô hình client/server cung cấp một cách tiếp cận tổng quát để chia sẻ tài
nguyên trong các hệ thống phân tán. Mô hình này có thể cài đặt bằng rất nhiều môi
trường phần cứng và phần mềm khác nhau. Các máy tính được sử dụng để chạy các

tiến trình client/server có nhiều kiểu khác nhau và không cần thiết phải phân biệt
giữa chúng; cả tiến trình client và tiến trình server đều có thể chạy trên cùng một
máy tính. Một tiến trình server có thể sử dụng dịch vụ của một server khác.
2. t lý
Yếu tố cơ bản trong mô hình client/server là trong hệ thống phải có các máy
tính kết nối chung với nhau sử dụng một giao thức bất kỳ nhằm mục đích sử dụng
các tài nguyên, dữ liệu của nhau.

Trước những năm 1990, các máy tính lớn (main frame) được sử dụng làm
server, hiện nay các máy tính cá nhân vẫn được sử dụng như là một server. Vì cùng
một lúc sẽ có nhiều người truy xuất về server thông qua client do đó server phải có
bộ vi xử lý tốc độ cao (CPU), tài nguyên lớn (RAM, Hardisk) để hoạt động tốt.
Trong hệ thống mạng, có thể có nhiều server có chức năng độc lập nhau.
Máy khách(Client)
Các máy trạm truy xuất các tài nguyên đã được chia sẻ trên mạng như các dữ
liệu dùng chung trên máy chủ và in ấn các tài liệu trên máy in dùng chung.
Dây cá
Hệ thống dây kim loại hoặc quang học nối kết vậy lý các máy tính, máy in lại
với nhau.

5

Các tập tin, thư mục mà người sử dụng có thể truy xuất trên server thông qua
các client và dây cáp mạng.
3. Server
3.1. Client/Server hai tầng











Kiến trúc client/server đơn giản nhất là kiến trúc hai tầng. Trong thực tế hầu
hết các kiến trúc client/server là kiến trúc hai tầng. Một ứng dụng hai tầng cung cấp
nhiều trạm làm việc với một tầng trình diễn thống nhất, tầng này truyền tiin với tầng
dữ liệu tập trung. Tầng trình diễn thông thường là client, và tầng lưu trữ dữ liệu là
server.
Hầu hết các ứng dụng intetnet như email, telnet, ftp thậm chí cả Web là các
ứng dụng hai tầng. Phần lớn các lập trình viên trình ứng dụng viết các ứng dụng
client/server có xu thế sử dụng kiến trúc này.
Trong ứng dụng hai tầng truyền thống, khối lượng công việc xử lý được dành
cho phía client trong khi server chỉ đóng vai trò như là chương trình kiểm soát
luồng vào ra giữa ứng dụng và dữ liệu. Kết quả là không chỉ hiệu năng của ứng
dụng bị giảm đi do tài nguyên hạn chế của PC, mà một khối lượng dữ liệu truyền đi
trên mạng cũng tăng theo. Khi toàn bộ ứng dụng được xử lý trên một PC, ứng dụng
bắt buộc phải yêu cần nhận dữ liệu trước khi đưa ra bất kì kết quản xử lý nào cho
người dùng. Nhiều yêu cầu dữ liệu cũng làm giảm hiệu năng mạng. Một vấn đề
thường gặp khác đối với các ứng dụng hai tầng là vấn đề bảo trì. Chỉ cần một thay
đổi nhỏ đối với ứng dụng cũng cần phải thay đổi lại toàn bộ ứng dụng client và
server.

6

3.2. Client/Server ba tầng
Ta có thể tránh được vấn đề với kiến trúc client/server hai tầng bằng cách mở
rộng kiến trúc thành ba tầng. Một kiến trúc ba tầng có thêm một tầng mới tách biệt

việc xử lý dữ liệu ở vị trí trung tâm.








Theo kiến trúc ba tầng, một ứng dụng được chia thành ba tầng tách biệt về
mặt logic. Tầng đầu tiên là tầng trình diễn thường bao gồm các giao diện đồ họa.
Tầng thứ hai là tầng trung gian hay tầng tác nghiệp. Tầng thứ ba chứa dữ liệu cần
cho ứng dụng. Tầng thứ ba về cơ bản là chương trình thực hiện lời gọi hàm để tìm
kiếm dữ liệu cần thiết. Tầng trình diễn nhận dữ liệu và định dạng nó để hiện thị. Sự
tách biệt giữa chức năng xử lý giao diện đã tạo nên sự linh hoạt cho thiết kế ứng
dụng. Nhiều giao diện người dùng được xây dựng và triển khai mà không làm tha
đổi logic ứng dụng.
Tầng thứ ba chứa dữ liệu cần thiết cho ứng dụng. Dữ liệu này có thể bao
gồm bất kỳ nguồn thông tin nào, bao gồm cơ sở dữ liệu như Oracale, SQL Server
hoặc tài liệu XML.
3.3. Kiến trúc n tầng
Kiến trúc n tầng được chia thành các tầng như sau:
- Tầng giao diện người dùng: quản lý tương tác của người dùng với ứng
dụng.
- Tầng logic trình diễn: Xác định cách thức hiển thị giao diện người dùng và
các yêu cầu của người dùng được quản lý như thế nào.
- Tầng logic tác nghiệp: Mô hình hóa các quy tắc tác nghiệp.
- Tầng các dịch vụ hạ tầng: Cung cấp một chức năng bổ trợ cần thiết cho ứng
dụng như các thành phần(truyền thông điệp, hỗ trợ giao tác).


7

4. 
Mô hình client/server hướng tới việc cung cấp dịch vụ. Quá trình trao đổi dữ
liệu bao gồm:
1. Truyền một yêu cầu từ tiến trình client đến tiến trình server
2. Yêu cầu được server xử lý
3. Truyền đáp ứng cho client
Mô hình truyền tin này liên quan tới việc truyền hai thông điệp và một dạng
đồng bộ hóa cụ thể giữa client và server. Tiến trình server phải nhận thức được
thông điệp yêu cầu ở bước 1 ngay khi nó đến và hành động phát ra yêu cầu trong
client phải được tạm dừng và buộc tiến trình client ở trạng thái chờ cho tới khi nó
nhận được đáp ứng do server gửi về ở bước 3.
Mô hình client/server thường được cài đặt dựa trên các thao tác cở bản là gửi
(send) và nhận (receive).
Quá trình giao tiếp client và server có thể diễn ra theo một tròn hai chế độ: bị
phong tỏa (blocked) và không bị phong tỏa (non-blocked).
- Chế độ bị phong tỏa (blocked):
Trong chế độ bị phong tỏa, khi client hoặc server phát ra lệnh gửi dữ liệu
(send), việc thực thi của tiến trình sẽ bị tạm ngừng cho tới khi tiến trình nhận phát
ra lệnh nhận dữ liệu (receive).
Tương tự đối với tiến trình nhận dữ liệu, nếu tiến trình nào đó (client hoặc
server) phát ra lệnh nhận dữ liệu, mà tại thời điểm đó chưa có dữ liệu gửi tới thì
việc thực thi của tiến trình cũng sẽ bị tạm ngừng cho tới khi có dữ liệu gửi tới.
- Chế độ không bị phong tỏa (non-blocked)
Trong chế độ này, khi tiến trình client hay server phát ra lệnh gửi dữ liệu thực
sự, việc thưc thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có
tiến trình nào phát ra lệnh nhận dữ liệu đó hay không.
Tương tự cho trường hợp nhận dữ liệu, khi tiến trình phát ra lệnh nhận dữ liêu,
nó sẽ nhận dữ liệu hiện có, việc thực thi của tiến trình vẫn được tiến hành mà không

quan tâm đến việc có tiến trình nào phát ra lệnh gửi dữ liệu tiếp theo hay không.
5. 
5.1. 
- 
Kiến trúc client/server cho phép các công ty có thể sử dụng server là những
máy tính cá nhân thay vì các máy tính lớn. Vì các phần mềm ngày nay được xây
dựng chủ yếu chạy trên các máy tính cá nhân do đó chi phí các phần mềm tương đối
rẻ.
8

- 
Giảm việc tắc nghẽn thông tin trong hệ thống mạng do phân chia các xử lý ra
thành 2 nhánh. Các xử lý nào phức tạp tác động nhiều lên cơ sở dữ liệu sẽ được lưu
trữ ngay trên server, các xử lý đơn giản sẽ được thực hiện ngay trong ứng dụng trên
client. Chính vì thế hệ thống vận hành sẽ hiệu quả hơn.
- 
Việc chọn lựa các phần mềm để phát triển ứng dụng có thể hoàn toàn độc lập
từ ngôn ngữ lập trình đến hệ cơ sở dữ liệu quan hệ và các thiết bị phần cứng. Ta có
thể chọn các thành phần tối ưu nhất khi xây dựng một hệ thống ứng dụng.
5.2. 
- Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo
mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác
nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ.
- Dễ dàng lợi dụng các lỗ hổng bảo mật của server.
- Vấn đề cân bằng tải trong mô hình nhiều server.
- Hỏng địa chỉ URL khi server thay đổi.
- Gặp vẫn đề nghẽn cổ chai khi truyền dữ liệu giữa client và server.
Để giải quyết những nhược điểm của kiến trúc client/server, kiến trúc proxy
ngược là một cách giải quyết khá hiệu quả.
II. 

1. 
Trong mạng máy tính, một máy chủ proxy là một máy chủ (một hệ thống máy
tính hay một ứng dụng) đứng giữa server và client, tham gia vào cuộc trò chuyện
giữa hai bên. Một client kết nối đến máy chủ proxy, yêu cầu một số dịch vụ như
một tập tin, kết nối, trang web, hoặc tài nguyên sẵn có từ một máy chủ khác. Các
máy chủ proxy đánh giá các yêu cầu như một cách đơn giản hóa và kiểm soát phức
tạp của họ. Ngày nay, hầu hết các proxy là web proxy, tạo điều kiện thuận lợi cho
việc truy cập nội dung trên World Wide Web.
Máy chủ proxy ngày càng được sử dụng rộng rãi cho nhiều mục đích, bao gồm:
 Giữ máy tính ẩn danh khi truy cập Internet, nghĩa là máy tính được an
toàn.
 Tăng tốc độ truy cập tới tài nguyên trên Internet bằng việc sử dụng bộ
đệm proxy.
 Để chặn các trạng web không mong muốn hay để truy cập vào các trạng
web bị cấm, lọc bởi công ty, tổ chức của bạn.

9

 Kiểm soát và bảo vệ quyền truy cập vào một máy chủ trên một mạng riêng
 Giúp cân bằng tải, giải mã, chứng thực hoặc bộ nhớ đệm.














Các loại proxy:
 Forward proxy: đứng giữa một client và tất cả các server mà client
truy cập đến.
 Reverse proxy (proxy ngược): đứng giữa một server và tất cả client
mà server phục vụ.
2. Forward proxy
Proxy là một Internet server đứng giữa một client và tất cả các server mà client
đó muốn truy cập đến, làm nhiệm vụ chuyển tiếp thông tin và kiểm soát tạo sự an
toàn cho việc truy cập Internet của các client, còn gọi là khách hàng sử dụng dịch
vụ internet. Trạm cài đặt proxy gọi là proxy server. Proxy hay trạm cài đặt proxy có
địa chỉ IP và một cổng truy cập cố định. Ví dụ: 123.234.111.222:80. Địa chỉ IP của
proxy trong ví dụ là 123.234.111.222 và cổng truy cập là 80.







Hình 4: Mô hình Forward proxy

Hình 3: Mô hình proxy 1
10

2.1. 
Một số hãng và công ty sử dụng proxy với mục đích: Giúp nhiều máy tính truy
cập Internet thông qua một máy tính với tài khoản truy cập nhất định, máy tính này

được gọi là Proxy server. Chỉ duy nhất máy Proxy này cần modem và account truy
cập internet, các máy client (các máy trực thuộc) muốn truy cập internet qua máy
này chỉ cần nối mạng LAN tới máy Proxy và truy cập địa chỉ yêu cầu. Những yêu
cầu của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà
người sử dụng cần giao tiếp, tại điểm trung gian này công ty kiểm soát được mọi
giao tiếp từ trong công ty ra ngoài internet và từ internet vào máy của công ty. Sử
dụng Proxy, công ty có thể cấm nhân viên truy cập những địa chỉ web không cho
phép, cải thiện tốc độ truy cập nhờ sự lưu trữ cục bộ các trang web trong bộ nhớ của
proxy server và giấu định danh địa chỉ của mạng nội bộ gây khó khăn cho việc thâm
nhập từ bên ngoài vào các máy của công ty.
Đối với các nhà cung cấp dịch vụ đường truyền internet: Do internet có nhiều
lượng thông tin mà theo quan điểm của từng quốc gia, từng chủng tộc hay địa
phương mà các nhà cung cấp dịch vụ internet khu vực đó sẽ phối hợp sử dụng
proxy với kỹ thuật tường lửa để tạo ra một bộ lọc gọi là firewall proxy nhằm ngăn
chặn các thông tin độc hại hoặc trái thuần phong mỹ tục đối với quốc gia, chủng tộc
hay địa phương đó. Địa chỉ các website mà khách hàng yêu cầu truy cập sẽ được lọc
tại bộ lọc này, nếu địa chỉ không bị cấm thì yêu cầu của khách hàng tiếp tục được
gửi đi, tới các DNS server của các nhà cung cấp dịch vụ. Firewall proxy sẽ lọc tất cả
các thông tin từ internet gửi vào máy của khách hàng và ngược lại.
2.2. 
Proxy không chỉ có giá trị bởi nó làm được nhiệm vụ của một bộ lọc thông tin,
nó còn tạo ra được sự an toàn cho các khách hàng của nó, firewal Proxy ngăn chặn
hiệu quả sự xâm nhập của các đối tượng không mong muốn vào máy của khách
hàng. Proxy lưu trữ được các thông tin mà khách hàng cần trong bộ nhớ, do đó làm
giảm thời gian truy tìm làm cho việc sử dụng băng thông hiệu quả.
Proxy server giống như một vệ sĩ bảo vệ khỏi những rắc rối trên Internet. Một
Proxy server thường nằm bên trong tường lửa, giữa trình duyệt web và server thật,
làm chức năng tạm giữ những yêu cầu Internet của các máy khách để chúng không
giao tiếp trực tiếp Internet. Người dùng sẽ không truy cập được những trang web
không cho phép (bị cấm).

Mọi yêu cầu của máy khách phải qua Proxy server, nếu địa chỉ IP có trên
proxy, nghĩa là website này được lưu trữ cục bộ, trang này sẽ được truy cập mà
không cần phải kết nối Internet, nếu không có trên Proxy server và trang này không
11

bị cấm, yêu cầu sẽ được chuyển đến server thật, DNS server và ra Internet. Proxy
server lưu trữ cục bộ các trang web thường truy cập nhất trong bộ đệm để giảm chi
phí kết nối, giúp tốc độ duyệt web nhanh hơn.
Proxy server bảo vệ mạng nội bộ khỏi bị xác định bởi bên ngoài bằng cách
mang lại cho mạng hai định danh: một cho nội bộ, một cho bên ngoài. Điều này tạo
ra một “bí danh” đối với thế giới bên ngoài và gây khó khăn đối với nếu người dùng
“tự tung tự tác” hay các hacker muốn xâm nhập trực tiếp máy tính nào đó.
12

III. everse proxy
1. 
Một proxy, theo định nghĩa, là một thiết bị đứng giữa server và client, tham
gia vào "cuộc trò chuyện" giữa hai bên. Khái niệm proxy mà chúng ta thường dùng
hàng ngày được gọi là một forward proxy như chúng ta đã trình bày ở trên. Một
reverse proxy làm công việc hoàn toàn ngược lại: nó đứng giữa một server và tất cả
client mà server này phải phục vụ. Reverse proxy giống như một nhà ga kiêm một
trạm kiểm soát, các request từ client, bắt buộc phải ghé vào reverse proxy, tại
reverse proxy sẽ kiểm soát, lọc bỏ các request không hợp lệ, và luân chuyển các
request hợp lệ đến đích cuối cùng là các server. Chú ý là một reverse proxy có thể
luân chuyển request cho nhiều server cùng lúc.
Lợi thế lớn nhất của việc sử dụng reverse proxy là ở khả năng quản lí tập
trung. Một khi đã chuyển tất cả thông tin đi qua một trạm kiểm soát duy nhất (là
reverse proxy), chúng ta có thể áp dụng nhiều biện pháp khác để tăng cường an ninh
cho hệ thống của mình. Ngoài ra áp dụng reverse proxy đúng cách sẽ giúp tăng
cường chất lượng cũng như nâng cao khả năng mở rộng của các ứng dụng web chạy

trên các content server.






Hình 5: Mô hình reverse proxy
Reverse proxy có thể ẩn và che dấu sự tồn tại của server. Khi client từ Internet
muốn truy cập vào webserver của bạn, Reverse proxy server sẽ đóng vai trò là
webserver. Tức là client chỉ được phép giao tiếp với proxy Server mà họ sẽ nghĩ là
giao tiếp với webserver thật sự. Reverse proxy sẽ chuyển tiếp yêu cầu đến
Webserver thật sự và đáp lại theo chiều ngược lại. Như vậy Proxy server sẽ thay thế
Webserver giao tiếp với client kết nối đến.
Tính năng của ứng dụng tường lửa có thể bảo vệ Webserver chống lại các
cuộc tấn công phổ biến trên web. Không có reverse proxy xóa phần mềm độc hại
thì mọi việc trở nên khó khăn hơn.
Các reverse proxy phổ biến nhất thực hiện giao thức truyền siêu văn bản
(HTTP), do đó trong báo cáo chỉ đề cập tới HTTP reverse proxy. Tuy nhiên, các mô
hình cơ bản có thể áp dụng cho bất kỳ giao thức Internet khác, ví dụ FTP.
13

Trong báo cáo sẽ đề cập tới hai mô hình reverse proxy. Mô hình reverse proxy
bảo vệ trình bày làm sao để bảo vệ server ở mức độ giao thức ứng dụng trong vành
đai mạng. Một reverse proxy tích hợp cho phép kết hợp các server tại một điểm
chung, do đó ẩn các hệ thống và các host bên trong.
2. 
Việc đưa một web server hay một ứng dụng server trực tiếp trên Internet cho
phép những kẻ tấn công truy cập trực tiếp tới bất cứ lỗ hổng của server (ứng dụng,
web server, thư viện, hệ điều hành). Tuy nhiên để cung cấp một dịch vụ hữu ích cho

người sử dụng Internet ta có thể sử dụng một bức tường lửa lọc gói tin chắn web
server khỏi các cuộc tấn công trên mạng. Ngoài ra, một reverse proxy bảo vệ có thể
bảo vệ các ứng dụng server ở mức độ của các giao thức ứng dụng.
Ví dụ, chúng ta đang chạy một website sử dụng một phần mềm web server của
một nhà cung cấp phần mềm lớn. Trang web này sử dụng phần mềm độc quyền của
nhà cung cấp đó để cài đặt các nội dung động cho người dùng, chúng ta đã đầu tư
rất nhiều cho phần mềm trong trang web. Máy chủ của chúng ta đã được bảo vệ bởi
một bức tường lửa lọc gói tin.












Chúng ta phải mở bức tường lửa này để cho phép truy cập tới cổng công khai
(80) của web server. Các cuộc tấn công từ Internet khai thác các lỗ hổng của phần
mềm web server, gánh nặng của người quản trị là phải cài đặt các bản vá thường
xuyên. Việc chuyển web server sang nhà cung cấp khác là không thể vì vốn đầu tư
cho nền tảng web server, nội dung và các phần mềm mở rộng sở hữu là khá tốn
kém. Hơn nữa, với bất cứ bản vá lỗi mà chúng ta cài đặt, khi chạy có nguy cơ gây
mất ổn định cấu hình dẫn đến hệ thống, phần mềm ngừng hoạt động. Vậy làm thế
14

nào để giải quyết vấn đề này để giữ website của chúng ta mà không ảnh hưởng tới

an ninh của nó.
Bất cứ một loại dịch vụ truy cập thông qua Internet hoặc thông qua môi trường
mạng đều có khả năng bị tấn công. Thông thường, các giao thức truy cập được sử
dụng là HTTP và HTTPS.
Ngay cả khi chúng ta cài đặt tường lửa lọc gói tin đơn giản, web server vẫn có
thể bị phá hoại bởi các cuộc tấn công khai thác điểm yếu trong giao thức đã cài đặt.
Làm sao chúng ta có thể bảo vệ cơ sở hạ tầng web server an toàn trước những lỗ
hổng tiềm tàng dễ bị tấn công sử dụng giao thức của nó.
Sử dụng mô hình có tường lửa để bảo vệ web server như hình 6 ta gặp phải
những vấn đề sau:
 Tường lửa lọc gói tin không đủ để bảo vệ web server, vì cổng 80 phải được
cung cấp cho truy cập trên Internet.
 Các cuộc tấn công thường dùng những thông số yêu cầu kéo dài, hay các
thông số yêu cầu được cài đặt thủ công để khai thác lỗ hổng tràn bộ đệm.
 Nâng cấp, củng cố web server có thể vượt quá khả năng của chúng ta.
 Việc cài đặt bản vá lỗi giúp tránh việc lợi dụng những lỗ hổng của web server.
Nhưng với mỗi bản vá lỗi, hệ thống có nguy cơ ngừng làm việc. Đôi khi
chúng ta không thể nâng cấp web server kịp thời vì sự tương thích phần cứng,
phần mềm trên web server.
 Chuyển sang một mã nguồn phần mềm web server khác là khá đắt tiền, nguy
hiểm và tốn thời gian. Một web server mới có thể có ít lỗ hổng hơn nhưng
chúng ta chưa quen ngay với nó được. Ngoài ra nó yêu cầu phải tương thích
với hệ thống của chúng ta.
 Chúng ta không thể biết về những lỗ hổng được phát hiên trong tương lai.
Để giải quyết, chúng ta thay đổi mô hình mạng để sử dụng một reverse proxy
bảo vệ là một lá chắn thực sự bảo vệ web server của chúng ta. Cấu hình reverse
proxy này để lọc tất cả các yêu cầu, chỉ những yêu cầu vô hại sẽ được gửi tới web
server. Hai tường lửa lọc gói tin để ngăn không có truy cập trực tiếp từ mạng bên
ngoài tới web server. Trong mô hình mạng có một khu (DNZ) chỉ chứa reverse
proxy và khu vực server an toàn bao gồm web server.


15













 
 Browser
- Phát ra các yêu cầu độc hại tới backend server thông qua tường lửa
và reverse proxy.
- Nhận thông điệp trả lời thông quan reverse proxy và tường lửa.
 Outer Firewall: tường lửa phía ngoài
- Bộ lọc lưu lượng mạng đến và cho phép truy cập tới reverse proxy
qua cổng HTTP
- Có thể từ chối kết nối đi từ reverse proxy.
 Reverse proxy
- Chấp nhận yêu cầu từ trình duyệt và chuyển tiếp các yêu cầu hợp lệ
tới backend server.
- Truyền lại thông điệp trả lời từ backend server tới trình duyệt gốc.
 Inner Firewall: tường lửa nội bộ
- Ngăn cách giữa khu DMZ và server

- Từ chối kết nối gửi đến, ngoại trừ kết nối từ reverse proxy
- Từ chối kết nối gửi đi từ backend server
 Backend server: server nằm xa client nhất
- Cung cấp dịch vụ web thực
- Chấp nhận yêu cầu từ reverse proxy và đáp lại yêu cầu.

16

 

Ngoài ra giải pháp này không chỉ áp dụng cho các web server mà nó còn áp
dụng cho các giao thức khác như ftp, imap, smtp. Một reverse proxy bảo vệ cho ftp,
ví dụ, có thể quyét nội dung tập tin virus hoặc thực thi và ngăn cấm upload các tập
tin như vậy, hoặc nó có thể giới hạn các lệnh ftp có sẵn và ngăn cấm các bên thứ 3
kết nối đến máy chủ dữ liệu, được cho phép theo tiêu chuẩn ftp.
 
Cơ chế đầu tiên cho thấy làm thế nào để một yêu cầu hợp lệ được kiểm tra và
thông qua reverse proxy bảo vệ. Các thành phần tường lửa bên trong và bên ngoài
được giả định là minh bạch trong trường hợp này và do đó không được hiển thị.
Quá trình xử lý trả lời của backend server là tùy chọn, nhưng có thể được sử dụng
để thiết lập trường tiêu đề giao thức. Lưu ý rằng bản truy cập chỉ được ghi sau khi
trả lời đã được gửi để cải thiện sự đáp ứng của hệ thống.



17

Cơ chế thứ hai thể hiện cơ chế ngăn chặn của reverse proxy bảo vệ bằng cách
bỏ qua một yêu cầu không hợp lệ và độc hại. Tuy nhiên, ngay cả khi trình duyệt
không nhận được trả lời thì vẫn sẽ được ghi nhận. Theo giao thức truyền siêu vẫn

bản, reverse proxy lại phải trả lại mã lỗi (thường là “403 forbidden” hoặc “404 not
found”). Nó phụ thuộc vào chính sách bảo mật của chúng ta trong trường hợp đó, để
đưa ra một trả lời lỗi hoặc bỏ qua các nỗ lực và đóng kết nối tới protection reverse
proxy .










 
Để cài đặt reverse proxy bảo vệ cần phải thực hiện một số nhiệm vụ sau:
1. Bản thiết kế tường lửa và cấu hình mạng. Ngay cả khi cập nhật tường lửa
được thực hiện sau mỗi phần khác nhau, nó là tốt để bắt đầu với một bản
thiết kế, do đó cấu hình các thành phần khác có thể dựa vào bản thiết kế
tương lửa. Thường thì việc cấu hình cụ thể cần xem xét nhiều hơn so với
chỉ một giao thức và một số lỗ hổng rõ ràng trong tường lửa có thể cần
thiết. Tìm hiểu giao thức nào giải quyết reverse proxy được hỗ trợ. Thông
thường chỉ HTTP (cổng 80) là cần thiết, nhưng chúng ta muốn cho phép
các giao thức khác hiệu quả thông qua reverse proxy.
2. Chọn nền tảng Reverse Proxy. Tạo một reverse proxy của riêng chúng ta,
ví dụ bằng cách cấu hình web server Apache với modun mod_rewrite và
mod_proxy, một số nhà cung cấp các giải pháp reverse proxy chuyên
nghiệp, hoặc chúng ta có thể cần cài đặt reverse proxy của riêng chúng ta,
ví dụ, bởi vì chúng ta sử dụng một giao thưc đặc biệt không hỗ trợ bằng
các giải pháp khác. Khi lựa chọn nhà cung cấp hay nguồn cho reverse

proxy bảo vệ của chúng ta, nên lựa chọn giải pháp đơn giản và đã được
kiểm chứng. Ví dụ, sử dụng Apache, chúng ta có nguy cơ tất cả lỗ hổng
của web server Apache có mặt trong reverse proxy bảo vệ của chúng ta.
18

Mặt khác, web server Apache được triển khai thường xuyên, mà hầu hết
các lỗ hổng và các biện pháp đối phó đã được biết đến.
3. Cấu hình backend web server . Các nội dung web nên dựa vào tên đường
dẫn tương đối và không sử dụng tên và địa chỉ IP nội bộ của mình để tham
chiếu tới chính nó. Nếu không, liên kết có thể không làm việc, bởi vì trình
duyệt không còn có thể trực tiếp truy cập vào máy nó đang chạy.
4. Cấu hình reverse proxy bảo vệ. Đối với an ninh để làm việc, chúng ta cần
định nghĩa những yêu cầu nào nên ánh xạ tới backend web server nào, và
định nghĩa những gì xảy ra nếu yêu cầu không hợp lệ xảy ra. Ví dụ, chúng
ta muốn ghi lại những yêu cầu gì đã bị từ chối bởi reverse proxy. Đối với
việc lọc yêu cầu tồn tại 2 cách tiếp cận: danh sách đen và danh sách trắng
- Danh sách đen chỉ lọc những yêu cầu độc hại trong danh sách của
nó, nhưng nó bỏ qua tất cả những thứ khác. Danh sách lọc đen dễ
dàng triển khai nhưng đầy rủi ro. Chúng thường được sử dụng bởi
“higher-lever” của tường lửa.
- Danh sách lọc trắng có nhiều hạn chế và chỉ cho phép những yêu
cầu trong danh sách. Nó cần phải được cấu hình với kiến thức chi
tiết của backend server và cho phép các URLs. Một danh sách lọc
trắng cần phải được điều chỉnh mỗi khi backend server có thay đổi
đáng kể trong không gian (URL) của nó. Tuy nhiên nó là lựa chọn
tốt nhất cho reverse proxy bảo vệ.
Nếu backend server tin tưởng vào trang đổi hướng hay cơ chế khác
bằng cách sử dụng địa chỉ host của nó và chúng ta có thể thay đổi
nó, chúng ta cần cấu hình reverse proxy để sửa đổi phản hồi của
máy chủ cho phù hợp.

5. Triển khai tất cả mọi thứ. Triển khai ban đầu với việc thiết lập tường lửa,
mạng và router, địa chỉ IP máy chủ, và đòi hỏi một bản kế hoạch tốt. Nếu
có một dịch vụ đã chạy, việc cấu hình lại này có thể làm gián đoạn một số
dịch vụ. Tuy nhiên, sau thay đổi trên mô hình chỉ cần xem xét các reverse
proxy và cuối cùng là bức tường lửa bên trong.
Làm theo các hướng dẫn thực hiện, chúng ta có thể bảo vệ web server dễ bị
tổn thương bằng một reverse proxy bảo vệ.
Đảm bảo an toàn cho reverse proxy đã phổ biến. Một số tổ chức trong ngành
công nghiệp tài chính có hướng dẫn sử dụng reverse proxy cho tất cả các giao thức
được cung cấp trên Internet (với một số ngoại lệ như DNS). Vì vậy họ có thể đảm
bảo rằng một server dễ bị tổn thương không bao giờ bị truy cập trực tiếp từ Internet.
19

Nhà cung cấp cơ sở hạ tầng bảo mật cung cấp các reverse proxy an toàn như
một phần cơ sở hạ tầng rộng lớn hơn. Ví dụ như cơ sở hạ tầng tại thời điểm viết là
Bull Evidian Access Master và PortalXpert, IBM Tivoli Access Manaher,
SYNLOGIC Frontdoor và FTP Frontdoor.
 
 Những kẻ tấn công không còn có thể khai thác trực tiếp lỗ hổng của
backend server. Ngay cả khi backend server bị tổn hại, các bức tường lửa
tiếp tục cản trở sự lây lan của worm trên Internet, , bằng cách chặn các
yêu cầu gửi đi từ backend server.
 Ngay cả khi hiểu được các lỗ hổng, chúng ta có thể giữ cấu hình ổn định
web server, bởi vì reverse proxy bảo vệ với khả năng lọc các yêu cầu của
nó có thể ngăn cản việc lợi dụng lỗ hổng của web server.
 Quản trị viên dễ dàng vá lỗi. Chỉ một máy tính kết nối trực tiếp tới
Internet và cần giám sát các lỗ hổng tiềm tàng và các bản vá lỗi đã cài
đặt. Tuy nhiên, chúng ta không thể mù quáng tin tưởng và reverse proxy
bảo vệ của chúng ta. Backend server vẫn cần được cấu hình với bộ não
của chúng ta, để tránh khai thác các lỗ hổng những yêu cầu được phép.

 
 Việc lọc dựa vào danh sách đen có thể đưa cho chúng ta một cảm giác an
toàn giả mạo. Giống như các bản vá, danh sách đen có thể chỉ được tạo
sau khi lỗ hổng được biết đến
 Việc lọc với danh sách trắng có thể kém hiệu quả khi backend server
thay đổi. Thêm chức năng hay sắp xếp lại cấu trúc nội dung trong
backend web server, có thể bao gồm công việc bổ sung để cấu hình lại
danh sách lọc của reverse proxy bảo vệ.
 Độ trễ. Một reverse proxy tăng thêm độ trễ khi truyền tin, không chỉ bởi
vì thêm lưu lượng mạng mà còn do việc lọc và xác nhận yêu cầu.
 Tăng thêm điểm lỗi. Nếu reverse proxy ngừng làm việc sẽ không có bất
cứ truy cập nào tới được web site của chúng ta. Bất cứ thành phần bổ
sung có thể làm tăng nguy cơ lỗi hệ thống. Để giảm nguy cơ này, chúng
ta có thể sử dụng thiết bị dự phòng là thiết bị chuyển mạch phần cứng
hoặc phần mềm.
 Chi phí phần cứng, phần mềm và cấu hình. Reverse proxy bảo vệ yêu
cầu phải cấu hình thêm tường lửa lọc gói tin hoặc các thiết bị khác để
chạy reverse proxy.
20

3. 
Một web site được xây dựng từ nhiều ứng dụng có nguồn gốc khác nhau có
thể yêu cầu nhiều server khác nhau, bởi vì hoạt động không đồng nhất của các ứng
dụng khác nhau. Bởi vì sơ đồ địa chỉ internet, những phân bố này trên nhiều máy
chủ để hiển thị cho người dùng. Bất cứ thay đổi của phân bố hay chuyển đổi các bộ
phận của trang web tới một máy chủ khác có thể làm ảnh hưởng tới các URL được
sử dụng cho đến nay, các liên kết tới các trang web hoặc chỉ mục được đã được thiết
lập bởi người sử dụng. Một reverse proxy tích hợp làm giảm bớt tình trạng này bằng
cách cung cấp một cách nhìn đồng nhất với một loạt server, không để lộ ra phân bổ
vật lý của hệ thống máy chủ cho người dùng cuối.

Hãy xem xét một trang web điển hình của một công ty (myshop.ch) bán một
số hàng hóa và dịch vụ. Sự hiện diện trực tuyến của họ đã được thiết đặt với một
giao diện cho nhóm hỗ trợ của họ, cho phép người đùng truy cập tới tài liệu hướng
dẫn tĩnh, như một câu hỏi thông thường và giao diện email đơn giản để liên hệ với
nhân viên hỗ trợ. Trang web này chạy trong máy chủ có tên support.myshop.ch. Sau
đó bộ phận marketing mua một phần mềm trực tuyến biểu diễn dịch vụ của họ trên
máy chủ catalog.myshop.ch.
Sau đó, họ cài đặt một hệ thống đặt hàng trực tuyến đơn giản với một công ty
nhỏ phát triển, từ những đơn đặt hàng cần thiết để tự động chuyển đến hệ thống
ERP của nhà phát triển. Bởi vì họ sử dụng một nền tảng khác để phát triển vì lý do
chi phí, hệ thống thu tiền đơn đặt hàng này phải cần chạy trong một server riêng rẽ
như order.myshop.ch.
Để tránh vấn đề với các khách hàng trả tiền trễ và dễ dàng hoạt động kinh
doanh trực tuyến của họ, họ phải thêm một phần mềm thẻ tín dụng thanh toán trực
tuyến từ nhà cung cấp khác. Một lần nữa ta lại phải bổ sung một máy chủ với tên là
pay.myshop.ch. Tóm lại họ cần một hệ thống như trong hình 8.
Bây giờ việc kinh doanh ngày càng nở rộ, cơ sở hạ tầng ban đầu có một số
giới hạn. Nhưng thực tế có những máy chủ đơn lẻ trên Internet làm cho việc di
chuyển ứng dụng tới server khác hoặc chạy một ứng dụng trên hai hệ thống khác
nhau trở lên khó khăn. Sự phức tạp của cơ sở hạ tầng và liên kết chéo của các ứng
dụng server khác nhau làm cho mọi sự thay đổi trở lên phức tạp với nguy cơ nhiều
liên kết hỏng. Làm thế nào tổ chức CNTT có thể che trở người dùng cuối và server
khi thay đổi cơ sở hạ tầng? Làm sao có thể mở rộng chức năng hay sức mạnh xử lý
mà không phá hủy liên kết hay làm vô hiệu các dấu trang của người dùng?

21
















 
Chúng ta cần cài đặt một trang web sử dụng nhiều server khác nhau hay sử
dụng các nhà cung cấp giải pháp khác nhau. Làm thế nào để cung cấp tất cả mọi thứ
dưới một không gian ứng dụng web phù hợp mà không hiển thị cấu trúc server cho
người dùng ? Làm thế nào để đạt được sự linh hoạt trong cấu trúc mạng, ví dụ như
thêm hay loại bỏ các máy chủ mà không làm người dùng ngạc nhiên? Làm thế nào
để cung cấp một chuyển đổi dự phòng hay cân bằng tải nếu một ứng dụng web
server bị quá tải ?
Đặc biệt, chúng ta phải giải quyết các vấn đề sau:
• Không thể cài đặt hoàn chỉnh một trang web với một máy chủ duy nhất và
một nền tảng duy nhất, bởi vì lý do phức tạp, hiệu suất, độ bền vững, tái sử
dụng.
• Cần ẩn cấu trúc mạng với người dùng, do đó những thay đổi trong cấu hình
máy không làm phá vỡ những dấu trang của họ hay liên kết tới trang web
của chúng ta
• Ngoài ra qua backend server liên kết nên tiếp tục bất kể topo mạng nào.
Điều này đảm bảo các ứng dụng backend tiếp tục làm việc không có thay
đổi ngay cả khi một ứng dụng backend di chuyển tới một máy tính khác.
• Có thể thay đổi những phần đã cài đặt của trang web mà không phá hủy liên

kết.
• Chúng ta muốn dễ dàng thêm một yếu tố mới và chức năng mới vào trang
web
22

• Có thể chuyển các yêu cầu cho một ứng dụng từ máy chủ, hoặc là chuyển
đổi dự phòng hoặc là cân bằng tải
• Chúng ta muốn chỉ có giấy chứng nhận SSL, bởi vì giấy chứng nhận là đặt
tiền, đặc biệt là phối hợp gia hạn hợp đồng của họ.
 
Sử dụng một reverse proxy cho việc phối hợp tất cả các web server như những
backend server với một địa chỉ chung của reverse proxy.
Đường dẫn ánh xạ URL bên dưới, địa chỉ máy chủ lưu trữ chung cho các
chức năng của backend server, vì vậy bất cứ thay đổi các chức năng trên máy chủ
lưu trữ backend, có thể dễ dàng được thay đổi ở reverse proxy. Cung cấp tùy chọn
có reverse proxy tích hợp với giấy chứng nhận SSL cho tên miền trang web của
chúng ta.


















 
Thực hiện cài đặt một reverse proxy tích hợp giống các bước cài đặt reverse
proxy bảo vệ. Các bước bổ sung như sau:
1- Thiết kế không gian tên trang web. Đây là bước đòi hỏi phải có một bản kế
hoạch cho phép mở rộng trong tương lai. Trong ví dụ của chúng ta, một tiền
tố đường dẫn ánh xạ tới một server cụ thể thực hiện các chức năng. Nhiều
tiền tố có thể ánh xạ cho cùng một máy. Tuy nhiên, cố gắng giữ cho tiền tố
23

ánh xạ đơn giản. Đó là một trường hợp đặc biệt liên quan đến điểm ‘/’. Một
backend server có thể xử lý cái này hay chính reverse proxy có thể hiển thị
một trang chuyển hướng cho người dùng bào gồm một menu cấu hình dịch
vụ backend. Điều này có thể thay đổi tự động với thay đổi cấu hình của
reverse proxy.
Một thay thế cho các tiền tố đường dẫn ánh xạ là để sử dụng máy ảo cho các
reverse proxy, nơi mà tên của 1 host vẫn chỉ định một dịch vụ backend. Điều
này cho phép công ty trong ví dụ của chúng ta tiếp tục cung cấp host name
gốc của họ, ngay cả sau khi họ đã chuyển sang kến trúc reverse proxy.
Sự kết hợp của các tiền tố và các máy chủ ảo cho phép nhà cung cấp dịch vụ
để lưu trữ các chức năng tương tự cho một số client mà không cần phải lặp
lại tất cả các cơ sở hạ tầng và dễ dàng mở rộng kến trúc hạ tầng nếu cần thiết.
Công ty này có thể sử dụng hệ thống này để cung cấp một dịch vụ shop
(danh mục, đặt hàng, thanh toán) cho đại lý theo địa chỉ tên miền của đại lý
của họ với server myshop.ch.
2- Cấu hình backend web server. Ngoài các vấn đề được đề cập trong mô hình
reverse proxy bảo vệ, chúng ta muốn liên kết từ một dịch vụ backend tới một

cái khác. Ví dụ, backend server /catalog muốn liên kết đến /order và ngược
lại. Tiếp theo lược đồ không gian tên, tương thích với các trang web và ứng
dụng để tạo ra các liên kết chính xác tham chiếu tới địa chỉ máy chủ nôi bộ.
3- Cấu hình backend server dự phòng. Nếu trang web hoạt động trong khi phần
mềm hay phần cứng bị lỗi, hay khi một phiên bản mới của một số backend
cần phải cài đặt, chúng ta có thể cung cấp một chuyển đổi dự phòng tới một
backend server khác cài đặt chức năng tương tự. Việc chuyển đổi có thể thực
hiện tự động, khi một reverse proxy không thể kết nối tới backend server
chính hoặc cấu hình bằng tay bởi nhân viên điều hành
4- Cài đặt backend server cân bằng tải. Tương tự như chuyển đổi dự phòng mà
chúng ta có thể thực hiện cân bằng tải cho những backend nếu nó cần. Đó là
chiến lược có thể. Đơn giản nhất là đi qua các yêu cầu trong một vòng robin
thời trang trong một số backend server cài đặt chức năng giống nhau. Chiến
lược tinh vi hơn có thể làm cho việc sử dụng các số liệu thống kê thu thập
được tại reverse proxy giống như thời gian trả lời của những backend hoặc
truy vấn đặc biệt tới tập hợp backend tương ứng với tải của họ.
Trong trường hợp các ứng dụng web trên những backend chứa một phiên
làm việc của người sử dụng, việc cân bằng tải sẽ phức tạp hơn, bởi vì một
24

phiên yêu cầu cần được thông qua đến backend giống nhau, khi nhiều hơn
một phiên có sẵn (phiên dính).
Reverse proxy bảo vệ tích hợp. Như đã nói, rất dễ dàng để kết hợp reverse
proxy tích hợp và reverse proxy bảo vệ để đạt được cả hai lợi ích.
Chúng ta có thể sử dụng reverse proxy tích hợp cho một mạng cục bộ tích
hợp. Các ứng dụng mạng Intranet đơn giản (như sử dụng PHP hay Perl) có
thể được triển khai một cách nhanh chóng đằng sau reverse proxy, mà không
cần công khai địa chỉ của các server một cách rõ rang cho tất cả người dùng.
Ngoài ra các ứng dụng web bên ngoài có thể được tính hợp tương tự vào
không gian làm việc mà không cần những người sử dụng nhận ra bản chất

bên ngoài. Kết hợp với một menu dịch vụ backend có sẵn được tạo trong
reverse proxy, phát triển các công cụ như vậy có thể làm được ngay. Cách
tích hợp này chỉ dựa trên HTTP là dễ dàng hơn nhiều việc sử dụng một
server theo nền tảng truyền thống. Hơn nữa chúng ta có thể đảm bảo an ninh
bởi vì những backend server có thể hoạt động trong khu vực mạng riêng rẽ
không thể truy cập trực tiếp từ các tổ chức có khả năng thù địch (ví dụ, xem
xét những email worm).
Ngay cả một sự kết hợp hai reverse proxy tích hợp, một reverse proxy đối
mặt với internet và một reverse proxy sử dụng cho mạng nội bộ chia sẻ
những backend server là có thể. Điều này làm giảm chi phí, nếu các chức
năng tương tự có sẵn trên cả hai mạng.
 
 Chỉ có một host bên ngoài được biết đến. Chỉ có một tên và một địa chỉ IP
cho reverse proxy được biết đến và có thể truy cập từ bên ngoài, trừ khi sử
dụng máy chủ ảo. Có thể tăng cường an ninh bởi vì vài máy cần phải hoạt
động trong DMZ.
 Cấu trúc mạng của những backend server được ẩn. Chúng ta có thể chuyển
backend web server từ một máy này tới máy khác mà không làm mất giá trị
của các URL bên ngoài hay các liên kết tới ứng dụng.
 Dễ dàng tích hợp và mở rộng. Trộn và kết hợp các ứng dụng web và công
nghệ trở lên khả thi cho backend web server và minh bạch cho người dùng
cuối.
 Các trang đánh dấu và liên kết tới backend vẫn tiếp tục hoạt động ngay cả
khi backend được chuyển tới host khác.
 Có thể cân bằng tải các backend server với reverse proxy. Tuy nhiên, nếu
những reverse proxy thực hiện phiên, reverse proxy phải gắn vào tài khoản.
25

 Sự ghi chép tập chung. Reverse proxy tích hợp cung cấp móc nối tốt để thực
hiện truy cập hay ghi chép lỗi. Những reverse proxy lý tưởng không còn cần

phải thực hiện ghi chép. Một bản ghi duy nhất dễ dàng hơn để đánh giá, ví
dụ, đường dẫn điều hướng của người sử dụng có thể theo dõi, ngay cả khi có
nhiều hơn một backend server được sử dụng.
 Chúng ta có thể tiết kiệm được tiền bạc và nỗ lực trên giấy chứng nhận SSL
và cũng có thể là trên những địa chỉ IP hay những host name, bởi vì chỉ một
host được kết nối tới internet. Host ảo tới dịch vụ ánh xạ là không khả thi với
một chứng chỉ SSL. Chúng ta cần cấu hình nhiều địa chỉ IP cho reverse
proxy để làm cho nó có thể sử dụng giấy chứng nhận SSL hợp lệ hoặc cần
phải sử dụng ký đại diện chứng chỉ SSL đắt tiền.
 
Mô hình reverse proxy tích hợp cũng có nguy cơ không an toàn. Nó cũng có 3
nguy cơ cuối giống của reverse proxy bảo vệ: độ trễ, tổn thất khi truyền cho các
backend, tăng thêm điểm lỗi.
 Tiền tàng điểm lỗi. Nếu mọi thứ truyền thông qua reverse proxy, reverse
proxy trở thành điểm có nguy cơ lỗi. Dự phòng bổ sung là cần thiết để giải
quyết rủi ro. Nếu không có reverse proxy, chỉ một server duy nhất ngừng
hoạt động có thể làm giảm chức năng có sẵn, nhưng có thể không mang lại
cho tất cả mọi thứ hoàn toàn. Sử dụng một phần cứng chuyển mạch cân bằng
tải dự phòng và một hệ reverse proxy dự phòng có thể làm giảm bớt vấn đề
này.
 Số kết nối đồng thời bị hạn chế. IP cho một giới hạn cứng về số cổng có thể
sử dụng và do đó số kết nối đồng thời là có thể xảy ra. Trên các trang web tải
nặng với những backend tương đối chậm thì cần phải bổ sung nhiều reverse
proxy với công nghệ DNS round robin để kéo dài giới hạn này.
 Phức tạp. Có thể là biện pháp đơn giản hơn để đạt được một hay lợi ích khác.
Ví dụ ta có thể sử dụng bộ phần cứng chuyển mạch cân bằng tải.
 Phiên dính với cân bằng tải có thể có vấn đề, khi backend server dựa trên
phiên.
 Thử nghiệm ứng dụng cá nhân có thể khó khăn hơn. Chúng ta cần thiết lập
một reverse proxy tích hợp giả để có thể thử nghiệm ứng dụng mới. Thậm

chí có thể là sự cần thiết cho một môi trường thử nghiệm hoàn chỉnh bao
gồm tất cả các backend để xác định tất cả các liên kết chéo.

×