이것저것

[SK shieldus Rookies 29기] 38일차 본문

SK Shieldus Rookies 29

[SK shieldus Rookies 29기] 38일차

atfield1988 2026. 1. 17. 13:15

오늘 드디어 모듈 프로젝트를 끝냈다!
할 수 있는 역량까지는 모두 보고서에 담아낸 것 같아서 괜찮은 듯 싶다.

아래는 우리가 발표한 보고서의 내용이다!


[결과보고서] 클라우드 인프라 보안 취약점 진단 및 조치

프로젝트명: JM Collection 모듈프로젝트
작성조: 모듈프로젝트_O조
기간: 2025.12.31 ~ 2026.01.06


목차 (Table of Contents)

  1. 프로젝트 개요 (Project Overview)
  2. 위험 관리 및 평가 방법론 (Risk Management)
  3. 기술적 취약점 진단 결과 (Diagnostic Results)
  4. 세부 수행내역 (Detailed Analysis)
  5. 기술적 취약점 종합 평가 점수 (Quantitative Scoring)
  6. 위험 평가 및 우선 순위 도출 (Risk Evaluation)
  7. 보호대책 및 이행 로드맵 (Remediation Roadmap)
  8. 결론 및 제언 (Conclusion)

1. 프로젝트 개요 (Project Overview)

1.1. 배경 및 목적 (Background & Objectives)

디지털 전환 가속화로 기업 핵심 서비스 인프라에 대한 사이버 위협이 고도화되고 있습니다. 특히 클라우드 기반 Web-App(2-Tier) 구조는 외부 공격의 1차 접점(Web)과 중요 데이터 처리 구간(WAS)으로 구성되어 있어, 단일 취약점만으로도 서비스 중단 및 데이터 유출 등 치명적 피해로 이어질 수 있습니다.

본 보고서는 web-ec2was-ec2를 대상으로 ISO/IEC 27001:2022KISA 주요정보통신기반시설 기술적 취약점 분석·평가 기준에 따라 심층 진단을 수행함. 단순 취약점 식별을 넘어 잠재 결함 제거 및 ISMS 인증 기준을 충족하는 지속 가능한 보안 관리체계 수립을 목적으로 합니다.

1.2. 점검 수행 범위 (Scope of Work)

본 프로젝트는 서비스 가용성과 데이터 무결성에 직접적인 영향을 미치는 핵심 서버군을 대상으로 합니다.

구분 대상 자산명 OS 유형 주요 역할 진단 기준
Web web-ec2 Linux (Unix 계열) 대고객 서비스 접점
HTTP 요청 처리
KISA U-01 ~ U-72
(Unix 서버 점검 항목)
Was was-ec2 Windows Server 비즈니스 로직 처리
데이터 연동
KISA W-01 ~ W-80
(Windows 서버 점검 항목)

1.3. 수행절차 (Process)

본 인프라 점검은 ISMS-P 위험 관리 프로세스에 따라 4단계로 진행함.

  1. 현황 분석 (As-Is Analysis): 대상 자산 식별 및 정보보호 관리체계 현황 파악
  2. 위험 평가 (Risk Assessment): 기술적 취약점 스크립트 진단 및 모의 해킹 시나리오 검토
  3. 보호대책 수립 (To-Be Planning): 식별된 위험에 대한 수용 불가 위험(DoA) 선정 및 이행 계획(RTP) 수립
  4. 이행 및 보고 (Reporting): 조치 가이드 배포 및 최종 완료 보고서 작성

1.4. 현황분석 (As-IS Analysis)

1.4.1. 클라우드 아키텍쳐 구성

  1. 네트워크 구성

    • Internet Gateway (IGW) / NAT Gateway: 외부 통신 경로 확보
    • Subnet:
      • Web-sub-1, 2 (Public): EIP 할당 (Web Tier)
      • Was-sub-1, 2 (Private): EIP 미할당 (WAS Tier)
    • Routing Table: Public(IGW 연결) / Private(NAT 연결) 분리
  2. Web Tier

    • ALB: web-tg:80으로 트래픽 분산
    • Security Group: 80 포트(Any Open), Outbound(web-sg)
    • Auto Scaling: Min 1 / Max 3 (Desired 2)
    • Web-EC2: Linux 기반, 정적 콘텐츠 처리
  3. WAS Tier

    • NLB: was-tg:8009으로 트래픽 전달
    • Security Group: 8009 포트(From web-sg Only)
    • Auto Scaling: Min 1 / Max 3 (Desired 2)
    • Was-EC2: Windows 기반, 비즈니스 로직 처리

1.4.2. 정보자산 목록

구분 대상 자산명 OS 유형 주요 역할
Web Server web-ec2 Linux (Unix) 대고객 서비스 접점, HTTP 요청 처리
Was Server was-ec2 Windows Server 비즈니스 로직 처리, 데이터 연동

1.5. 점검 일정

  • 기간: 2025.12.30 ~ 2026.01.06
  • 단계: 대상선정/현황파악(12/30) → 취약점 진단(12/31) → 결과분석(01/05) → 대응방안/보고서(01/06)

1.6. 진단방법

본 평가는 화이트박스(White-box) 방식을 채택하여 관리자 권한(root)을 획득한 상태에서 시스템 내부의 설정 파일, 데몬 실행 상태, 파일 시스템 권한 등을 직접 검증하는 방식으로 진행함
진단 항목의 중요도는 KISA 가이드라인에 따라 상(High), 중(Medium), 하(Low)로 분류하였으며, 본 보고서에서는 시스템 침해사고와 직결될 수 있는 '상(High)' 등급의 항목을 중점적으로 분석함

1.7. 진단항목

판단 기준:
• 양호 (Good): KISA 가이드라인의 보안 요구사항을 충족하거나, 클라우드 환경 특성에 맞는 보완 대책이 수립되어 있는 경우.
• 취약 (Vulnerable): 보안 설정이 적용되어 있지 않거나 미흡하여, 공격자에 의한 악용 가능성이 존재하는 경우.

  1. 진단 기준: KISA 「주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드(2026년)」를 참고하여, 항목 중요도 ‘상’ 기준에 해당하는 Unix 40개 / Windows 32개 진단 항목을 선정함
  2. 법적 근거: 「주요정보통신기반시설 취약점 분석·평가 기준」(과학기술정보통신부 고시 제2025-62호).

