Решено - Сборка squid для ubuntu 16.04 (Как правильнее собрать squid для ubuntu 16.04)

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

Модератор: SLEDopit

Ответить
Institut
Сообщения: 281
ОС: mint

Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Добрый день.
Возникла необходимость установить squid с поддержкой ssl и без подмены сертификатов.
На роутере испльзуется ubuntu 16.04 - x32 со всеми обновлениями.
При установке через apt Squid идет без поддержки SSl и старой версии 3.5.12 от 28 Nov 2015.
1 - можно собрать старую версию 3.5.12. по мануалу.
2 - можно собирать последную версию 3.5.27 по мануалу.
Но тогда придется отдельно собирать libressl и libecap, также накладывать патч на старую версию 3.5.12.
А также не совсем понятно, нужно -ли накладывать патч для bio.cc для корректной работы с Libressl.
Вопрос - какую версию squid предпочтительнее собрать - старую 3.5.12 по 1 пункту, или новую 3.5.27 по пункту 2?
Готов скачать собранную версию кальмара под 16.04х32 с благодарностью.
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение elve »

Собирай все в корень /usr/local, чтоб не поломать ничего и собирай свежую версию ).
Спасибо сказали:
Institut
Сообщения: 281
ОС: mint

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Собираю можно да и /usr/local и в /tmp
Но как собирать 3.5.27 версию кальмара.
Есть два варианта
1 - когда скачивается исходник из реп, потом, полученные ранее исходники обновляются до последней версии. При первом варианте dpkg-buildpackage -d вылетают ошибки

Код: Выделить всё

 dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка squid3 с использованием существующего ./squid3_3.5.27.orig.tar.gz
patching file src/icmp/Icmp6.cc
Reversed (or previously applied) patch detected!  Skipping patch.
3 out of 3 hunks ignored
dpkg-source: инфо: заплата содержит неточность (fuzz), что запрещено, или имеет некорректный формат
dpkg-source: инфо: если заплата «CVE-2016-3947.patch» корректно накладывается quilt, используйте «quilt refresh» для её обновления
dpkg-source: ошибка: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -E -b -B .pc/CVE-2016-3947.patch/ --reject-file=- < squid3-3.5.27.orig.JxfEBv/debian/patches/CVE-2016-3947.patch возвратил код ошибки 1

Или надо собирать через dpkg-buildpackage -us -uc -nc


2 - вариант - сборка чистого кальмара из исходников, не скачивая исходники с реп.

Вот и непонятно, каким методом пользоваться. и патч для bio.cc у меня не устанавливается (не знаю, нужен для нового кальмара или нет).

Код: Выделить всё

patch -p0 -i bug-4330-put_cipher_by_char-t1.patch
patching file src/ssl/bio.cc
Hunk #1 FAILED at 1099.
1 out of 1 hunk FAILED -- saving rejects to file src/ssl/bio.cc.rej


ЗЫ Пока собрал только libressl_2.6.3-1_i386.deb libecap3-dev_1.0.1-3ubuntu3_i386.deb libecap3_1.0.1-3ubuntu3_i386.deb

Так как мануалы 2015 года, наверное патч для bio.cc смысла применять нету.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Bizdelnick »

Institut писал(а):
08.12.2017 14:28
При первом варианте dpkg-buildpackage -d вылетают ошибки

Вы, видимо, запустили сборку второй раз в том же каталоге. Используйте опцию --pre-clean (я вообще предпочитаю собирать debuild, а лучше pdebuild).

Institut писал(а):
08.12.2017 14:28
Вот и непонятно, каким методом пользоваться. и патч для bio.cc у меня не устанавливается (не знаю, нужен для нового кальмара или нет).

Патч в любом случае не нужно накладывать вручную.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Institut
Сообщения: 281
ОС: mint

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Нет запустил 1 раз.
Так что собирать - патченный пакет из реп или чистую версию 3.5.27?

Пробую чистую версию 3.5.27 - более новой не нашел. )

Код: Выделить всё

