Rocky8 취약점 패키지 조치

반응형

Rocky Linux 8 대상 서버에서 RLSA-2025 보안 권고에 따라 webkit2gtk3, binutils, container-tools:rhel8, curl 패키지를 기준 버전 이상으로 업데이트하는 점검·복구·재발 방지 절차를 정리합니다

Rocky8 취약점 패키지 조치

Rocky8 취약점 패키지 조치

대상 Rocky Linux 8
구분 보안취약점 조치 안내(RLSA-2025)
핵심 패키지 버전 기준 충족 여부 점검 후 업데이트 수행
주의 운영 반영 전 영향도 점검 및 롤백 대비 필수

본 문서는 Rocky8 대상 서버에서 공지된 보안 권고(RLSA-2025)에 따라 패키지 버전을 점검하고, 기준 버전 미만이면 안전하게 업데이트하는 일반오류형(확장형) 대응 절차입니다.
점검 결과/증빙이 남도록 “현재 버전 확인 → 업데이트 대상 확인 → 반영 → 재점검” 순서로 진행합니다.

개요

취약점 조치에서 가장 흔한 실패 원인은 “패키지명은 맞는데 모듈(스트림) 또는 저장소가 달라서 기대 버전이 안 나오는” 경우입니다.
Rocky8은 dnf 모듈 스트림(container-tools:rhel8 등)과 저장소 구성에 따라 업데이트 결과가 달라질 수 있어, 업데이트 전에 현재 설정을 확인하고 필요 시 모듈/리포지토리 정합성을 맞춰야 합니다.

1) OS/커널/리포지토리/모듈 스트림 상태 확인
2) 취약 패키지 현재 버전 확인(rpm -q / dnf info)
3) 권고 기준 버전 이상 가능 여부 확인(dnf list --updates / advisory 확인 가능 시 확인)
4) 업데이트 수행(패키지 단위 또는 보안 업데이트 단위)
5) 서비스 영향 점검 및 재발 방지 적용(정기 점검/자동화)

환경

항목 값(예시/기록)
대상 OS Rocky Linux 8
패키지 관리자 dnf (yum 호환)
권고 항목 RLSA-2025 보안 업데이트
점검 방식 현재 버전(rpm -q) vs 기준 버전 비교 + 업데이트 가능 여부 확인

증상

보안 공지 또는 내부 점검 결과에서 아래 패키지에 대해 “기준 버전 이상으로 업데이트” 요청이 발생합니다.

항목 권고 ID 기준 버전(이상) 조치 요약
webkit2gtk3 RLSA-2025:23663 >= 2.50.4-1 버전 확인 후 기준 미만이면 업데이트
binutils RLSA-2025:23382 >= 2.30-128 툴체인 영향도 고려 후 업데이트
container-tools:rhel8 RLSA-2025:23543 관련 패키지 전체 모듈 스트림 기준으로 연관 패키지 일괄 업데이트
curl RLSA-2025:23383 >= 7.61.1-34 curl 및 라이브러리 의존성 포함 업데이트

1차 점검

1차 점검은 “현재 상태”를 정확히 기록하는 단계입니다.
아래 명령으로 OS 버전/리포지토리/모듈 스트림/패키지 버전을 함께 확보하면, 업데이트 실패 시 원인 추적이 쉬워집니다.

1) OS 및 리포지토리 기본 상태

# OS 버전
cat /etc/os-release

# 활성 리포지토리 확인
dnf repolist

# 업데이트 후보 확인(요약)
dnf check-update || true

2) 모듈 스트림 확인(container-tools 관련)

# 모듈 리스트 확인
dnf module list container-tools

# 현재 활성/설치 상태 확인(표시를 보고 rhel8 스트림 여부 기록)
dnf module info container-tools:rhel8 || true

3) 패키지 현재 버전 확인

# 현재 설치 버전 확인
rpm -q webkit2gtk3
rpm -q binutils
rpm -q curl

# container-tools 관련 패키지(설치된 것만 출력)
rpm -qa | egrep -i 'podman|buildah|skopeo|runc|conmon|containers-common|containerd|crun|slirp4netns|fuse-overlayfs' | sort
기록 팁: 결과를 그대로 남기기 위해 명령 실행 로그(터미널 캡처 또는 출력 저장)를 함께 보관하는 방식이 좋습니다.
특히 container-tools는 단일 패키지보다 연관 패키지 묶음으로 관리되는 경우가 많아, 목록을 통째로 남겨두는 편이 유리합니다.

심화 분석

기준 버전 업데이트가 바로 되지 않거나, 업데이트 후보가 보이지 않으면 아래 항목을 점검합니다.

- 저장소 구성: 보안 업데이트를 포함한 리포지토리가 활성화되어 있는지
- 모듈 스트림: container-tools가 rhel8 스트림으로 일관되게 활성화/설치되어 있는지
- 고정(hold) 또는 exclude 설정: dnf.conf, repo 파일에서 특정 패키지가 제외되지 않았는지
- 미러 동기화 지연: 사설 미러/프록시 사용 시 최신 패키지가 아직 반영되지 않았는지
# exclude 설정 확인(예시)
grep -RniE "exclude=.*(curl|binutils|webkit2gtk3|podman|buildah|skopeo)" /etc/dnf /etc/yum* /etc/dnf.conf /etc/yum.conf 2>/dev/null || true

