Squid с поддержкой https (Сборка для Debian 9)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Squid с поддержкой https

Сообщение Dotstal »

...будь проклят тот день когда я сел за баранку этого пылесоса...
Решил установить, понял что в репах нет поддержки блокировки https, нужно собирать самому.
Пока эксперементировал, добавил тестовое репо прямо в source.list и... переустановил систему.
Собрал на виртуалке по схеме https://habr.com/ru/post/267851/, но squid из тестового репо 4.6 и libressl - последнюю версию
Сначала libecap-1.0.1 (через dpkg-buildpackage), а потом libressl-2.9.2 (с помощью checkinstall), потом squid (через dpkg-buildpackage ругнулся на зависимость, отключил по фак) добавил --enable-ssl --enable-ssl-crtd --with-openssl перед сборкой
Перенес готовые .deb на роутер, и там установил, по началу заработало (не уверен, но не ругалося), потом начал на options=NO_SSL, узнал что в версии от 4.0 нужно указывать tls-option, перестал, но...
Теперь гневается, как я понял на сертификат (или что то в этом роде)
Spoiler
2019/05/27 11:45:21 kid1| Squid Cache (Version 4.6): Terminated abnormally.
CPU Usage: 0.128 seconds = 0.076 user + 0.052 sys
Maximum Resident Size: 83584 KB
Page faults with physical i/o: 0
2019/05/27 11:45:21 kid1| Closing Pinger socket on FD 28
2019/05/27 11:45:21 kid1| Set Current Directory to /var/spool/squid
2019/05/27 11:45:21 kid1| Starting Squid Cache version 4.6 for x86_64-pc-linux-gnu...
2019/05/27 11:45:21 kid1| Service Name: squid
2019/05/27 11:45:21 kid1| Process ID 1984
2019/05/27 11:45:21 kid1| Process Roles: worker
2019/05/27 11:45:21 kid1| With 1024 file descriptors available
2019/05/27 11:45:21 kid1| Initializing IP Cache...
2019/05/27 11:45:21 kid1| DNS Socket created at [::], FD 5
2019/05/27 11:45:21 kid1| DNS Socket created at 0.0.0.0, FD 10
2019/05/27 11:45:21 kid1| Adding nameserver 212.188.4.10 from /etc/resolv.conf
2019/05/27 11:45:21 kid1| Adding nameserver 195.34.32.116 from /etc/resolv.conf
2019/05/27 11:45:21 kid1| helperOpenServers: Starting 5/32 'ssl_crtd' processes
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
2019/05/27 11:45:21 kid1| Logfile: opening log daemon:/var/log/squid/access.log
2019/05/27 11:45:21 kid1| Logfile Daemon: opening log /var/log/squid/access.log
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
2019/05/27 11:45:21 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2019/05/27 11:45:21 kid1| Store logging disabled
2019/05/27 11:45:21 kid1| Swap maxSize 20480000 + 262144 KB, estimated 1595549 objects
2019/05/27 11:45:21 kid1| Target number of buckets: 79777
2019/05/27 11:45:21 kid1| Using 131072 Store buckets
2019/05/27 11:45:21 kid1| Max Mem size: 262144 KB
2019/05/27 11:45:21 kid1| Max Swap size: 20480000 KB
2019/05/27 11:45:21 kid1| Rebuilding storage in /var/spool/squid (no log)
2019/05/27 11:45:21 kid1| Using Least Load store dir selection
2019/05/27 11:45:21 kid1| Set Current Directory to /var/spool/squid
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
2019/05/27 11:45:21 kid1| Finished loading MIME types and icons.
2019/05/27 11:45:21 kid1| HTCP Disabled.
2019/05/27 11:45:21 kid1| Pinger socket opened on FD 28
2019/05/27 11:45:21 kid1| Squid plugin modules loaded: 0
2019/05/27 11:45:21 kid1| Adaptation support is off.
2019/05/27 11:45:21 kid1| Accepting NAT intercepted HTTP Socket connections at local=192.168.1.1:3128 remote=[::] FD 24 flags=41
2019/05/27 11:45:21 kid1| Accepting HTTP Socket connections at local=192.168.1.1:3130 remote=[::] FD 25 flags=9
2019/05/27 11:45:21 kid1| Accepting NAT intercepted SSL bumped HTTPS Socket connections at local=192.168.1.1:3129 remote=[::] FD 26 flags=41
2019/05/27 11:45:21| pinger: Initialising ICMP pinger ...
2019/05/27 11:45:21| pinger: ICMP socket opened.
2019/05/27 11:45:21| pinger: ICMPv6 socket opened
2019/05/27 11:45:21 kid1| WARNING: /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB #Hlpr1 exited
2019/05/27 11:45:21 kid1| Too few /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB processes are running (need 1/32)
2019/05/27 11:45:21 kid1| Closing HTTP(S) port 192.168.1.1:3128
2019/05/27 11:45:21 kid1| Closing HTTP(S) port 192.168.1.1:3130
2019/05/27 11:45:21 kid1| Closing HTTP(S) port 192.168.1.1:3129
2019/05/27 11:45:21 kid1| Not currently OK to rewrite swap log.
2019/05/27 11:45:21 kid1| storeDirWriteCleanLogs: Operation aborted.
2019/05/27 11:45:21 kid1| FATAL: The /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB helpers are crashing too rapidly, need help!
/var/lib/ssl_db - нету его, как создать и с какими параметрами - совсем далек от мысли...? Может еще что не так делаю...?
конфиг тоже плохо пока понимаю, особенно после HTTPS...
Spoiler
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network

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

#dns_nameservers 8.8.8.8
http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

http_access allow localnet
http_access allow localhost
http_access deny all

#прозрачный порт указывается опцией intercept
http_port 192.168.1.1:3128 intercept tls-option=NO_SSLv3:NO_SSLv2

#также нужно указать непрозрачный порт, ибо если захотите вручную указать адрес
#прокси в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно
#указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах #сыпятся ошибки о том, что непрохрачный порт не указан=)
http_port 192.168.1.1:3130 tls-option=NO_SSLv3:NO_SSLv2

#и наконец, указываем HTTPS порт с нужными опциями
https_port 192.168.1.1:3129 intercept ssl-bump tls-option=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem

always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

#укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com)
acl blocked ssl::server_name "/etc/squid/blocked_https.txt"
acl step1 at_step SslBump1
ssl_bump peek step1

#терминируем соединение, если клиент заходит на запрещенный ресурс
ssl_bump terminate blocked
ssl_bump splice all

sslcrtd_program /usr/lib/squid/ssl_crtd -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
cache_dir aufs /var/spool/squid 20000 49 256
maximum_object_size 61440 KB
minimum_object_size 3 KB

cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
logfile_rotate 4
Вообще инструкция старая, поновее не нашел, все что попадаются выполнены на ее основе (или ее аналоге еще более древнем)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Dotstal писал(а):
27.05.2019 12:26
libressl-2.9.2 (с помощью checkinstall)
Зачем? Чем openssl-то не угодил? Из-за неправильной конфигурации libressl, скорее всего, и ошибка. Собирайтесь с openssl, не мучайтесь из-за сказки о «кое каких багах». Ладно бы было сказано, что за баги и чем они мешают, а так — скорее всего автор что-то где-то слышал, но не понял.
Dotstal писал(а):
27.05.2019 12:26
libecap-1.0.1
А это зачем? Он уже есть в репах, но не факт, что когда-нибудь Вам пригодится.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Dotstal писал(а):
27.05.2019 12:26
Пока эксперементировал, добавил тестовое репо прямо в source.list и... переустановил систему.
Да, лихо.
Dotstal писал(а):
27.05.2019 12:26
Перенес готовые .deb на роутер
Именно на роутер или всё-таки на компьютер-шлюз?
Dotstal писал(а):
27.05.2019 12:26
/var/lib/ssl_db - нету его, как создать и с какими параметрами - совсем далек от мысли...?
Man-страница говорит, что вот так
ssl_crtd -c -s /var/lib/ssl_db