Unix 서버 보안 점검 항목

번호 코드 항목 위험도
1 U-01 root 계정 원격 접속 제한
2 U-02 비밀번호 관리정책 설정
3 U-03 계정 잠금 임계값 설정
4 U-04 비밀번호 파일 보호
5 U-05 root 이외의 UID가 ‘0’ 금지
6 U-06 사용자 계정 su 기능 제한
7 U-14 root 홈, 패스 디렉터리 권한 및 패스 설정
8 U-15 파일 및 디렉터리 소유자 설정
9 U-16 /etc/passwd 파일 소유자 및 권한 설정
10 U-17 시스템 시작 스크립트 권한 설정
11 U-18 /etc/shadow 파일 소유자 및 권한 설정
12 U-19 /etc/hosts 파일 소유자 및 권한 설정
13 U-20 /etc/(x)inetd.conf 파일 소유자 및 권한 설정
14 U-21 /etc/(r)syslog.conf 파일 소유자 및 권한 설정
15 U-22 /etc/services 파일 소유자 및 권한 설정
16 U-23 SUID, SGID, Sticky bit 설정 파일 점검
17 U-24 사용자, 시스템 환경변수 파일 소유자 및 권한 설정
18 U-25 world writable 파일 점검
19 U-26 /dev에 존재하지 않는 device 파일 점검
20 U-27 $HOME/.rhosts, hosts.equiv 사용 금지
21 U-28 접속 IP 및 포트 제한
22 U-34 Finger 서비스 비활성화
23 U-35 공유 서비스에 대한 익명 접근 제한 설정
24 U-36 r 계열 서비스 비활성화
25 U-37 crontab 설정파일 권한 설정 미흡
26 U-38 DoS 공격에 취약한 서비스 비활성화
27 U-39 불필요한 NFS 서비스 비활성화
28 U-40 NFS 접근 통제
29 U-41 불필요한 automountd 제거
30 U-42 불필요한 RPC 서비스 비활성화
31 U-43 NIS, NIS+ 점검
32 U-44 tftp, talk 서비스 비활성화
33 U-45 메일 서비스 버전 점검
34 U-46 일반 사용자의 메일 서비스 실행 방지
35 U-47 스팸 메일 릴레이 제한
36 U-49 DNS 보안 버전 패치
37 U-50 DNS Zone Transfer 설정
38 U-59 안전한 SNMP 버전 사용
39 U-61 SNMP Access Control 설정
40 U-64 주기적 보안 패치 및 벤더 권고사항 적용

Windows 서버 보안 점검 항목

번호 코드 항목 위험도
1 W-01 Administrator 계정 이름 변경 등 보안성 강화
2 W-02 Guest 계정 비활성화
3 W-03 불필요한 계정 제거
4 W-04 계정 잠금 임계값 설정
5 W-05 해독 가능한 암호화를 사용하여 암호 저장 해제
6 W-06 관리자 그룹에 최소한의 사용자 포함
7 W-09 비밀번호 관리정책 설정
8 W-15 사용자 개인키 사용 시 암호 입력
9 W-16 공유 권한 및 사용자 그룹 설정
10 W-17 하드디스크 기본 공유 제거
11 W-18 불필요한 서비스 제거
12 W-19 불필요한 IIS 서비스 구동 점검
13 W-20 NetBIOS 바인딩 서비스 구동 점검
14 W-21 암호화되지 않는 FTP 서비스 비활성화
15 W-22 FTP 디렉토리 접근권한 설정
16 W-23 공유 서비스에 대한 익명 접근 제한 설정
17 W-24 FTP 접근 제어 설정
18 W-25 DNS Zone Transfer 설정
19 W-26 RDS(Remote Data Services) 제거
20 W-27 최신 Windows OS Build 버전 적용
21 W-38 주기적 보안 패치 및 벤더 권고사항 적용
22 W-39 백신 프로그램 업데이트
23 W-44 원격으로 액세스할 수 있는 레지스트리 경로
24 W-45 백신 프로그램 설치
25 W-46 SAM 파일 접근 통제 설정
26 W-47 화면보호기 설정
27 W-48 로그온하지 않고 시스템 종료 허용
28 W-49 원격 시스템에서 강제로 시스템 종료
29 W-50 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료
30 W-51 SAM 계정과 공유의 익명 열거 허용 안 함
31 W-52 Autologon 기능 제어
32 W-53 이동식 미디어 포맷 및 꺼내기 허용

2. 위험 관리 및 평가 방법론 (Risk Management)

2.1. 위험 평가 모델 개요

본 인프라 점검은 주관적인 판단을 배제하고 객관적인 의사결정을 지원하기 위해 정량적 위험 평가 모델을 적용함
최종 위험도는 자산의 중요도와 식별된 취약점의 심각도를 조합하여 산출함

Risk Score(위험도) = 자산 중요도(Asset Value) X 취약점 심각도(Vulnerability Severity)

2.2. 자산 중요도 평가 기준 (Asset Value, A)

등급 점수 정의 적용 근거
상 (High) 3 서비스 전면 중단 또는 핵심 기밀 유출 web-ec2, was-ec2 (핵심 인프라)
중 (Medium) 2 일부 기능 저하 또는 내부 업무 데이터 손상 -
하 (Low) 1 대외 영향도 낮음, 단순 정보성 자산 -

2.3. 기술적 취약점 심각도 기준 (Vulnerability Severity, V)

등급 점수 정의 대표 항목
상 (High) 3 [Root/Admin 탈취] 시스템 제어권 획득, 원격 실행 가능 U-01(Root접속), W-18(불필요서비스)
중 (Medium) 2 [정보 유출/우회] 설정 정보 노출, 2차 공격 교두보 U-21(로그권한), W-04(계정잠금미설정)
하 (Low) 1 [정보 수집] 시스템 정보 수집(Reconnaissance) 가능 W-20(NetBIOS), W-53(미디어제어)