# 업데이트 후보 상세 확인
dnf list --updates | egrep -i "webkit2gtk3|binutils|curl|podman|buildah|skopeo|containers-common|runc|conmon" || true

복구

복구 단계는 업데이트 적용입니다.
운영 환경에서는 “사전 검증 → 업데이트 → 재기동 필요 여부 확인 → 재점검”을 한 사이클로 묶어 진행합니다.

1) 사전: 트랜잭션 미리보기

# 어떤 패키지가 함께 올라가는지 확인(다운로드/설치 전 시뮬레이션 성격)
dnf update --assumeno webkit2gtk3 binutils curl

# container-tools 관련은 묶음이 커질 수 있어 업데이트 후보를 먼저 확인
dnf update --assumeno podman buildah skopeo containers-common conmon runc crun || true

2) 업데이트 수행

- 패키지 단위 업데이트(webkit2gtk3/binutils/curl)
- container-tools는 rhel8 기준으로 연관 패키지 전체 업데이트(환경에 맞게)
# 1) 개별 패키지 업데이트
dnf -y update webkit2gtk3 binutils curl

# 2) container-tools 관련 패키지 업데이트(설치된 구성에 맞게)
# 아래 목록은 흔히 함께 움직이는 구성요소 예시이며, 실제 설치 패키지 기준으로 조정합니다.
dnf -y update podman buildah skopeo containers-common conmon runc crun slirp4netns fuse-overlayfs || true

# 3) 필요 시 전체 보안 업데이트(운영 정책에 따라)
# dnf -y update --security

3) 반영 후 재점검

rpm -q webkit2gtk3
rpm -q binutils
rpm -q curl

rpm -qa | egrep -i 'podman|buildah|skopeo|runc|conmon|containers-common|crun|slirp4netns|fuse-overlayfs' | sort

# 필요 시 재부팅 여부(커널/핵심 라이브러리 업데이트 시)
# dnf needs-restarting -r  (yum-utils 패키지 필요할 수 있음)
curl 업데이트는 curl 바이너리뿐 아니라 libcurl이 함께 바뀌는 경우가 많습니다.
애플리케이션이 libcurl에 의존하는 경우, 운영 반영 후 통신 기능(HTTPS 호출 등) 헬스체크를 반드시 포함하세요.

재발 방지

Rocky8 취약점 조치를 반복적으로 안정화하려면, “정기 점검 + 업데이트 창(maintenance window) + 증빙 자동화”가 효과적입니다.

1) 월간/분기별: 주요 패키지(curl, binutils 등) 버전 기준 점검 자동화
2) container-tools는 모듈 스트림을 표준화(서버군별 rhel8 고정 등)하여 편차 축소
3) dnf exclude/lock 정책을 문서화하고 예외 승인 절차를 둠
4) 업데이트 후 기본 헬스체크(컨테이너 런타임, TLS 통신, 시스템 명령) 수행 항목 고정
5) 사설 미러 사용 시: 동기화 주기 및 최신 반영 SLA를 운영 정책에 포함

오류 분석 흐름도

┌──────────────────────────────────────────────┐
│ 시작: Rocky8 보안취약점 조치 요청(RLSA-2025)   │
└──────────────────────────────────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────────┐
│ 1) 기본 정보 수집                             │
│ - OS/Repo/Module 상태 + 패키지 현재 버전       │
└──────────────────────────────────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────────┐
│ 2) 기준 버전 비교                             │
│ - webkit2gtk3 >= 2.50.4-1                      │
│ - binutils >= 2.30-128                         │
│ - curl >= 7.61.1-34                            │
│ - container-tools:rhel8 관련 패키지 전체       │
└──────────────────────────────────────────────┘
          │                         │
          │ 기준 미달               │ 기준 충족
          ▼                         ▼
┌──────────────────────────────┐   ┌──────────────────────────────┐
│ 3) 업데이트 가능 여부 확인     │   │ 3) 증빙 정리 및 종료           │
│ - repo/모듈 스트림/exclude     │   │ - 점검 로그 보관               │
└──────────────────────────────┘   └──────────────────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────────┐
│ 4) 업데이트 수행(dnf update)                   │
│ - 개별 패키지 + container-tools 연관 패키지    │
└──────────────────────────────────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────────┐
│ 5) 재점검 및 헬스체크                          │
│ - rpm -q / 기능 점검 / 재부팅 필요 여부         │
└──────────────────────────────────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────────┐
│ 6) 재발 방지(정기 점검/표준화/변경관리)         │
└──────────────────────────────────────────────┘

정리: Rocky8 보안취약점 조치는 “현재 버전 확인 → repo/모듈 스트림 정합성 → 업데이트 → 재점검”이 핵심입니다.
특히 container-tools:rhel8은 연관 패키지 전체 업데이트 요구가 많으므로, 설치 패키지 목록을 기준으로 일괄 업데이트와 헬스체크를 함께 묶어 운영하는 편이 안전합니다.

반응형