ГлавнаяОперационные системыLinuxКак избежать перезагрузки сервера с помощью Ubuntu Livepatch

Как избежать перезагрузки сервера с помощью Ubuntu Livepatch

Если вы администрируете собственный сервер(ы), рано или поздно вы столкнетесь с этой проблемой: вам придется перезагружать операционную систему, но машина предоставляет важную службу, которую вы не можете прервать.

Но зачем вообще перезагружаться? Кажется, после команды apt-get upgradeвсе работает нормально. Однако не всегда все так, как кажется. Несмотря на то, что система успешно продолжает работать после каждого обновления, не требуя принудительной перезагрузки, как это делает Windows, она все равно может потребоваться.

Например, при обнаружении уязвимости в ядре системы (ядре) она исправляется и отправляется на ваш сервер в виде нового пакета. После установки пропатченного ядра некоторые файлы записываются на диск, но все равно рулит старое ядро, поскольку именно оно загружается в память (ОЗУ).

Это означает, что ваш сервер все еще уязвим для обнаруженных ранее дыр в безопасности. Другие процессы, демоны и службы можно перезагрузить без перезапуска операционной системы. Однако ядро ​​находится в центре системы и может быть перезагружено только при следующей загрузке.

Читайте также: Как добавить пользователей на сервере Ubuntu

Ubuntu Livepatch решает эту проблему, позволяя закрывать дыры в безопасности ядра без перезапуска. Таким образом, вы можете избежать или отложить перезагрузку на несколько недель или месяцев без ущерба для безопасности.

Основная идея оперативного исправления проста: когда функция уязвима, перепишите ее, устраните ошибку и загрузите новую функцию куда-нибудь в память. При вызове функции вместо запуска кода в ядре перенаправьте вызов на использование переписанного кода.

Текст кода Ubuntu Livepatch

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

Как настроить Livepatch в Ubuntu

Перейдите на эту страницу и создайте свою учетную запись Ubuntu One . (Или просто войдите в систему, если она у вас уже есть.) Проверьте свою электронную почту и затем нажмите ссылку подтверждения учетной записи. Затем посетите Страница службы Canonical Livepatch . Выберите, что вы являетесь «пользователем Ubuntu», и нажмите кнопку, чтобы сгенерировать свой токен. На следующей странице будут показаны точные команды, которые вы должны ввести на своем сервере. После первой команды введите

sudo snap install canonical-livepatch

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

Установка Ubuntu Livepatch Snap

Наконец, последняя команда со страницы Canonical:

sudo canonical-livepatch enable #PASTE_YOUR_TOKEN_HERE

Служба становится активной и автоматически применяет исправлен

Как настроить Livepatch в Ubuntu

необходимо, без каких-либо действий с вашей стороны.

При необходимости установите Snap Daemon

В некоторых редких случаях первая команда из предыдущего раздела может завершиться неудачей со следующим сообщением об ошибке: -bash: /usr/bin/snap: No such file or directory. В данном случае это означает, что у вашего провайдера сервера есть образ операционной системы Ubuntu, который по умолчанию не включает службу демона Snap. Установите его с помощью:

sudo apt update && sudo apt install snapd

Теперь снова выполните две команды из предыдущего раздела.

Читайте также: 5 полезных патчей для улучшения работы с dwm

Обновление вашего сервера

Livepatch установит все необходимые обновления безопасности для вашего ядра. Тем не менее, вам все равно следует регулярно обновлять остальную часть вашей системы с помощью такой команды:

sudo apt update && sudo apt upgrade

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

Перезапуск службы Ubuntu Livepatch

Обычно это плавные перезапуски, то есть они не нарушают работу каких-либо служб в процессе. Например, в этом случае демон SSH был перезапущен без прерывания активного сеанса SSH.

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

systemctl restart nginx.service

чтобы перезагрузить демон nginx в память. В противном случае, даже если пакет будет обновлен, он все равно может работать со старым уязвимым кодом, подвергая ваш сервер риску известных атак. Некоторые обновления пакета делают это за вас, а други

При необходимости установите Snap Daemon

ращать внимание на то, что делает «apt update», и при необходимости перезапускать некоторые службы. Вы также можете посмотри логи проверить, было ли это сделано автоматически.

Заключение

Как видите, Canonical упростила реализацию этого на сервере. Что касается ядра, с вашей стороны не требуется никаких работ по обслуживанию. Единственное, что вы можете сделать, это бежать

canonical-livepatch status

время от времени, чтобы что-то проверять.

Обновление вашего сервера

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи