- Вопрос или проблема
- Вы не можете. Этот сервер — кошмар безопасности.
- Сохранять этот сервер, подключенным к сети, безответственно. Вам нужно восстановить его на современной, поддерживаемой ОС.
- Ответ или решение
- Обновление TLS на старом сервере без переустановки основной операционной системы
- 1. Понимание потребностей
- 2. Обновление OpenSSL и Apache
- 3. Решение проблем с зависимостями
- 4. Решение через использование обратного прокси
- 5. Безопасность и резервное копирование
- Заключение
Вопрос или проблема
Я в довольно сложной ситуации. В настоящее время мой сервер поддерживает TLS 1.2, но не TLS 1.3 (протоколы безопасности).
На сервере установлено следующее:
- Linux версия 2.6.32-431.29.2.el6.x86_64 #1 SMP
- OpenSSL 1.0.1e-fips
- Apache/2.4.37
У него также много ценного контента с особой настройкой, с которой я не хочу, чтобы люди вмешивались.
Я прочитал в интернете, что если я обновлю OpenSSL до версии 1.2 и Apache до 2.4.38, то смогу получить TLS 1.3.
Поэтому я попробовал аналогичную настройку на своей локальной машине, затем попытался обновить OpenSSL из исходников, но возникла ошибка, что мне нужны новые библиотеки GLIBC, что заставляет меня думать, что мне нужно заменить всю операционную систему для OpenSSL.
Существует ли способ обновить OpenSSL без переустановки ОС? Или есть ли другой способ включить TLS 1.3 с помощью Apache без переустановки ОС?
«Простой» ответ — «вы не можете» — вам нужно использовать современную поддерживаемую ОС и обратный прокси для обеспечения TLS перед этим сервером. Это позволяет сохранить вашу серверную настройку в ее нынешнем виде, и поскольку клиенты общаются с обратным прокси, это в некоторой степени обходит некоторые уязвимости от работы на устаревшей платформе. Однако есть несколько нюансов помимо этого.
Учитывая возраст ОС, можно предположить, что она работает на старом, устаревшем оборудовании или как виртуальная машина.
Если это первый вариант, я бы предложил учесть, что выход вашей аппаратуры из строя приведет к потере как вашей уникальной, так и специальной настройки. Если это второй вариант, у вас есть много возможностей, таких как клонирование виртуальной машины и тестирование программного обеспечения на поддерживаемом дистрибутиве. Это также означает, что вы можете запустить вторую виртуальную машину для прокси.
Тем не менее виртуализация устаревшей платформы должна быть временным решением — и вам, вероятно, следует рассмотреть возможность перехода на что-то поддерживаемое. После того как вы ее виртуализировали, вы, вероятно, сможете рассмотреть возможность обновления — поскольку обновление клона почти не несет риска. Alma Linux предоставляет инструкции по переходу с CentOS 6 на 7, с которого вы сможете перейти на современный дистрибутив на основе Red Hat по вашему выбору.
Вы не можете. Этот сервер — кошмар безопасности.
Судя по ядру, вы используете RHEL 6, который был выпущен в 2011 году, 13 лет назад.
- Полная поддержка закончилась в 2016 году.
- Поддержка обслуживания закончилась в 2020 году.
- Поддержка расширенного жизненного цикла (800 долларов в год, не охватывает все) закончилась в этом году.
Ваша точная версия ядра, 2.6.32-431.29.2, была выпущена с RHEL 6.5, выпущенным в 2013 году. Это предполагает, что вы пропустили около 10 лет обновлений безопасности.
Кроме того, RHEL 6 не поставлялся с Apache 2.4.37 (которая была выпущена в 2018 году), так что это индивидуальная установка. В зависимости от того, как это было сделано, возможно, ваш Apache никогда не получал обновления безопасности.
Кроме того, существуют сайты, работающие на вашем сервере. Если это динамические сайты, возможно использующие фреймворки и базы данных, тогда они тоже устарели, без поддержки и подвержены атакам.
Ваш сервер работает на устаревшем программном обеспечении, которое на 100% не поддерживается. Оно не получало обновлений безопасности примерно за десятилетие и никогда не будет получать новых обновлений безопасности. Это закончено. Обновите до более современного ОС.
Позвольте мне быть очень ясным:
Сохранять этот сервер, подключенным к сети, безответственно. Вам нужно восстановить его на современной, поддерживаемой ОС.
У него также много ценного контента с особой настройкой, с которой я не хочу, чтобы люди вмешивались.
… но обновление означает создание резервных копий гигабайтов данных и фактически полную переустановку всей ОС, что может быть времязатратным и дорогим процессом, сопряженным с возможным временем простоя для гостей сайта. Должен быть способ обновить OpenSSL без переустановки ОС.
Мне вас жаль, но это реальность (хостинга) программного обеспечения. Оно требует обслуживания. Вы не можете оставить его без внимания на 10 и более лет и ожидать, что все будет в порядке.
Ваше текущее положение не поддерживается и небезопасно. Дело не только в OpenSSL. Сервер также будет ломаться все больше и будет становиться все сложнее в ремонте. Ваше замечание о необходимости создания резервных копий также беспокоит меня. Если это важно, эти резервные копии должны существовать уже сейчас.
Восстановление — это просто жизненно важное обслуживание на этом этапе. Это должно было быть запланировано в бюджете. Если нет, сейчас это должно быть запланировано.
Поэтому я попробовал аналогичную настройку на своей локальной машине, затем попытался обновить OpenSSL из исходников, но возникла ошибка, что мне нужны новые библиотеки GLIBC, что заставляет меня думать, что мне нужно заменить всю операционную систему для OpenSSL.
Теоретически может быть возможно также скомпилировать новую Glibc и установить ее в отдельную директорию, затем скомпилировать OpenSSL для использования этой библиотеки, а потом скомпилировать Apache2 для использования этого.
Но нет гарантии, что это сработает, особенно поскольку новые Glibc также повысили свои требования к ядру.
Но обновление означает создание резервных копий гигабайтов данных и фактически полную переустановку всей ОС, что может быть времязатратным и дорогим процессом, сопряженным с возможным временем простоя для гостей сайта.
Это совершенно не так. Это означает, что нужно запустить новый сервер рядом с существующим, скопировать данные и настройки сервера на новый, а затем переключить ваш DNS домен на новый IP-адрес. (Или поменять IP-адреса, или изменить правила «перенаправления портов» и т.д.)
Вы можете настроить новый сервер в течение недели или сколько потребуется, а затем переключиться с минимальным временем простоя всего на несколько минут.
Вы застряли в порочном круге зависимостей, потому что ваша система устарела. Вы можете собрать текущий glibc из исходников, чтобы исправить немедленную ошибку. Установите glibc вне пути, чтобы старая версия все еще была доступна для ваших старых приложений. Но ваша следующая ошибка будет заключаться в том, что ваше ядро слишком старое для этой glibc. Если вы соберете новое ядро из исходников, оно будет несовместимо с вашим старым libc.
Обходным решением для некоторых приложений является поиск бинарника AppImage (нормально работает для новых версий Firefox на устаревшем Linux). Но я бы не доверял AppImage для чего-то столь важного, как OpenSSL.
Вы перешли время для обходных путей. Следуйте другим рекомендациям здесь — обновитесь.
Наконец, есть несколько альтернатив OpenSSL — GnuTLS является следующим по популярности. Но, вероятно, вы окажетесь в том же ловушке libc -> ядро.
Ответ или решение
Обновление TLS на старом сервере без переустановки основной операционной системы
Введение
Ваша ситуация с устаревшей операционной системой и программным обеспечением вызывает серьезные опасения с точки зрения безопасности. На данный момент ваш сервер поддерживает TLS 1.2, но не TLS 1.3, что ставит под угрозу защиту ваших данных. В этом ответе мы рассмотрим возможные пути обновления OpenSSL и Apache для поддержки TLS 1.3, не прибегая к переустановке всей операционной системы.
Текущая конфигурация
- Операционная система: Linux версии 2.6.32-431.29.2.el6.x86_64
- OpenSSL: 1.0.1e-fips
- Apache: 2.4.37
Старение этих компонентов приводит к их критическому уязвимому состоянию и отсутствию поддержки, что требует принятия срочных мер.
1. Понимание потребностей
Ваш сервер стоит перед задачами:
- Обеспечение поддержки TLS 1.3 для повышения уровня безопасности.
- Сохранение уникальной настройки и ценных данных на сервере.
2. Обновление OpenSSL и Apache
Обновление OpenSSL до версии не ниже 1.1.1 и Apache до 2.4.38 является необходимым условием для поддержки TLS 1.3. Однако, учитывая вашу ситуацию, прямое обновление может вызвать зависимость от более новых библиотек GLIBC, что может привести к необходимости обновления всей операционной системы.
Обновление OpenSSL:
- Попробуйте миссию выполнить через установку OpenSSL из исходного кода. Однако, сталкиваясь с ошибками, связанными с GLIBC, следует быть осторожным. Из-за различных версий библиотек, ваше окружение может стать нестабильным.
- Вместо того, чтобы обновлять GLIBC, попробуйте установить OpenSSL в пользовательском каталоге, чтобы минимизировать риски.
Обновление Apache:
- Для Apache аналогично: скачайте чистую версию и соберите ее из исходников, указывая путь к уже установленному OpenSSL. Это поможет вам избежать проблем совместимости.
3. Решение проблем с зависимостями
Следует учитывать, что обновление одного компонента может вызвать ошибки совместимости с другими. Если возникнут такие проблемы, использование контейнеризации (например, Docker) может упростить управление зависимостями. Таким образом, можно будет изолировать ваше приложение и получить доступ к более современным библиотекам.
4. Решение через использование обратного прокси
Идеальным и наиболее безопасным решением будет установка современного сервера с поддержкой TLS 1.3, который будет действовать в качестве обратного прокси перед вашим старым сервером. Это позволит избежать вмешательства в основную систему при обеспечении необходимой безопасности.
- Шаги к обратному проксированию:
- Установите новый сервер с актуальной дистрибуцией Linux (например, Ubuntu, CentOS 8).
- Настройте Nginx или Apache с поддержкой TLS 1.3.
- Перенаправляйте запросы на ваш старый сервер для обработки.
Это обеспечит улучшенный уровень безопасности и позволит плавно перейти к модернизации без значительных простоев.
5. Безопасность и резервное копирование
Важно отметить, что любой процесс обновления требует предварительного резервного копирования уникального контента. Обеспечьте наличие актуальных резервных копий на отдельном носителе. В процессе миграции можно минимизировать время простоя, запланировав переключение на новый сервер в нерабочие часы.
Заключение
Хотя технически возможно обновить OpenSSL и Apache на устаревшей операционной системе, это может привести к новым проблемам с безопасностью и совместимостью. Рекомендуемое решение — использование обратного прокси с современным сервером, что обеспечит необходимую защиту и функциональность без полного обновления операционной системы. В конечном итоге, дальнейшее поддержание безопасности данных требует перехода на современное окружение.