IT Knowledge/Security/images/30-취약점-관리-및-패치-diagram.svg

취약점 관리 및 패치 (Vulnerability Management)

취약점 스캐, 평가, 패치 관리 프로세스를 이해합니다.

📌 학습 목표

  • 취약점 스캔 도구 사용
  • 취약점 심각도 평가
  • 패치 관리 프로세스 이해
  • 취약점 완화 전략 수립
  • 자동화된 패치 구현

1. 취약점 관리 개요

정의

정보 시스템의 취약점을 식별, 평가, 완화, 모니터링하는 프로세스입니다.

취약점 관리 수명주기

graph TD
    A[자산 식별] --> B[취약점 스캔]
    B --> C[취약점 식별]
    C --> D[심각도 평가]
    D --> E{위험 분석}
    E -->|높음| F[우선 완화]
    E -->|중간| G[계획적 완화]
    E -->|낮음| H[수용]
    F --> I[패치 적용]
    G --> I
    H --> J[문서화]
    I --> K[완화 확인]
    K --> L[재스캔]

2. 취약점 스캔 도구

Nessus

설치

# Nessus Scanner 설치 (Linux)
wget https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.6.4-ubuntu1404_amd64.deb
sudo dpkg -i Nessus-10.6.4-ubuntu1404_amd64.deb
 
# Nessus 서비스 시작
sudo systemctl start nessusd
 
# 웹 인터페이스 접속
https://localhost:8834

스캔 구성

<!-- Nessus 스캔 정책 -->
<policy name="Basic Scan">
  <preference>
    <name>Basic Network Scan</name>
    <type>Server Defaults</type>
  </preference>
 
  <preferences>
    <preference>
      <name>portscan_range</name>
      <type>entry</type>
      <value>default</value>
    </preference>
 
    <preference>
      <name>safe_checks</name>
      <type>checkbox</type>
      <value>yes</value>
    </preference>
  </preferences>
</policy>

OpenVAS

설치

# OpenVAS 설치
sudo apt-get update
sudo apt-get install openvas
 
# OpenVAS 서비스 시작
sudo gvm-start
 
# 초기화
sudo gvm-setup
 
# 웹 인터페이스 접속
https://localhost:9392

스캔 실행

# 스캔 대상 생성
sudo gvm-cli --gmp-username admin --gmp-password admin \
  --create-target 192.168.1.0/24 Network-Segment-1
 
# 스캔 작업 생성
sudo gvm-cli --gmp-username admin --gmp-password admin \
  --create-task "Network Scan" 08b69003-5fc2-4032-a37d-0b6ef75e7648 08b69003-5fc2-4032-a37d-0b6ef75e7649
 
# 스캔 시작
sudo gvm-cli --gmp-username admin --gmp-password admin \
  --start-task 08b69003-5fc2-4032-a37d-0b6ef75e764a

Nmap

취약점 스크립트

# Nmap 스크립트 스캔
nmap --script=vuln -p 80,443 192.168.1.1
 
# 특정 취약점 스크립트
nmap --script=smb-vuln-ms17-010 192.168.1.100
 
# HTTP 취약점 스캔
nmap --script=http-vuln-cve2021-XXXX 192.168.1.1

3. 취약점 심각도 평가

CVSS (Common Vulnerability Scoring System)

CVSS 등급

등급점수설명수정 우선순위
Critical9.0-10.0원격 코드 실행 가능즉시
High7.0-8.9권한 상승 가능48시간 내
Medium4.0-6.9정보 노출 가능1주 내
Low0.1-3.9마이너한 문제정기 업데이트

CVSS v3.1 구성

CVSS v3.1:
├── 기본 (Base) 점수
│   ├── 공격 벡터 (AV): N/A, L, A, P
│   ├── 공격 복잡도 (AC): L, H
│   ├── 권한 요구 (PR): N, L, H
│   ├── 사용자 상호작용 (UI): N, R
│   ├── 영향 (C/I/A): H, L, N
│   └── 영향 범위 (S/C): U, C
├── 시간적 (Temporal) 점수
│   ├── 익스플로잇 코드 maturity (E, F, P, H, U)
│   ├── 구제 수준 (X, U, W, F, P)
│   └── 신뢰도 (U, R, C)
└── 환경적 (Environmental) 점수
    ├── 가치 점수
    └── 가용성 점수

예시: CVE-2023-XXXX

CVE: CVE-2023-XXXX
CVSS v3.1 Base Score: 9.8 (CRITICAL)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