Но у Вас там есть вещи поинтереснее:
Dotstal писал(а):
27.05.2019 12:26
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
Dotstal писал(а):
27.05.2019 12:26
2019/05/27 11:45:21 kid1| WARNING: /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB #Hlpr1 exited
2019/05/27 11:45:21 kid1| Too few /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB processes are running (need 1/32)
Сначала говорит, не нашёл, потом пытается запустить... Что-то тут не сходится.
Добавлено (14:12):
Bizdelnick писал:
27.05.2019 13:57
не мучайтесь из-за сказки о «кое каких багах»
Тем более, что публикация четырехлетней давности.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Bizdelnick писал:
27.05.2019 13:57
А это зачем?
для libressl, без него ругается на на какой нить либ So.45 (разные версии, на разные номера) и не запускается.
Hephaestus писал:
27.05.2019 14:10
компьютер-шлюз
наверное правильнее будет, с debian 9
Hephaestus писал:
27.05.2019 14:10
ssl_crtd -c -s /var/lib/ssl_db
это я пробовал, поэтому и решил написать тут
bash: ssl_crtd: команда не найдена.
Предлагаете удалить libressl ?

переставить систему не долго ;)
Spoiler
apt install install openssh-server bridge-utils mc dnsmasq minidlna samba
apt install python-setuptools python-m2crypto python-apsw
apt install tor polipo transmission-daemon
и скопировать с 10 файлов
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Dotstal писал(а):
27.05.2019 14:28
ругается на какой нить либ So.45
Ну так сделайте чё-нить, и как-нить починится.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Dotstal писал(а):
27.05.2019 14:28
наверное правильнее будет, с debian 9
А я уж подумал, что роутер с какой-нибудь прошивкой, умеющей deb-файлы.
Dotstal писал(а):
27.05.2019 14:28
Предлагаете удалить libressl ?
Я пока ничего не предлагаю.
Я пытаюсь понять, что и как Вы делаете.
Пока неясно.
Добавлено (15:04):
Dotstal писал(а):
27.05.2019 14:28
это я пробовал, поэтому и решил написать тут
bash: ssl_crtd: команда не найдена.
Если Вы это дело собирали из исходников,
то вполне возможно, что оно лежит в другом месте.

Ищется оно здесь:
Dotstal писал(а):
27.05.2019 12:26
2019/05/27 11:45:21 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
а лежит где-нибудь в /usr/local, к примеру.
Либо оно вообще нигде не лежит, не собралось нормально, то есть.

Что говорит which ssl_crtd?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

удалил libssl, теперь совсем не запускается
май 27 15:12:07 server squid[19731]: /usr/sbin/squid: error while loading shared libraries: libssl.so.47: cannot open shared object
file: No such file or directory
Hephaestus писал:
27.05.2019 14:59
which ssl_crtd
ничего, поиск ssl_crtd тоже не давал результата.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Dotstal писал(а):
27.05.2019 15:17
удалил libssl, теперь совсем не запускается
Логично, если Вы с ним слинковались. Пересобирать надо.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

ща попробую, собирать и без libssl и без libecap?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Dotstal писал(а):
27.05.2019 15:31
ща попробую, собирать и без libssl и без libecap?
Ну Вам виднее, но я бы собирал максимально близко к родному пакету (то есть с системным libecap, пакет libecap3-dev), но с openssl (пакет libssl-dev).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

А я бы воспользовался deb-src
и собрал пакет с нужными изменениями.
https://wiki.debian.org/Packaging/SourcePackage
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

# apt-cache policy squid3
squid3:
Установлен: (отсутствует)
Кандидат: 3.5.23-5+deb9u1
Таблица версий:
3.5.23-5+deb9u1 500
А так 3.5.27 последняя (вроде бы), в тестовом 4.6, на оф сайте 4.7
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Hephaestus писал:
27.05.2019 15:51
А я бы воспользовался deb-src
и собрал пакет с нужными изменениями.
Это настолько само собой разумеется, что я даже не стал об этом писать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Собралося без проблем, установил там же
собралось:

Shell

squid-cgi-dbgsym_4.6-1_amd64.deb
squid-cgi_4.6-1_amd64.deb
squid-common_4.6-1_all.deb
squid-dbgsym_4.6-1_amd64.deb
squid-purge-dbgsym_4.6-1_amd64.deb
squid-purge_4.6-1_amd64.deb
squid3_4.6-1_all.deb
squid_4.6-1_amd64.deb
squidclient-dbgsym_4.6-1_amd64.deb
squidclient_4.6-1_amd64.deb
установил:

Shell

squid-common_4.6-1_all.deb
squid_4.6-1_amd64.deb
squid3_4.6-1_all.deb
squidclient_4.6-1_amd64.deb
2019/05/27 16:46:50 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (2) No such file or directory
bash: ssl_crtd: команда не найдена
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Может быть, файл просто не положился в пакет? Поищите его find'ом по каталогу, где собирали пакет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

