Вопрос или проблема
Я установил RHEL 9.4, которая является последней доступной версией RHEL. В ИТ-отделе обнаружили несколько уязвимостей в установленном программном обеспечении Apache 2.4.57. С официального сайта видно, что последняя версия Apache, доступная для RHEL 9.4, это версия 2.4.57.
Как я могу установить более позднюю версию (например, >2.4.62), чтобы устранить уязвимости? Или что мне делать, если я не могу установить более новую версию?
Часть (социального) контракта, который стабильные или корпоративные дистрибутивы имеют со своими пользователями, это стабильность. Не в том смысле, что они не падают, а в том, что вещи не меняются. То, что вы настроили сегодня, будет работать и оставаться безопасным через десять лет, если это срок поддержки.
Это означает, что они не могут менять версии Apache. Это сломает вещи для клиентов, а клиенты, которые платят за стабильность, склонны раздражаться, когда этого не получают.
Что делают Red Hat и другие, так это портизация исправлений. Когда обнаруживается уязвимость, они будут разбираться, как применить исправление к старым версиям. Проект Apache, как правило, просто патчит последнюю версию, но Ubuntu, Debian, Red Hat и другие будут портизировать это на версию, которую они используют.
Таким образом, вы не можете судить о номере версии, чтобы определить, какие уязвимости присутствуют. Хорошим источником для Red Hat является RHSA, который сообщит вам, когда конкретная уязвимость будет закрыта.
Ответ или решение
Установка Apache версии 2.4.62 или выше на RHEL 9.4 может быть сопряжена с определенными трудностями, так как Red Hat придерживается принципов стабильности и поддержки только определенных версий программного обеспечения, чтобы обеспечить пользователям надежность и безопасность в долгосрочной перспективе. Однако, если у вас есть необходимость в более новой версии Apache для исправления уязвимостей, рассмотрим несколько возможных путей:
1. Проверка обновлений через dnf
Прежде всего, убедитесь, что ваша система полностью обновлена, и проверьте наличие доступных обновлений для Apache. Используйте следующие команды:
sudo dnf update
После этого проверьте, доступна ли новая версия Apache:
sudo dnf info httpd
Если версия 2.4.57 все еще является последней, переходите к следующим шагам.
2. Использование репозиториев сторонних разработчиков
Иногда можно найти более новые версии Apache в сторонних репозиториях. Например, вы можете рассмотреть использование EPEL (Extra Packages for Enterprise Linux) или других репозиториев, таких как Remi’s RPM repository. Чтобы установить репозиторий EPEL, выполните:
sudo dnf install epel-release
Затем проверьте наличие доступных версий Apache в этом репозитории:
sudo dnf --enablerepo=epel info httpd
3. Сборка Apache из источников
Если более новая версия Apache не доступна в официальных и сторонних репозиториях, единственным вариантом может стать сборка Apache из исходников. Вот основные шаги для этого:
- Установите необходимые пакеты для сборки:
sudo dnf groupinstall "Development Tools"
sudo dnf install pcre-devel zlib-devel openssl-devel
- Скачайте исходный код Apache версии 2.4.62 или выше с официального сайта Apache:
cd /usr/local/src
wget https://downloads.apache.org/httpd/httpd-2.4.62.tar.gz
tar -xzf httpd-2.4.62.tar.gz
cd httpd-2.4.62
- Скомпилируйте и установите Apache:
./configure --enable-so --with-included-apr
make
sudo make install
- Настройте Apache и убедитесь, что он запускается:
sudo /usr/local/apache2/bin/apachectl start
4. Использование контейнеризации
Если вы не хотите или не можете заменять системную версию Apache, рассмотрите возможность использования контейнеризации с Docker. Это позволит вам запускать более новые версии Apache, изолировав их от вашей основной системы. Установите Docker и запустите контейнер с нужной версией Apache:
sudo dnf install docker
sudo systemctl start docker
sudo docker run -d -p 80:80 httpd:2.4.62
Заключение
Помните, что если вы решите использовать версию Apache, которая не поддерживается вашей версией RHEL, вы несете ответственность за обеспечение ее безопасности и стабильности. Кроме того, рекомендуем отслеживать обновления безопасности и руководства на сайте Red Hat, чтобы быть в курсе возможных уязвимостей и их фиксации в поддерживаемых версиях.