Gần đây tôi có hỏi một vài người bạn cũng làm trong lĩnh vự của tôi thế nào là Forward proxy và Reverse proxy. Hầu hết họ không thể phân biệt được hoặc hiểu nhầm về hai loại proxy này. Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết sự khác biệt giữa hai loại proxy: Forward proxy và Reverse proxy.
Forward Proxy là gì
Forward proxy, còn được gọi là proxy server, được đặt giữa client và server để điều chỉnh và kiểm soát truy cập mạng của client. Khi một client yêu cầu truy cập một trang web hoặc dịch vụ trên mạng, request của client sẽ được gửi tới Forward proxy. Forward proxy sẽ xử lý request này và chuyển tiếp tới server. Trong quá trình này, Forward proxy có thể lưu cache dữ liệu để tăng tốc độ truy cập và giảm tải cho server.
Reverse proxy là gì
Ngược lại, Reverse proxy được đặt giữa client và server nhưng ngược lại với Forward proxy, nó được sử dụng để bảo vệ server khỏi các cuộc tấn công và cải thiện hiệu suất của server. Reverse proxy sẽ giúp ẩn danh địa chỉ IP của server và che giấu thông tin về server khỏi client. Nó cũng có thể cân bằng tải các request tới server và chuyển hướng các request tới các server khác khi cần thiết.
Forward Proxy và Reverse Proxy hoạt động như thế nào?
Forward Proxy
Forward Proxy nằm giữa máy chủ và internet để thay mặt client thiết lập kết nối với internet. Forward Proxy, không giống như revert proxy, nhận yêu cầu kết nối từ máy client và kiểm tra yêu cầu kết nối để đảm bảo yêu cầu hợp lệ trước khi chuyển tiếp chúng đến trang web mục tiêu.
- Nếu yêu cầu kết nối của máy client hợp lệ, máy chủ Forward Proxy sẽ thay mặt máy client chuyển tiếp yêu cầu đến đích.
- Nếu yêu cầu kết nối của máy client không hợp lệ, máy chủ Forward Proxy sẽ chuyển hướng nó đến máy client mà không xử lý nó.
Forward Proxy tiếp giám sát lưu lượng mạng ở cả phía máy client và máy chủ web. Điều này có nghĩa là tất cả dữ liệu từ máy client và máy chủ web được định tuyến thông qua máy chủ Forward Proxy. Để ngăn giao tiếp trực tiếp giữa máy tính của client và trang web mục tiêu, máy chủ Forward Proxy nhận yêu cầu từ client và chuyển tiếp chúng đến trang đích, sau đó nhận thông tin được cung cấp từ trang đích và chuyển tiếp đến khách hàng.
Reverse Proxy
- Một client gửi yêu cầu kết nối tới internet.
- Thay vì kết nối trực tiếp với máy chủ web, internet sẽ chuyển tiếp yêu cầu kết nối của máy client tới một reverse proxy.
- Reverse proxy giao tiếp với máy chủ web.
- Máy chủ web cung cấp thông tin được yêu cầu cho reverse proxy.
- Phản hồi từ máy chủ gốc được reverse proxy nhận và gửi đến máy client.
Với reverse proxy, máy chủ web không biết máy client nào thực hiện yêu cầu kết nối với máy chủ. Bởi vì một reverse proxy nằm phía trước máy client và thay mặt họ chuyển tiếp yêu cầu của máy client đến máy chủ web.
Với reverse proxy, client không biết họ đang kết nối với máy chủ web nào vì proxy nằm trước máy chủ web.
5 lợi ích hàng đầu của Forward Proxy và Reverse Proxy
Reverse Proxy
1. Cân bằng tải
Một Reverse Proxy phân phối lưu lượng máy client đến một cách đồng đều giữa các máy chủ back-end của trang web để đảm bảo không có máy chủ nào bị quá tải (xem hình dưới). Ví dụ, Amazon là một trong những trang web thương mại điện tử phổ biến nhất. Nó rất có thể nhận được một lượng lớn lưu lượng truy cập đến mỗi giây. Rất khó để xử lý tất cả lưu lượng truy cập đến này bằng một máy chủ gốc duy nhất. Nếu không, máy chủ sẽ trở nên quá tải và không phản hồi lại yêu cầu người dùng. Reverse Proxy giúp chủ sở hữu trang web cân bằng lượng lớn lưu lượng truy cập đến trên nhiều máy chủ khác nhau.
Hình 3: Biểu diễn quá trình Reverse Proxy trong việc cân bằng tải
2. Caching
Reverse Proxy giúp client lưu trữ dữ liệu được yêu cầu thường xuyên trên các máy chủ nằm gần họ cho các yêu cầu trong tương lai. Bộ nhớ đệm cho phép client truy cập nội dung nhanh hơn. Bạn không cần phải truy cập cùng một trang web mỗi khi bạn cần thông tin. Thay vào đó, một Reverse Proxy truy xuất và lưu trữ dữ liệu cho bạn để bạn có thể sử dụng lại dữ liệu đó với việc truy cập nhanh hơn.
3. Mã hóa SSL
Một Reverse Proxy có thể giải mã lưu lượng máy client đến và mã hóa lưu lượng máy chủ web gửi đi (TLS/SSL). Tất cả các giao tiếp giữa máy chủ web và máy client đều được mã hóa để đảm bảo rằng không ai có thể hiểu được thông tin được chia sẻ giữa máy chủ và máy khách. Điều này bảo vệ dữ liệu nhạy cảm khỏi các mạng trái phép. Một nhà cung cấp dịch vụ rất nổi tiếng có thể bạn hay dùng để setup ssl là cloudflare. Khi bạn bật mode ssl trên cloudflare, trang web của bạn tự động hoạt động trên https mà không cần thao tác gì thêm. Chúng ta có thể coi server của cloudflare là Reverse Proxy.
Forward Proxy
4. Một lớp bảo mật bổ sung
Forward Proxy hoạt động như một hàng rào bảo mật giữa máy khách và internet để bảo vệ máy tính của client khỏi mọi cuộc tấn công mạng. Máy chủ proxy giám sát lưu lượng truy cập vào và ra trong hệ thống mạng để phát hiện các hoạt động đáng ngờ và bảo vệ dữ liệu khách hàng. Nó hoạt động tương tự như tường lửa , nhưng có sự khác biệt đáng kể về phương pháp và kỹ thuật mà chúng sử dụng.
5. Fake ip
Bạn đã bao giờ sử dụng proxy để crawl data hoặc làm một việc gì đó spam vào 1 hệ thống cần phải đổi ip liên tục? Lúc này các proxy mà bạn mua để sử dụng cho việc đổi ip liên tục là một Forward Proxy.
Các proxy cho phép bạn thu thập một lượng lớn dữ liệu trong khi vẫn ẩn danh với các công cụ quét. Có rất nhiều loại proxy, tôi có thể nêu ví dụ cho bạn như sau:
- Public Proxy: Là các máy chủ proxy miễn phí được cung cấp bởi các tổ chức như các trang web proxy public hoặc các nhà cung cấp dịch vụ proxy miễn phí khác. Tuy nhiên, việc sử dụng các proxypublic có thể không an toàn và bảo mật.
- Private Proxy: Là các máy chủ proxy được cấu hình để hoạt động bởi một cá nhân hoặc tổ chức, và được sử dụng để bảo vệ quyền riêng tư hoặc tránh kiểm duyệt Internet. Private Proxy thường được sử dụng để thu thập dữ liệu web, bởi vì nó cho phép bạn truy cập các trang web với IP khác nhau và giảm rủi ro bị chặn hoặc bị hạn chế truy cập.
- Proxy ẩn danh: Loại proxy này giúp giấu địa chỉ IP của người dùng và bảo vệ quyền riêng tư. Khi sử dụng proxy ẩn danh, bạn sẽ không bị truy tìm hoặc kiểm soát hoạt động của mình trên mạng.
- Proxy độc quyền: Là loại proxy mà một tổ chức sở hữu và vận hành, và chỉ cung cấp cho người dùng được ủy quyền. Proxy độc quyền có thể đảm bảo rằng các yêu cầu truy cập được kiểm soát và đảm bảo an toàn và bảo mật của dữ liệu.
- Proxy backconnect: Loại proxy này cho phép người dùng kết nối với các máy chủ proxy khác nhau và thay đổi địa chỉ IP một cách liên tục bằng việc xoay vòng tự động, giúp giảm rủi ro bị chặn hoặc bị hạn chế truy cập. Loại proxy này thường được sử dụng khi có nhu cầu thay đổi ip liên tục, tự động và nhanh chóng. Loại proxy này có thể chia thành các loại nhỏ hơn như sau:
- Proxy dân cư: Là proxy sử dụng ip trong các khu dân cư, thường thì loại này khá đắt vì ip nó có chất lượng tốt, khó bị chặn bởi các website vì nó là ip của người dùng tương tác thật.
- Proxy của trung tâm dữ liệu: Proxy được tạo ra trên các datacenter hoặc cloud. Loại ip này rẻ và số lượng nhiều vì việc tạo không phức tạp. Nhưng chất lượng ip thì ở mức độ bình thường, không cao bằng proxy dân cư.
- 4G Mobile Proxy: Proxy sử dụng 4G hoặc 5G, thường ip loại này chất lượng khá tốt, ngang ngửa với proxy dân cư mà thậm chí còn hơn.
Càng ngày các thuật toán chặn việc truy cập trái phép để crawl data hoặc spam càng hoàn thiện, nên việc spam sử dụng proxy đòi hỏi cần nhiều thủ thuật hơn nữa, không chỉ là việc đổi ip liên tục.
Các ứng dụng phổ biến của Forward Proxy và Reverse Proxy
Forward Proxy
1. Whitelist IP
Giả sử hệ thống của bạn truy cập sang một hệ thống khác mà hệ thống đó yêu cầu bạn gửi danh sách ip để whitelist, lúc này bạn sẽ cần một hoặc nhiều Forward Proxy để có thể có lượng ip cố định gửi sang cho các bên khác để thực hiện whitelist.
2. Bỏ qua kiểm duyệt và lọc từ Internet
Các trang web sử dụng định vị địa lý dựa trên IP có thể xác định vị trí địa lý của bạn và hạn chế quyền truy cập vào nội dung Internet dựa trên vị trí địa lý của người dùng. Ví dụ: chính phủ kiểm duyệt một số trang web và nội dung của chúng để ngăn công dân của họ truy cập các trang web bất hợp pháp. Các cá nhân hoặc tổ chức tư nhân cũng có thể tiến hành kiểm duyệt vì lý do kinh doanh và kinh tế. Ví dụ, các doanh nghiệp có thể sử dụng cơ chế kiểm duyệt để ngăn chặn việc lan truyền thông tin sai lệch hoặc tin tức giả mạo về thương hiệu của họ.
Máy chủ proxy ẩn địa chỉ IP thực của người dùng để ngăn họ bị phát hiện và theo dõi trong khi duyệt. Nó cũng cho phép người dùng truy cập các trang web và nội dung bị giới hạn địa lý bất kể vị trí của họ.
3. Thu cập dữ liệu (crawl data) hoặc spam
Đây là ứng dụng rất phổ biến hiện tại, bạn cần crawl data của một trang web mà họ đang chặn giới hạn request theo từng ip; bạn muốn spam một trang web nào đó để tăng tương tác hoặc làm gì đó; bạn nuôi nick facebook hoặc tiktok cần có ip cố định… rất nhiều ứng dụng của nó trong việc spam traffic vào các nền tảng mà người việt đang sử dụng.
Revert proxy
4. Cải thiện hiệu suất của trang web bằng việc caching
Revert proxy có thể được sử dụng để cache nội dung trang web nhằm giảm tải cho máy chủ internet và cải thiện khả năng phản hồi của trang web. Khi người dùng truy cập một trang web lần đầu tiên, Revert proxy sẽ lưu vào bộ đệm ẩn và lưu nội dung web như hình ảnh, video, văn bản, v.v. để sử dụng sau. Lần tới khi người dùng truy cập cùng một trang web, Revert proxy sẽ được đặt trước máy chủ web và sẽ chuyển tiếp dữ liệu được lưu trong bộ nhớ cache của trang web đã truy cập trước đó cho người dùng. Điều này cải thiện hiệu suất của các trang web.
5. Ngăn chặn vi phạm dữ liệu
Ví dụ, Yahoo! là một trong những nạn nhân của vi phạm dữ liệu. Năm 2014, 500 triệu tài khoản người dùng Yahoo đã bị tấn công, bao gồm tên, địa chỉ email, số điện thoại, ngày sinh, v.v. Mã hóa dữ liệu là một trong những biện pháp tốt nhất mà doanh nghiệp có thể áp dụng để bảo vệ dữ liệu của họ khỏi các mối đe dọa an ninh mạng. Revert giúp doanh nghiệp ngăn chặn vi phạm dữ liệu bằng cách mã hóa dữ liệu được truyền trong lưu lượng mạng.
6. Kiểm soát truy cập
Các doanh nghiệp có thể muốn có quyền kiểm soát nội dung và trang web mà nhân viên của họ có thể truy cập vì lý do kinh doanh, xã hội hoặc đạo đức. Revert proxy có thể được sử dụng để hạn chế quyền truy cập vào một số trang web nhất định. Ví dụ: doanh nghiệp có thể sử dụng Revert proxy để ngăn truy cập vào các URL cụ thể có thể gây rủi ro. Nếu một nhân viên cố gắng kết nối với các trang web cụ thể này, Revert proxy sẽ từ chối yêu cầu kết nối.
Một ứng dụng khác là việc chống ddos và crawl bằng việc giới hạn request đầu vào trên mỗi ip hoặc user agent, Revert proxy có thể cung cấp cho bạn giải pháp chặn request khi bạn muốn cấm traffic từ một quốc gia hay một ip nào đó.
Tổng kết
Tổng kết lại, Forward Proxy và Reverse Proxy đều là các công cụ hữu ích trong việc truy cập Internet một cách an toàn và hiệu quả. Tuy nhiên, các loại proxy này có những đặc điểm khác nhau và được sử dụng trong các trường hợp khác nhau. Vì vậy, khi sử dụng proxy, người dùng nên tìm hiểu kỹ về các loại proxy khác nhau và chọn loại phù hợp nhất với nhu cầu của mình.