Назад | Перейти на главную страницу

Обновление OpenSSL в CentOS 5.3

Я хочу использовать один IP-адрес для размещения множества доменов с индивидуальными сертификатами SSL (требуется SNI). В CentOS 5.3 последняя версия OpenSSL, для которой я могу найти RPM, - 0.9.8e, которая не поддерживает SNI.

Я хочу обновиться до 0.9.8k, но не могу найти RPM. Я мог бы скомпилировать из исходного кода, но если я попытаюсь удалить существующий пакет OpenSSL через yum, он захочет, чтобы я удалил все пакеты, которые зависят от OpenSSL (более 100 пакетов).

РЕДАКТИРОВАТЬ: В итоге я установил 0.9.8k, не перезаписывая предыдущую версию. Теперь я избегаю нарушения зависимостей и могу использовать SNI. Было ли это лучшим действием?

Лучшим действием, вероятно, является компиляция OpenSSL 0.9.8k, предназначенная для другого каталога, / usr / local или / opt, а затем компиляция соответствующей версии Apache для этого нового OpenSSL, а не для той, которая предоставляется системой. К сожалению, вы потеряете возможность обновления через RPM, но это даст вам возможность, не вызывая проблем с другими более чем 100 приложениями, которые зависят от текущей версии OpenSSL CentOS.

Если вы просто перезаписали файлы, предоставленные rpm, у вас могут возникнуть ... некоторые проблемы в дальнейшем; по крайней мере, это вводит в заблуждение любого, кто смотрит на систему.

На вашем месте я бы сделал одно из двух:

1 / Загрузите srpm для Centos, выполните команду rpm -i openssl-something.srpm

Отредактируйте файл /usr/src/redhat/SPEC/openssl.spec, чтобы обновить версию и исходный файл до версии openssl, которую вы хотите создать.

Выполните rpmbuild -ba /usr/src/redhat/SPEC/openssl.spec, чтобы собрать новую версию RPM. Если все пойдет хорошо, вы получите несколько новых блестящих RPM в / usr / src / redhat / RPMS / $ arch, и вы можете просто добавить их.

или

2 / Наберите openssl srpm из более новой версии (например, Fedora 12) и выполните rpmbuild --rebuild openssl-what.srpm

Опять же, все будет хорошо, вы получите несколько RPM, хотя это, вероятно, менее надежно (например, в том смысле, что ABI и зависимости могли измениться с RHEL 5 на Fedora 12).

Это старый ответ.

Но многие люди все еще используют RHEL 5 / CentOS 5 по нескольким причинам. К сожалению, RHEL 5 не поддерживается, и, кроме того, никогда не было пакета с OpenSSL> = 1 для RHEL 5.

Если у вас нет никаких опасений по поводу использования иностранного репо, вы можете использовать «tuxad repo». Это другой и более простой способ обновить OpenSSL из RHEL 5 до RHEL 6 (который все еще поддерживается):

  1. Установите репозиторий tuxad для RHEL 5: rpm -i http://www.tuxad.de/repo/5/tuxad.rpm
  2. Пакеты обновлений: yum update

Более подробную информацию можно найти здесь:

www.tuxad.de/blog/archives/2014/11/19/openssl_updatesenhancements_for_rhel__centos_5 www.tuxad.de/blog/archives/2018/07/21/tuxad_rh5_repo_now_with_phpopenssl1

Это репо содержит несколько пакетов, которые пересобираются для OpenSSL 1:

  • httpd (также включают другие улучшения, такие как поддержка ECDH)
  • постфикс
  • голубятня
  • завиток
  • рысь
  • дворняга
  • vsftpd
  • w3m
  • wget
  • php
  • php из RHEL 6 с бэкпортированием (в отдельном репозитории "tuxad-php")

Как вы в итоге установили новую версию? Если ваши приложения не сломались и они знают путь, новая версия SSL, которую вы установили, все будет в порядке.