로그파일 위치, 로그분석 (rsyslog)

2025. 5. 27. 17:10·Cryptology
log?

 

-컴퓨터의 일기장 같은 것

-시스템에 남는 동작 흔적

 


🧾 대표 로그 파일 모음.zip

/var/log/messages 시스템 전반의 일기 📢(로그인, 네트워크, 오류 등) tail -f, grep
/var/log/secure SSH, FTP, Telnet 로그인 기록 🔐 cat, grep
/var/log/maillog 메일 서비스 기록 ✉️ tail -f
/var/log/cron 예약 작업(cron) 실행 기록 ⏰ tail -f
/var/log/boot.log 부팅 중 서비스 실행 결과 🚀 cat
/var/log/dmesg 부팅 직후 하드웨어/커널 메시지 🧠 dmesg
/var/log/xferlog FTP 파일 전송 기록 📦 cat
/var/log/httpd/access_log 웹 접속 기록 🌐 tail -f
/var/log/httpd/error_log 웹 서버 오류 로그 💥 tail -f
/var/log/named.log DNS 서버 요청 및 오류 🔎 cat

 

👤 로그인 관련 로그

/var/log/wtmp 전체 로그인/로그아웃 기록누가 언제 로그인/로그아웃했는지 📅 last
/var/run/utmp 현재 로그인 중인 사용자 정보 👥 who, w
/var/log/lastlog 각 사용자 마지막 로그인 시간 🕓 lastlog
/var/log/btmp 로그인 실패 기록 🚫 lastb

 

 

🧊 참고: 위 로그들은 바이너리 파일이라 그냥 열면 깨져보이므로 꼭 전용 명령어(last, who, lastlog, lastb)로 확인!

 

 

사용자가 사용한 명령어 기록

~/.bash_history 사용자가 입력한 명령어들을 저장 🧾해킹 분석 시 매우 중요
종류 .bash_history, .zsh_history, .history 등 사용 중인 쉘에 따라 다름

 

 

🎯 시스템 에러 빠르게 찾기!

tail -f /var/log/messages | grep error

 


🐧 rsyslog란?

로그 메시지를 받아서 저장하고 처리하는 ‘리눅스의 일기장 매니저’!

  • 시스템, 커널, 프로그램들이 남기는 메시지를 모으고 정리.
  • 메시지를 어디에 어떻게 저장할지 설정파일(/etc/rsyslog.conf)에서 결정
  • 기본적으로 UDP 514 포트로 메시지를 받는다 📡

⚙️ /etc/rsyslog.conf 구조

 

선택자(Selector) 어떤 로그를 기록할지 선택하는 부분 authpriv.* (보안관련 모든 로그)
- Facility (시설) 메시지를 만드는 프로그램 종류 auth, cron, kern 등
- Level (우선순위) 로그 중요도 info, warning, err 등
구분자 Facility 와 Level 구분 .(점)으로 구분, 여러 선택자 구분은 ;(세미콜론)
행동(Action) 로그를 어디에 기록할지 설정 파일, 콘솔, 사용자 계정, 원격 호스트 등

🏷️ Facility (로그 종류) 종류

 

auth 로그인/사용자 인증 관련 SSH, FTP 로그인 기록 🔐
cron 예약작업 데몬 관련 crond 작업 기록 ⏰
daemon TELNET, FTP 같은 데몬 메시지  
kern 커널 메시지 하드웨어 상태, 커널 이벤트 🧠
mail 메일 시스템 관련 메시지  
user 일반 사용자 프로세스 메시지  
local0~local7 사용자/특정 프로그램 전용 개발자들이 자주 이용

🥇 Level (우선순위) 종류

 

emerg 가장 위험한 상태 🚨 시스템 전체가 긴급!
alert 즉각 조치 필요 ⚠️ 빨리 고쳐야 해요!
crit 치명적 문제 발생 💥 심각한 장애!
err 에러 발생 ❌ 오류 있음
warning 주의할 점 ⚠️ 조심하세요
notice 주목할만한 알림 📢 참고용 알림
info 일반 정보 메시지 ℹ️ 그냥 알려줘요
debug 디버그용 상세 메시지 🐞 문제 찾는 중

 

 

우선 순위 


📋 행동(Action) 

 

파일 지정한 로그 파일에 기록 /var/log/messages
장치 콘솔 화면 등에 출력 /dev/console
계정 특정 사용자에게 알림 root 또는 * (전체)
호스트 다른 서버로 전송 @192.168.1.100

ex


