Linux 로그 경로 정리 · 26/50 · Part 3. Ubuntu / Debian 로그 경로
선행 학습 → 22. /var/log/auth.log 분석 · 기초 30. Linux 명령어를 활용한 보안 점검
이번 글 → apt와 dpkg 로그 분석
이어서 → 27. Ubuntu 로그 경로 종합 정리
권한을 얻은 공격자는 종종 도구를 설치합니다 — nmap 으로 내부 스캔, socat/netcat 으로 터널, masscan, proxychains, 컴파일을 위한 gcc. 패키지 로그는 이런 행위를 누가(Requested-By), 언제, 무엇을 설치했는지 명확히 남기는 좋은 증거입니다.
핵심 요약
/var/log/apt/history.log: apt 명령 단위 (Commandline, Requested-By, Install/Remove)/var/log/apt/term.log: 설치 중 터미널 출력/var/log/dpkg.log: 패키지 상태 변화 (apt 외dpkg -i설치도 기록)- RHEL 대응:
/var/log/dnf.log,dnf.rpm.log,dnf history
| 로그 | 기록 단위 | 강점 | 약점 |
|---|---|---|---|
apt/history.log | apt 트랜잭션 | 명령줄·요청자(sudo 사용자) | dpkg -i 직접 설치는 없음 |
apt/term.log | 트랜잭션 출력 | 설치 스크립트 메시지 | 양이 많음 |
dpkg.log | 패키지 상태 | 모든 설치 경로 포함 | 요청자 정보 없음 |

sudo apt install nmap ──▶ apt ──▶ history.log (Start-Date, Commandline, Requested-By, Install)
│ └─▶ term.log
└─▶ dpkg ──▶ dpkg.log (install / status half-installed / installed)
dpkg -i ./tool.deb ─────────────▶ dpkg ──▶ dpkg.log only (history.log 없음 → 우회 설치 탐지 포인트)
make install / pip / 바이너리 복사 ─▶ 패키지 로그 없음 → audit EXECVE, 파일 시각으로 확인
/var/log/apt/history.log[.N.gz]
/var/log/apt/term.log[.N.gz]
/var/log/dpkg.log[.N.gz]
/var/lib/dpkg/info/<pkg>.list 패키지가 설치한 파일 목록
(RHEL) /var/log/dnf.log, /var/log/dnf.rpm.log, dnf history
H=/var/log/apt/history.log; D=/var/log/dpkg.log
# 1) 누가 무엇을 설치했나 (순환 포함)
zgrep -hE '^(Start-Date|Commandline|Requested-By|Install|Remove):' $H* | head -40
# 2) 요청자별 트랜잭션 수
zgrep -h '^Requested-By:' $H* | sort | uniq -c | sort -rn
# 3) dpkg 에만 있고 apt history 에 없는 설치 (dpkg -i 직접 설치 후보)
zgrep -h ' install ' $D* | awk '{print $4}' | cut -d: -f1 | sort -u > /tmp/dpkg_inst.txt
zgrep -h '^Install:' $H* | tr ',' '\n' | grep -oE '[a-z0-9.+-]+:' | tr -d ':' | sort -u > /tmp/apt_inst.txt
comm -23 /tmp/dpkg_inst.txt /tmp/apt_inst.txt
# 4) 공격 도구 키워드
zgrep -hE ' install .*(nmap|masscan|netcat|ncat|socat|proxychains|hydra|john|tcpdump|gcc)' $D*
# (RHEL) 동등 확인
# dnf history list | head ; dnf history info <ID> ; grep -E 'Installed|Erased' /var/log/dnf.rpm.log

위 이미지는 Ubuntu 24.04 실습 환경에서 패키지 설치 흔적을 실제로 조회한 결과입니다.
아래는 판단 설명용 예시 로그입니다.
[예시 로그: /var/log/apt/history.log]
Start-Date: 2026-09-20 02:18:02
Commandline: apt-get install -y nmap socat
Requested-By: deploy (1001)
Install: nmap:amd64 (7.94+git20230807.3be01efb1+dfsg-3build2), socat:amd64 (1.8.0.0-4build3)
End-Date: 2026-09-20 02:18:09
[예시 로그: /var/log/dpkg.log]
2026-09-20 02:18:05 install socat:amd64 <none> 1.8.0.0-4build3
2026-09-20 02:18:05 status installed socat:amd64 1.8.0.0-4build3
| 필드 | 값 | 해석 |
|---|---|---|
| Start-Date | 02:18:02 | 침해 세션 시간대 |
| Commandline | apt-get install -y nmap socat | -y 비대화형 → 스크립트/빠른 설치 |
| Requested-By | deploy (1001) | sudo를 실행한 원래 사용자 |
| Install | 패키지·버전 | 스캐너 + 터널링 도구 조합 |
| 정상 | 의심 |
|---|---|
정기 unattended-upgrades (Requested-By 없음) | 원격 세션 중 수동 설치 |
| 운영 도구 설치 (변경관리) | 스캐너·터널·크래킹 도구 |
| apt 경유 설치 | dpkg -i 로만 설치된 패키지(출처 불명 .deb) |
| 설치 후 사용 기록 | 설치 직후 삭제(Remove/Purge) — 흔적 제거 시도 |
/var/log/dpkg.log 수집 시), 도구 키워드 기반 커스텀 룰을 추가할 수 있다.Requested-By 계정의 로그인 출발지 확인(auth.log).dpkg -L <pkg> 로 설치 파일 목록 보존.[ ] history.log / term.log / dpkg.log 역할 구분
[ ] Requested-By 로 설치 주체 확인
[ ] 순환 파일 포함 검색 (zgrep)
[ ] dpkg -i 직접 설치 후보 추출
[ ] 공격 도구 키워드 검색
[ ] RHEL dnf history 대응 방법 설명
Requested-By 는 sudo 이전의 실제 사용자를 알려준다.dnf history 와 dnf.rpm.log 가 같은 역할을 한다.| 구분 | 글 |
|---|---|
| ◀ 이전 글 | 25. /var/log/daemon.log 분석 |
| ▶ 다음 글 | 27. Ubuntu 로그 경로 종합 정리 |
| 시리즈 | Linux 로그 경로 정리 전체 보기 |
| 선행 시리즈 | 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 · Linux 시스템 보안 기초 |