Ubuntu20.04-OpenSSLセキュリティレベル1が機能しない

Aug 24 2020

システム情報:

> hostnamectl
  Operating System: Ubuntu 20.04.1 LTS
            Kernel: Linux 5.4.0-42-generic
      Architecture: x86-64

問題:nugetパッケージ.NetCoreのVPNの背後にあるセルフホースのnugetリポジトリにアクセスします。Ubuntu 20.04に最初に更新したとき、SSLセキュリティレベルをレベル1に下げる必要がありdh key too smallましたdotnet restore。そうしないと、を呼び出すときにエラーが発生しました。

20.04が最小セキュリティレベルを2に更新したことを知りました。したがって、18.04から20.04に更新したときに機能しなくなったのはなぜですか。以前に更新して/etc/ssl/openssl.cnf、推奨される変更をここに含めました:Ubuntu 20.04-SSLセキュリティレベルを低く設定するにはどうすればよいですか?。

そして、すべてが良さそうに見えましたが、最近、私はdh key too small自分のを変更していなくても、以前に発生したのと同じ問題が発生していopenssl.cnfます。

> dotnet restore
Determining projects to restore...
  Retrying 'FindPackagesByIdAsyncCore' for source 'https://example.com/repository/nuget-group/FindPackagesById()?id='example_package'&semVerLevel=1.0.0'.
  The SSL connection could not be established, see inner exception.
    Authentication failed, see inner exception.
    SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
    error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

これは私のopenssl設定の出力です:

> cat /etc/ssl/openssl.cnf
openssl_conf = default_conf

#default config....

[ default_conf ]
ssl_conf = ssl_sect

[ ssl_sect ]
system_default = ssl_default_sect

[ ssl_default_sect ]
MinProtocol = TLSv1.2
CipherString = DEFAULT:@SECLEVEL=1

および現在実行中のopensslの:

> openssl version -a
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-P_ODHM/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

そして、セキュリティレベル2で実行されているopenssl version -aこと-DOPENSSL_TLS_SECURITY_LEVEL=2を示すものがわかります。

Nugetパッケージリポジトリ側では何も変更できないため、これをローカルで修正する必要があります。何かアドバイス?

回答

BrianTurek Aug 24 2020 at 17:14

CipherString行にタイプミスがあると思います。DEFAULTの後にコロンを削除してみてください。