시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 12/50편 (전체 212/450)
학습 단계: 중요 파일 접근 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
TLS/SSL 인증서의 개인키(.key·.pem)는 서버의 신원과 암호화를 보증합니다. 탈취되면 서버 위장(피싱)·암호화 트래픽 복호화에 악용되므로, 개인키 파일 읽기 접근은 고위험입니다.
인증서 개인키 접근 위험
/etc/ssl/private/*.key 서버 개인키 → 위장·복호화
/etc/pki/tls/private/* (RHEL) 개인키
app 인증서 *.pem 앱 TLS 개인키
코드서명 키 → 악성코드 서명
정상: 웹서버(nginx/httpd)·서비스가 시작 시 읽음
공격: 쉘 명령으로 개인키 읽기·복사 → 탈취
개인키는 서비스(웹서버)가 기동 시 읽는 것이 정상입니다. 쉘 명령의 읽기·복사는 탈취 시도입니다.
| 개인키 경로 | 용도 | 탈취 위험 |
|---|---|---|
/etc/ssl/private/ | 서버 TLS | 위장·복호화 |
/etc/pki/tls/private/ | RHEL TLS | 위장·복호화 |
앱 *.pem | 앱 TLS | 통신 복호화 |
| 코드서명 키 | 서명 | 악성 위장 |
| CA 키 | 인증 발급 | 신뢰 붕괴 |
# 인증서 개인키 접근 탐지 (분석 방법)
# 개인키 파일 읽기(웹서버/서비스 외)
sudo ausearch -k sensitive_read,cred_access -i --start recent 2>/dev/null | grep -E '\.key$|private/|\.pem$' | grep -vE 'comm="(nginx|httpd|httpd-|haproxy|postfix|dovecot)"' | tail
# 개인키 복사 패턴
sudo ausearch -k cred_access -i --start recent 2>/dev/null | grep -E 'comm="(cp|cat|tar|scp|curl)"' | grep -E 'private|\.key'
$ (개인키 접근) (없음 또는 nginx/httpd 기동 읽기만)
TLS 개인키 접근이 웹서버·서비스의 기동 읽기에 그치고, 쉘 명령의 읽기·복사가 없는 상태가 정상입니다.
$ (개인키 접근)
04:00 comm="cp" auid=www-data /etc/ssl/private/server.key → /tmp
04:01 comm="cat" auid=devops /etc/pki/tls/private/app.key
인증서 개인키 탈취 흐름입니다(가상의 예시 로그).
type=SYSCALL comm="cp" auid=www-data key="cred_access"
type=PATH name="/etc/ssl/private/server.key"
→ 웹 계정이 서버 TLS 개인키 복사(탈취)
[이후] /tmp/server.key 유출(E32) → 서버 위장·트래픽 복호화
| 관찰 | 해석 |
|---|---|
| cp server.key | 개인키 탈취 |
| auid=www-data | 비서비스 주체 |
| /tmp 복사 | 수집 |
| 이후 유출 | 위장·복호화 |
개인키 읽기·복사 → 유출로 이어지는 탈취 체인을 연계로 탐지합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_e,sensitive_access,">
<rule id="104110" level="13">
<if_sid>104000</if_sid>
<field name="audit.file" type="pcre2">(/etc/ssl/private/|/etc/pki/tls/private/|\.key$)</field>
<field name="audit.comm" type="pcre2">^(cat|cp|dd|tar|scp|curl|wget|xxd|base64)$</field>
<description>비서비스 주체의 TLS 개인키 접근(키 탈취)</description>
<mitre><id>T1552.004</id></mitre>
</rule>
</group>
정상 웹서버·서비스(nginx·httpd 등)는 화이트리스트로 제외합니다. 개인키 접근 후 유출을 상관으로 연계합니다.
| 개인키 | 탈취 위험 |
|---|---|
| 서버 TLS 개인키 | 위장·복호화 |
| 앱 .pem | 통신 복호화 |
| 코드서명 키 | 악성 위장 |
| CA 키 | 신뢰 붕괴 |
| 면접 포인트 | "TLS 개인키 탈취는 서버 위장·복호화 — 정상은 서비스 기동 읽기만" |
다음 편 213. 중요 정보 접근 — DB 설정·자격증명 파일 접근 탐지 에서는 DB 설정·자격증명 접근을 다루는 DB 설정·자격증명 파일 접근 탐지를 다룹니다.
이전 편: 211. 중요 정보 접근 — SSH 키·인증 파일 접근 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점