[ubuntu-jp:6360] Re: Ubuntu 20.04でのOpenSSLのバージョン
Fumihito YOSHIDA
hito @ ubuntu.com
2020年 10月 18日 (日) 11:08:33 UTC
> Ubuntu 20.04 ServerでのOpenSSLのバージョンは1.1.1fですが、これには
>
> curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
>
> というエラーが発生する問題があります。
> これWeb APIなどを使う際に引っかかるので、そういうのを使ってる場合は結構クリティカルです。
これはそもそもの問題の捉え方を変えるのが良さそうで、次のように考えていく
必要がありそうです。
・そもそもこの挙動は、「短い鍵長を用いた接続で警告/Error扱いされる」ように
なったというものであって、互換性に影響はあるが必ずしもバグではない。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907788
・リスクを考慮して適切な設定で回避する(+そもそもはサービス提供側が適切に
管理して、この問題をクライアント側に発生させないようにする)べきもので、
問題を正しく解決しないと、HTTPSである意味を壊してしまう。
・その環境のライフサイクルによっては将来、真剣に危殆化する可能性がある。
で、独自ビルドで回避できてしまった部分は、「問題を回避した」というよりは
「問題を再現できなくしてしまった」属性のもので、本来の意図と合致していない
可能性がありそうな気がします。
で、対策としてどうするか、を考えると、次のようなものになりそうです。
(D) 適切な設定を行って回避する
具体的には以下あたりでしょうか。
D-1) その接続にHTTPSが必須かどうか考える。必須であれば、その
サービスは(少なくともアップデートされて適切な暗号系で処理される
ようになるまで)死んだものと捉え、代替サービスを探す。
D-2) その特定の接続だけ、DH鍵を使わない or 弱い暗号系を許容する
ように設定する。
・curlに--ciphers 'DEFAULT:!DH' を足す。
・https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level
にある、許容する暗号系を引き下げるssl.confを作って
export OPENSSL_CONF する環境変数経由の設定を使う。
・などなど。
D-3) システム全体の許容する暗号系を下げてしまう。
・system wideのssl.confを更新する。
ただし正直なところ、未来に向けて地雷を作り込む処理なので非推奨
としか言いようがない。
なんとなくどれも、ヘタなことをすると「HTTPSを使っているつもり」状態を
伴う危険なシステムを作り上げました、みたいな展開になる予感もあるので、
対策はそこそこ考える必要があります。腕の見せ所感はありますが、考慮する
べきものを整える必要もあり、
(D')Ubuntu Advantageのコストを支払える(or 個人利用で数台の範囲にある)
のであれば、ESMを使って16.04を延命しつつ、(D) のための時間を稼ぐ
という手もありえる感じはします。
(16.04のまま使っていくのも暗号系リスクを抱えることになりますが、
D-3のような不適切な手当をして20.04にする、という手と本質はイコールですが、
「問題が残っていることを認識しやすい」という点で圧倒的にマシそうです)
ubuntu-jp メーリングリストの案内