1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Cấu hình reverse proxy

35 352 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cấu hình reverse proxy
Tác giả Nguyễn Khánh Hưng
Người hướng dẫn TS. Hà Quốc Trung
Trường học Trường Đại học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Công nghệ Thông tin và Truyền thông
Thể loại Báo cáo thực tập
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 1,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cấu hình reverse proxy

Trang 1

V Ệ Ô Ệ Ô V UYỀ Ô

BÁO CÁO hực tập chuyên ngành

ĐỀ TÀI:

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

iến trúc proxy ngược

iáo viên hướng dẫn: TS Hà Quốc Trung

Sinh viên thực hiện:

Nguyễn Khánh Hưng 20081279 TTM-K53

5/2012

Trang 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

Trang 3

đề 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 “ ghiên cứu giải pháp mở rộng của kiến trúc client-server: iến trúc proxy

ngược” để 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

Trang 4

I iới thiệu chung về kiến trúc client-server

1 iới thiệu chung

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 ấu trúc vậ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

Máy chủ(Server)

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

Trang 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

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

Trang 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

ình 2: Mô hình Cl ent/Server 3 tầng

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

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)

Trang 7

4 guyên tắc hoạt động của kiến trúc lient/Server

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 u nhược điểm của kiến trúc lient/Server

5.1 u điểm

- iảm chi phí

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

Trang 8

- ốc độ nhanh

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

- ính tương thích cao

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 hược điểm

- 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 iến trúc proxy

1 iới thiệu chung về proxy

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

web bị cấm, lọc bởi công ty, tổ chức của bạn

Trang 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

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

Trang 10

2.1 hức năng của Forward proxy

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 Ý nghĩa của Forward proxy

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

Trang 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 đó

Trang 12

III iến trúc reverse proxy

1 iới thiệu về everse proxy

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

Trang 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 everse proxy bảo vệ

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

ình 6: Web server vớ tường lửa bảo vệ

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ế

Trang 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:

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

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

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

Để 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

Trang 15

ình 7: Mô hình reverse proxy bảo vệ

 ác thành phần

 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

- 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

- 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

- 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

Trang 16

 guyên tắc hoạt động

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

Trang 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

 ài đặt

Để 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

Ngày đăng: 28/04/2014, 20:41

HÌNH ẢNH LIÊN QUAN

Hình 3: Mô hình proxy 1 - Cấu hình reverse proxy
Hình 3 Mô hình proxy 1 (Trang 9)

TỪ KHÓA LIÊN QUAN

w