Squid! ФАТАЛЬНО: Не настроен действительный сертификат подписи для HTTPS_port

Вопрос или проблема

Я уже неделю борюсь с Squid 4.13 на Ubuntu 20.04.

Моя последняя (и, надеюсь, последняя) проблема заключается в следующем:

ФАТАЛЬНО: Нет действительного сертификата подписи, настроенного для HTTPS_port

Вот строка, в которой это указано:

https_port 0.0.0.0:3128 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/squid/etc/rootCA.crt key=/usr/local/squid/etc/rootCA.key options=SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=/usr/local/squid/etc/dhparam.pem

Я искал информацию везде (по крайней мере, так кажется), и даже в вики Squid (https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit) странно? потому что в начале они показывают, как делать .pem файлы, но в конце документа, где они показывают пример строки, говорят о .crt и .key и совершенно другом .pem файле..

Единственное, что я изменил, это увеличил число бит до 4096

Так что опять я в недоумении!
Кто-нибудь знает, о чем они говорят?
Каков правильный формат, как это сделать и … Ах! Помогите?

Правка:
Вот “стандартная” конфигурация, которую я использую:

acl localnet src 0.0.0.1-0.255.255.255  # RFC 1122 "эта" сеть (LAN)
acl localnet src 10.0.0.0/8             # RFC 1918 локальная частная сеть (LAN)
acl localnet src 100.64.0.0/10          # RFC 6598 общая адресное пространство (CGN)
acl localnet src 169.254.0.0/16         # RFC 3927 локальные машины (подключенные напрямую)
acl localnet src 172.16.0.0/12          # RFC 1918 локальная частная сеть (LAN)
acl localnet src 192.168.0.0/16         # RFC 1918 локальная частная сеть (LAN)
acl localnet src fc00::/7               # RFC 4193 диапазон локальной частной сети
acl localnet src fe80::/10              # RFC 4291 локальные машины (подключенные напрямую)
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  # незарегистрированные порты
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         # многоязычный http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
include /etc/squid/conf.d/*
http_access allow localhost
http_access allow all

include /etc/squid/conf.d/*
https_port 0.0.0.0:3128 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB tls-cert=/usr/local/squid/etc/Root-ca-cert.pem  cert=/usr/local/squid/etc/rootCA.crt key=/usr/local/squid/etc/rootCA.key options=SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=/usr/local/squid/etc/dhparam.pem

Включенная конфигурация из /etc/squid/conf.d – это файл с именем debian.conf:

#
# Настройки конфигурации Squid для Debian
#

# Логи управляются logrotate на Debian
logfile_rotate 0

# Для дополнительной безопасности пакеты Debian допускают использование прокси
# только с localhost на новых установках
#
#http_access allow localnet

как запрашивалось:

4 авг 12:25:47 socks systemd[1]: Запуск Squid Web Proxy Server...
4 авг 12:25:52 socks squid[9474]: 2021/08/04 12:25:52| ФАТАЛЬНО: Нет действительного сертификата подписи, настроенного для HTTPS_port 0.0.0.0:3128
4 авг 12:25:52 socks squid: ФАТАЛЬНО: Нет действительного сертификата подписи, настроенного для HTTPS_port 0.0.0.0:3128
4 авг 12:25:52 socks squid[9474]: 2021/08/04 12:25:52| Squid Cache (Версия 4.13): Завершено с ошибкой.
4 авг 12:25:52 socks squid[9474]: Использование процессора: 5.132 секунд = 5.128 пользовательских + 0.004 системных
4 авг 12:25:52 socks squid[9474]: Максимальный размер резидента: 62224 КБ
4 авг 12:25:52 socks squid[9474]: Ошибки страниц с физическим вводом-выводом: 0
4 авг 12:25:52 socks systemd[1]: squid.service: управление процессом завершилось, код=завершено, статус=1/НЕУСПЕХ
4 авг 12:25:52 socks systemd[1]: squid.service: Провалилось с результатом 'кода выхода'.
4 авг 12:25:52 socks systemd[1]: Не удалось запустить Squid Web Proxy Server.

Частью решения была проблема ID 10 T, похоже, сертификат был неисправен, хотя тесты показали, что с ним все в порядке, но при создании нового сертификата все заработало.

Позже возникшая проблема с циклом была выявлена здесь: https://unix.stackexchange.com/questions/664236/squid-proxy-is-eating-up-its-own-resources-and-other-issues

и новый вопрос был опубликован здесь: https://unix.stackexchange.com/questions/664669/squid-caught-in-loop-cert-error

Ответ или решение

Решение проблемы: Squid! FATAL: No valid signing certificate configured for HTTPS_port

При использовании Squid 4.13 на операционной системе Ubuntu 20.04 может возникнуть ошибка:

FATAL: No valid signing certificate configured for HTTPS_port

Эта ошибка связана с неправильной настройкой сертификатов для HTTPS-порта. Давайте подробно рассмотрим, как исправить эту проблему.

1. Проверка конфигурации

Начнем с анализа строки конфигурации, в которой возникает ошибка:

https_port 0.0.0.0:3128 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/squid/etc/rootCA.crt key=/usr/local/squid/etc/rootCA.key options=SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=/usr/local/squid/etc/dhparam.pem

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

2. Создание нового корневого сертификата

Ваша ошибка может возникнуть из-за поврежденного или неправильно сгенерированного сертификата. Следуйте этим шагам для создания нового сертификата:

  1. Генерация нового закрытого ключа:

    openssl genrsa -out /usr/local/squid/etc/rootCA.key 4096
  2. Создание нового самоподписанного сертификата:

    openssl req -new -x509 -days 365 -key /usr/local/squid/etc/rootCA.key -out /usr/local/squid/etc/rootCA.crt

При выполнении этой команды нужно будет заполнить информацию о сертификате (например, страна, штат, организация и т. д.).

  1. Генерация параметров DH:
    openssl dhparam -out /usr/local/squid/etc/dhparam.pem 2048

3. Проверка прав доступа

Убедитесь, что пользователь, от имени которого работает Squid, имеет доступ к сертификату и закрытому ключу:

chown proxy:proxy /usr/local/squid/etc/rootCA.crt
chown proxy:proxy /usr/local/squid/etc/rootCA.key
chmod 400 /usr/local/squid/etc/rootCA.key

4. Перезапуск службы Squid

После изменения конфигурации и генерации новых сертификатов необходимо перезапустить Squid:

systemctl restart squid

5. Дополнительные проверки

Если ошибка все еще возникает, можно выполнить дополнительные проверки:

  • Проверьте наличие синтаксических ошибок в конфигурационном файле Squid:

    squid -k parse
  • Убедитесь, что все необходимые компоненты SSL установлены:

    apt install openssl

Заключение

Соблюдение вышеуказанных шагов должно помочь вам устранить ошибку "No valid signing certificate configured for HTTPS_port". Если проблема по-прежнему остается нерешенной, возможно, стоит обратиться к документации на официальном сайте Squid или форумам поддержки. Удачи в настройке вашего прокси-сервера!

Оцените материал
Добавить комментарий

Капча загружается...