2.4. 위험도 산출 및 조치 기준 (Risk Scoring & DoA)

수용 불가 위험(DoA)을 6점으로 설정하여 관리합니다.

위험 점수 (RxV) 등급 의사결정 이행 시기
9점 (3x3) Critical [즉시 조치] 서비스 중단 감수 후 즉각 패치 즉시 (Phase 1)
6점 (3x2) High [단기 조치] DoA 초과, 1개월 내 조치 1개월 내
3~4점 Medium [중기 조치] 차기 유지보수 시 조치 차기 유지보수
1~2점 Low [위험 수용] 지속 모니터링 -

3. 기술적 취약점 진단 결과 (Diagnostic Results)

3.1. 진단 결과 요약

19개의 취약점이 식별되었으며, 즉시 조치가 필요한 Critical 등급이 다수 발견되었습니다.

번호 대상 Critical (9점) High (6점) Medium (3~4점) 합계
1 web-ec2 (Linux) 4 5 0 9개
2 was-ec2 (Windows) 5 4 1 10개

3.2. [Linux] Web-EC2 주요 취약점 목록

Linux 기반의 웹 서버에서는 계정 관리 및 접근 통제 영역에서 심각한 보안 홀을 식별함

항목 취약점 명 CVSS 위험도 분석 결과
U-01 Root 계정 원격 접속 제한 9.8 Critical SSH Key 로그인 허용으로 탈취 시 치명적
U-03 계정 잠금 임계값 설정 9.8 Critical Brute Force 방어책 부재 (pam_faillock 미설정)
U-28 접속 IP 및 포트 제한 9.8 Critical 관리 포트(SSH)에 대한 전 세계 접속 허용
U-64 주기적 보안 패치 적용 9.8 Critical snapd 등 Root 권한 모듈 패치 누락 (1-Day 위험)
U-02 비밀번호 관리 정책 7.5 High 복잡성 미준수 및 재사용 제한 없음
U-06 사용자 계정 su 제한 7.8 High 일반 계정 탈취 시 Root 권한 상승 용이
U-18 shadow 파일 권한 7.8 High 패스워드 해시 파일 읽기 권한 노출
U-21 syslog.conf 권한 7.3 High 로그 설정 변조 및 인프라 정보 노출
U-37 crontab 파일 권한 7.8 High 악성 스크립트 스케줄링 등록 가능

참조
Unix 서버 취약점 분석 (CVSS 기반)

항목 취약점 명 CVSS Score 분석 결과 및 근거 (Vector Analysis)
U-01 Root 계정 원격 접속 제한 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
네트워크를 통해 권한 없이(PR:N) 즉시 접근 가능하며, Root 탈취 시 기밀성·무결성·가용성(CIA) 전체에 치명적 영향을 미침.
U-03 계정 잠금 임계값 설정 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
무차별 대입 공격(Brute Force)에 대한 방어책이 없어, 공격 성공 시 시스템 장악 가능성이 매우 높음.
U-28 접속 IP 및 포트 제한 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
관리 포트(SSH 등)에 대한 IP 제한(ACL)이 없어, 전 세계 모든 IP에서의 접속 시도를 허용하고 있음.
U-64 주기적 보안 패치 적용 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
snapd, libapparmor1 등 Root 권한으로 동작하는 핵심 모듈에 대한 최신 패치가 누락되어 원데이(1-Day) 공격 위험에 노출됨.
U-02 비밀번호 관리 정책 7.5 (High) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N]
패스워드 복잡성 미준수로 추측 공격에 취약함. (계정 탈취 시나리오 기준)
U-06 사용자 계정 su 제한 7.8 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H]
su 명령어 사용 그룹 제한이 없어, 일반 계정 탈취가 Root 권한 상승으로 이어질 수 있음.
U-18 shadow 파일 권한 7.8 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H]
root 소유가 아니거나 권한이 열려있어 패스워드 해시 크랙킹 가능.
U-21 syslog.conf 권한 7.3 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H]
로그 설정 파일 변조를 통해 공격 흔적 은폐 가능 (무결성 영향 High).
U-37 crontab 파일 권한 7.8 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H]
스케줄러 설정 변조를 통해 악성 스크립트 주기적 실행 가능.

참조

[U-01] Root 계정 원격 접속 제한
Web-ec2 인스턴스는 SSH 원격 접속 시 root 계정의 패스워드 접속은 root 계정의 패스워드 접속은 차단됐지만 SSH key 를 통한 로그인이 허용되어 있는 상태. Key 유출 시 보안 위험이 존재함.

[U-03] 계정 잠금 임계값 설정
Pam_fialock.so 모듈이 미설정 상태이기 때문에 로그인 실패횟수에 대한 제한이 없음. 따라서 해당 정책은 PAM 인증 단계와 계정 승인 단계에 정상적으로 연동되어 적용되고 있지 않고있음.

[U-28] 접속 IP 및 포트 제한
TCP Wrapper 기반 IP 제한이 없고 iptables 및 UFW 방화벽이 비활성화 상태임. 또한 모든 접속을 허용하는 서비스 설정으로 인해 비인가 호스트 접근을 제한할 수 있는 보안 통제가 미흡하며 연동된 정책이 적용되지 않고 있음.

[U-64] 주기적 보안 패치 적용
apparmor / libapparmor1, snapd, ubuntu-advantage-tools / ubuntu-pro-client, distro-info-data 등 시스템 관리 및 자원 접근 통제 등 보안에 중요한 모듈들이 미 업데이트된 상태임. 업그레이드 가능한 보안 패치가 남아있음.

[U-02] 비밀번호 관리 정책
필수 보안 모듈(libpam-pwquality) 미설치로 인해 설정 파일이 존재하지 않음. 따라서 무차별 대입 공격에 매우 취약한 상태이며 계정 정보가 유출되었을 경우 공격자가 장기간 시스템에 머무를 수 있음.
비밀번호 재사용 제한 또한 존재하지 않아 보안 사고 발생 후에도 취약한 이전 비밀번호 사용가능함.

[U-06] 사용자 계정 su 제한
Su 명령어 사용을 특정 그룹으로 제한하는 설정 미적용 상태임. 따라서 일반 사용자의 권한 상승 위험이 존재하기에 취약함.

[U-18] shadow 파일 권한
권한의 상태가 640이므로 shadow그룹에 속한 일반 사용자 및 특정 서비스 계정이 비밀번호 해시 파일 read가능함. 따라서 공격자가 권한을 가진 계정을 탈취할 경우, 패스워드 크래킹 공격시도가 가능해짐.

[U-21] syslog.conf 권한
/etc/rsyslog.conf 파일의 권한이 644로 설정되어 소유자 및 그룹 외 기타 사용자에게 읽기 권한이 부여된 상태임. 해당 파일은 로그 저장 경로 및 네트워크 구조 등 민감한 인프라 정보를 포함하고 있어 비인가자에 의한 공격 대상 식별에 악용될 수 있으므로 보안 통제가 미흡함.

[U-37] crontab 파일 권한
cron 관련 폴더 및 crontab 파일의 권한이 755 및 640을 초과하도록 설정되어 일반 사용자의 접근이 허용된 상태임. 이로 인해 비인가자에 의한 임의의 악성 스크립트 등록 및 실행이 가능하므로 보안 취약점 해소를 위해 640 이하의 권한 조정이 필요함.

3.3. [Windows] Was-EC2 주요 취약점 목록

항목 취약점 명 CVSS 위험도 분석 결과
W-01 Administrator 계정 이름 변경 9.8 Critical 기본 ID 사용으로 PW 공격 집중 가능
W-18 불필요한 서비스 제거 9.8 Critical FTP, IIS 등 미사용 서비스 구동 (RCE 위험)
W-20 NetBIOS 바인딩 점검 9.8 Critical 내부망 정보 수집 및 SMB 공격 통로
W-04 계정 잠금 임계값 설정 9.8 Critical 무차별 대입 공격 방어 기제 부재
W-09 비밀번호 정책 9.8 Critical 취약한 암호 사용으로 계정 탈취 위험
W-15 개인키 암호 입력 7.8 High 인증서/개인키 보호 조치 미흡
W-17 하드디스크 기본 공유 제거 7.2 High 랜섬웨어 전파 경로(C$, Admin$) 노출
W-51 SAM/공유 익명 열거 7.5 High 익명 사용자의 계정 정보 획득 가능
W-53 이동식 미디어 제어 7.1 High 물리적/논리적 매체 통제 미흡
W-48 로그온 전 시스템 종료 4.6 Medium 콘솔 접근 시 시스템 가용성 침해 가능

참조
Windows 서버 취약점 분석 (CVSS 기반)

항목 취약점 명 CVSS Score 분석 결과 및 근거 (Vector Analysis)
W-01 Admin 계정 이름 변경 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
기본 관리자 ID(Administrator)를 사용하여 공격자가 ID를 유추할 필요 없이 PW 공격에 집중할 수 있음.
W-18 불필요한 서비스 제거 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
사용하지 않는 서비스 취약점을 이용한 RCE(원격 코드 실행) 가능성을 배제할 수 없음.
W-20 NetBIOS 바인딩 점검 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
내부망 정보 수집 및 SMB 취약점 공격의 주요 통로로 악용될 수 있음.
W-04 계정 잠금 임계값 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
패스워드 무차별 대입 공격에 대한 방어 기제 부재.
W-09 비밀번호 정책 9.8 (Critical) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
취약한 패스워드 사용으로 인한 계정 탈취 위험 극대화.
W-15 개인키 암호 입력 7.8 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H]
개인키 탈취 시 2차 인증(Passphrase) 없이 즉시 사용 가능.
W-17 기본 공유 제거 7.2 (High) [CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H]
C$, Admin$ 등 기본 공유를 통한 랜섬웨어 및 악성코드 측면 이동(Lateral Movement) 위험.
W-51 익명 열거 허용 7.5 (High) [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N]
인증 없는 사용자(Anonymous)가 계정 목록을 조회하여 공격 표적 식별 가능.
W-53 미디어 제어 7.1 (High) [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H]
물리적 접근 시 매체 포맷 등으로 인한 데이터 무결성 침해 위험.
W-48 비로그인 종료 허용 4.6 (Medium) [CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H]
물리적 접근(AV:P)이 전제되어야 하므로 상대적 위험도는 낮으나 가용성(A:H) 영향 있음.

참조

[W-01] Admin 계정 이름 변경
기본 관리자 계정(Administrator)의 이름을 변경하지 않고 그대로 사용 중인 상태임. 이는 공격자가 계정 ID를 유추할 필요 없이 패스워드 무차별 대입 공격에 집중할 수 있는 환경을 제공하므로, 보안 강화를 위해 계정명을 유추하기 어려운 이름으로 변경하는 조치가 필요함.

[W-18] 불필요한 서비스 제거
시스템 내 운영에 불필요한 서비스들이 활성화된 상태로 방치되어 있음. 이는 사용하지 않는 서비스의 취약점을 이용한 RCE(원격 코드 실행) 공격 가능성을 노출시키므로, 보안상 취약점을 해소하기 위해 실제 운영에 불필요한 서비스들을 '사용 안 함'으로 설정하는 조치가 필요함.

[W-20] NetBIOS 바인딩 점검
TCP/IP와 NetBIOS 간 바인딩이 제거되지 않고 활성화된 상태로 확인됨. 이는 내부망 정보 수집 및 SMB 취약점 공격의 주요 통로로 악용될 수 있는 환경을 제공하므로 보안상 취약하며 관련 설정의 비활성화 조치가 필요함.

[W-04] 계정 잠금 임계값
계정 잠금 임계값이 설정되어 있지 않아 패스워드 무차별 대입 공격에 대한 방어 기제가 부재한 상태임. 이는 보안상 취약한 상태로 판단되므로 공격 차단을 위해 계정 잠금 임계값을 1 이상 5 이하의 값으로 설정하는 조치가 필요함.

[W-09] 비밀번호 정책
암호 복잡성 및 최대 암호 사용 기간 설정 외 대부분의 패스워드 정책이 미충족 상태임. 이는 취약한 패스워드 사용으로 인한 계정 탈취 위험을 극대화하므로, 보안 강화를 위해 미흡한 항목들에 대한 추가적인 정책 설정이 필요함.

[W-15] 개인키 암호 입력
사용자 개인키 사용 시 암호 입력에 대한 정책이 정의되지 않은 상태임. 이는 개인키 탈취 시 2차 인증(Passphrase) 없이 즉시 사용 가능한 환경을 제공하여 계정 보안에 심각한 위협이 되므로 보안상 취약함.

[W-17] 기본 공유 제거
하드디스크 기본 공유(C$)가 활성화되어 있는 상태로 확인됨. 이는 C$, Admin$ 등 기본 공유를 통한 랜섬웨어 및 악성코드의 측면 이동(Lateral Movement) 경로로 악용될 수 있어 보안상 취약하며, 해당 공유 설정의 비활성화 조치가 필요함.

[W-51] 익명 열거 허용
익명 사용자의 SAM 계정 및 공유 열거 허용 안 함 정책이 '사용 안 함'으로 설정되어 있음. 이는 인증 없는 사용자가 계정 목록을 조회하여 공격 표적을 식별할 수 있는 환경을 제공하므로 보안상 취약하며, 해당 정책을 '사용'으로 변경하는 조치가 필요함.

[W-53] 미디어 제어
이동식 미디어 포맷 및 꺼내기 허용 권한이 Administrators로 제한되지 않고 정의되지 않은 상태임. 이는 물리적 접근 시 매체 포맷 등을 통한 데이터 무결성 침해 위험을 초래하므로, 보안상 취약점을 해소하기 위해 해당 권한을 관리자 그룹으로 제한하는 설정 변경이 필요함.

[W-48] 비로그인 종료 허용
로그온하지 않고 시스템 종료 허용 정책이 '사용'으로 설정되어 있음. 이는 물리적 접근 시 인가되지 않은 사용자가 시스템을 종료하여 가용성에 영향을 줄 수 있는 상태이므로, 보안상 취약점을 해소하기 위해 해당 정책을 '사용 안 함'으로 변경하는 조치가 필요함.


4. 세부 수행내역 (Detailed Analysis)

4.1. UNIX 서버 (Web-EC2) 상세 분석

[U-01] Root 계정 원격 접속 제한 (Critical)

  • 현황: PermitRootLogin prohibit-password 설정으로 인해 SSH Key를 이용한 Root 직접 로그인이 허용됨.
  • 위험: 관리자 개인 식별이 불가능하며, Key 파일 유출 시 시스템 전권 장악됨.
  • 상세 분석:
    1. /etc/ssh/sshd_config 파일 확인 결과 PermitRootLogin 옵션이 no가 아님.
    2. Ubuntu 24.04 LTS 기본 설정이 유지되고 있음.
  • 조치 가이드:
    # /etc/ssh/sshd_config 수정
    PermitRootLogin no
    # 서비스 재시작
    sudo systemctl restart sshd

[U-03] 계정 잠금 임계값 설정 (Critical)

  • 현황: pam_faillock.so 모듈 설정이 주석 처리되어 있거나 누락됨.
  • 위험: 무차별 대입 공격(Brute Force) 시도를 차단할 수 없음.
  • 상세 분석:
    • Step 1: /etc/pam.d/common-auth 확인 시 임계값 설정 없음.
    • Step 2: auth required pam_faillock.so 라인 부재.
  • 조치 가이드: /etc/pam.d/common-auth 파일 상단에 아래 내용 추가
    auth required pam_faillock.so preauth silent audit deny=5 unlock_time=120
    auth [default=die] pam_faillock.so authfail
    auth sufficient pam_faillock.so authsucc

[U-28] 접속 IP 및 포트 제한 (Critical)

  • 현황: TCP Wrapper(hosts.deny, hosts.allow) 설정 파일이 비어있음(ALL:ALL 설정 없음). iptables 정책이 모두 ACCEPT임.

  • 위험: 관리자 외 제3자가 SSH 포트 등에 접근 시도 가능.

  • 상세 분석:

    • Step 1: /etc/hosts.deny 내용 없음 (기본값 Allow).
    • Step 2: iptables -L 결과 모든 체인 정책이 ACCEPT.
  • 조치 가이드:

    # /etc/hosts.deny
    ALL:ALL
    
    # /etc/hosts.allow
    sshd: 192.168.0.100  # 관리자 IP

[U-64] 주기적 보안 패치 (Critical)

  • 현황: apt list --upgradable 수행 시 다수의 보안 패치 대기 중.
  • 위험: snapd, libapparmor1 등 Root 권한으로 실행되는 모듈의 One-Day 취약점 노출.
  • 조치 가이드:
    sudo apt update && sudo apt upgrade -y

[U-37] Crontab 설정 파일 권한 (High)

  • 현황: crontab 파일 권한이 755/640 등으로 설정되어 일반 사용자 접근 가능.
  • 위험: 악성 스크립트 스케줄링 등록을 통한 지속적 공격(Persistence) 허용.
  • 조치 가이드: 권한을 640 이하로 설정하고 소유자를 root로 변경.

4.2. Windows 서버 (Was-EC2) 상세 분석

[W-01] Administrator 계정 이름 변경 (Critical)

  • 현황: 기본 관리자 계정명 Administrator 사용 중.
  • 위험: 공격자가 ID를 유추할 필요 없이 PW 공격에만 집중할 수 있어 공격 성공 확률 증가.
  • 조치 가이드:
    • secpol.msc > 로컬 정책 > 보안 옵션 > '계정: Administrator 계정 이름 바꾸기'에서 변경.

[W-18] 불필요한 서비스 제거 (Critical)

  • 현황: FTP Publishing Service, World Wide Web Publishing Service (IIS) 등 미사용 서비스가 '시작됨' 상태.
  • 위험: 해당 서비스의 취약점을 이용한 원격 코드 실행(RCE) 공격 가능.
  • 조치 가이드:
    • services.msc > 해당 서비스 > 속성 > '사용 안 함''중지'.

[W-20] NetBIOS 바인딩 서비스 구동 점검 (Critical)

  • 현황: TCP/IP 속성에서 NetBIOS 설정이 '기본값' 또는 '사용' 상태.
  • 위험: NetBIOS 프로토콜을 통한 내부 네트워크 정보(호스트명, 그룹명 등) 수집 및 SMB 취약점 공격 노출.
  • 조치 가이드:
    • 네트워크 어댑터 속성 > TCP/IPv4 > 고급 > WINS > 'NetBIOS over TCP/IP 사용 안 함' 체크.

[W-04] 계정 잠금 임계값 설정 (Critical)

  • 현황: 계정 잠금 정책이 '0'(사용 안 함)으로 설정됨.
  • 위험: 패스워드 크래킹 공격 무제한 허용.
  • 조치 가이드:
    • secpol.msc > 계정 정책 > 계정 잠금 정책 > 계정 잠금 임계값: 5회 설정.

[W-17] 하드디스크 기본 공유 제거 (High)

  • 현황: net share 명령 확인 결과 C$, Admin$, IPC$ 등 기본 공유 활성화.
  • 위험: 랜섬웨어 감염 시 네트워크를 통한 측면 이동(Lateral Movement) 경로로 악용.
  • 조치 가이드: 레지스트리 설정을 통해 AutoShareServer 비활성화.

5. 기술적 취약점 종합 평가 점수 (Quantitative Scoring)

5.1. 점수 산출 결과

주요정보통신기반시설 취약점 분석·평가 기준([시행 2025. 12. 24.] [과학기술정보통신부고시 제2025-62호, 2025. 12. 24., 일부개정])에 의거하여, 각 점검 항목의 중요도(상/중/하)에 따라 가중치를 부여하고, 자산별 기술적 보안 이행 수준을 백분율로 환산함
다만, 실제 점수 산출의 경우 시스템 보안에 심각한 영향을 미칠 수 있는 “상” 등급만을 대상으로 산출함

• 배점 기준: (근거: [붙임 4] 취약점 분석·평가 점수 산출식 예시 취약점 분석·평가 점수 산출식 예시(주요정보통신기반시설 취약점 분석·평가 기준)])
o 상 (필수 항목): 10점 (핵심 보안 기능, 미조치 시 직접적 침해 가능)
o 중 (추가 항목): 금번 평가 제외
o 하 (추가 항목): 금번 평가 제외

• 평가 방식:
o 양호 (O): 배점 100% 인정 (취약점 제거 상태)
o 취약 (X): 0점 처리 (취약점 발견)

구분 대상 총 항목수 배점 합계 취득 점수 이행률(%)
Web web-ec2 (Linux) 40 400 310 77.5%
Was was-ec2 (Windows) 32 320 220 68.75%
전체 평균 - 72 720 530 73.61%

5.2. 평가 등급

  • Web (77.5점): Fair (미흡) - 즉각적인 개선이 필요한 상태.
  • Was (68.75점): Poor (위험) - 보안 수준이 매우 낮아 전면적인 보완 필요.

'상' 등급 항목만을 대상으로 평가한 결과, 단순 평균 점수는 73.13점, 가중 평균 점수는 73.61점으로 산출함
이는 필수 보안 항목의 약 26.39%가 취약한 상태임을 의미하며, 특히 Web-EC2와 WAS-EC2 모두 '주의(Attention)' 단계에 머물러 있어 즉각적인 조치가 요구됨

  • 목표: Phase 1 조치를 통해 이행률 90% 이상(Good) 달성 목표.

6. 위험 평가 및 우선 순위 도출 (Risk Evaluation)

6.1. 정량적 위험 평가 매트릭스 (Risk Scoring Matrix)

모든 식별된 취약점에 대해 자산 중요도(3점)를 반영하여 위험도를 산출했습니다. DoA(6점) 이상 항목은 필수 조치 대상입니다.

순위 대상 진단코드 취약점 명 자산(A) 취약점(V) 위험도(R) 등급
1 Web U-01 Root 원격 접속 제한 3 3 9 Critical
2 Web U-28 접속 IP 및 포트 제한 3 3 9 Critical
3 Web U-64 주기적 보안 패치 3 3 9 Critical
4 Web U-03 계정 잠금 임계값 3 3 9 Critical
5 WAS W-01 Admin 계정 이름 변경 3 3 9 Critical
6 WAS W-18 불필요한 서비스 제거 3 3 9 Critical
7 Web U-18 shadow 파일 권한 3 3 9 Critical
8 WAS W-04 계정 잠금 임계값 3 3 9 Critical
9 WAS W-09 비밀번호 관리 정책 3 3 9 Critical
10 Web U-06 사용자 계정 su 제한 3 2 6 High
11 WAS W-17 하드디스크 기본 공유 3 2 6 High
... ... ... (이하 High 항목 생략) ... ... ... ...

6.2 근본 원인 및 ISO 27001 Gap 분석(Root Cause & ISO/IEC 27001:2022 Gap Analysis)

6.2.1 근본 원인 분석 (Root Cause Analysis)

식별된 기술적 취약점들은 단순한 설정 오류(Misconfiguration)가 아니라, ISO/IEC 27001:2022에서 요구하는 보안 통제(Security Controls)가 시스템에 구현되지 않은 상태로 판단됨. 이는 다음과 같은 규정 준수(Compliance) 결함을 의미함.
주요 취약점과 ISO/IEC 27001:2022 통제 항목 간의 연계 분석(Mapping) 결과는 아래와 같음.

6.2.2 [Linux] Web-EC2 컴플라이언스 갭 분석

Linux 서버의 주요 취약점은 특수 권한 관리(A.8.2) 및 접근 제어(A.5.15) 통제 항목의 미준수로 인해 발생함.

취약점 ID 취약점 명 ISO 27001:2022 연계 통제 항목 및 준거성 분석
U-01 Root 계정 원격 접속 제한 A.8.2 (특수 권한): 최고 권한 계정(root)의 직접 접속을 제한하고 sudo 등을 통한 권한 상승 통제 미흡.
A.9.2.1 (사용자 등록): 공용 계정 사용 제한 및 책임 추적성(Accountability) 원칙 위배.
U-02 비밀번호 관리 정책 A.5.17 (인증 정보): 패스워드 복잡성·주기적 변경 등 인증 정보 품질을 강제하는 기술적 통제 수단 부재.
U-03 계정 잠금 임계값 A.8.5 (보안 인증): 무차별 대입 공격(Brute Force)에 대한 계정 잠금 메커니즘 미구현.
U-06 su 기능 제한 A.8.18 (특수 권한 유틸리티): 권한 상승 도구(su)에 대한 접근 그룹(Wheel 등) 제한 미흡.
U-18 /etc/shadow 권한 A.5.15 (접근 제어): 핵심 인증 정보(Hash) 파일에 대한 최소 권한(400) 원칙 미준수로 기밀성 위협 노출.
U-21 syslog.conf 권한 A.8.15 (로그 기록): 로그 설정 파일 변조 방지를 위한 무결성 보호 조치 미흡 → Anti-Forensic 취약점.
U-28 접속 IP/포트 제한 A.8.20 (네트워크 보안): ACL 기반 접근 제어 미적용으로 비인가 네트워크 접근 경로 방치.
U-37 crontab 권한 A.8.2 (특수 권한): 예약 작업(Scheduler) 설정 파일 변조를 통한 권한 상승 및 악성코드 실행 위협 방치.
U-64 보안 패치 미적용 A.8.8 (기술적 취약점 관리): 최신 보안 패치 미적용으로 알려진 CVE 노출 및 예방적 통제 실패.
### 6.2.3 [Windows] WAS-EC2 컴플라이언스 갭 분석

Windows 서버는 A.8.9(구성 관리) 및 A.5.17(인증 정보) 관련 통제가 기본 설정(Default) 상태로 방치된 것이 주요 원인임

취약점 ID 취약점 명 ISO 27001:2022 연계 통제 항목 및 준거성 분석
W-01 Admin 계정 이름 변경 A.8.2 (특수 권한): 공격자에게 알려진 기본 관리자 계정 사용으로 식별·추측 공격 위험 노출.
W-04 계정 잠금 임계값 A.5.16 (식별자 관리): 반복 인증 실패(이상 징후)를 탐지·대응하는 계정 보호 정책 미적용.
W-09 비밀번호 관리 정책 A.5.17 (인증 정보): 취약한 비밀번호 사용을 기술적으로 차단하지 않아 계정 탈취 위험 방치.
W-15 개인키 암호 입력 A.8.24 (암호화 키 관리): 중요 키 사용 시 Passphrase 미적용으로 키 기밀성 위협.
W-17 기본 공유 제거 A.8.9 (구성 관리): 불필요한 기본 공유(C$, Admin$) 활성화로 최소 구성 원칙 위배.
W-18 불필요한 서비스 A.8.19 (SW 설치): 업무와 무관한 서비스 활성화로 공격 표면(Attack Surface) 확장.
W-20 NetBIOS 바인딩 A.8.20 (네트워크 보안): 취약한 레거시 프로토콜을 통한 내부망 정보 수집 허용.
W-48 비로그인 종료 허용 A.7.2 (물리적 출입): 인증 없이 시스템 종료 가능하여 가용성 저해 위험 존재.
W-51 익명 열거 허용 A.5.15 (접근 제어): Anonymous 사용자에게 계정·공유 정보 노출 → 정찰 공격 지원.
W-53 이동식 미디어 제어 A.7.10 (저장 매체): 저장 매체의 무단 포맷·분리에 대한 기술적 통제 미구현.

7. 보호대책 및 이행 로드맵 (Remediation Roadmap)

7.1. 단계별 이행 전략

식별된 취약점을 효율적으로 제거하고 지속 가능한 보안 체계를 수립하기 위해 2단계 이행 전략을 추진함

Phase 1: 시스템 하드닝 및 긴급 조치 (System Hardening)
• 목표: DoA(6점) 이상인 Critical/High 등급 취약점 100% 제거
• 기간: 즉시 ~ 1개월 (긴급 패치)
• 주요 활동:

  • [Web] Root 원격 접속 차단 및 IP ACL 적용 (U-01, U-28)
  • [WAS] 불필요 서비스 제거 및 Admin 계정 변경 (W-18, W-01)
  • [Patch] OS 및 주요 데몬 최신 보안 패치 적용 (U-64)

Phase 2: 관리 체계 수립 및 고도화 (Policy & Process)
• 목표: 기술적 조치를 뒷받침하는 관리 절차(Policy) 수립
• 기간: 2개월 ~ 3개월
• 주요 활동:

  • [Policy] '서버 보안 설정 가이드(Golden Image)' 제정 및 배포
  • [Process] 계정 신청/승인 프로세스 및 방화벽 정책 신청 절차 수립
  • [Tool] 로그 중앙 관리(Syslog Server) 구축 및 모니터링 체계 가동

7.2. 주요 취약점 조치 가이드 (Remediation Guide)

가장 시급한 DoA 초과(Critical) 항목에 대한 구체적인 조치 방안 제시

