CentOS 5.7 での Curl SSL 検証の問題 (バイパスが機能しない)

CentOS 5.7 での Curl SSL 検証の問題 (バイパスが機能しない)

CentOS 5.7サーバーでSSL証明書をインストールしようとしていますGitHub スクリプト

最初に実行すると、 が得られcurl error 60、 を設定するとinsecure~/.curlrcがまだ得られますcurl error 35

ca-bundle.crtからの更新も試みましたhttp://curl.haxx.se/ca/cacert.pemが、何も解決せず、同じエラーが続きます。

また、openSSL_0.9.8e のアップデートがあるかどうかも調べましたが、アップデートはありませんでした (fedora アーカイブには 1.0 があることがわかりましたが、Heartbleed バグの影響を受けています)。

curl https 検証を解決しないとスクリプトは機能しないようです。

カスタム サービスが上位バージョンでは動作せず、開発が現在保留中であるため、Centos 6 以上にアップグレードまたは移行することはできません。

答え1

CentOS 5 では TLSv1.1 または TLSv1.2 はサポートされません

おそらく、ピアはプロトコルバージョンTLSv1を無効にしています。CentOS/RHEL 5(2017年3月31日にサポート終了)のopensslとcurlではTLSv1.1またはTLSv1.2は動作しないため、持っているopenssl と curl をアップグレードします。ただし、CentOS/RHEL 5 ではこれを正しい方法で実行することはできません。

時代遅れのオペレーティングシステム

使用しているオペレーティング システムは、CentOS 5.8 がリリースされた 2014 年 4 月以降は古くなっています。どうしても CentOS 6 にアップグレードできない場合は、Extended Lifecycle Support 付きの RHEL 5 にクロスアップグレードする必要があります。ただし、TLS バージョンに関連する問題の場合は、これでは解決しません。

答え2

臭い回避策としては、/etc/letsencrypt へのバインド マウントを使用して、vm を使用して letsencrypt 証明書を取得することです。その後、証明書の更新が必要になるたびに vm を実行するだけで、証明書を生成できるようになります。

おそらく、異なる OS が入った chroot jail を使用することもできますが、うまく機能しない可能性があります。

以下の設定は「通常の」OS とは別のものではないため、これを行うと問題が発生する可能性があることに留意してください。自己責任で使用してください。保証は提供されません。

mkdir /mnt/chroot
cd /mnt/chroot
rpm --rebuilddb --root=/mnt/chroot
wget https://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-9.el6.12.3.x86_64.rpm
rpm -i --root=/mnt/chroot --nodeps centos-release-6-9.el6.12.3.x86_64.rpm
yum --installroot=/mnt/chroot install -y rpm-build yum
chroot /mnt/chroot /bin/bash -l
yum install curl

関連情報