Secara otomatis memeriksa Pembaruan Keamanan di CentOS atau Scientific Linux?

20

Kami memiliki mesin yang menjalankan distro berbasis RedHat seperti CentOS atau Scientific Linux. Kami ingin sistem secara otomatis memberi tahu kami jika ada kerentanan yang diketahui terhadap paket yang diinstal. FreeBSD melakukan ini dengan port port-mgmt / portaudit .

RedHat menyediakan yum-plugin-security , yang dapat memeriksa kerentanan dengan ID Bugzilla, ID CVE atau ID penasehat mereka. Selain itu, Fedora baru-baru ini mulai mendukung yum-plugin-security . Saya yakin ini ditambahkan di Fedora 16.

Scientific Linux 6 tidak mendukung keamanan yum-plugin-pada akhir 2011 . Itu kapal dengan /etc/cron.daily/yum-autoupdate, yang memperbarui RPM setiap hari. Saya tidak berpikir ini hanya menangani Pembaruan Keamanan.

CentOS tidak mendukungyum-plugin-security .

Saya memantau mailinglist CentOS dan Scientific Linux untuk pembaruan, tetapi ini membosankan dan saya ingin sesuatu yang dapat otomatis.

Bagi kita yang memelihara sistem CentOS dan SL, apakah ada alat yang dapat:

  1. Secara otomatis (Secara progresif, via cron) memberi tahu kami jika ada kerentanan yang diketahui dengan RPM saya saat ini.
  2. Secara opsional, secara otomatis menginstal pemutakhiran minimum yang diperlukan untuk mengatasi kerentanan keamanan, yang mungkin ada yum update-minimal --securitypada commandline?

Saya telah mempertimbangkan menggunakan yum-plugin-changeloguntuk mencetak changelog untuk setiap paket, dan kemudian menguraikan output untuk string tertentu. Apakah ada alat yang sudah melakukan ini?

Stefan Lasiewski
sumber
Apakah Anda memiliki sistem manajemen konfigurasi? Wayang? CFEngine?
ewwhite
Ya, saya punya Cfengine. Saya berpikir tentang Wayang.
Stefan Lasiewski
2
yum-updatesd digunakan untuk melakukan sesuatu yang serupa (beri tahu tentang pembaruan baru, dan sebutkan jika ada pembaruan keamanan) - tapi saya tidak percaya itu ada dalam repo CentOS 6 (atau EPEL). Anda mungkin dapat mengadaptasi skrip pada CentOS Wiki dengan cukup mudah.
cyberx86

Jawaban:

8

Jika Anda benar-benar ingin menggunakannya yum security plugin, ada cara untuk melakukan ini, meski sedikit rumit. Tetapi begitu Anda sudah mengaturnya, semuanya otomatis.

Satu-satunya persyaratan adalah Anda harus memiliki setidaknya satu langganan ke RHN. Yang merupakan IMO investasi yang bagus, tetapi mari kita tetap pada intinya.

  1. Setelah berlangganan, Anda dapat menggunakan mrepo , atau reposync , untuk mengatur repo Yum in-house, yang mencerminkan repo CentOS. (atau Anda bisa menggunakan rsync).
  2. Kemudian gunakan skrip yang dilampirkan pada posting milis ini , untuk secara berkala terhubung ke langganan RHN Anda, untuk mengunduh info paket keamanan. Sekarang Anda memiliki dua opsi.
    1. Ekstrak hanya nama paket dari file "updateinfo.xml" yang dihasilkan. Dan gunakan informasi itu untuk "mencari" server Anda untuk Rpms yang membutuhkan keamanan atau pembaruan lainnya, menggunakan boneka atau cfengine, atau ssh-in-a-for-loop. Ini lebih sederhana, memberi Anda semua yang Anda inginkan, tetapi Anda tidak dapat menggunakannya yum security.
    2. Pilihan lainnya adalah dengan menggunakan modifyrepoperintah seperti yang ditunjukkan di sini , untuk menyuntikkan updateinfo.xmlke dalam repomd.xml. Sebelum melakukan ini, Anda harus memodifikasi skrip perl untuk mengubah jumlah Rpm MD5 di dalam xml, dari jumlah RHN ke Centos. Dan Anda harus memastikan apakah repositori CentOS benar-benar memiliki semua Rpms yang disebutkan updateinfo.xml, karena mereka kadang-kadang berada di belakang RHN. Tapi itu baik-baik saja, Anda dapat mengabaikan pembaruan yang CentOS tidak sadari, karena ada sedikit yang dapat Anda lakukan tentang hal itu, selain membangunnya dari SRPM.

Dengan opsi 2, Anda dapat menginstal yum securityplugin pada semua klien, dan itu akan berhasil.

Sunting: Ini juga berfungsi untuk mesin Redhat RHEL 5 dan 6. Dan lebih sederhana daripada menggunakan solusi berat seperti Spacewalk atau Pulp.

Tidak sekarang
sumber
6

