티스토리 뷰

Analysis/System&IR

Linux syslog(rsyslog) format

쏘얌무 2018. 5. 18. 17:20

유닉스 계열의 운영체제는 syslog 표준 인터페이스를 통해 커널 및 응용프로그램에 의해 발생 로그를 체계적으로 생성하고 관리합니다.

 

이러한 syslog의 동작 방식을 보면 커널 및 응용프로그램이 syslog API를 통해 로그를 생성하면 데몬 프로세스가 syslog.conf 설정 파일을 참조해 로그를 기록하는 모습을 보입니다.

 

이러한 설정파일은 /etc/syslogd.conf로 어떤 로그를 남길지, 어디에 남길지를 설정할 수 있으며 이러한 정의 규칙 포맷에 대해서 설명하도록 하겠습니다.

vi /etc/rsyslog.d/50-default.conf
vi /etc/rsyslog.conf 

 

해당 항목들은 Linux ubuntu 기반으로 작성되었으며 Linux는 syslog를 개선한 rsyslog를 사용하고 있어 rsyslog에 대한 항목을 정리하였습니다. 경우에 따라서 rsyslog.conf에 모든 항목이 있거나 저 처럼 50-default.conf에 있을 수 있습니다.

 

 

kern.emerg /var/log/test

Facility.Priority action의 형태입니다. 이 구문을 해석하면 kernel에 대한 로그 중 emerg 등급 수준이상의 로그를 /var/log/test로 남기라는 형식입니다.

 

항목

  1. Facility
    로그를 생성 할 서비스로 아래 항목을 정리 한것 입니다.

    * : 아래 항목과는 다르게 모든 서비스를 의미할때 사용합니다.
    local0~7 : local에 대한 시스템 부팅 메세지 기록, 여분 서비스에 사용하기 위하여 있는 항목입니다.

    auth, authpriv : 인증 및 보안에 관한 메세지입니다.
    cron : 예약과 관련된 cron과 at 데몬에 의한 메세지 입니다.
    daemon : 데몬에 의해 생성되는 메세지 입니다.
    kern : 커널에 의한 메세지 입니다.
    lpr : 프린터 데몬인 lpd에 의한 메세지 입니다.
    mail : 메일 시스템에서 발생되는 메세지 입니다.
    news : 뉴스 시스템에서 발생되는 메세지 입니다.
    uucp : uucp에 의한 메세지입니다.
    syslog : syslog에 의한 시스템 메세지 입니다.
    user : 사용자에 의한 메세지 입니다.

    이외에도 clock, logalert, logaudit, ntp, ftp의 항목이 있습니다.

  2. Priority (Severity) Level
    로그에 대한 수준, 심각도 수준 등으로 표현됩니다.

     순위 

     심각도,등급 

     키워드 

     설명 

     0

     Emergency

     emerg,
     panic

     시스템 사용 불가.
     패닉 상태

     1

     Alert

     alert

     즉각적 조치 필요

     2

     Critical

     crit

     심각한 오류 발생

     3

     Error

     error,
     err

     일반적 오류 발생

     4

     Warning

     warning,
     warn

     경고가 필요한 상태

     5

     Notice

     notice

     일반적인 상태이지만
     관리자 조치가 필요

     6

     Infomation

     info

     정보 관련 메세지

     7

     Debug

     debug 

     


    순서별로 알아 두시는 것이 좋은 이유는 위에서부터 이러한 심각도 수준의 등급이 높게 되며, 지정된 해당 수준 이상의 상황이 발생했을 때 로그를 남기게 특성 때문입니다.
    예를 들면 cirt를 설정하게 되면 emerg, alert, crit의 상황이 발생시 로그가 발생합니다.

    *과 none에 대해서도 말씀 드리자면 *는 모든 경우의 로그를 생성, none 어떠한 경우에도 로그를 생성하지 않는 설정입니다.

  3. Action
    로그를 남길 위치에 대해서 정의하는데 이는 로그파일, 콘솔, 원격 로그 서버, 특정 사용자 등으로 분류 됩니다.

    로그파일 - 파일 경로 지정
    콘솔 - 콘솔로 출력하는 것으로 /dev/console로 지정합니다.
    원격 로그 서버 - '@호스트 주소'로 지정하여 호스트로 로그를 보낼 수 있습니다.
    user - 지정된 사용자의 스크린으로 메세지를 보내게 됩니다
    * - 로그인 되어 있는 모든 사용자의 스크린으로 메세지를 보내게 됩니다.

 

이러한 syslog는 보안의 특성인 가용성 무결성 기밀성을 고려하지 않고 개발되어 UDP를 통한 로그를 전송할 때 공격자가 syslog 메세지를 모니터링 하여 중요정보를 알아 낼 수 있습니다. 따라서 RFC 3195는 보안기능에 대한 권고를 하고 있습니다.

  • TCP를 이용하여 로그 전송의 신뢰성 보장을 합니다
  • 기밀성 보장을 위하여 syslog 서버 및 log 수집대상 서버의 IP를 제외한 payload를 보호할 수 있는 BEEP를 사용합니다
  • BEEP연결 지향적이며 비동기적 연결을 위한 응용 프로토콜 프레임 워크로 내부적 인증, 재전송을 통한 신뢰성 등을 보장 합니다.

 

 

'Analysis > System&IR' 카테고리의 다른 글

xferlog 형식(format) 분석  (0) 2018.05.17
Linux의 shadow 파일  (0) 2018.05.17
windows 로그, 감사 정책  (0) 2018.05.10
운영체제의 계정과 그룹 기초  (0) 2018.05.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함