Jump to content

Пробую использовать squid чтобы заблокировать некоторые адреса сайтов


Recommended Posts

Нужно заблокировать некоторые скрипты, блокировка по домену устраивает, но не полностью.

Для этого в программе firefox можно было бы использовать расширения, не нравится слово "расширения", ну да ладно.

Но блокировка с помощью расширения сильно тормозит компьютер, и вот я подумал, а вдруг с помощью squid блокировка будет меньше нагружать комп.

Что из этого получилось:

1. по инструкции https://losst.ru/prozrachnyj-proksi-dlya-https-v-squid я собрал squid с опциями "--enable-ssl --enable-ssl-crtd --with-openssl"

2. и дальше создал сертификаты, установил корневой der сертификат в программу firefox

mkdir /etc/squid/ssl
cd /etc/squid/ssl
sudo openssl genrsa -out /etc/squid/ssl/squid.key
sudo openssl req -new -key /etc/squid/ssl/squid.key -out /etc/squid/ssl/squid.csr
sudo openssl x509 -req -days 3650 -in /etc/squid/ssl/squid.csr -signkey /etc/squid/ssl/squid.key -out /etc/squid/ssl/squid.pem
sudo openssl x509 -in /etc/squid/ssl/squid.pem -outform DER -out squid.der
chown -R proxy:proxy /etc/squid/ssl

3. и дальше ввел, не знаю для чего команды iptables из той же инструкции

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130

4. файл настроек пробовал настраивать по разному, сейчас файл выглядит следующим образом

acl localnet src 0.0.0.1-0.255.255.255	# RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8		# RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10		# RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 	# RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12		# RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16		# RFC 1918 local private network (LAN)
acl localnet src fc00::/7       	# RFC 4193 local private network range
acl localnet src fe80::/10      	# RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT

# добавлено
acl blacklist url_regex -i "/etc/squid/blacklist"
acl whitelist url_regex -i "/etc/squid/whitelist"

http_access deny !Safe_ports
http_access allow CONNECT SSL_ports
http_access deny CONNECT !SSL_ports

# добавлено
#http_access allow whitelist
http_access deny blacklist

http_access allow localhost manager
http_access deny manager
include /etc/squid/conf.d/*
http_access allow localhost
http_access deny all


#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129
#iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130
http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl/squid.pem key=/etc/squid/ssl/squid.key

always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

# добавлено
acl blacklist_ssl ssl::server_name_regex -i "/etc/squid/blacklist_ssl"
acl whitelist_ssl ssl::server_name_regex -i "/etc/squid/whitelist_ssl"

ssl_bump server-first all
ssl_bump none all
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB

coredump_dir /var/spool/squid
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern .		0	20%	4320
Link to post
Share on other sites

Вопросы:

1. В программе firefox в разделе "Параметры сети" что нужно выбрать? "Без прокси" или "Автоматически определять" или "Использовать системные настройки" или "Указать вручную"

2. Команды iptables надо вводить или не надо? У меня после ввода команд, насколько я понял не происходит никаких изменений
 

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

3. По нагрузке на компьютер, сквид мало потребляет ресурсов?

Link to post
Share on other sites

В Firefox выбрать - без прокси. Он должен работать прозрачно

Вообще для squid не нужен iptables. Вот к примеру более-менее вменяемая инструкция по настройке https://interface31.ru/tech_it/2013/09/squid-nastraivaem-url-filtraciyu-po-spiskam.html

squid не требователен к ресурсам - вполне себе работает на малинке для 10 пользователей - и наверняка больше тянуть будет

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...