🔄 logrotate란?

쌓이는 로그 파일, 용량 걱정 없이 관리해주는 ‘로그 정리사’! 🧹

  • 로그가 계속 쌓이면 서버가 느려질 수 있죠? 😵
  • logrotate가 주기적으로 옛날 로그를 압축하거나 삭제해서 용량을 확보
  • 리눅스 설치 시 기본 탑재! 보통 cron으로 자동 실행

📂 logrotate 구성요소

 

/etc/logrotate.conf 기본 설정 파일
/etc/logrotate.d/ 프로그램별 추가 설정 파일
/usr/sbin/logrotate logrotate 실행 프로그램
/var/lib/logrotate.status 마지막 실행 상태 기록
/etc/cron.daily/logrotate cron이 매일 실행하는 스크립트

⚙️ 주요 옵션 설명

 

daily/weekly/monthly 로그 순환 주기 설정 weekly는 매주 한 번
rotate [숫자] 보관할 백업 로그 개수 rotate 4 → 4개만 보관
compress / nocompress 압축 여부 기본은 compress (gzip)
compressext 압축 파일 확장자 .gz, .bz2 등
dateext 날짜 확장자 추가 로그파일-20250527.gz
delaycompress 최신 백업은 다음 순환 때 압축 바로 압축 안함
missingok 로그 파일 없어도 에러 안 냄 파일 없으면 그냥 넘어감
notifempty 빈 로그 파일은 순환 안 함 내용 없으면 순환 안함
size [크기] 로그파일 크기 기준 순환 100M 넘으면 순환

📋 로그 순환 전/후 스크립트

  • prerotate / endscript: 로그 돌리기 전후에 할 작업 설정 가능
  • sharedscripts: 여러 로그 돌릴 때 스크립트 한 번만 실행

 

 

action
file 경로가 들어간 경우 해당 파일안에 데이터를 저장 /var/log/hello.log
device의 경로가 들어간 경우 해당 장치로 데이터를 전송 -> 처리 /dev/pts/1
계정명이 들어간 경우 해당 계정에게 메시지를 알림  
주소가 들어간 경우 해당 주소(ip address)의 시스템으로 메시지를 전송 @10.10.10.1 -> UDP 전송 (속도)
@@10.10.10.1 -> TCP 전송(안전)

 

주소로 로그데이터를 전송하는 경우에 로그데이터를 받는 쪽에서 rsyslog 수신 설정을 해야 한다

여러군데에서 발생하는 로그를 하나의 서버에서 관리하는 것이 가능하다

 

rsyslog 설정 방법 (송신 측 시스템)

 

설정 파일 열기

vi /etc/rsyslog.conf

 

아래 추가 (udp)

 

rsyslog 설정 방법 (수신 측 시스템)

 

설정 파일 열기

vi /etc/rsyslog.conf

 

아래 항목 주석 해제 또는 추가

# UDP 수신
module(load="imudp")
input(type="imudp" port="514")

# TCP 수신
module(load="imtcp")
input(type="imtcp" port="514")

 

 

 

수신(받는 쪽)에서 바꿔야 한다

 


+tab 2개로 확인하기

왼쪽창은 ps를 쳤을 때 터미널 창 0번 오른쪽은 1번

 

/dev/pts/1

 

저작자표시 비영리 변경금지 (새창열림)

'Cryptology' 카테고리의 다른 글

리눅스 방화벽 및 서버 구축 실습 (vm 4개로 서로 통신, log기록설정 등 해보기)  (0) 2025.05.27
SSL - HTTPS, VSFTPS 구성해보기, 인증서 만들기  (0) 2025.04.30
MITM(Man-in-the-Middle 공격과 인증서  (0) 2025.04.25
암호화 - 단방향 암호(hash, MAC), 양방향 암호(대칭, 비대칭)  (0) 2025.04.23
SSH, SCP, firewalld, iptables 작동방식, 사용법  (0) 2025.04.23
'Cryptology' 카테고리의 다른 글
  • 리눅스 방화벽 및 서버 구축 실습 (vm 4개로 서로 통신, log기록설정 등 해보기)
  • SSL - HTTPS, VSFTPS 구성해보기, 인증서 만들기
  • MITM(Man-in-the-Middle 공격과 인증서
  • 암호화 - 단방향 암호(hash, MAC), 양방향 암호(대칭, 비대칭)
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    sqlinjection
    injectionvector
    Hack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
로그파일 위치, 로그분석 (rsyslog)
상단으로

티스토리툴바