KISA 기반 Rocky Linux 9 보안취약점 점검

반응형
KISA 기반 Rocky Linux 9 보안취약점 점검 가이드 — 점검 항목·해석·조치

KISA 기반 Rocky Linux 9 보안취약점 점검 가이드

이 문서는 KISA(checklist) 기준에 따라 Rocky Linux 9 운영체제에서 수행해야 할 점검 항목을 정리한 실무 가이드입니다. 사용자가 보유한 점검 스크립트(예: KISA 기반)를 실행하고 결과를 해석해 조치할 때 참고할 수 있도록 원인 → 분석 → 조치 → 결과 흐름으로 구성했습니다.

요약

목적 : KISA 취약점 점검 항목에 따른 취약 요소 식별 및 우선 대응안 제시
대상 : Rocky Linux 9 (서버/VM) 운영체제
전제 : 점검 스크립트는 이미 보유(스캔만 수행). 이 문서는 결과 해석·우선순위 조치 및 운영 반영 방법을 다룸.

원인 — 왜 점검이 필요한가

  • 공격 표면 증가: 불필요한 서비스·열린 포트, 패치 미적용으로 취약점 악용 가능.
  • 설정 미흡: SSH 약한 설정, 잘못된 sudoers, 비활성화되지 않은 루트 원격 접속 등.
  • 감사 부재: auditd/rsyslog 비활성화 또는 로그 보존 정책 부재로 사고 추적 불가.
  • FRA/디스크·권한 문제: 로그·디스크 과부하 시 서비스 장애·데이터 손상 유발.

분석 — KISA 점검 스크립트가 보통 무엇을 확인하는가

아래 항목은 KISA 기준과 일반 하드닝 체크리스트에서 공통으로 요구하는 핵심 점검 항목들입니다. (스캔 결과는 심각도별로 분류되어야 함)

카테고리점검 항목설명 / 위험
계정·인증루트 원격 로그인 허용 여부, sudo 설정원격 루트 허용 시 획득 즉시 전체 권한 획득 가능
패치·패키지보안 업데이트 미적용 패키지CVE로 인한 원격실행/권한상승 위험
네트워크열린 포트(서비스), 방화벽 설정(firewalld)불필요 포트는 차단 필요
원격접속SSH 설정(Protocol, PermitRootLogin, PasswordAuthentication)약한 인증은 무차별 대입·정보노출 위험
보안기능SELinux 활성화/모드, Secure Boot비활성화 시 권한오용 방지 기능 상실
로그·감사auditd, rsyslog 구동·로그 보존사고 발생 시 포렌식 불가
무결성AIDE/Tripwire 등 파일무결성 툴 점검루트킷/무단변조 탐지 필수
구성관리비밀번호 정책, PAM 설정약한 암호는 계정탈취로 이어짐
서비스불필요 데몬(ftp, telnet 등) 설치 여부레거시 서비스는 취약점 노출 소스

조치 — 발견 시 우선순위별 권고 행동

긴급(Immediate) — 발견 즉시 조치

  • 패치 미적용으로 원격 코드 실행 취약점 발견 → 즉시 패치(또는 취약 서비스 차단).
  • 루트 원격 로그인 허용 → `/etc/ssh/sshd_config`에서 `PermitRootLogin no` 설정 후 `systemctl restart sshd`.
  • 공개 포트에서 고위험 서비스 확인 → 방화벽 차단(`firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="XXX" protocol="tcp" reject'`) 또는 서비스 중지.

우선(High) — 24시간 내 적용 권고

  • SELinux 비활성 → `setenforce 1`(임시), `/etc/selinux/config`에서 `SELINUX=enforcing`로 영구 설정 및 정책 점검.
  • 로그 비활성·저장기간 미설정 → `rsyslog`/`auditd` 활성화, 원격 로그서버 전송 구성.
  • 파일 무결성 툴 부재 → AIDE 설치 및 데이터베이스 초기화 후 주기 검증 스케줄 등록.

