LINUX.ORG.RU

squid openssl.cnf with letsencrypt

 , , ,


0

2

Столкнулся с проблемой настройки squid с использованием ключей letsencrypt. Сам запуск проходит без проблем, предварительно собрав в один файл cert.pem и privkey.pem и скормив это squid он запускается и работает. Далее берём наш сертификат и даём его пользователю для импорта в браузер, чтобы сервер был доверенным и выползают ошибки типа:

2016/11/29 18:37:52 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 72: error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown (1/0)
Этот squid версии 3.4.8. Решил собрать 3.5.22 и сделать по инструкции. Проблема в том, что все нагугленные инструкции генерируют сами ключи и настраивают именно их, а что делать, если сами ключи у меня есть, мне их нужно как-то скормить openssl и настроить как надо, а я не могу сообразить, что сделать. На данный момент интересует вот это (из инструкции выше):
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
[ v3_ca ]
keyUsage = cRLSign, keyCertSign
как мне это добавить в существующие ключи или как заставить openssl (/etc/ssl/openssl.cnf) по умолчанию работать с моими готовыми ключами, которые лежат в /etc/letsencrypt/live/domain.tld/*.pem?

★★★

Последнее исправление: conformist (всего исправлений: 1)

Let's encrypt тебе не подпишет сертификат CA, который ты потом будешь использовать для man-in-the-middle в твоем squid'е. Так что это всё бессмысленные потуги.

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

Или я что-то упускаю из виду...

root@machine:~# openssl x509 -in cert.pem -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:fb:73:cd:7e:87:07:52:aa:a0:10:97:f1:83:25:f7:84:88
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
        Validity
            Not Before: Nov 28 09:18:00 2016 GMT
            Not After : Feb 26 09:18:00 2017 GMT
        Subject: CN=domain.tld
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
....
или сертификат у меня вроде есть. И вместе с privkey.pem они работают в squid, проблема лишь в том, что сертификат не доверенный и тут или принять или импортировать этот сертификат, но вылазят ошибки и тут я подозреваю, что прописаны не все атрибуты в сертификате, отсюда и вопрос. Т.е. я на основе имеющегося ключа пытаюсь настроить transparent proxy с ssl_bump. Но без подмены сертификатов.

Кусок конфига:

#HTTPS
https_port 172.26.0.1:3129 transparent ssl-bump  dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/letsenc.pem
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all


##ssl-bump
ssl_bump server-first all

##ssl-bump none all
sslcrtd_program /usr/lib/squid3/ssl_crtd -s /var/lib/ssl_db -M 4MB
sslcrtd_children 64

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

В том сертификате который выдает let's encrypt стоит basicConstraints = CA:FALSE, по этому его бесполезно добавлять как сертификат доверенного CA.

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

letsencrypt:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:0c:1a:48:28:d8:fc:0f:d0:3e:7f:51:35:90:20:59:4f:e0
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
…
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
…

А так должно быть:

Certificate:
…
        X509v3 extensions:
            X509v3 Key Usage: 
                Digital Signature, Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE
…
Squid этим ключем подписывает сгенеренные сертификаты, значит ключ должен быть CA

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

А, вот теперь, вижу. Спасибо. Значит такой номер не пройдёт, буду сам генерировать.

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