- AV: Network (네트워크)
- AC: Low (낮은 복잡도)
- PR: None (권한 필요 없음)
- UI: None (사용자 상호작용 필요 없음)
- S: Unchanged (영향 범위 변경 없음)
- C: High (높은 기밀성 영향)
- I: High (높은 무결성 영향)
- A: High (높은 가용성 영향)

4. 패치 관리 프로세스

패치 관리 절차

1. 패치 발견
   - CVE 알림
   - 벤더 보안 공지
   - 자동 스캔

2. 패치 평가
   - 심각도 평가
   - 영향 분석
   - 테스트 환경 확인

3. 패치 테스트
   - 스테이징 환경
   - 호환성 테스트
   - 성능 영향 테스트

4. 패치 배포
   - 유지보수 기간
   - 롤백 계획
   - 모니터링

5. 완화 확인
   - 재스캔
   - 보안 정책 확인
   - 로그 검토

패치 전략

전략설명사용 사례
즉시 패치Critical/High 취약점원격 코드 실행
정기 패치Medium 취약점월간 업데이트
업그레이드구 버전/지원 종료OS 업그레이드
완화 조치패치 불가능 시방화벽 규칙, 워크어라운드

워크어라운드 예시

# CVE-2023-XXXX (예: Apache 취약점)
# 패치가 없는 경우 워크어라운드 적용
 
# 웹 서버에서 취약한 모듈 비활성화
sudo a2dismod vulnerable_module
 
# 방화벽에서 취약한 포트 차단
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
 
# 모니터링 강화
tail -f /var/log/apache2/access.log | grep "vulnerable_pattern"

5. 자동화된 패치

Linux (APT)

# 자동 업데이트 설정 (Debian/Ubuntu)
sudo apt-get install unattended-upgrades
 
# 설정
sudo dpkg-reconfigure -plow unattended-upgrades
 
# 자동 업데이트 테스트
sudo unattended-upgrades -d

Windows (WSUS)

# WSUS 클라이언트 설정
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
  -Name UseWUServer -Value 1
 
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
  -Name WUServer -Value "http://wsus-server:8530"
 
# 자동 업데이트 확인
Get-WindowsUpdateLog

패치 관리 도구

도구설명플랫폼
WSUSWindows 업데이트 서버Windows
SCCMMicrosoft System CenterWindows
YUM / APT패키지 관리자Linux
Spacewalk오픈 소스 패치 관리Linux
Ansible구성 관리 및 패치크로스 플랫폼

6. 취약점 보고서

보고서 구조

# 취약점 보고서
 
## 개요
- 스캔 대상: 192.168.1.0/24
- 스캔 기간: 2024-01-29 ~ 2024-01-30
- 발견된 취약점: 23개
 
## 심각도 요약
- Critical: 3개
- High: 7개
- Medium: 10개
- Low: 3개
 
## 상위 취약점
| CVE | 등급 | 영향 | 해결 방안 |
|------|------|------|-----------|
| CVE-2023-XXXX | Critical | Apache | 패치 2.4.57 |
| CVE-2023-YYYY | High | MySQL | 패치 8.0.32 |
| CVE-2023-ZZZZ | High | OpenSSL | 패치 3.0.8 |
 
## 완화 계획
1. Critical 취약점: 48시간 내 완화
2. High 취약점: 1주 내 완화
3. Medium 취약점: 월간 패치 주기

🎯 실습 과제

1. Nessus 스캔

# 1. Nessus 설치 및 시작
# 2. 스캔 대상 등록
# 3. 스캔 실행
# 4. 보고서 다운로드

2. OpenVAS 스캔

# 1. OpenVAS 설치
sudo apt-get install openvas
sudo gvm-start
 
# 2. 타겟 생성
# 3. 스캔 실행
# 4. 결과 확인

3. 자동 패치 설정

# Linux
sudo apt-get install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
 
# 확인
cat /etc/apt/apt.conf.d/50unattended-upgrades

✅ 학습 체크리스트

  • 취약점 관리 수명주기 이해
  • Nessus/OpenVAS 설치 및 사용
  • Nmap 취약점 스크립트 사용
  • CVSS 점수 평가 능력
  • 패치 관리 프로세스 이해
  • 워크어라운드 구현 능력
  • 자동화된 패치 구현
  • 취약점 보고서 작성

🔗 관련 노트

📚 참고 자료


다음 학습: 위협 인텔리전스