Cấu hình reverse proxy

35 337 2
Cấu hình reverse proxy

Đ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

Cấu hình reverse proxy

  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 [...]... 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. .. 14 ì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  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 proxyReverse proxy - Chấp... 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 12 Trong báo cáo sẽ đề cập tới hai mô hình reverse proxyhì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 everse proxy. .. 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... 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  guy cơ khi sử dụng reverse proxy tích hợp 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... reverse proxy 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 1 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. .. đó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... 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) ,... 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... 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  Lợi ích của reverse proxy tích hợp  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ó . 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 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. 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

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan