CentOS에서 보안 업데이트(보안 패치)를 안전하게 적용하는 방법을 정리했습니다. CentOS Stream과 구형 CentOS Linux(특히 7)에서 업데이트 방식이 어떻게 다른지, dnf/yum 업데이트 절차, 자동 업데이트 설정(dnf-automatic), 커널 업데이트 후 재부팅 기준, 운영 중 서버에서 안전하게 적용하는 체크리스트까지 따라하기로 안내합니다.
1. 시작 전: 내 CentOS가 “Stream”인지 “Linux(구버전)”인지 확인
보안 업데이트 방법은 배포판 계열에 따라 달라집니다. 먼저 버전부터 확인하세요.
- 버전 확인
cat /etc/os-release
핵심 분기
- CentOS Linux 7: 2024-06-30 이후 공식 보안 업데이트가 종료(EOL)된 상태라 “업데이트로 보안 유지”가 사실상 불가능합니다.
- CentOS Stream 8/9/10: dnf 기반으로 최신 업데이트를 받는 구조입니다(보안 패치도 일반 업데이트에 포함).
2. 가장 안전한 기본 원칙: “정기 전체 업데이트”가 보안 업데이트
CentOS 계열은 보안 패치가 별도로 떨어져 나오기보다 일반 업데이트(업데이트 전체) 에 포함되는 경우가 많습니다.
즉, 보안을 위해선 아래 루틴이 가장 기본입니다.
- 패키지 목록 갱신 + 전체 업데이트
CentOS Stream (dnf)sudo dnf clean allsudo dnf makecachesudo dnf -y upgrade
구형 yum 계열(남아있는 환경)sudo yum clean allsudo yum makecachesudo yum -y update
팁
운영 서버라면 먼저 “업데이트 목록 확인” → 영향 큰 패키지(커널/openssl/sshd 등) 체크 → 적용 순서가 안전합니다.dnf check-update 또는 yum check-update
3. “보안 업데이트만” 가능한가? (가능/불가 케이스 정리)
여기서 많이 헷갈립니다. 결론부터 정리하면:
- RHEL 계열(정식)처럼 updateinfo(보안 공지 메타데이터)가 있는 환경:
dnf update --security같은 방식이 동작합니다. - CentOS Stream: updateinfo 메타데이터가 부족한 경우가 많아 “보안 업데이트만 골라서 자동 적용”이 제대로 안 될 수 있습니다. 그래서 실무에서는 전체 업데이트를 정기적으로 적용하는 운영이 일반적입니다.
그래도 보안 우선 운영을 하고 싶다면
- “보안 패치만”이 아니라 보안에 직접 영향이 큰 패키지(커널, openssl, openssh, glibc 등) 업데이트 여부를 먼저 확인하고, 점검 후 전체 업데이트를 적용하는 방식이 안정적입니다.
4. 운영 서버에서 안전하게 적용하는 절차(점검 → 적용 → 검증)
운영 중 서버에서 가장 중요한 건 “서비스 안 죽게” 입니다. 아래 순서를 추천합니다.
- 변경 영향 확인
- 업데이트 예정 패키지 확인
dnf updateinfo가 없으면dnf check-update로 대략적인 범위를 확인
- 스냅샷/백업 확보(가능하면)
- VM이면 스냅샷, 물리면 중요한 설정/데이터 백업
- 업데이트 적용
sudo dnf -y upgrade - 재시작/재부팅 판단
- 커널/시스템 라이브러리(특히 glibc) 업데이트가 있으면 재부팅 권장
- 서비스만 재시작해도 되는 경우(예: httpd/nginx 업데이트)는 해당 서비스 재시작
- 적용 확인
- 업데이트된 패키지 확인
dnf history - 서비스 상태 확인
systemctl status 서비스명
5. 자동 업데이트(dnf-automatic)로 “정기 패치” 만들기
수동 업데이트는 잊기 쉬워서, 서버 보안은 결국 “루틴”이 답입니다.
CentOS Stream 기준(예시 흐름)
- dnf-automatic 설치
sudo dnf install -y dnf-automatic - 자동 업데이트 설정
- 보통
/etc/dnf/automatic.conf에서 설정 - 운영 서버라면 “자동 설치”보다는 자동 다운로드 + 알림, 혹은 주간 점검 후 수동 적용이 더 안전한 경우가 많습니다.
- 타이머 활성화
sudo systemctl enable --now dnf-automatic.timer
팁
업무 서버(특히 DB/중요 서비스)는 “무조건 자동 설치”보다
- 테스트 서버에 먼저 적용 → 문제 없으면 운영 반영
이 흐름이 안정적입니다.
6. CentOS Linux 7(구버전) 보안 업데이트 현실적인 대응
CentOS Linux 7은 공식 보안 업데이트가 종료된 상태라, “yum update로 보안 유지”가 어렵습니다. 이 경우 선택지는 보통 아래 2가지입니다.
- 지원되는 OS로 마이그레이션
- CentOS Stream 9/10 또는 동급 대체 배포판(RHEL 계열 호환 배포판 등)로 이전
- 장기적으로 가장 깔끔하고 보안 리스크가 낮습니다.
- 유료/확장 지원(ELS 등) 검토
- 당장 이전이 어려운 경우 임시 방편으로 선택
현실 팁
“보안 업데이트가 끊긴 OS”를 계속 운영하면, 시간이 지날수록 취약점이 누적돼 위험도가 올라갑니다. 가능하면 일정 잡아서 이전 계획을 세우는 게 안전합니다.
✅ 장점과 단점 총정리(한눈에 체크)
장점
✔ 정기 업데이트만으로 보안 패치가 자연스럽게 반영됨
✔ dnf-automatic 등으로 운영 루틴화 가능
✔ 커널/openssl 등 핵심 패키지 관리로 사고 확률을 낮출 수 있음
단점
✘ CentOS Stream은 “보안 업데이트만 골라 적용”이 깔끔하지 않을 수 있음
✘ 운영 서버는 업데이트가 곧 서비스 영향이라 검증/롤백 체계가 필요
✘ CentOS Linux 7은 공식 보안 업데이트가 끝나 대응이 제한적
6. 자주 묻는 질문(FAQ)
Q1. “보안 업데이트만” 설치하고 싶은데 가능한가요?
A1. 배포판/리포지토리에 보안 메타데이터(updateinfo)가 충분히 제공되어야 가능합니다. CentOS Stream은 환경에 따라 이 방식이 잘 안 먹는 경우가 있어, 실무에서는 u003cstrongu003e정기 전체 업데이트 + 핵심 패키지(커널/openssl/openssh) 확인u003c/strongu003e 방식이 더 안정적입니다.
Q2. 업데이트 후 꼭 재부팅해야 하나요?
A2. 커널 업데이트가 있으면 재부팅이 사실상 필요합니다. 그 외에도 glibc 같은 핵심 라이브러리 업데이트가 있으면 재부팅이 권장됩니다. 웹서버/DB처럼 개별 서비스 업데이트만 있는 경우는 해당 서비스 재시작으로 충분한 경우도 많습니다.