Chuyển đến nội dung chính

Squid

Hướng dẫn này giải thích cách cấu hình Squid 6.x với máy chủ ICAP Glasswall Halo, cho phép bảo vệ nâng cao trước các mối đe dọa thông qua công nghệ Content Disarm and Reconstruction (CDR) tiên tiến của chúng tôi qua Glasswall Halo.

Lưu ý: hướng dẫn dựa trên Squid 6.x built with OpenSSL. để xem danh sách đầy đủ các tùy chọn cấu hình, vui lòng tham khảo tài liệu Squid.

Hướng dẫn tích hợp Squid

Bước 1: Cấu hình cơ bản

Xác định vị trí và chỉnh sửa tệp cấu hình Squid của bạn, thường nằm tại:

  • /etc/squid/squid.conf
  • /etc/squid5/squid.conf

1A - Xác định danh sách kiểm soát truy cập

Bỏ chú thích hoặc thêm các ACL sau cho mạng cục bộ và các cổng an toàn:

acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

1B - Cho phép truy cập mạng cục bộ

Trong cấu hình quyền truy cập tối thiểu được khuyến nghị, thêm:

http_port 3128
http_access allow localnet
http_access allow localhost
http_access deny all

1C - Bật ICAP

Thêm nội dung sau để bật hỗ trợ ICAP:

icap_enable on
icap_send_client_ip on
icap_preview_enable on
icap_preview_size 0
icap_service_failure_limit -1

1D - Cấu hình sửa đổi yêu cầu (tải lên)

icap_service glasswall_req reqmod_precache bypass=0 icap://<Halo ICAP Server>:1344/req-cdr-service
adaptation_access glasswall_req allow all

1E - Cấu hình sửa đổi phản hồi (tải xuống)

icap_service glasswall_resp respmod_precache bypass=0 icap://<Halo ICAP Server>:1344/req-cdr-service
adaptation_access glasswall_resp allow all

Bước 2 - Kết nối liên tục

Squid 6.x hỗ trợ kết nối ICAP liên tục theo mặc định. Để bắt buộc áp dụng:

icap_persistent_connections on

Mẹo: hãy đảm bảo máy chủ ICAP cũng được cấu hình cho kết nối liên tục. Nếu không, hãy tắt chúng (off) để tránh lỗi.

Bước 3 - Khởi động lại squid

Áp dụng các thay đổi:

sudo systemctl restart squid

Bước 4 - Khắc phục sự cố (tùy chọn)

Nếu bạn thấy các lỗi như:

essential ICAP service is down after an options fetch failure: icap://<Halo ICAP Server>:1344/req-cdr-service [down,!opt]

Kiểm tra những mục sau:

  • Xác nhận rằng bạn đang chạy Squid 6.x ổn định mới nhất
  • Nếu kết nối liên tục gây ra sự cố, hãy tắt chúng:
icap_persistent_connections off

Bước 5 - Quét nội dung HTTPs

Để quét lưu lượng https được mã hóa, Squid phải được biên dịch với SSL và được cấu hình để SSL bumping.

Yêu cầu

  • Squid 6.x với openssl
  • Chứng chỉ gốc để chặn SSL

5A - Cập nhật cổng lắng nghe

http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=<SQUIDFOLDER>/etc/ssl/myc.pem

5B - Cấu hình SSL bump

sslcrtd_program <SQUIDFOLDER>/lib/squid/ssl_crtd -s <SQUIDFOLDER>/var/cache/squid_ssldb -M 4MB
sslcrtd_children 5
ssl_bump server-first all

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

sslproxy_cert_error deny all

5C - Tạo và cài đặt chứng chỉ gốc

openssl req -new -newkey rsa:2048 -days 1000 -nodes -x509 -keyout myc.pem -out myc.pem

Khởi tạo kho lưu trữ chứng chỉ:

rm -rf <SQUIDFOLDER>/var/cache/squid_ssldb
<SQUIDFOLDER>/lib/squid/ssl_crtd -c -s <SQUIDFOLDER>/var/cache/squid_ssldb

Quan trọng: cài đặt myc.pem làm chứng chỉ gốc đáng tin cậy trong trình duyệt của bạn.

Bước 6 - Khởi động lại lần cuối

Khởi động lại Squid để hoàn tất tất cả thay đổi:

sudo systemctl restart squid