Архив

Архив Ноябрь 2025
27 ноября 2025 1 комментарий

если установлен squid без OpenSSL полностью удалить

sudo apt remove --purge squid squid-common squid-langpack
sudo apt autoremove
which squid

установить squid с поддержкой OpenSSL

sudo apt install squid-openssl
squid -v | grep -i ssl

создать каталог и самоподписанный CA (корневой сертификат для MITM) для динамической генерации сертификатов под сайты

sudo mkdir -p /etc/squid/ssl
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
	-keyout /etc/squid/ssl/ca.key \
	-out /etc/squid/ssl/ca.crt \
	-subj "/CN=Squid-CA/"
chmod 600 /etc/squid/ssl/ca.key

конфиг

mcedit /etc/squid/squid.conf

на 3128 прокси как было для всех с авторизацией, на 3130 специально для телефона с SSL-bump и без авторизации + MITM (с авторизацией он не может работать)

http_port 3128
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic children 5
auth_param basic realm Proxy Authentication
auth_param basic credentialsttl 2 hours
acl authenticated proxy_auth REQUIRED
http_port 3130 ssl-bump \
	generate-host-certificates=on dynamic_cert_mem_cache_size=4MB \
	cert=/etc/squid/ssl/ca.crt key=/etc/squid/ssl/ca.key
acl iphone_port myport 3130
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump iphone_port
ssl_bump splice all
http_access allow iphone_port
http_access allow authenticated
http_access deny all
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

пароли для пользователей с авторизацией

htpasswd -c /etc/squid/passwords user
cat /etc/squid/passwords

инициализация SSL DB

security_file_certgen -c -s /var/spool/squid/ssl_db
sudo /usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB

права

chown proxy:proxy /etc/squid/passwords
chmod 640 /etc/squid/passwords
sudo chown -R proxy:proxy /var/spool/squid
sudo chmod -R 755 /var/spool/squid

перезапуск

squid -k parse
squid -k reconfigure
systemctl restart squid

проверки

systemctl status squid.service
sudo tail -f /var/log/squid/cache.log
sudo tail -f /var/log/squid/access.log

ca.crt установить на iphone, передать, например, с помощью встроенного e-mail клиента
в текущем подключении wi-fi — сервер и порт, без авторизации

Categories: iOS Tags: