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-0b6ef75e764aNmap
취약점 스크립트
# 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.13. 취약점 심각도 평가
CVSS (Common Vulnerability Scoring System)
CVSS 등급
| 등급 | 점수 | 설명 | 수정 우선순위 |
|---|---|---|---|
| Critical | 9.0-10.0 | 원격 코드 실행 가능 | 즉시 |
| High | 7.0-8.9 | 권한 상승 가능 | 48시간 내 |
| Medium | 4.0-6.9 | 정보 노출 가능 | 1주 내 |
| Low | 0.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 -dWindows (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패치 관리 도구
| 도구 | 설명 | 플랫폼 |
|---|---|---|
| WSUS | Windows 업데이트 서버 | Windows |
| SCCM | Microsoft System Center | Windows |
| 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 점수 평가 능력
- 패치 관리 프로세스 이해
- 워크어라운드 구현 능력
- 자동화된 패치 구현
- 취약점 보고서 작성
🔗 관련 노트
📚 참고 자료
다음 학습: 위협 인텔리전스