시스템(Linux)

리눅스 보안 로그(/var/log/secure)에 대해 알아보겠습니다.

forward error correction Circle 2025. 6. 3. 08:11
반응형

Ⅰ. /var/log/secure 이란?

 리눅스 시스템에서 주로 시스템의 보안 관련 이벤트를 기록하는 로그 파일로, 사용자 인증, 권한 상승, SSH 접속, sudo 명령 실행 등 중요한 보안 활동의 상세 내역을 담고 있습니다. 이 로그는 시스템 관리자와 보안 전문가가 시스템의 무결성, 이상 징후, 침입 시도를 감지하는 데 핵심적인 역할을 하며, 로그의 내용과 구조를 이해하는 것은 보안 사고 대응과 감사 활동에 필수적입니다.

Ⅱ. /var/log/secure 로그의 기본 특성

ⅰ. 파일 위치 및 권한
  1) 경로: /var/log/secure (RHEL/CentOS 계열)
  2) 대체 파일: 데비안 계열에서는 /var/log/auth.log 사용
  3)  권한 설정: root 사용자만 읽기 가능(640 권한)
ⅱ. 로깅 메커니즘
  1) 시스템 데몬: rsyslogd에 의해 관리되며 authpriv facility 사용
  2) 암호화 저장: 일부 배포판에서 암호화된 형식으로 저장(보안 강화

Ⅲ. /var/log/secure 주요 기록 사항

ⅰ. 인증 관련 이벤트

 1) SSH 접속 성공/실패: 공개키 인증, 비밀번호 실패 기록
 2) 권한 상승 이벤트: su, sudo 명령어 사용 추적
 3) PAM(Pluggable Authentication Modules): 인증 프로세스 상세 로깅

Apr  7 00:46:56 localhost sshd[1183]: Accepted password for root from 192.168.23.1 port 62991 ssh2
Apr  7 00:46:56 localhost sshd[1183]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Apr  7 00:47:17 localhost unix_chkpwd[1210]: password check failed for user (root)
Apr  7 00:47:17 localhost sshd[1208]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.23.1  user=root
Apr  7 00:47:18 localhost sshd[1208]: Failed password for root from 192.168.23.1 port 62992 ssh2
Apr  7 00:47:20 localhost unix_chkpwd[1211]: password check failed for user (root)
Apr  7 00:47:21 localhost sshd[1208]: Failed password for root from 192.168.23.1 port 62992 ssh2
Apr  7 00:47:23 localhost unix_chkpwd[1212]: password check failed for user (root)
Apr  7 00:47:25 localhost sshd[1208]: Failed password for root from 192.168.23.1 port 62992 ssh2
Apr  7 00:47:25 localhost sshd[1208]: error: Received disconnect from 192.168.23.1 port 62992:13: Unable to authenticate [preauth]
Apr  7 00:47:25 localhost sshd[1208]: Disconnected from authenticating user root 192.168.23.1 port 62992 [preauth]
Apr  7 00:47:25 localhost sshd[1208]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.23.1  user=root
Apr  7 00:48:08 localhost sshd[1219]: Accepted password for root from 192.168.23.1 port 62993 ssh2
Apr  7 00:48:08 localhost sshd[1219]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Apr  7 00:48:23 localhost sshd[1245]: Accepted password for root from 192.168.23.56 port 38922 ssh2
Apr  7 00:48:23 localhost sshd[1245]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Apr  7 00:48:25 localhost sshd[1251]: Received disconnect from 192.168.23.56 port 38922:11: disconnected by user
Apr  7 00:48:25 localhost sshd[1251]: Disconnected from user root 192.168.23.56 port 38922
Apr  7 00:48:25 localhost sshd[1245]: pam_unix(sshd:session): session closed for user root
Apr  7 00:48:29 localhost sshd[1266]: Accepted password for root from 192.168.23.56 port 38742 ssh2
Apr  7 00:48:29 localhost sshd[1266]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

■ SSH 접속 성공/실패: 공개키 인증, 비밀번호 실패 기록
권한 상승 이벤트: su, sudo 명령어 사용 추적
PAM(Pluggable Authentication Modules): 인증 프로세스 상세 로깅

ⅱ. 네트워크 보안 이벤트

 1) TCP Wrappers: /etc/hosts.allow, /etc/hosts.deny 접근 제어 기록
 2) xinetd 서비스: FTP, telnet 등 레거시 서비스 접속 로그

 

ⅲ. /var/log/secure에 기록되는 대표적인 항목

항목 설명
sshd SSH 로그인/로그아웃 시도, 실패/성공 기록
sudo sudo 명령어 사용 내역 (누가, 어떤 명령을 실행했는지)
su su 명령어를 통한 사용자 전환 시도
gdm, pam 로그인 세션 및 인증 관련 정보 (PAM 모듈)
passwd 비밀번호 변경 내역 (성공/실패 여부 포함)

Ⅳ. /var/log/secure 로그 구조 및 필드

ⅰ. 포준 로그 포멧

[타임스탬프] [호스트명] [서비스명][PID]: [메시지 내용]

 

ⅱ. 주요 메시지 유형

메시지 패턴 설명 보안 위협 대응
Invalid user 존재하지 않는 사용자 접속 시도 무차별 대입 공격 탐지
session opened 성공적인 세션 시작 정상 접근 패턴 분석
authentication failure 인증 실패 누적 계정 잠금 정책 연동

Ⅴ. 보안 사고 조사 시 활용

ⅰ. 침해 사고 시 분석 프로세스
  1) 시간대 필터링: sed -n '/May 24 09:00:00/,/May 24 18:00:00/p' secure
  2) IP 주소 추적: grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
  3) 사용자 계정 모니터링: grep 'user=' secure | awk -F'user=' '{print $2}'
ⅱ. 고급 분석 기법
  1) 로그 상관 분석: Logstash를 이용한 다중 로그 연계 분석

  2) 시계열 패턴: R 또는 Python Pandas를 활용한 이상 패턴 탐지

반응형