Доверяйте хранилищу с маленьким ключом dh в сборке maven - PullRequest
0 голосов
/ 25 марта 2020

При построении моего проекта с использованием maven внутри моей недавно установленной виртуальной машины CentOS 8 я получаю следующую ошибку, когда maven пытается загрузить зависимость от нашего внутреннего нексуса:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.120 s
[INFO] Finished at: 2020-03-25T17:43:34+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project myproject: Could not resolve dependencies for project our.domain:myproject:jar:1.5.0: Failed to collect dependencies at our.domain.internal:internal-commons:jar:0.12.3: Failed to read artifact descriptor for our.domain.internal:internal-commons:jar:0.12.3: Could not transfer artifact our.domain.internal:internal-commons:pom:0.12.3 from/to nexus-proxy (https://nexus.our.domain/repository/maven-public/): DH ServerKeyExchange does not comply to algorithm constraints -> [Help 1]

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

[root@localhost Daisy]# curl https://nexus.our.domain
curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

Я пытался вручную добавить ключ в мой файл known_hosts, используя:

ssh-keyscan -p 443 nexus.our.domain >> ~/.ssh/known_hosts

Но я возвращаюсь без вывода на консоль и без изменений в файл. Выполнение

ssh-keyscan -p 443 nexus.our.domain

также не приводит к выводу вообще.

Я уже сообщил о проблеме внутренней команде, которая управляет нашим связующим звеном.

Я все равно был бы признателен за любое решение, которое заставляет мою виртуальную машину принять ключ нашего нексуса, поэтому мне не нужно ждать, пока ключ будет заменен. Я могу справиться с этим на любом уровне моего клиента (VM) (Maven, https, ssl или на любом более низком уровне).


Используемые версии:

CentOS : CentOS Linux выпуск 8.1.1911 (ядро)

Maven :

[root@localhost Daisy]# mvn --version
Apache Maven 3.5.4 (Red Hat 3.5.4-5)
Maven home: /usr/share/maven
Java version: 11.0.5, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-147.5.1.el8_1.x86_64", arch: "amd64", family: "unix"

S SH: OpenSSH_8.0p1, OpenSSL 1.1.1 c FIPS 28 мая 2019

1 Ответ

0 голосов
/ 26 марта 2020

Изменение первой строки в /etc/crypto-policies/back-ends/opensslcnf.config:

- CipherString = @SECLEVEL=2:kEECDH:kRSA:kEDH:kPSK:kDHEPSK:kECDHEPSK:-aDSS:-3DES:!DES:!RC4:!RC2:!IDEA:-SEED:!eNULL:!aNULL:!MD5:-SHA384:-CAMELLIA:-ARIA:-AESCCM8
+ CipherString = @SECLEVEL=1:kEECDH:kRSA:kEDH:kPSK:kDHEPSK:kECDHEPSK:-aDSS:-3DES:!DES:!RC4:!RC2:!IDEA:-SEED:!eNULL:!aNULL:!MD5:-SHA384:-CAMELLIA:-ARIA:-AESCCM8

(изменение SECLEVEL = 2 на SECLEVEL = 1)

Для запуска сборки maven мне пришлось изменить jvm- а также: Что означает «Причина: DHPublicKey не соответствует ограничениям алгоритма»?

Помните, что это только обходной путь. Настройка является настройкой безопасности и обычно не должна изменяться.

...