Computer >> 컴퓨터 >  >> 시스템 >> Linux

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

개요

CentOS, Red Hat Enterprise Linux(RHEL), Fedora에서는 저장소에 보안 업데이트가 게시되는 즉시 자동으로 설치되도록 시스템을 구성할 수 있습니다. 이 글에서는 yum-crondnf-automatic 도구를 사용하여 CentOS 및 RHEL 리눅스에서 보안 업데이트를 주기적으로 확인하고 자동으로 설치하는 방법을 단계별로 살펴봅니다.

CentOS 7 / RHEL 7에서 yum-cron으로 자동 업데이트 구성하기

CentOS 7 또는 RHEL 7에서 자동 업데이트를 설정하려면 yum-cron 도구를 사용하면 됩니다. 다음 명령으로 설치할 수 있습니다:

# yum install -y yum-cron

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

패키지 설치가 완료되면 설정 파일을 편집합니다:

# nano /etc/yum/yum-cron.conf

설정 파일에서 아래 항목을 다음과 같이 변경합니다:

update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

이 설정은 보안 업데이트만 자동으로 다운로드하고 설치한다는 의미입니다. 나머지 일반 업데이트는 자동 설치 대상에서 제외되며, 필요할 때 관리자가 직접 설치할 수 있습니다.

업데이트 범위 세부 조정 옵션

update_cmd 값은 목적에 따라 다음과 같이 변경할 수 있습니다:

  • security-severity:Critical – 심각도가 '중요(Critical)'인 보안 업데이트만 설치
  • minimal-security – 버그 수정과 보안 업데이트를 함께 설치
  • minimal-security-severity:Critical – 버그 수정과 중요(Critical) 보안 업데이트만 설치

이메일 알림 설정

서버에 메일 전송 에이전트(MTA)가 구성되어 있다면, 지정한 이메일 주소로 업데이트 알림을 자동 발송하도록 설정할 수 있습니다:

emit_via = email
email_from = server32@localhost
email_to = update_alerts@woshub.com
email_host = smtpgw.woshub.com

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

특정 패키지 제외하기

자동 업데이트에서 제외하고 싶은 패키지가 있다면 [base] 섹션의 exclude 필드에 패키지 이름을 추가하면 됩니다. 예를 들어:

exclude= mysql* kernel* php*

설정을 저장한 뒤 yum-cron 서비스를 시작하고 부팅 시 자동 실행되도록 등록합니다:

# systemctl start yum-cron
# systemctl enable yum-cron

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

보안 업데이트 설치 내역은 이메일로 확인하거나 로그 파일 /var/log/yum.log에서 검토할 수 있습니다. 로그에 시간이 정확하게 기록되도록 하려면, 리눅스 장비의 시스템 시간이 신뢰할 수 있는 NTP 서버와 동기화되어 있는지 확인하세요.

yum-security 패키지 오류 해결

리눅스 인스턴스에 yum-security 도구가 없는 경우가 있습니다. 이때 아래 명령을 실행하면 오류가 발생할 수 있습니다:

# yum upgrade --security

Command line error: no such option: --security

이 문제는 해당 패키지를 설치하면 해결됩니다:

# yum install -y yum-security

CentOS 8 / RHEL 8에서 dnf-automatic으로 자동 보안 업데이트 구성하기

CentOS 8과 RHEL 8에서는 yum 패키지 관리자가 dnf로 대체되었으며, 패키지 설치·업데이트·삭제에는 dnf 사용이 권장됩니다(다만 yum은 여전히 dnf에 대한 심볼릭 링크로 동작합니다). 보안 업데이트 자동 설치를 구성하려면 먼저 dnf-automatic을 설치합니다:

# dnf install -y dnf-automatic

명령 실행 후 dnf-automatic이 설치되고 일부 패키지가 함께 업데이트됩니다.

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

dnf-automatic의 설정 파일은 /etc/dnf/automatic.conf입니다:

# nano /etc/dnf/automatic.conf

설정 파일에서 아래 옵션을 변경합니다:

upgrade_type = security
download_updates = yes
apply_updates = yes
emit_via = email
email_from = server2@localhost

이메일 알림을 받으려면 사용 중인 SMTP 서버 주소를 함께 입력해야 합니다.

이제 dnf-automatic 타이머 서비스를 시작하고 활성화합니다:

# systemctl start dnf-automatic.timer
# systemctl enable dnf-automatic.timer

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

등록된 자동 업데이트 작업은 다음 명령으로 확인할 수 있습니다:

# systemctl list-timers *dnf*

RHEL/CentOS 자동 보안 업데이트 설정 가이드: yum-cron부터 dnf-automatic까지

업데이트 기록은 이메일로 받아보거나 로컬 로그 파일 /var/log/dnf.rpm.log에서 확인할 수 있습니다.

마무리: 자동 업데이트, 언제 사용해야 할까?

보안 업데이트와 버그 수정을 최대한 빠르게 적용하는 자동 업데이트는 인터넷에 노출된 리눅스 서버의 보안 수준을 크게 향상시킵니다. 다만 대부분의 경우 관리자의 검토 없이 운영(프로덕션) 서버에 자동으로 업데이트를 적용하는 것은 바람직하지 않습니다. 그러나 서비스 중단 위험보다 보안 위협이 더 크거나 즉각적인 패치가 필수적인 환경이라면, 자동 업데이트가 현실적이고 효과적인 선택이 될 수 있습니다.