취약점 ID 항목명 조치 방안 (Action Item) 적용 명령어 / 설정 예시
U-01 Root 접속 제한 SSH 설정 파일에서 Root 계정의 직접 로그인을 차단 bash\nvi /etc/ssh/sshd_config\nPermitRootLogin no\nsystemctl restart sshd\n
U-28 접속 IP 제한 TCP Wrapper 또는 방화벽을 사용하여 허용된 관리자 IP만 접속 허용 bash\nvi /etc/hosts.deny\nALL:ALL\n\nvi /etc/hosts.allow\nsshd: 192.168.0.100\n
U-64 보안 패치 OS 패키지 매니저를 통해 최신 보안 패치 적용
(서비스 영향도 사전 검토 후 수행)
bash\napt update && apt upgrade -y\n
U-03 계정 잠금 (Linux) 로그인 실패 임계값 설정 (예: 5회 실패 시 계정 잠금) bash\nvi /etc/pam.d/common-auth\nauth required pam_tally2.so deny=5 unlock_time=120\n
U-18 Shadow 권한 패스워드 해시 파일의 소유자 및 권한을 최소 권한으로 제한 bash\nchmod 400 /etc/shadow\nchown root:root /etc/shadow\n
W-01 Admin 계정 변경 공격자가 유추하기 쉬운 기본 Administrator 계정 이름 변경 text\n[실행] secpol.msc\n로컬 정책 > 보안 옵션\n→ '계정: Administrator 계정 이름 바꾸기'\n
W-18 불필요 서비스 웹 서비스 외 불필요한 서비스(FTP, IIS Admin 등) 비활성화 text\n[실행] services.msc\nFTP Publishing Service 등 선택\n→ 속성 > 시작 유형: 사용 안 함 > 중지\n
W-04 계정 잠금 (Windows) 무차별 대입 공격 방지를 위한 계정 잠금 임계값 설정 text\n[실행] secpol.msc\n계정 정책 > 계정 잠금 정책\n→ '계정 잠금 임계값': 5회\n
W-09 암호 정책 패스워드 복잡성 및 최소 길이 등 강력한 암호 정책 강제 text\n[실행] secpol.msc\n계정 정책 > 암호 정책\n→ '암호는 복잡성을 만족해야 함': 사용\n→ '최소 암호 길이': 8문자 이상\n

7.3 AWS 권고사항

취약점 ID 항목명 AWS 권고 사항
U-01 Root 접속 제한 EC2 인스턴스에 대해 root 계정으로 직접 로그인하는 대신, 일반 사용자 계정을 통한 SSH 접속 후 sudo 권한을 부여하는 방식 사용을 권고함.
U-28 접속 IP 제한 보안 그룹(Security Group)을 활용하여 SSH 접근을 특정 관리자 IP로 제한하고, 네트워크 ACL(NACL)을 통해 추가적인 네트워크 접근 제어 수행.
U-64 보안 패치 AWS Systems Manager Patch Manager를 활용하여 EC2 인스턴스의 보안 패치를 자동 관리하거나, 최신 패치가 적용된 AMI를 사용하여 인스턴스 재배포 권고.
U-03 계정 잠금 (Linux) Linux PAM 정책을 활용하여 로그인 실패 임계값을 설정하고, CloudWatch 모니터링 및 알람을 병행하여 무차별 대입 공격 방지.
U-18 Shadow 권한 EC2 인스턴스의 /etc/shadow 파일은 root 소유 및 최소 권한으로 유지하며, OS 계정 권한과 IAM 권한을 분리하여 관리.
W-01 Admin 계정 변경 Administrator 계정 이름을 변경하고, RDP 접근은 보안 그룹을 통해 관리자 IP로 제한.
W-18 불필요 서비스 불필요한 서비스는 OS 레벨에서 비활성화하고, 보안 그룹을 통해 사용하지 않는 포트 접근 차단.
W-04 계정 잠금 (Windows) EC2 Windows 환경에서 계정 잠금 정책을 설정하여 로그인 실패 임계값 제한.
W-09 암호 정책 Windows 로컬 암호 정책을 적용하고, IAM 사용자에 대해서는 강력한

8. 결론 및 제언 (Conclusion)

8.1. 종합 의견 (Overall Assessment)

본 프로젝트를 통해 확인된 web-ec2 및 was-ec2의 보안 상태는 초기 구축 편의성 위주의 설정이 잔존하여 Critical 급 위험(Root 탈취, 무제한 원격 접속)이 다수 존재함이 확인되었습니다.

특히 수용 불가 위험(DoA 6점 이상)의 비율이 전체의 약 84%를 차지하고 있어, 방치 시 외부 공격에 의한 시스템 장악 가능성이 매우 높습니다. 따라서 본 보고서의 [7. 보호대책 및 이행 로드맵]에 기술된 Phase 1 조치를 최우선으로 이행하여 비즈니스 연속성을 확보해야합니다.


[참고 자료]

  1. KISA 주요정보통신기반시설 기술적 취약점 분석·평가 상세가이드 (2026)
  2. ISO/IEC 27001:2022 Information Security Management Systems
  3. AWS Security Best Practices
  4. 정보통신망법, 개인정보보호법 이하 기타 시행령, 규칙, 고시 등의 법령
  5. (과학기술정보통신부 고시 제2025-62호) 주요정보통신기반시설 취약점 분석·평가 기준
  6. 정보통신망 이용촉진 및 정보보호 등에 관한 법률
  7. 클라우드 취약점 점검 가이드(2024)
  8. AWS Official Doumentation
  9. Ubuntu Offiicail Doumentation
  10. ISMS-P 인증기준 안내서(2023.11.23)

복붙하는 것도 힘드네... 아무튼 이런 식으로 진행을 했다 수행세부내역까지 복붙은 개오바라 그냥 건너 뛰었다.

그래도 모듈프로젝트를 진행하면서 조원 분들이 열심히 해준 덕에 꽤나 좋은 보고서를 완성할 수 있다는 생각이 들었다. 이번 보고서를 작성하면서 진짜 많은 것을 배웠다고 느꼈다. 진짜 파면 팔수록 소세지 마냥 줄줄이 따라나와서 처음에는 엄두가 안 났는데 다같이 열심히 하다 보니 그래도 봐줄만한 최종 결과물을 산출한 듯 싶다.