У нас есть машины, на которых работают дистрибутивы на основе RedHat, такие как CentOS или Scientific Linux. Мы хотим, чтобы системы автоматически уведомляли нас, если в установленных пакетах есть известные уязвимости. FreeBSD делает это с помощью порты-mgmt / portaudit порт.
RedHat предоставляет ням-плагин-безопасность, который может проверять наличие уязвимостей по своему идентификатору Bugzilla, CVE ID или консультативный идентификатор. Кроме того, Fedora недавно начала поддерживать ням-плагин-безопасность. Я считаю, что это было добавлено в Fedora 16.
Scientific Linux 6 не поддержка yum-plugin-security с конца 2011 г.. Он поставляется с /etc/cron.daily/yum-autoupdate
, который ежедневно обновляет RPM. Однако я не думаю, что это касается только обновлений безопасности.
CentOS делает не поддерживается yum-plugin-security
.
Я отслеживаю обновления в списках рассылки CentOS и Scientific Linux, но это утомительно, и мне нужно что-то, что можно автоматизировать.
Для тех из нас, кто обслуживает системы CentOS и SL, есть ли инструменты, которые могут:
yum update-minimal --security
в командной строке?Я подумал об использовании yum-plugin-changelog
чтобы распечатать журнал изменений для каждого пакета, а затем проанализировать вывод на наличие определенных строк. Есть ли инструменты, которые это уже делают?
Если вы абсолютно хотите использовать yum security plugin
, есть способ сделать это, хотя и немного сложный. Но как только вы его настроите, все будет автоматизировано.
Единственное требование - у вас должна быть хотя бы одна подписка на RHN. ИМО, это хорошее вложение, но давайте не будем торопиться.
yum security
.modifyrepo
команда, как показано Вот, чтобы ввести updateinfo.xml
в repomd.xml
. Перед для этого вам нужно будет изменить сценарий perl, чтобы изменить суммы Rpm MD5 внутри xml, с сумм RHN на суммы Centos. И вам нужно будет убедиться, что в репозиториях CentOS действительно есть все Rpms, упомянутые в updateinfo.xml
, поскольку иногда они отстают от RHN. Но это нормально, вы можете игнорировать обновления, которые CentOS не догнала, так как вы мало что можете с этим поделать, кроме создания их из SRPM.С вариантом 2 вы можете установить yum security
плагин на всех клиентах, и он будет работать.
Изменить: это также работает для машин Redhat RHEL 5 и 6. И это проще, чем использовать тяжелые решения, такие как Spacewalk или Pulp.
Scientific Linux теперь может выводить список обновлений безопасности из командной строки. Кроме того, я могу обновить систему, чтобы применять только обновления безопасности, что лучше, чем стандартное («Просто обновите все! Включая исправления, которые вам не нужны и которые приводят к регрессу».
Я тестировал это как на Scientific Linux 6.1, так и на 6.4. Я не уверен, когда это было официально объявлено, но я опубликую больше, когда узнаю.
Вот несколько примеров.
Перечислите сводку обновлений безопасности:
[root@node1 ~]# yum updateinfo
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
Updates Information Summary: available
4 Security notice(s)
1 important Security notice(s)
3 moderate Security notice(s)
2 Bugfix notice(s)
updateinfo summary done
root@node1 ~]# yum list-sec
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
SLSA-2013:1459-1 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-devel-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
SLSA-2013:1436-1 moderate/Sec. kernel-headers-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1457-1 moderate/Sec. libgcrypt-1.4.5-11.el6_4.x86_64
SLSA-2013:1270-1 important/Sec. polkit-0.96-5.el6_4.x86_64
SLBA-2013:1486-1 bugfix selinux-policy-3.7.19-195.el6_4.13.noarch
SLBA-2013:1491-1 bugfix selinux-policy-3.7.19-195.el6_4.18.noarch
SLBA-2013:1486-1 bugfix selinux-policy-targeted-3.7.19-195.el6_4.13.noarch
SLBA-2013:1491-1 bugfix selinux-policy-targeted-3.7.19-195.el6_4.18.noarch
updateinfo list done
Список по CVE:
[root@node2 ~]# yum list-sec cves
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
* epel: mirrors.kernel.org
* sl6x: ftp.scientificlinux.org
* sl6x-security: ftp.scientificlinux.org
7404 packages excluded due to repository priority protections
CVE-2012-6085 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4351 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4402 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4162 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
CVE-2013-4299 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
CVE-2013-4162 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
CVE-2013-4299 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
CVE-2013-4242 moderate/Sec. libgcrypt-1.4.5-11.el6_4.x86_64
updateinfo list done
И затем я могу применить минимальный набор изменений, необходимых для
[root@node1 ~]# yum update-minimal --security
Или просто все пропатчить:
[root@node1 ~]# yum --quiet --security check-update
gnutls.x86_64 2.8.5-14.el6_5 sl-security
libtasn1.x86_64 2.3-6.el6_5 sl-security
[root@node1 ~]# yum --quiet --security update
=================================================================================================================
Package Arch Version Repository Size
=================================================================================================================
Updating:
gnutls x86_64 2.8.5-14.el6_5 sl-security 345 k
libtasn1 x86_64 2.3-6.el6_5 sl-security 237 k
Transaction Summary
=================================================================================================================
Upgrade 2 Package(s)
Is this ok [y/N]: Y
[root@node1 ~]#
Если я попробую эту же команду на CentOS6, я не получу никаких результатов. Я точно знаю, что некоторые из «137 доступных пакетов» содержат исправления безопасности, потому что вчера я получил уведомления об ошибках через списки рассылки CentOS.
[root@node1 ~]# yum --security check-update
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.usc.edu
* epel: mirrors.kernel.org
* extras: mirror.web-ster.com
* updates: mirrors.kernel.org
Limiting package lists to security relevant ones
No packages needed for security; 137 packages available
[root@node1 ~]#
У меня такая же проблема. Я попытался создать код Python для объединения обновлений Yum и рекомендаций с упомянутого выше сайта Steve-Meier Errata (я фильтрую его по установленным пакетам).
Если это поможет, вот источник: https://github.com/wied03/centos-package-cron
Scientific Linux (как минимум 6.2 и 6.3; у меня не осталось систем 6.1) не только поддерживает yum-plugin-security
но файл конфигурации для yum-autoupdate
, /etc/sysconfig/yum-autoupdate
, позволяет включить только установку обновлений безопасности.
# USE_YUMSEC
# This switches from using yum update to using yum-plugin-security
# true - run 'yum --security' update rather than 'yum update'
# false - defaults to traditional behavior running 'yum update' (default)
# + anything other than true defaults to false
#USE_YUMSEC="false"
USE_YUMSEC="true"
Поскольку у вас есть CFEngine, вы можете вносить изменения в группы систем во время на основе обновлений безопасности, размещенных по адресу: http://twitter.com/#!/CentOS_Announce
Я не самый крупный инженер по безопасности серверов ... но мне кажется, что когда дело касается безопасности, меня интересуют только несколько пакетов. Все, что является общедоступным (ssl, ssh, apache) или имеет серьезный эксплойт, получает приоритет. Все остальное оценивается ежеквартально. Я не хочу, чтобы эти вещи обновлялись автоматически, потому что обновленные пакеты потенциально могут нарушить работу других элементов производственной системы.
В CentOS вы можете использовать
yum list updates
вместо yum-plugin-security, или, может быть, вы хотите попробовать это сканирование скрипта на основе лент новостей безопасности CentOS: LVPS.
Вы также можете попробовать generate_updateinfo проект. Это скрипт Python, который обрабатывает errata.latest.xml
файл скомпилирован CEFS проект и генерирует updateinfo.xml
файл с метаданными обновлений безопасности. Затем вы можете ввести его в локальный репозиторий обновлений CentOS 6 (7). Довольно просто интегрировать его с пользовательскими / локальными репозиториями, созданными createrepo
команда:
reposync
командаcreaterepo
командаupdateinfo.xml
файл с generate_updateinfo.py
сценарийmodifyrepo
командаВ CentOS6 вы можете использовать плагин yum-security:
yum install yum-security
Проверить с:
yum --security check-update
Эта команда возвращает код 0, если обновления безопасности недоступны.
В сочетании с yum-cron вы можете получать электронные письма только о доступных обновлениях безопасности, изменив файл / etc / sysconfig / yum-cron:
YUM_PARAMETER="--security"