нету, но он должен быть, я совсем не догоняю, мне кажется ошибка просто фундаментальная, но я ее не вижу.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Скорее всего, неверно сконфигурирован squid.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Dotstal писал(а):
27.05.2019 17:21
нету, но он должен быть, я совсем не догоняю, мне кажется ошибка просто фундаментальная, но я ее не вижу.
Расскажите, как собирали.
Я проверил.
С умолчальными настройками
./configure && make ssl_crtd не собирается.
Для компиляции ssl_crtd есть опция --enable-crtd, которая потребует также --with-openssl.
Если указать только --with-openssl - не соберётся.
То есть для успешной сборки ssl_crtd нужно: ./configure --enable-ssl-crtd --with-openssl.
Это если Вы используете configure && make && checkinstall.

Если же Вы используете deb-src, там эти опции по умолчанию также отсутствуют.
Указываются они, насколько я помню, в файле rules. А вот редактируется ли он вручную или каким-то другим способом - не знаю.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Сборка
apt-get install git fakeroot build-essential devscripts
apt-get build-dep squid3
apt-get install libssl-dev libgnutls28-dev
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
apt-get source squid3/testing
в debian/rules добавляю --enable-ssl \ --enable-ssl-crtd \ --with-openssl \
dpkg-buildpackage -us -uc -nc
apt-get install squid-langpack
установка:
apt install libdbi-perl squid-langpack
dpkg -i squid-common_4.6-1_all.deb squid_4.6-1_amd64.deb
dpkg -i squid3_4.6-1_all.deb squidclient_4.6-1_amd64.deb
в каталоге /etc/squid : openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem
теперь еще нужно: /usr/lib/squid/security_file_certgen -с -s /var/lib/ssl_db -M 4MB
--------
В место ssl_crtd в версии 4. используется security_file_certgen
http://www.squid-cache.org/Doc/config/sslcrtd_program/ тут прочел
Запустил -h
usage: security_file_certgen -hv -s directory -M size -b fs_block_size
-h Help
-v Version
-s directory Directory path of SSL storage database.
-M size Maximum size of SSL certificate disk storage.
-b fs_block_size File system block size in bytes. Need for processing
natural size of certificate on disk. Default value is
2048 bytes.
Ок думаю - не тут то было,
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB
ругается и все, сертификат не создает,
в ручную с параметром -с (в паре мест читал что он уже не нужен или что-то на английском)
/usr/lib/squid/security_file_certgen -с -s /var/lib/ssl_db -M 4MB
создал гад, но в конфиге без -с нужно, иначе ругается, теперь завелось.
Получается подобный параметр нужен при установке, для создания...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Hephaestus писал:
27.05.2019 18:58
Указываются они, насколько я помню, в файле rules. А вот редактируется ли он вручную или каким-то другим способом - не знаю.
Вручную. Вот эти флаги: https://salsa.debian.org/squid-team/squid/blob/master/debian/rules#L28-65
Кстати, в ветке master (но не в stretch) присутствует --with-gnutls. То есть sqid собирается с поддержкой TLS, только использует для этого другую библиотеку. Возможно, лучше использовать такой вариант, чтобы в будущем было проще перейти на дистрибутивный пакет (или сейчас просто пересобрать его без изменений). Хотя не могу наверняка сказать, полностью ли такая конфигурация функционально идентична --with-openssl.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Буду дальше тестировать, ютуб блочит! правда пару раз при заходе на гулмапс не пускало, потом нормально...
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Aliexpres через приложение тормозит ужасно, что даже соединение теряет, пользоваться не возможно. после отключения ipv6 попустило.
В лог сыпет

Shell

2019/05/30 08:26:59 kid1| SECURITY ALERT: Host header forgery detected on local=23.23.132.142:443 remote=192.168.1.50:45011 FD 12 flags=33 (local IP does not match any domain IP)
2019/05/30 08:26:59 kid1| SECURITY ALERT: on URL: service.supercell.net:443
Как я понял, это старая тема и решается общим dns на клиентах и сервере, но как это реализовать я не пойму
dnsmasq стоит
interface=br0
dhcp-range=192.168.1.2,192.168.1.50,12h
local=/homes/
domain=homes
expand-hosts
no-resolv
server=8.8.8.8
- на клиентах dns 192.168.1.1

