Linux

Имеет ли смысл включать автоматическое обновление в стабильной версии Debian lenny?

Я установил новый сервер Linux Debian lenny, который будет LAMP и сервером Subversion. Должен ли я включить автоматическое обновление? Если я включу его, я буду уверен, что у меня есть последние исправления безопасности. Это также не должно сломать мою систему, так как Debian stable предоставляет только исправления безопасности. Если я буду устанавливать их вручную, я могу подвергаться высокому риску безопасности в течение нескольких дней и недель.

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

Что вы обычно делаете со своими серверами? Что вы можете посоветовать?

Ответ 1

Учитывая послужной список команды безопасности Debian за последние несколько лет, я считаю, что риск неработающих обновлений гораздо меньше, чем польза от автоматических обновлений на редко посещаемых системах. Debian Lenny поставляется с программой unattended-upgrades, которая пришла из Ubuntu и считается де-факто решением для неуправляемых обновлений для Debian, начиная с Lenny/5.0. Чтобы запустить его на системе Debian, вам нужно установить пакет unattended-upgrades.

Затем добавьте эти строки в /etc/apt/apt.conf:

APT::Periodic::Update-Package-Lists "1";

APT::Periodic::Unattended-Upgrade "1";

Примечание: В Debian Squeeze/6.0 нет /etc/apt/apt.conf. Предпочтительным методом является использование следующей команды, которая создаст вышеуказанные строки в /etc/apt/apt/apt.conf.d/20auto-upgrades:

sudo dpkg-reconfigure -plow unattended-upgrades

Затем ночью запускается задание cron, которое проверяет, есть ли обновления безопасности, которые необходимо установить. Действия unattended-upgrades можно отслеживать в /var/log/unattended-upgrades/. Имейте в виду, что для того, чтобы исправления безопасности ядра стали активными, необходимо перезагрузить сервер вручную. Это также может быть сделано автоматически во время планового (например, ежемесячного) технического обслуживания.

Ответ 2

Я бы рекомендовал вам настроить apt на ежедневную проверку обновлений, но уведомлять вас только о том, что они доступны, и не выполнять их, пока вы находитесь рядом. Всегда есть шанс, что обновление apt-get сломает что-то или потребует ввода данных пользователем.

apticron – хороший пакет, который сделает это за вас, или вы можете просто сделать задание cron, которое выполняет что-то вроде:

apt-get update -qq; apt-get upgrade -duyq

Я бы рекомендовал обновляться каждый раз, когда вы видите что-то с высоким приоритетом или выше, но я также не люблю ждать, пока не будет выполнено 30 или 40 обновлений, потому что потом, если что-то сломается, будет сложнее определить, какой именно пакет сломал вашу систему. Также в зависимости от того, какие пакеты вы используете на своем LAMP-сервере, вы можете добавить репозитории debian volatile и/или dotdeb в свой список репозиториев, поскольку они следят за обновлениями патчей и вирусных шаблонов гораздо лучше, чем стандартные репозитории debian.

Ответ 3

Я никогда не использую автоматические обновления. Мне нравится, когда обновления выполняются, когда я нахожусь рядом и имею время, чтобы все исправить, если что-то пойдет не так. Если вы не хотите иметь дело с бюллетенями безопасности, решите, как долго вам удобно проверять обновления, и просто решите обновлять систему каждую неделю. Это так же просто, как: «aptitude update; aptitude dist-upgrade (или aptitude safe-upgrade)».

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

Ответ 4

Мой совет: да, получайте обновления безопасности автоматически. У меня был выделенный сервер Debian около 4 лет назад без автоматических обновлений. Я уехал в отпуск, когда был выпущен эксплойт, который использовал известную уязвимость в дистрибутиве (не помню, какую именно). Когда я вернулся из отпуска, мой сервер был взломан.

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

Ответ 5

Теперь Apt поставляется с собственным заданием cron /etc/cron.daily/apt, а документация находится в самом файле:

#set -e

#    

# Этот файл понимает следующие переменные конфигурации apt:

#

#  "APT::Periodic::Update-Package-Lists=1"

# - Выполнять "apt-get update" автоматически каждые n дней (0=отключить)

#

#  "APT::Periodic::Download-Upgradeable-Packages=0",

# - Выполнять "apt-get upgrade --download-only" каждые n дней (0=отключить)

#

#  "APT::Periodic::AutocleanInterval"

#  - Выполнять "apt-get autoclean" каждые n дней (0=отключить)

#

#  "APT::Periodic::Unattended-Upgrade"

# - Запуск сценария обновления безопасности "unattended-upgrade"

# каждые n дней (0=отключено)

# Требует пакет "unattended-upgrades" и будет записывать

# в журнал в /var/log/unattended-upgrades

#

#  "APT::Archives::MaxAge",

# - Установить максимально допустимый возраст файла пакета кэша. Если файл кэш-пакета

# старше определенной величины, он удаляется (0=запрещено).

#

#  "APT::Archives::MaxSize",

# - Установить максимальный размер кэша в МБ (0=отключить). Если кэш

# больше, кэшированные файлы пакетов удаляются до тех пор, пока не будет выполнено требование размера.

# Также будет выполнено требование по размеру (самые большие пакеты будут удалены

# в первую очередь).

#

#  "APT::Archives::MinAge"

# - Установить минимальный возраст файла пакета. Если файл младше, он

# не будет удален (0=отключить). Используется для предотвращения удаления

# и для сохранения резервных копий пакетов на крайний случай.

Схожие статьи

Linux

Определение переменной с экспортом или без него

Linux

Как сделать так, чтобы дочерний процесс завершался после завершения родительского

Linux

Стоит ли использовать автоматическое развертывание Linux и управление конфигурацией в небольших масштабах?

Linux

Как скрыть ввод пароля в терминале