Ubuntu 12.04 LTS, SSL, IRC: Невозможно собрать с OpenSSL
У меня небольшой сервер под управлением Ubuntu 12.04 LTS. На нем я хотел настроить IRC с поддержкой SSL. Похоже, что ircd-гибрид наиболее популярен. Я не женат, чтобы использовать его, поэтому другие варианты приветствуются. Однако я не вижу других вариантов.
Я установил с помощью apt-get. Это не проблема. Проблема в том, что версия установки apt-get не включает SSL. Попробуйте подключиться к порту SSL 6697 с помощью SSL, и он не будет работать. Отсюда и работа по его созданию самостоятельно. Если вы действительно следуете источнику пакета ircd-hybrid, конфигурация требует, чтобы вы отредактировали его и добавили опцию "USE_OPENSSL = 1".
Поскольку гибрид не поддерживает OpenSSL по умолчанию, вам нужно сделать патч вручную, чтобы он заработал.
Во всяком случае, я следовал инструкциям (я перечислил пару в конце) и установить ircd-hybrid без проблем. Это на самом деле работает сейчас. Однако я заметил, что SSL не работает. Порт никогда не слушается. Копая глубже, я оглядываюсь назад на процесс сборки и замечаю, что OpenSSL не включен.
Итак, я пытался собрать и просто уточнить, вот вывод./configure:
Compiling ircd-hybrid 7.2.2
Installing into: /usr
Ziplinks ................ yes
**OpenSSL ................. no**
Modules ................. shared
IPv6 support ............ yes
Net I/O implementation .. sigio
EFnet server ............ no (use example.conf)
Halfops support ......... yes
Small network ........... no
G-Line voting ........... yes
Несколько строк в выводе скрипта./configure, я замечаю, что кажется, что все алгоритмы шифрования недоступны!
checking for OpenSSL... /usr
checking for OpenSSL 0.9.6 or above... found
checking for RSA_free in -lcrypto... yes
checking for EVP_bf_cfb... no
checking for EVP_cast5_cfb... no
checking for EVP_idea_cfb... no
checking for EVP_rc5_32_12_16_cfb... no
checking for EVP_des_ede3_cfb... no
checking for EVP_des_cfb... no
Что, если вы заглянете в скрипт настройки, вы увидите, что по крайней мере одна из библиотек шифрования должна быть включена. Это догадка, так как я не совсем уверен в этом. Похоже, что OpenSSL отключил RC5 и пару других алгоритмов.
Я перестроил и установил OpenSSL с enable-rc5 и другими флагами, но без кубиков.
Это на Ubuntu 12.04. Помогите? Кто-нибудь? Я хотел бы включить SSL на IRC на моем персональном сервере. Это не должно быть ircd-гибридом.
Я просматривал форумы по Ubuntu и в целом следовал этим инструкциям.
Спасибо!
РЕДАКТИРОВАТЬ Я болтал с парнем, который выяснил решение по первой ссылке, которую я разместил выше. Он смог успешно собрать и запустить с SSL на чистой установке 12.04, используя пакет OpenSSL по умолчанию и исправленный пакет pircd-hybrid. Система, на которой я работаю, изначально была построена с использованием 10.x. Интересно, если эти обновления до 12.04 LTS каким-то образом сломали что-то по пути. Например, его запуск конфигурации ircd-hybrid дает их в криптографической части установки:
checking for OpenSSL... /usr
checking for OpenSSL 0.9.6 or above... found
checking for RSA_free in -lcrypto... yes
checking for EVP_bf_cfb... yes
checking for EVP_cast5_cfb... yes
checking for EVP_idea_cfb... no
checking for EVP_rc5_32_12_16_cfb... no
checking for EVP_des_ede3_cfb... yes
checking for EVP_des_cfb... yes
Я бегу последние открытые SSL:
$ openssl version
OpenSSL 1.0.1 14 Mar 2012
Не уверен, почему скрипт configure не видит эти алгоритмы шифрования.
РЕДАКТИРОВАТЬ 2: Просто установил виртуальную машину на моей коробке ESXi. Совершенно новая 32-битная установка 12.04 LTS. Та же проблема. Устанавливается нормально через apt-get, но SSL не включен. Попробовал патч, и в нем также отсутствуют алгоритмы, как я перечислил выше.
2 ответа
Есть ли причина, по которой вы сами создаете эти пакеты? В Ubuntu эти пакеты уже готовы.
apt-get install ircd-hybrid
Или, если вы хотите увидеть, какие другие варианты доступны:
apt-cache search ircd
Мне только удалось добиться этого после многих хлопот. К сожалению, я не думаю, что смогу предоставить "как это сделать", но я намерен представить отчет об ошибке. Кроме того, мое понимание схематично, поэтому извините, если я использую неправильную терминологию.
По сути, проблема заключается в несовместимости между ircd-hybrid
а также libssl1.0.0
, Где он ищет такие шифры, как EVP_bf_cfb
, в libssl1.0.0
это должно быть использование EVP_bf_cfb64
и т. д. Я немного поработал и скомпилировал его с обнаруженными шифрами, но он все еще не подключался к другим серверам.
К сожалению, пока libssl0.9.8
доступно в Ubuntu 12.04 LTS, libssl-dev
доступно только в 1.0.0
аромат. Я установил 0.9.8
пакеты от 10.04 LTS (не рекомендуется, я уверен), но тогда были различные проблемы компиляции в ircd-hybrid
относящиеся к другой проблеме. Я исправил это, и наконец получил работу ircd-hybrid
работает на 64бит 12.04 LTS.
Я предполагаю, что, так как SSL не включен по умолчанию в ircd-hybrid
когда другие вещи меняются и нарушают только сборку SSL, сопровождающие пакета не замечают этого.
Как я уже сказал, сейчас я попытаюсь подать отчет об ошибке в 12.04 LTS и посмотрим, получится ли это где-нибудь.