Shell

auto br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports enp1s0 enp2s0 enp3s0 enp4s0
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Dotstal писал(а):
30.05.2019 10:28
Как я понял, это старая тема и решается общим dns на клиентах и сервере, но как это реализовать я не пойму
На клиентах адрес dns - это адрес сервера (шлюза). А точнее, тот адрес, который слушает dns-сервер.
При этом другие dns-адреса на клиентах лучше убрать.
Больше вроде бы ничего и не нужно.

Ещё могу припомнить, что разные программы могут перезаписывать resolv.conf. NetworkManager этим грешит при умолчальных настройках (в resolv.conf после него вообще ни одной записи нет, только комментарии), dhclient тоже перезаписывает resolv.conf, насколько я помню.
В общем, это требует настройки, иначе в какой-то момент в resolv.conf на клиенте может оказаться совсем не то, что нужно.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Hephaestus писал:
30.05.2019 13:52
Ещё могу припомнить, что разные программы могут перезаписывать resolv.conf. NetworkManager этим грешит при умолчальных настройках (в resolv.conf после него вообще ни одной записи нет, только комментарии), dhclient тоже перезаписывает resolv.conf, насколько я помню.
В общем, это требует настройки, иначе в какой-то момент в resolv.conf на клиенте может оказаться совсем не то, что нужно.
Они прописывают в resolv.conf то, что получают от dnsmasq. Поэтому кроме dnsmasq ничего настраивать не нужно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Bizdelnick писал:
30.05.2019 13:56
Они прописывают в resolv.conf то, что получают от dnsmasq. Поэтому кроме dnsmasq ничего настраивать не нужно.
Возможно. Спорить не буду.
Но поведение NM, прямо скажем, неочевидное. Мне в своё время эти пляски вокруг NM изрядно надоели - настолько, что снёс его к чертям. Кстати, никакого dnsmasq у меня тогда и близко не было.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

Hephaestus писал:
30.05.2019 15:18
Но поведение NM, прямо скажем, неочевидное.
Оно неочевидно не в том, что он изменяет resolv.conf (это, вроде бы, делают все DHCP-клиенты), а в том, что он, насколько я помню, вообще заменяет его симлинком на файл, лежащий в другом месте.
Hephaestus писал:
30.05.2019 15:18
Кстати, никакого dnsmasq у меня тогда и близко не было.
Ну какой-то DHCP-сервер ведь был на роутере? Даже если там стоковая прошивка, скорее всего это именно dnsmasq. А если и что-то другое, суть не меняется: если используется DHCP, то и настройки DNS, как правило, берутся оттуда.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Squid с поддержкой https

Сообщение Hephaestus »

Bizdelnick писал:
30.05.2019 15:27
Ну какой-то DHCP-сервер ведь был на роутере?
Не было. И роутера, как такового, не было.
Был ADSL-модем в режиме роутера (с выключенным dhcp). На компьютере был настроен статический адрес для связи с модемом.
Связь по ADSL работала из рук вон плохо - ежеминутные обрывы, да ещё DSL-сигнал пропадал на линии порой на несколько дней.

Поэтому ещё была пара разлоченных 4G-модемов - от Мегафона и от МТС.
И была ещё сим-карта от Yota.

Адреса dns-серверов для всех провайдеров были прописаны в resolv.conf. Без всяких dnsmasq и пр.
Это я уже потом узнал, что так лучше не делать. А тогда было именно так.

И вот чтобы рулить всем этим хозяйством, нужна была какая-то софтина, которая позволит настроить и сохранить несколько разных интернет-соединений. И активировать нужное в нужный момент.
NM как раз для этого и предназначен вроде бы. Ну, я его и взял.
А он мне тут фокусы с resolv.conf начал устраивать.
Была у него там какая-то настройка, которая влияла на это поведение, но сразу я её не нашёл, а потом уже было не нужно.
Кончилось всё это тем, что перешил я свои 4G-модемы в hilink и настроил для них правила udev.
NM стал не нужен, и был благополучно выпилен.
Добавлено (16:08):
Bizdelnick писал:
30.05.2019 15:27
Оно неочевидно не в том, что он изменяет resolv.conf
Ладно бы просто изменял. А то ведь удаляет существующее содержимое, а нового не добавляет - только комментарии.
Какого чёрта он лезет в файл, если ему нечего туда написать? Я этой логики так и не понял.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

