Logo

Personal Ops Runbook

Personal runbook covering infrastructure operations for Cloud, Kubernetes, OpenStack, and Ceph environments. Includes deployment and teardown procedures, node management, cluster monitoring setup, and incident response workflows compiled from day-to-day operational work. Intended strictly for personal reference — configurations and scripts are environment-specific and not guaranteed to work as-is elsewhere.

[Pfsense] – Lesson 9 – Web filter trong Pfsense


1. Tổng quan.

Web filter trong pfSense là một tính năng của hệ thống tường lửa và cảnh báo web được sử dụng để kiểm soát và quản lý truy cập vào các trang web trên mạng. Nó cho phép bạn thiết lập các quy tắc để chặn hoặc cho phép truy cập vào các trang web dựa trên nhiều tiêu chí như địa chỉ URL, từ khóa, loại nội dung, danh sách đen/ trắng, và nhiều thuộc tính khác.

Với web filter, bạn có thể:

  • Chặn truy cập vào các trang web độc hại hoặc không phù hợp: Bạn có thể xác định các quy tắc để chặn truy cập vào các trang web chứa mã độc, nội dung độc hại, nội dung người lớn, hoặc các trang web không phù hợp với chính sách mạng của bạn.
  • Quản lý và kiểm soát truy cập vào các loại nội dung cụ thể: Bạn có thể thiết lập quy tắc để chặn hoặc cho phép truy cập vào các loại nội dung nhất định như trò chơi trực tuyến, mạng xã hội, video, tin tức, hoặc các loại nội dung khác.
  • Sử dụng danh sách đen và danh sách trắng: Bạn có thể sử dụng các danh sách đen và danh sách trắng để quản lý truy cập vào các trang web. Danh sách đen chứa các địa chỉ URL bị chặn hoặc không cho phép truy cập, trong khi danh sách trắng chỉ cho phép truy cập vào các trang web được liệt kê.
  • Cung cấp báo cáo và ghi lại hoạt động web: Web filter cung cấp các công cụ để ghi lại và theo dõi hoạt động web của người dùng trong mạng nội bộ. Bạn có thể xem các báo cáo và nhật ký để kiểm tra truy cập web, phân tích xu hướng và đánh giá hiệu suất hệ thống.

Web filter trong pfSense giúp bạn tăng cường an ninh mạng, kiểm soát nội dung và quản lý sử dụng Internet trong mạng của bạn theo cách linh hoạt và tùy chỉnh.

2. Thực hành.

Để bắt đầu lab, bạn hãy xem sơ đồ đấu nối của mình.

image

2.1. Tải gói hỗ trợ.

Bạn vào System -> Package Manager.

image

Tại thẻ Available Packages bạn hãy lần lượt tải 2 gói sau:

  • squid
  • squidGuard

Bấm Install để tải và cài đặt gói nhé.

image

Hãy xác nhận đồng ý tải và cài đặt gói bằng cách bấm vào Confirm.

image

Quá trình tải và cài đặt gói bắt đầu.

image

Thông báo cài đặt gói thành công.

image

Tiếp tục gói thứ 2. Lưu ý là sau khi tải gói nào xong thì trên thẻ Available Packages sẽ không còn hiển thị gói tin đó nữa.

image

Kết quả tải và cài đặt gói thứ 2 đã xong.

image

NẾu giờ bạn tìm từ khoá squid bạn sẽ không còn thấy 2 gói mà chúng ta đã cài đặt ở thẻ Available Packages.

image

Nhưng nếu bạn chuyển qua thẻ Installed Packages bạn sẽ nhìn thấy chúng.

image

2.2. Cài đạt Cert Manager.

Vào System -> Cert. Manager.

image

Bấm Add.

image

Đặt tên tại Descriptive name và Common Name, tiếp theo bạn lựa chọn Create an internal Certificate Authority để thêm Cert mới.

image

Kết quả khi tạo Save thành công.

image

2.3. Cấu hình Squid Proxy Server.

Vào Services -> Squid Proxy Server.

image
  • Bạn hãy check vào Enable Squid Proxy để bật tính năng Squid Server.
  • Chọn interface mà bạn muốn áp dụng Squid tại phần Proxy Interface(s).
image

Tại Transparent HTTP Proxy hãy enable tính năng này lên và đừng quên lựa chọn interface sẽ chịu ảnh hưởng.

image

Phần HTTPS/SSL Interception bạn cũng bật nó lên và trỏ tới Cert Manager mà bạn đã tạo ở trên. Nhớ chọn interface chịu ảnh hưởng.

image

Phần cuối mình giữ mặc định và bấm Save.

image

Bây giờ nếu bạn vào Server chạy interface vlanid101 bạn sẽ có kết quả như dưới.

image

Toàn bộ các website đang bị lỗi liên quan đến SSL.

image

2.4. Thêm SSL Local vào Client.

Để bỏ qua lỗi này bạn cần thêm Cert Manager mà chúng ta đã tạo ở trên vào Client (ở đây là Server 01 của mình nhé). Download Cert về bằng cách bấm vào nút như hình dưới.

image

Lưu file này lại.

image

Copy vào client và import nó vào client theo trình tự như dưới.

image

Và kết quả sau khi import cert thành công.

image

2.5.Config SquidGuard Proxy Filter.

Vào Services -> SquidGuard Proxy Filter.

image

Hãy enbable tính năng này lên và bấm Apply.

image

Bạn sẽ thấy trạng thái SquidGuard service state: Stopped chuyển sang Started.

image

Và SquidGuard Proxy Filter đã hoạt động tốt khi chúng ta test trên client.

image

Tiếp theo bạn có thể tạo danh sách domain để chặn nó.

image

Ví dụ cho facebook.com.

image

Mình tạo thêm Zing để bạn có cái nhìn dễ hơn.

image

Lúc này tại Target Rules List bạn sẽ nhìn thấy danh sách 2 domain này đã xuất hiện tại đây. Tại phần access bạn sẽ thấy 2 domain này chưa có hành động access nào và mặc định thì tất cả các domain sẽ bị deny nằm ở dưới cùng.

image

Tình huống của mình thì mình sẽ cho phép truy cập tất cả các website nhưng chỉ chặn 2 domain mà mình đã tạo, mình sẽ thiết lập như dưới.

image

Sau khi lưu lại bạn phải bấm Apply để thay đổi được áp dụng.

image

Và đây là kết quả, Facebook và Zing bị chặn nhưng mình vẫn vào được Youtube.

image

Chúc các bạn thành công.