LINUX.ORG.RU
ФорумAdmin

Squid 4.x CentOS sslcrtd_program

 


0

1

Добрый день всем! Опишу суть проблемы: Настроена и работает система фильтрации на squid 3.5 с подменой сертификата https сайтам, из-за чего FireFox не пускает на некоторые сайты (недоверенное соединение). Некоторые сайты работают криво-косо, даже если соглашаемся на то, что мы понимаем риск и хотим продолжить, например: когда часть компонентов запрашиваемой страницы грузятся с других ресурсов, которые не были внесены в «игнор-лист безопасности». Попытка обновить сквид до последней, где всё должно нормально работать и без подмены сертификата заканчивается на отсутствии sslcrtd_program по нужному пути (/usr/local/squid/libexec/security_file_certgen или /usr/lib64/squid/ssl_crtd). Где её искать? Из-за этого SQUID падает в ошибку... Пробовал и сам компилировать сквид по инструкциям, и устанавливать из официального репозитория 4.1.5 - не ставится этот компонент и всё...


Не надо использовать 4.1! Оно кривое. Либо оставаться на 3.5, либо использовать 4.8

Все замечательно собирается из исходников.

--enable-ssl и --enable-ssl-crtd нужно не забыть.

vel ★★★★★
()
Ответ на: комментарий от vel

Собирал так:

yum clean all yum upgrade

yum remove squid yum -y groupinstall development tools yum -y install openssl-devel chmod +x configure cd /sq/ sudo ./configure --enable-ssl --enable-ssl-crtd --with-openssl && make all && make install systemctl start squid systemctl stop squid systemctl status squid.service

И в итоге ничего. Собирал на сквиде 4.8

zz1666
() автор топика
Ответ на: комментарий от zz1666

гм. Прикольно.

sudo ./configure --enable-ssl --enable-ssl-crtd --with-openssl && make all && make install

sudo тебе только на «make install» требуется.

Ты уверен, что при сборке небыло ошибок?

можно сделать «make install DESTDIR=/tmp/sq48» и посмотреть что появилось в /tmp/sq48. Если там нет security_file_certgen значит он не собрался из-за ошибок.

Вообще, если есть проблемы, то systemd тебе не друг.

запусти «squid -k parse» и посмотри внимательно на его вывод

vel ★★★★★
()
Ответ на: комментарий от vel

Руки дошли собрать только сейчас. security_file_certgen в /tmp/sq48/usr/local/squid/libexec присутствует. Что дальше пробовать?))

zz1666
() автор топика
Ответ на: комментарий от zz1666

Теперь попробуй догадаться почему он есть в /tmp/sq48/usr/local/squid/libexec, но при этом отсутствует в /usr/local/squid/libexec

vel ★★★★★
()
Ответ на: комментарий от vel

В общем после очередной кучи форумов и прочего выяснилось, что надо доустановить squid-helpers, только и этот пакет, после установки, не может сгенерировать ssl_crtd

zz1666
() автор топика
Ответ на: комментарий от zz1666

гм. Что-то странное ты читаешь. Какие squid-helpers ? Это упоротые мантейнеры разбивают одну программу на кучу пакетов.

Ты из исходников собирал, а там было все, что нужно.

Ты сделал «make install DESTDIR=/tmp/sq48» и нашел там нужный бинарик.

Но когда ты делал «sudo ./configure --enable-ssl --enable-ssl-crtd --with-openssl && make all && make install systemctl start squid systemctl stop squid systemctl status squid.service» ты видимо не стал смотреть на результат.

sudo в данном случае применялось только для configure, что бесполезно.

А вот «make install» которое реально требует sudo, выполнилось от обычной учетки и результат оказался не такой как ты предпологал, хотя с другой стороны оно спасло твою систему от бездумных действий :)

читай man от security_file_certgen или ssl_crtd ! Там все сказано!

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Я совсем ни разу не линуксоид, поэтому туплю и торможу:

2019/09/27 09:34:32| WARNING: /usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/var/cache/squid/ssl_db -M 4MB #Hlpr1 exited 2019/09/27 09:34:32| Too few /usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/var/cache/squid/ssl_db -M 4MB processes are running (need 1/32) 2019/09/27 09:34:32| Closing HTTP(S) port 192.168.16.1:3128 2019/09/27 09:34:32| Closing HTTP(S) port 192.168.16.1:3129 2019/09/27 09:34:32| Closing HTTP(S) port 192.168.16.1:3130 2019/09/27 09:34:32| storeDirWriteCleanLogs: Starting... 2019/09/27 09:34:32| Finished. Wrote 0 entries. 2019/09/27 09:34:32| Took 0.00 seconds ( 0.00 entries/sec). 2019/09/27 09:34:32| FATAL: The /usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/var/cache/squid/ssl_db -M 4MB helpers are crashing too rapidly, need help!

Что делать с этим? Если выполнить команду от имени пользователя- создаётся папка с несколькими файлами, но лучше не становится. HTTP работает, если закомментить в squid.conf https_port

zz1666
() автор топика
Ответ на: комментарий от zz1666

Eсли выполнить команду от имени пользователя- создаётся папка с несколькими файлами, но лучше не становится.

а сменить владельца на каталоге не пробовал?

владелец и группа должна совпадать с cache_effective_user и cache_effective_group из squid.conf

vel ★★★★★
()
Ответ на: комментарий от vel

таких параметров вообще нет в squid.conf, группа и владелец меняются на каталог /usr/local/squid/var/cache/squid/ssl_db ? Было root [0], стало squid [23]

zz1666
() автор топика
Ответ на: комментарий от zz1666

В общем откатился назад, проделал всё то, что вычитал за последние 2 недели и оно вроде как заработало... Падала ccrt скорей всего из-за конфигурации сквида неверной: не был убран параметр -c, также на всякий случай в папке с кешем поменял права на squid

Как итог: сейчас фильтрация проходит без подмены сертификата, сертификат меняется только в случае, если сайт не в белом списке и необходимо отобразить страницу блокировки. Но при попытке открыть https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=TeX-AM... либо fonts.google.com сквид кидает на страницу блокировки, хотя сайт в белом списке...

zz1666
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.