Нашел вот это
Offtopic
Спасибо огромное!!! Оказалась что, это давнишняя проблема, странно что нигде про это не написано...
Помогло вот это:
iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -d 8.8.8.8/32 -o eno1 -p udp -m udp --dport 53 -j MASQUERADE
iptables -t nat -A PREROUTING -i br-squid -p udp --dport 53 -j DNAT --to 192.168.0.1:53
хотя наверно можно было проще сделать MASQUERADE внутреннего интерфейса...
Для меня не понятно это, а это вики squid, но мне не хватает знаний в ней разобратся.
https://wiki.squid-cache.org/KnowledgeBase/HostHeaderForgery
Так что прошу помощи, снова.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Squid с поддержкой https

Сообщение Bizdelnick »

When port 443 is intercepted the client SNI value used in a generated CONNECT request can have this check performed. If that SNI name does not resolve to the destination server IP(s) this message will be output and TLS halted.
А Вы, часом, не применяете каких-нибудь методов обхода блокировок, портящих SNI?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: Squid с поддержкой https

Сообщение Dotstal »

нет вроде бы, tor стоит, на него polipo смотрит
Spoiler
#!/bin/bash

export IPT="iptables"

# Внешний интерфейс
export WAN=enxa0cec81d0487
export WAN_IP=dhcp

# Локальная сеть
export LAN1=br0
export LAN1_IP_RANGE=192.168.1.0/24

# Очищаем правила
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Запрещаем все, что не разрешено
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -A INPUT -p udp --dport 53 -m string --hex-string "|0000ff0001|" --algo bm -j DROP

# Разрешаем localhost и локалку
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN1 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN1 -j ACCEPT

# Рзрешаем пинги
#$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Разрешаем все исходящие подключения сервера
$IPT -A OUTPUT -o $WAN -j ACCEPT
# Разрешаем все входящие подключения сервера
#$IPT -A INPUT -i $WAN -j ACCEPT

# разрешаем установленные подключения
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Отбрасываем неопознанные пакеты
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Отбрасываем нулевые пакеты
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# Закрываемся от syn-flood атак
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Блокируем доступ с указанных адресов
#$IPT -A INPUT -s 84.122.21.197 -j REJECT

# Пробрасываем внешний порт 23543 на локальный адрес и порт 3389
#$IPT -t nat -A PREROUTING -p tcp --dport 23543 -i ${WAN} -j DNAT --to 10.1.3.50:3389
#$IPT -A FORWARD -i $WAN -d 10.1.3.50 -p tcp --dport 3389 -j ACCEPT

# Разрешаем доступ из локалки наружу
$IPT -A FORWARD -i $LAN1 -o $WAN -j ACCEPT
# Закрываем доступ снаружи в локалку
$IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT

# Включаем NAT
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN1_IP_RANGE -j MASQUERADE

# открываем доступ к SSH
$IPT -A INPUT -i $WAN -p tcp --dport 38232 -j ACCEPT

#обход Squid
#$IPT-A PREROUTING -i $LAN1 -p tcp ! -d {ip сайта} -m multiport --dport 80 -j REDIRECT --to-port 3128

#Подключаем Squid
$IPT -t nat -A PREROUTING -p tcp -m tcp -s 192.168.1.0/24 --dport 443 -j REDIRECT --to-ports 3129
$IPT -t nat -A PREROUTING -p tcp -m tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128

# Открываем доступ к почтовому серверу
#$IPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

#Открываем доступ к web серверу
#$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

#Открываем доступ к DNS серверу
#$IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT

# Включаем логирование
#$IPT -N block_in
#$IPT -N block_out
#$IPT -N block_fw

#$IPT -A INPUT -j block_in
#$IPT -A OUTPUT -j block_out
#$IPT -A FORWARD -j block_fw

#$IPT -A block_in -j LOG --log-level info --log-prefix "--IN--BLOCK"
#$IPT -A block_in -j DROP
#$IPT -A block_out -j LOG --log-level info --log-prefix "--OUT--BLOCK"
#$IPT -A block_out -j DROP
#$IPT -A block_fw -j LOG --log-level info --log-prefix "--FW--BLOCK"
#$IPT -A block_fw -j DROP

# Сохраняем правила
/sbin/iptables-save > /etc/iptables.rules
Спасибо сказали:
Ответить