./configure --build=x86-linux-gnu \
--prefix=/usr \
--includedir=${prefix}/include \
--mandir=${prefix}/share/man \
--infodir=${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=${prefix}/lib/squid \
--srcdir=. \
--disable-maintainer-mode \
--disable-dependency-tracking \
--disable-silent-rules \
--datadir=/usr/share/squid \
--sysconfdir=/etc/squid \
--mandir=/usr/share/man \
--enable-inline \
--disable-arch-native \
--enable-async-io=8 \
--enable-storeio=ufs,aufs,diskd,rock \
--enable-removal-policies=lru,heap \
--enable-delay-pools \
--enable-cache-digests \
--enable-icap-client \
--enable-follow-x-forwarded-for \
--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB \
--enable-auth-digest=file,LDAP \
--enable-auth-negotiate=kerberos,wrapper \
--enable-auth-ntlm=fake,smb_lm \
--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group \
--enable-url-rewrite-helpers=fake \
--enable-eui \
--enable-esi \
--enable-icmp \
--enable-zph-qos \
--enable-ecap \
--disable-translation \
--with-swapdir=/var/spool/squid \
--with-logdir=/var/log/squid \
--with-pidfile=/var/run/squid.pid \
--with-filedescriptors=65536 \
--with-large-files \
--with-default-user=proxy \
--enable-ssl \
--enable-ssl-crtd \
--with-openssl \
--enable-linux-netfilter \
'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' \
'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' \
'CPPFLAGS=-D_FORTIFY_SOURCE=2' \
'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'


Наверное, прежде чем ставить на роутер, проверю в виртулке.
Спасибо сказали:
Institut
Сообщения: 281
ОС: mint

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Вроде как собрался, но при запуске, если в конфиге присутствует строка про https протокол
https_port 192.168.0.1:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
выдает ошибку - неопознана опции NO_SSLv3:NO_SSLv2 (Unknown SSL option 'NO_SSLv3')
Как проверить, что https нормально отрабатывает?
И некоторый страницы по https с первого раза не отображаются...
Хотя в конфиге нету опции кеширования.
squid -k parse

Код: Выделить всё

2017/12/08 16:00:46| Startup: Initializing Authentication Schemes ...
2017/12/08 16:00:46| Startup: Initialized Authentication Scheme 'basic'
2017/12/08 16:00:46| Startup: Initialized Authentication Scheme 'digest'
2017/12/08 16:00:46| Startup: Initialized Authentication Scheme 'negotiate'
2017/12/08 16:00:46| Startup: Initialized Authentication Scheme 'ntlm'
2017/12/08 16:00:46| Startup: Initialized Authentication.
2017/12/08 16:00:46| Processing Configuration File: /etc/squid/squid.conf (depth 0)
2017/12/08 16:00:46| Processing: acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
2017/12/08 16:00:46| Processing: acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
2017/12/08 16:00:46| Processing: acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
2017/12/08 16:00:46| Processing: acl localnet src fc00::/7       # RFC 4193 local private network range
2017/12/08 16:00:46| Processing: acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
2017/12/08 16:00:46| Processing: acl SSL_ports port 443
2017/12/08 16:00:46| Processing: acl SSL_ports port 490
2017/12/08 16:00:46| Processing: acl SSL_ports port 2083
2017/12/08 16:00:46| Processing: acl SSL_ports port 5000
2017/12/08 16:00:46| Processing: acl SSL_ports port 8443
2017/12/08 16:00:46| Processing: acl Safe_ports port 80          # http
2017/12/08 16:00:46| Processing: acl Safe_ports port 21          # ftp
2017/12/08 16:00:46| Processing: acl Safe_ports port 443         # https
2017/12/08 16:00:46| Processing: acl Safe_ports port 70          # gopher
2017/12/08 16:00:46| Processing: acl Safe_ports port 210         # wais
2017/12/08 16:00:46| Processing: acl Safe_ports port 1025-65535  # unregistered ports
2017/12/08 16:00:46| Processing: acl Safe_ports port 280         # http-mgmt
2017/12/08 16:00:46| Processing: acl Safe_ports port 488         # gss-http
2017/12/08 16:00:46| Processing: acl Safe_ports port 591         # filemaker
2017/12/08 16:00:46| Processing: acl Safe_ports port 777         # multiling http
2017/12/08 16:00:46| Processing: acl to src 192.168.0.10/32 192.168.0.20/32
2017/12/08 16:00:46| Processing: acl CONNECT method CONNECT
2017/12/08 16:00:46| Processing: dns_nameservers 192.168.0.1
2017/12/08 16:00:46| Processing: http_access deny !Safe_ports
2017/12/08 16:00:46| Processing: http_access deny CONNECT !SSL_ports
2017/12/08 16:00:46| Processing: http_access allow localhost manager
2017/12/08 16:00:46| Processing: http_access deny manager
2017/12/08 16:00:46| Processing: http_access allow localnet
2017/12/08 16:00:46| Processing: http_access allow localhost
2017/12/08 16:00:46| Processing: http_access deny all
2017/12/08 16:00:46| Processing: http_port 192.168.0.1:3128 intercept options=NO_SSLv3:NO_SSLv2
2017/12/08 16:00:46| Starting Authentication on port 192.168.0.1:3128
2017/12/08 16:00:46| Disabling Authentication on port 192.168.0.1:3128 (interception enabled)
2017/12/08 16:00:46| Processing: http_port 192.168.0.1:3130 options=NO_SSLv3:NO_SSLv2
2017/12/08 16:00:46| Processing: https_port 192.168.0.1:3129 intercept ssl-bump options=ALL connection-auth=off cert=/etc/squid/squidCA.pem
2017/12/08 16:00:46| Starting Authentication on port 192.168.0.1:3129
2017/12/08 16:00:46| Disabling Authentication on port 192.168.0.1:3129 (interception enabled)
2017/12/08 16:00:46| Processing: always_direct allow all
2017/12/08 16:00:46| Processing: sslproxy_cert_error allow all
2017/12/08 16:00:46| Processing: sslproxy_flags DONT_VERIFY_PEER
2017/12/08 16:00:46| Processing: acl blocked ssl::server_name  "/etc/squid/blocked_https.txt"
2017/12/08 16:00:46| Processing: acl step1 at_step SslBump1
2017/12/08 16:00:46| Processing: ssl_bump peek step1
2017/12/08 16:00:46| Processing: ssl_bump terminate blocked
2017/12/08 16:00:46| Processing: ssl_bump splice all
2017/12/08 16:00:46| Processing: sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
2017/12/08 16:00:46| Processing: coredump_dir /var/spool/squid
2017/12/08 16:00:46| Processing: refresh_pattern ^ftp:           1440    20%     10080
2017/12/08 16:00:46| Processing: refresh_pattern ^gopher:        1440    0%      1440
2017/12/08 16:00:46| Processing: refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
2017/12/08 16:00:46| Processing: refresh_pattern .               0       20%     4320
2017/12/08 16:00:46| Processing: shutdown_lifetime 10 second
2017/12/08 16:00:46| Processing: logfile_rotate 4
2017/12/08 16:00:46| Initializing https proxy context
2017/12/08 16:00:46| Initializing https_port 192.168.0.1:3129 SSL context
2017/12/08 16:00:46| Using certificate in /etc/squid/squidCA.pem


squid -v
Squid Cache: Version 3.5.27
Service Name: squid

This binary uses LibreSSL 2.6.3. For legal restrictions on distribution see https://www.openssl.org/source/license.html

Код: Выделить всё

configure options:  '--build=x86-linux-gnu' '--prefix=/usr' '--includedir=/include' '--mandir=/share/man' '--infodir=/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/lib/squid' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-ssl' '--enable-ssl-crtd' '--with-openssl' '--enable-linux-netfilter' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security' 'build_alias=x86-linux-gnu'


ria - не отображается сайт нормально. Иногда висит - выполнение TLS рукопожатия. В IE 11 немного лучше, чем в FF.
Вложения
badsquid.png
Спасибо сказали:
Institut
Сообщения: 281
ОС: mint

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Ерунда получилась, вроде работает, но картинки не всегда подгружаются.
Есть решение данной проблемы?
Проблема решена - неправильно собрал кальмара. Бывает.
Спасибо сказали:
Dmit84
Сообщения: 1

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Dmit84 »

Institut
как удалось заставить работать сквид http и https ?
Спасибо сказали:
Institut
Сообщения: 281
ОС: mint

Re: Решено - Сборка squid для ubuntu 16.04

Сообщение Institut »

Dmit84
Вот мой конфиг сквида, который работал для собранного пакета

Код: Выделить всё

acl localnet src 192.168.0.0/16 # 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 127.0.0.1
#dns_nameservers 192.168.9.1
#dns_nameservers 77.88.8.7 77.88.8.3
dns_v4_first on

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

http_port 192.168.9.1:3128 intercept options=NO_SSLv3:NO_SSLv2

http_port 192.168.9.1:3130 options=NO_SSLv3:NO_SSLv2

https_port 192.168.9.1:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/myCA.pem

always_direct allow all
#sslproxy_cert_error allow all
#sslproxy_flags DONT_VERIFY_PEER

ssl_bump splice localnet
ssl_bump peek all
#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

shutdown_lifetime 2 second
logfile_rotate 4
memory_pools on
memory_pools_limit 50 MB
memory_replacement_policy lru
Спасибо сказали:
Ответить