Автоматично перевіряти наявність оновлень безпеки на CentOS або Scientific Linux?


20

У нас є машини, що працюють на базі RedHat дистрибутивів, таких як CentOS або Scientific Linux. Ми хочемо, щоб системи автоматично повідомляли нас про наявність відомих уразливостей встановлених пакетів. FreeBSD робить це з портом ports-mgmt / portaudit .

RedHat забезпечує yum-plugin-безпеку , яка може перевірити вразливості за їх ідентифікатором Bugzilla, CVE ID або рекомендаційним ідентифікатором. Крім того, нещодавно Fedora почала підтримувати безпеку yum-plugin . Я вважаю, що це було додано у Fedora 16.

Науковий Linux 6 не підтримував безпеку yum-plugin станом на кінець 2011 року . Він постачається з /etc/cron.daily/yum-autoupdate, який оновлює RPM щодня. Я не думаю, що це обробляє лише оновлення безпеки.

CentOS не підтримуєyum-plugin-security .

Я стежу за розсилками розсилки CentOS та Scientific Linux за оновленнями, але це нудно, і я хочу щось, що можна автоматизувати.

Для тих із нас, хто підтримує системи CentOS і SL, чи є інструменти, які можуть:

  1. Автоматично (прогаматично, через cron) повідомляйте нас, чи є вразливі місця з моїми поточними RPM.
  2. За бажанням, автоматично встановити мінімальний оновлення, необхідне для усунення вразливості безпеки, яке, можливо, буде yum update-minimal --securityв командному рядку?

Я розглядав yum-plugin-changelogможливість роздрукувати журнал змін для кожного пакету, а потім проаналізувати вихід для певних рядків. Чи є інструменти, які вже роблять це?


У вас є якась система управління конфігурацією? Лялечка? CFEngine?
ewwhite

Так, у мене є Cfengine. Я думаю про Лялечку.
Стефан Ласєвський

2
yum-updatesd використовувався, щоб робити щось подібне (повідомляти про нові оновлення та згадувати, чи були оновлення безпеки) - але я не вірю, що це є у репост CentOS 6 (або EPEL). Можливо, ви зможете досить легко адаптувати скрипти на CentOS Wiki .
cyberx86

Відповіді:


8

Якщо ви абсолютно хочете скористатися yum security plugin, є спосіб зробити це, хоча і трохи детально. Але як тільки ви встановите це, все буде автоматизовано.

Єдина вимога - вам потрібно мати хоча б одну підписку на RHN. Що є хорошим інвестиційним ІМО, але давайте дотримуватися справи.

  1. Після підписки ви можете використовувати mrepo або reposync , щоб налаштувати в будинку Yum repo, який відображає CentOS repos. (або ви можете просто використовувати rsync).
  2. Потім використовуйте скрипт, приєднаний до цієї публікації списку розсилки , щоб періодично підключатися до вашої підписки RHN, щоб завантажувати інформацію про пакети безпеки. Тепер у вас є два варіанти.
    1. Витягніть лише імена пакунків із створеного файлу "updateinfo.xml". І використовуйте цю інформацію для "пошуку" ваших серверів для Rpms, які потребують безпеки чи інших оновлень, використовуючи лялечку чи cfengine або ssh-in-a-for-loop. Це простіше, дає все, що ви хочете, але ви не можете використовувати yum security.
    2. Інший варіант полягає у використанні modifyrepoкоманди , як показано тут , щоб ввести updateinfo.xmlв repomd.xml. Перш ніж це зробити, вам доведеться змінити сценарій perl, щоб змінити суми Rpm MD5 всередині xml, від RHN до Centos сум. І вам доведеться переконатися, чи справді у CentOS repos є всі згадані Rpms updateinfo.xml, оскільки вони іноді відстають від RHN. Але це добре, ви можете ігнорувати оновлення, які CentOS не наздогнав, оскільки ви можете зробити це мало, окрім створення їх з SRPM.