Scientific Linux sekarang dapat mendaftar pembaruan keamanan dari commandline. Selain itu saya dapat memperbarui sistem untuk hanya menerapkan pembaruan keamanan, yang lebih baik daripada default ("Hanya perbarui semuanya! Termasuk perbaikan bug yang tidak Anda pedulikan dan yang memperkenalkan regresi."

Saya telah menguji ini di Scientific Linux 6.1 dan 6.4. Saya tidak yakin kapan ini diumumkan secara resmi, tetapi saya akan memposting lebih banyak ketika saya mengetahuinya.

Berikut ini beberapa contohnya.

Daftar ringkasan pembaruan keamanan:

[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

Daftar berdasarkan 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

Dan kemudian saya bisa menerapkan set minimal perubahan yang diperlukan

[root@node1 ~]# yum update-minimal --security

Atau, tambal saja semuanya:

[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 ~]#

Jika saya mencoba perintah yang sama ini pada kotak CentOS6, saya tidak mendapatkan hasil apa pun. Saya tahu pasti bahwa beberapa dari '137 paket yang tersedia' berisi perbaikan keamanan, karena saya menerima pemberitahuan errata kemarin melalui milis 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 ~]#
Stefan Lasiewski
sumber
5

Saya memiliki masalah yang sama. Saya mencoba membuat beberapa kode Python untuk mengumpulkan Pembaruan Yum dan saran dari situs Errata steve-meier yang disebutkan di atas (saya memfilternya berdasarkan paket yang diinstal).

Jika itu membantu, berikut adalah sumbernya: https://github.com/wied03/centos-package-cron

Brady Wied
sumber
2

Karena Anda memiliki CFEngine, Anda dapat menerapkan perubahan pada kelompok sistem saat itu berdasarkan pada pembaruan keamanan yang diposting di: http://twitter.com/#!/CentOS_Announce

Saya bukan insinyur keamanan server terbesar di luar sana ... tapi saya cenderung menemukan bahwa saya hanya peduli pada beberapa paket ketika datang ke keamanan. Apa pun yang dihadapi publik (ssl, ssh, apache) atau memiliki exploit besar mendapat prioritas. Segala sesuatu yang lain akan dievaluasi setiap triwulan. Saya tidak ingin hal-hal ini ditingkatkan secara otomatis karena paket yang diperbarui berpotensi merusak barang-barang lain pada sistem produksi.

putih
sumber
Umpan twitter yang disebutkan di atas adalah saran buruk IMO di 2017+. Itu belum menerima pembaruan apa pun sejak 10 Oktober 2012.
slm
2

Scientific Linux (setidaknya 6.2 dan 6.3, saya tidak punya 6,1 sistem meninggalkan) mendukung tidak hanya yum-plugin-securitytetapi file konfigurasi untuk untuk yum-autoupdate, /etc/sysconfig/yum-autoupdate, memungkinkan Anda mengaktifkan hanya instalasi update keamanan.

# 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"
Joshua Hoblitt
sumber
2

Pada CentOS Anda dapat menggunakan

yum list updates

alih-alih yum-plugin-security, atau mungkin Anda ingin mencoba pemindaian skrip ini berdasarkan feed berita keamanan CentOS: LVPS .

Lars Windolf
sumber
yum list updatesakan mendaftar semua pembaruan, ketika saya ingin mendaftar hanya pembaruan keamanan .
Stefan Lasiewski
pembaruan daftar yum
Sirex
2
yum list updates --securitytidak berfungsi (mungkin membutuhkan plugin)
Taha Jahangir
1

Anda juga dapat mencoba menghasilkan project_updateinfo. Ini adalah skrip python yang memproses errata.latest.xmlfile yang dikompilasi oleh proyek CEFS dan menghasilkan updateinfo.xmlfile dengan metadata pembaruan keamanan. Anda kemudian dapat menyuntikkannya ke repositori pembaruan CentOS 6 (7) lokal Anda. Cukup mudah untuk mengintegrasikannya dengan repositori custom / local yang dibuat dengan createrepoperintah:

  • mirror repository dengan reposyncperintah
  • buat repositori lokal dengan createrepoperintah
  • unduh dan hasilkan updateinfo.xmlfile dengan generate_updateinfo.pyskrip
  • menyuntikkan metadata pembaruan keamanan yang dihasilkan ke repositori lokal Anda dengan modifyrepoperintah
dsmsk80
sumber
-1

Pada CentOS6, Anda dapat menggunakan plugin yum-security:

yum install yum-security

Periksa dengan:

yum --security check-update

Perintah ini mengembalikan kode 0 jika tidak ada pembaruan keamanan yang tersedia.

Dalam kombinasi dengan yum-cron, Anda bisa mendapatkan email hanya pada pembaruan keamanan yang tersedia dengan memodifikasi file / etc / sysconfig / yum-cron:

YUM_PARAMETER="--security"
Bertl
sumber
1
Plugin keamanan Yum tidak berfungsi untuk saya di CentOS6. Namun, ini berfungsi pada RHEL dan Scientific Linux.
Stefan Lasiewski
Apa artinya "tidak berhasil". Ini bagian dari CentOS6-Base dan diinstal pada banyak instalasi di sini. yum-plugin-security.noarch 1.1.30-17.el6_5 @updates
Bertl
1
Maksud saya adalah bahwa ketika saya menjalankan yum --security check-update, perintah kembali dengan No packages needed for security; 137 packages available. Saya tahu pasti bahwa beberapa pembaruan yang tersedia berisi perbaikan keamanan. Pembaruan tersedia di repositori CentOS 'base', tetapi tidak ditandai sebagai perbaikan keamanan. CentOS saat ini tidak menyediakan repositori yum untuk patch keamanan, tidak seperti Red Hat, Scientific Linux dan EPEL.
Stefan Lasiewski
1
Jika itu berhasil untuk Anda, dapatkah Anda menunjukkan cara kerjanya?
Stefan Lasiewski
1
Lihat utas ini tentang masalah ini: lists.centos.org/pipermail/centos-devel/2012-August/008675.html
Bertl