Сбой при установке сертификата zscaler root на Ubuntu 18.04 - что я делаю не так? - PullRequest
0 голосов
/ 25 февраля 2020

Извините, что этот пост настолько длинный, но я постарался сделать его максимально простым и линейным. В конце концов, моя проблема довольно проста. Первая часть описывает начальную ситуацию, а вторая часть - то, что я пробовал.

Моя хост-система Windows 10, где я использую Docker Desktop 2.1 .0.5.

Это мой Dockerfile:

FROM ubuntu:18.04

RUN apt-get update \
    && apt-get  install -y --no-install-recommends \
        ca-certificates gnupg2 \
        vim tmux htop zsh curl wget

Это моя команда сборки:

docker build --build-arg http_proxy=http://zscaler.proxy.int.xy:80 --build-arg https_proxy=http://zscaler.proxy.int.xy:80 -t ubuntu-tooling:latest .

И вот как я запускаю образ:

docker run -ti --env https_proxy=http://zscaler.proxy.int.xy:80 --env HTTPS_PROXY=http://zscaler.proxy.int.xy:80 --env http_proxy=http://zscaler.proxy.int.xy:80 --env HTTP_PROXY=http://zscaler.proxy.int.xy:80 -v c:/repos/:/repos/ ubuntu-tooling:latest

Теперь я в оболочке:

root@93eabb6b8a55:/# wget https://deb.nodesource.com/gpgkey/nodesource.gpg.key
--2020-02-25 15:03:46--  https://deb.nodesource.com/gpgkey/nodesource.gpg.key
Resolving zscaler.proxy.int.xy (zscaler.proxy.int.xy)... 185.46.212.88
Connecting to zscaler.proxy.int.xy (zscaler.proxy.int.xy)|185.46.212.88|:80... connected.
ERROR: cannot verify deb.nodesource.com's certificate, issued by 'CN=Zscaler Intermediate Root CA (zscaler.net) (t)\\ ,OU=Zscaler Inc.,O=Zscaler Inc.,ST=California,C=US':
  Unable to locally verify the issuer's authority.
To connect to deb.nodesource.com insecurely, use `--no-check-certificate'.

Игнорирование проблем с сертификатами не вариант для меня. Я хочу взять его за root и зарегистрировать сертификат прокси-сервера zscaler таким образом, чтобы все проблемы, связанные с сертификатом, vani sh.

У меня был файл zscale- root -ca.pem:

root@93eabb6b8a55:/# openssl x509 -in repos/zscale-root-ca.pem -text                                                 
Certificate:                                                                                                         
    Data:                                                                                                            
        Version: 3 (0x2)                                                                                             
        Serial Number:                                                                                               
            db:be:98:2d:89:b7:7b:93                                                                                  
        Signature Algorithm: sha256WithRSAEncryption                                                                 
        Issuer: C = US, ST = California, L = San Jose, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Root CA, ema
ilAddress = support@zscaler.com                                                                                      
        Validity                                                                                                     
            Not Before: Dec 19 00:27:55 2014 GMT                                                                     
            Not After : May  6 00:27:55 2042 GMT                                                                     
        Subject: C = US, ST = California, L = San Jose, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Root CA, em
ailAddress = support@zscaler.com                                                                                     
        Subject Public Key Info:                                                                                     
            Public Key Algorithm: rsaEncryption                                                                      
                RSA Public-Key: (2048 bit)                                                                           
                Modulus:                                                                                             
                    00:...:b9                                                                                            
                Exponent: 65537 (0x10001)                                                                            
        X509v3 extensions:                                                                                           
            X509v3 Subject Key Identifier:                                                                           
                B9:...:DF                                          
            X509v3 Authority Key Identifier:                                                                         
                keyid:B9:...:DF                                    
                DirName:/C=US/ST=California/L=San Jose/O=Zscaler Inc./OU=Zscaler Inc./CN=Zscaler Root CA/emailAddress
=support@zscaler.com                                                                                                 
                serial:DB:...:93                                                                       

            X509v3 Basic Constraints:                                                                                
                CA:TRUE                                                                                              
    Signature Algorithm: sha256WithRSAEncryption                                                                     
         30:...:5d                                                                                                 
-----BEGIN CERTIFICATE-----                                                                                          
MI...xd                                                                 
-----END CERTIFICATE-----   

Теперь я конвертирую его в crt следующим образом:

openssl x509 -outform der -in zscale-root-ca.pem -out zscale-root-ca.crt

Затем я следую инструкциям https://askubuntu.com/a/377570/248437:

# cp zscale-root-ca.crt /usr/local/share/ca-certificates/

# update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping zscale-root-ca.pem,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

# ll /etc/ssl/certs/ | tail -n3
lrwxrwxrwx 1 root root     66 Feb 25 14:52 thawte_Primary_Root_CA_-_G2.pem -> /usr/share/ca-certificates/mozilla/thawte_Primary_Root_CA_-_G2.crt
lrwxrwxrwx 1 root root     66 Feb 25 14:52 thawte_Primary_Root_CA_-_G3.pem -> /usr/share/ca-certificates/mozilla/thawte_Primary_Root_CA_-_G3.crt
lrwxrwxrwx 1 root root     51 Feb 25 15:17 zscale-root-ca.pem -> /usr/local/share/ca-certificates/zscale-root-ca.crt*

Но Я все еще получаю жалобы на сертификаты:

root@2aa3273a08bc:/repos# wget https://deb.nodesource.com/gpgkey/nodesource.gpg.key
--2020-02-25 15:19:08--  https://deb.nodesource.com/gpgkey/nodesource.gpg.key
Resolving zscaler.proxy.int.xy (zscaler.proxy.int.xy)... 185.46.212.88
Connecting to zscaler.proxy.int.xy (zscaler.proxy.int.xy)|185.46.212.88|:80... connected.
ERROR: cannot verify deb.nodesource.com's certificate, issued by 'CN=Zscaler Intermediate Root CA (zscaler.net) (t)\\ ,OU=Zscaler Inc.,O=Zscaler Inc.,ST=California,C=US':
  Unable to locally verify the issuer's authority.
To connect to deb.nodesource.com insecurely, use `--no-check-certificate'.

Проверка с помощью wget - это на самом деле самый простой способ проверить это. Первоначально я просто хотел установить nodejs 12, но я не мог свернуть необходимые файлы оболочки, чтобы направить их в bash. Конечно, я сначала попытался добавить -k, но потом столкнулся с проблемами с репозиториями. Поэтому моя цель состоит в том, чтобы лучше понять основную проблему и решить ее на самом деле, вместо того, чтобы просто пытаться исправить мой путь.

...