За допомогою параметра 2 ви можете встановити yum securityплагін на всіх клієнтів, і він буде працювати.

Правка: Це також працює для машин Redhat RHEL 5 та 6. І простіше, ніж використовувати важку вагу, як Spacewalk або Pulp.


6

Науковий 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 ~]#

5

У мене була така ж проблема. Я взяв удар під час створення певного коду Python, щоб зібрати Yum Updates та рекомендації із згаданого вище сайту steve-meier Errata (я фільтрую його на основі встановлених пакетів).

Якщо це допоможе, ось джерело: https://github.com/wied03/centos-package-cron


2

Оскільки у вас є CFEngine, ви можете застосувати зміни до системних систем на основі оновлень безпеки, розміщених за адресою: http://twitter.com/#!/CentOS_Announce

Я не найбільший інженер з безпеки сервера там ... але я схильний виявляти, що мені цікаво лише кілька пакетів, коли справа стосується безпеки. Все, що є загальнодоступним (ssl, ssh, apache) або має головний подвиг, отримує пріоритет. Все інше оцінюється щоквартально. Я не хочу, щоб ці речі оновлювалися автоматично, оскільки оновлені пакети можуть потенційно зламати інші елементи виробничої системи.


Згаданий вище канал Twitter - це погана порада ІМО у 2017 році. Він не отримував жодних оновлень з 10 жовтня 2012 р.
slm

2

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"

2

На CentOS ви можете використовувати

yum list updates

замість yum-plugin-безпеки або, можливо, ви хочете спробувати сканування цього сценарію на основі каналів новин про безпеку CentOS: LVPS .


yum list updatesперерахує всі оновлення, коли я хочу перелічити лише оновлення безпеки .
Стефан Ласєвський

yum list list
Sirex

2
yum list updates --securityне працює (можливо, потрібен плагін)
Taha Jahangir

1

Ви також можете спробувати generate_updateinfo проект. Це сценарій python, який обробляє errata.latest.xmlфайл, зібраний проектом CEFS та генерує updateinfo.xmlфайл із метаданими оновлення безпеки. Потім ви можете ввести його у своє місцеве сховище оновлень CentOS 6 (7). Досить просто інтегрувати його у власні / локальні сховища, створені createrepoкомандою:

  • дзеркальне сховище з reposyncкомандою
  • створити локальний сховище з createrepoкомандою
  • завантажити та генерувати updateinfo.xmlфайл із generate_updateinfo.pyсценарієм
  • введіть створені метадані оновлення безпеки у ваше локальне сховище за допомогою modifyrepoкоманди

-1

У CentOS6 ви можете використовувати плагін yum-security:

yum install yum-security

Перевірте:

yum --security check-update

Ця команда повертає код 0, якщо оновлення безпеки не доступні.

У поєднанні з yum-cron, ви можете отримати електронний лист лише про доступні оновлення безпеки, змінивши файл / etc / sysconfig / yum-cron:

YUM_PARAMETER="--security"

1
Плагін Yum безпеки не працює для мене на CentOS6. Однак він працює на RHEL та Scientific Linux.
Стефан Ласєвський

Що це означає, що "це не працює". Він є частиною CentOS6-Base і встановлений на багатьох установках тут. yum-plugin-security.noarch 1.1.30-17.el6_5 @updates
Bertl

1
Що я маю на увазі, що коли я запускаю yum --security check-update, команда повертається за допомогою No packages needed for security; 137 packages available. Мені відомо, що деякі доступні оновлення містять виправлення безпеки. Оновлення доступні у сховищі базових даних CentOS, але вони не позначені як виправлення безпеки. Наразі CentOS не пропонує сховище для патчів безпеки, на відміну від Red Hat, Scientific Linux та EPEL.
Стефан Ласєвський

1
Якщо це працює для вас, чи можете ви показати, як це працює?
Стефан Ласєвський

1
Дивіться цю тему про проблему: lists.centos.org/pipermail/centos-devel/2012-August/008675.html
BERTL
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.