중기(Medium) — 운영 정책 개선

  • 계정 관리 정책 강화(비밀번호 복잡도, 최대 로그인 실패 횟수, 계정 자동 잠김).
  • 사용자별 최소 권한 원칙 적용과 정기적 계정 리뷰.
  • 보안 패치 자동화(DNF-automatic) 또는 중앙 패치 관리 도입.

실무 팁 — 점검 스크립트 결과 해석 예

점검 스크립트 실행 후 흔히 볼 수 있는 예시와 해석 방법입니다.

# 예시: sshd 설정 체크 결과 (스크립트 출력)
[WARN] /etc/ssh/sshd_config: PermitRootLogin yes
[OK] PasswordAuthentication no
[WARN] Protocol 2 (ok)  

# 해석:
# - PermitRootLogin yes : 즉시 수정 권고 (심각)
# - PasswordAuthentication no : 패스워드 인증 차단되어 있음 (양호)

각 항목에 대해 심각도(Critical / High / Medium / Low)를 매겨 담당자 알림(티켓 발행) 후 조치 추적을 권장합니다.

운영 반영 및 자동화

  1. 주간/월간 점검 스케줄 등록 (cron/systemd timer)
  2. 점검 결과를 중앙 로깅으로 집계 — SIEM 또는 ELK 연동
  3. 심각도 기준 이상 항목은 자동 알림(메일/SMS/슬랙) 발송
  4. 패치·구성 변경은 IaC(Ansible/Terraform)로 관리하여 재현성 확보

검증 및 재점검

조치 후에는 반드시 다음을 수행하세요:

  • 동일 스크립트 재실행으로 문제 해결 여부 확인
  • 로그(예: `/var/log/secure`, `/var/log/audit/audit.log`)에서 이상징후(비정상 로그인, 권한 상승 시도) 확인
  • 취약점 패치 적용 후 서비스 영향성 테스트(성능/연동) 수행

샘플 보고서(권장 항목)

점검 결과를 아래 항목으로 구조화해 보고하면 실무에서 유용합니다.

  • 대상 서버(호스트명 / IP / OS 버전)
  • 점검 일시 및 점검 스크립트 버전
  • 발견 항목(심각도/설명/명령어·로그 스니펫)
  • 권고 조치(담당자, 마감일)
  • 조치 완료 여부 및 재검증 결과
{
  "host":"srv-db-01",
  "os":"Rocky Linux 9.2",
  "scan_time":"2025-11-10T09:00:00+09:00",
  "results":[
    {"id":"SSH-001","severity":"Critical","desc":"PermitRootLogin yes","recommend":"Set PermitRootLogin no and restart sshd"},
    {"id":"PATCH-045","severity":"High","desc":"httpd-2.4.x CVS vulnerability - needs update","recommend":"dnf update httpd"}
  ]
}

긴급 침해의심 시(Incident 대응 간단 흐름)

  1. 네트워크 격리(의심 호스트 → 호스트 격리 또는 포트 차단)
  2. 포렌식 이미지 생성(디스크 스냅샷 또는 EBS snapshot)
  3. 중요 로그 수집(`/var/log/audit/*`, `/var/log/secure`)
  4. 임시 계정/크리덴셜 무효화 및 비밀번호 변경
  5. 외부 전문가 / CERT / 법규준수 팀 통보

결론 — 점검은 시작, 운영(재현·자동화)이 핵심

KISA 기반 점검 스크립트는 취약점을 빠르게 드러내는 유용한 도구입니다. 하지만 스캔 결과를 단발성으로 끝내지 말고, 우선순위별 조치 → 재검증 → 자동화→ 문서화의 사이클로 운영하는 것이 중요합니다. 특히 Rocky 9 환경에서는 SELinux, firewalld, auditd 등 기본 보안 구성요소가 정상 동작하는지 주기적으로 확인하세요.

권장 액션: 점검 스크립트 실행 결과를 티켓화(심각도 표기)하여 24시간 내 긴급 항목 처리, 7일 내 High 항목 처리.

[Rocky 9계열 보안 취약점 점검 스크립트]

Rocky9계열 보안취약점 점검 스크립트.txt
0.03MB

반응형
LIST