rsyslog - 리눅스편

박재현·2022년 7월 4일
1

😆 개요

윈도우 서버를 운영하거나 리눅스 서버를 운영할 때 로그를 분석하는 일은 매우 중요하다.
특히 보안 관리에 있어서 로그는 그 역할을 많이 하는데, 이러한 역할을 하는 것이 rsyslog이다.
리눅스 초기에는 syslog를 사용하였는데, 이제는 성능 개선 및 관리 편의성이 향상된 rsyslog를 사용한다.


😙 rsyslog 관련 파일

  1. /etc/rc.d/init.rsyslog : rsyslogd 데몬을 동작시키는 스크립트
  2. /etc/rsyslog.conf : rsyslogd 데몬 환경 설정 파일
  3. /etc/sysconfig/rsyslog : rsyslogd 데몬 실행과 관련된 옵션 설정 파일
  4. /sbin/rsyslogd : 실제 rsyslogd 데몬 실행 명령


😮 Facility

Facility란 로그 메세지를 발생시키는 프로그램 유형이다. 예를 들어, 커널 관련 로그는 kern facility가 발생시키고, 인증 관련 로그는 authpriv facility가 발생시킨다.

Facility 종류설명
authpriv개인 인증을 요하는 프로그램 유형이 발생한 메세지 (su, telnet, ssh)
croncrontab(crond), at(atd) 프로그램이 발생한 메세지
daemon시스템 데몬이 생성한 메세지 (telnetd, ftpd)
kern커널이 발생한 메세지
lpr프린트 유형의 프로그램이 발생한 메세지
mail메일시스템이 발생한 메세지
marksyslogd 데몬에 의해 생성된 일정한 시간 간격의 반복적인 메세지
news유즈넷 뉴스 프로그램 유형이 발생한 메세지
security(auth)인증 프로그램이 생성한 메세지 (login)
syslogsyslog 프로그램이 생성한 메세지 (syslogd)
user사용자 프로그램에 의해 생성된 메세지 (top, system-config-*)
uucpUUCP(Unix to Unix Copy) 시스템이 발생한 메세지
local0-7예약된 메세지 종류, 여분으로 남겨둔 유형 (local0, local1, local2, ...)
*모든 메세지 (단, mark 메세지 종류는 제외)



🤨 Priority

로그 메세지는 각각 위험도가 지정된다. 시스템의 로깅을 모두 기록하게 된다면 엄청난 양의 로그가 쌓이기 때문에 리눅스에서는 위험도 구분을 추가하였다.

Level내용
emergency(emerg)시스템이 전면 중단되는 패닉 상태, 전체 공지가 필요한 상황
alert(alert)즉각적인 조치가 필요한 상황(시스템 데이터베이스 오류 등)
critical(crit)하드웨어 등의 심각한 오류가 발생한상황
error(err)일반적인 에러/오류가 발생한 상황
warning(warning)경고 메세지
notice(notice)에러/오류는 아니지만 관리자의 조치가 필요한 상황
information(info)의미 있는 정보 관련 메세지
debug(debug)디버깅용 메세지



🤗 Action

로그를 파일 형태로 떨굴 것인지, 사용자 화면에 직접 전달할 것인지 등에 대한 처리방법을 정의한다.

Action 종류설명
file지정한 파일에 로그 기록
@host지정한 호스트로 메세지 전달
user지정한 사용자가 로그인한 경우, 해당 사용자의 터미널로 전달
*현재 로그인되어 있는 모든 사용자의 화면으로 전달
콘솔, 터미널지정한 터미널로 메세지 전달



🤣 형식

[Facility].[Level][TAB/SPACE][Action]

#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  /var/log/maillog

# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler
profile
🌈Infra Engineer

0개의 댓글