Сквид: Как заблокировать URL-адреса с файлами, которые автоматически загружают файл

Вопрос или проблема

Необходимо заблокировать источник “github.com/user-attachments/files/16246802/README.txt”.

Он также указан в файле черного списка

в squid.conf:

acl need_to_block dsdom_regex “/etc/squid/blacklists/block.txt”

http_access deny need_to_block

Файл загружается без проблем и также предоставляет доступ к другим ресурсам, у которых есть “https”.
Что мне нужно исправить, чтобы запретить доступ?

Ответ или решение

Как заблокировать URL-адреса, которые автоматически загружают файлы через Squid

Блокировка URL-адресов в Squid может показаться простой задачей, но часто она требует учета нескольких нюансов для успешного применения. Чтобы решить вашу проблему с блокировкой ресурса, такого как github.com/user-attachments/files/16246802/README.txt, необходимо убедиться, что конфигурация вашего Squid-сервера правильно настроена.

1. Проверьте правильность формата файла черного списка

Убедитесь, что файл /etc/squid/blacklists/block.txt, который указан в конфигурации, содержит правильный формат для блокировки. В Squid для блокировки URL-адресов, использующий регулярные выражения, формат должен выглядеть следующим образом:

^https?://github\.com/user-attachments/files/16246802/README\.txt$

Эта запись заблокирует именно указанный файл. Если у вас есть другие URL, которые вы хотите заблокировать, добавьте их в файл по аналогичному принципу.

2. Проверьте настройки конфигурации Squid

Убедитесь, что в вашем файле конфигурации Squid (squid.conf) правильно настроены правила доступа. Проверьте следующие параметры:

acl need_to_block dsdom_regex "/etc/squid/blacklists/block.txt"
http_access deny need_to_block

Эти строки определяют доступ к ресурсам, используя список заблокированных URL-адресов. Убедитесь, что нет других правил, которые могут позволять доступ к ресурсам, даже если они находятся в черном списке.

3. Исключите HTTPS

Ваш вопрос упоминает, что ресурсы с https по-прежнему доступны. Имейте в виду, что Squid может не блокировать трафик HTTPS по умолчанию, если не настроены правила для работы с SSL. Чтобы управлять трафиком HTTPS, вам нужно будет использовать ssl_bump для проверки сертификатов. Ниже приведены базовые шаги:

  1. Включите поддержку SSL:

    http_port 3128 ssl-bump cert=/etc/squid/cert/my_cert.pem key=/etc/squid/cert/my_key.pem
  2. Установите соответствующие ACL для работы с HTTPS:

    acl SSL_ports port 443
    acl Safe_ports port 80        # http
    acl Safe_ports port 443       # https
    acl Safe_ports port 21        # ftp
    acl Safe_ports port 70        # gopher
    acl Safe_ports port 210       # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl CONNECT method CONNECT
  3. Обновите правила доступа, чтобы разрешить трафик:

    http_access allow Safe_ports
    http_access deny !Safe_ports
    http_access deny need_to_block

4. Перезапустите Squid

После внесения изменений в конфигурацию и файлы черного списка не забудьте перезапустить Squid для применения новых правил:

sudo systemctl restart squid

5. Проверьте работу

После выполнения этих шагов протестируйте блокировку, пытаясь получить доступ к URL-адресу, который должен быть заблокирован. В случае, если доступ всё ещё разрешён, проверьте логи Squid для получения информации о том, как обрабатываются запросы.

Заключение

Следуя вышеописанным шагам и уделяя внимание деталям, вы сможете успешно заблокировать доступ к ресурсам, которые не должны загружаться на вашем сервере. Правильная настройка Squid и адаптация конфигурации под конкретные условия — ключ к успешной блокировке.

Оцените материал
Добавить комментарий

Капча загружается...