[server] CentOS 또는 Scientific Linux에서 보안 업데이트를 자동으로 확인 하시겠습니까?

CentOS 또는 Scientific Linux와 같은 RedHat 기반 배포판을 실행하는 머신이 있습니다. 설치된 패키지에 알려진 취약점이 있으면 시스템에서 자동으로 알려줍니다. FreeBSD는 ports-mgmt / portaudit 포트로 이것을 합니다.

RedHat은 yum-plugin-security를 제공하며 , Bugzilla ID, CVE ID 또는 권고 ID 로 취약점을 확인할 수 있습니다 . 또한 Fedora는 최근 yum-plugin-security 를 지원하기 시작했습니다 . 나는 이것이 Fedora 16에 추가되었다고 생각합니다.

Scientific Linux 6은 2011 년 말 현재 yum-plugin-security를 ​​지원 하지 않았습니다 . 로 제공 /etc/cron.daily/yum-autoupdate되며 매일 RPM을 업데이트합니다. 그러나 이것이 보안 업데이트 만 처리한다고 생각하지 않습니다.

CentOS는 지원yum-plugin-security 하지 않습니다 .

CentOS 및 Scientific Linux 메일 링리스트에서 업데이트를 모니터링하지만 지루하고 자동화 할 수있는 것을 원합니다.

CentOS 및 SL 시스템을 유지 관리하는 사용자에게는 다음과 같은 도구가 있습니다.

  1. 현재 RPM에 알려진 취약점이 있는지 자동으로 (프로그 론적으로 cron을 통해) 알려주십시오.
  2. 선택적으로 보안 취약점을 해결하는 데 필요한 최소 업그레이드를 자동으로 설치하십시오 yum update-minimal --security.

yum-plugin-changelog각 패키지의 변경 로그를 인쇄하고 특정 문자열의 출력을 구문 분석하는 데 사용 하는 것을 고려했습니다 . 이미이 작업을 수행하는 도구가 있습니까?



답변

절대적으로 사용하고 싶다면 yum security plugin조금 정교하지만이를 수행 할 수있는 방법이 있습니다. 그러나 일단 설정하면 모두 자동화됩니다.

유일한 요구 사항은 RHN을 최소한 한 번만 구독해야한다는 것입니다. 좋은 투자 IMO이지만 요점을 고수합니다.

  1. 구독이 있으면 mrepo 또는 reposync 를 사용하여 CentOS 저장소를 미러링하는 사내 Yum 저장소를 설정할 수 있습니다 . (또는 rsync를 사용할 수도 있습니다).
  2. 그런 다음이 메일 링리스트 post에 첨부 된 스크립트를 사용 하여 RHN 서브 스크립 션에 주기적으로 연결하여 보안 패키지 정보를 다운로드하십시오. 이제 두 가지 옵션이 있습니다.
    1. 생성 된 “updateinfo.xml”파일에서 패키지 이름 만 추출하십시오. 또한이 정보를 사용하여 꼭두각시 또는 cfengine 또는 ssh-in-a-for-loop를 사용하여 보안 또는 기타 업데이트가 필요한 Rpm에 대해 서버를 “검색”하십시오. 이것은 더 간단 하고 원하는 모든 것을 제공 하지만 사용할 수는 없습니다 yum security.
    2. 다른 옵션은 여기modifyrepo표시된대로 명령 을 사용하여 주입 하는 것 입니다. 이 작업을 수행 하기 전에 XML 내부의 Rpm MD5 합계를 RHN에서 Centos 합계로 변경하려면 perl 스크립트를 수정해야합니다. CentOS 리포지토리에 RHN 뒤에 있는 모든 Rpm이 실제로 있는지 확인해야합니다 . 그러나 괜찮습니다. CentOS가 따라 잡지 않은 업데이트를 무시할 수 있습니다. SRPM에서 업데이트를 수행 할 수있는 작업이 적기 때문에 수행 할 작업이 거의 없습니다.updateinfo.xmlrepomd.xmlupdateinfo.xml

옵션 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 상자 에서이 동일한 명령을 시도하면 결과가 나타나지 않습니다. 어제 CentOS 메일 링리스트를 통해 정오표를 받았기 때문에 일부 ‘137 패키지’에 보안 수정 사항이 포함되어 있다는 사실을 알고 있습니다.

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


답변

나는 같은 문제가 있었다. 위에서 언급 한 steve-meier Errata 사이트에서 Yum Updates와 권고 사항을 모으기 위해 Python 코드를 작성하는 데 착수했습니다 (설치된 패키지를 기준으로 필터링 함).

도움이되는 경우 다음 소스를 참조하십시오 : https://github.com/wied03/centos-package-cron


답변

CFEngine이 있으므로 http://twitter.com/#!/CentOS_Announce에 게시 된 보안 업데이트를 기반으로 시간에 시스템 그룹에 변경 사항을 적용 할 수 있습니다.

나는 가장 큰 서버 보안 엔지니어는 아니지만 보안과 관련하여 몇 가지 패키지에만 관심이있는 경향이 있습니다. 공개적이거나 (ssl, ssh, apache) 주요 익스플로잇이 우선합니다. 다른 모든 것은 분기마다 평가됩니다. 업데이트 된 패키지가 프로덕션 시스템의 다른 항목을 손상시킬 수 있기 때문에 이러한 것들이 자동으로 업그레이드되는 것을 원하지 않습니다.


답변

과학 리눅스는,뿐만 아니라 지원 (최소 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"


답변

CentOS에서는 다음을 사용할 수 있습니다

yum list updates

yum-plugin-security 대신 CentOS 보안 뉴스 피드 ( LVPS)를 기반으로이 스크립트 스캔을 시도 할 수 있습니다 .


답변

generate_updateinfo 프로젝트를 시도 할 수도 있습니다 . CEFS 프로젝트에서 errata.latest.xml컴파일 한 파일 을 처리 하고 보안 업데이트 메타 데이터로 파일을 생성 하는 Python 스크립트입니다 . 그런 다음 로컬 CentOS 6 (7) 업데이트 저장소에 삽입 할 수 있습니다. 명령으로 만든 사용자 정의 / 로컬 리포지토리와 통합하는 것은 매우 간단합니다 .updateinfo.xmlcreaterepo

  • reposync명령이있는 미러 저장소
  • createrepo명령으로 로컬 리포지토리 생성
  • 스크립트로 updateinfo.xml파일 다운로드 및 생성generate_updateinfo.py
  • 생성 된 보안 업데이트 메타 데이터를 modifyrepo명령으로 로컬 저장소에 삽입