반응형
출처: http://egloos.zum.com/mcchae/v/11109562
syslog(시스로그)는 1980년대에 메일 전송의 로그를 전송하기 위해 시작되었고,
현재는 수많은 보안 장비들이 syslog를 지원하고 있습니다.
뭐 간단하게는 우리가 읽을 수 있는 문자로 UDP 패킷 514 포트로 보낸다는 것 이외는
특별할 것이 없다고 생각했습니다만, 막상 그 내막을 보면 또 히스토리가 있습니다.
우선 기본적으로 어느 일반적인 syslog를 받는다고 하고,
syslog를 받을 서버에서 wireshark를 설치한 다음 패킷 캡쳐를 해 보았습니다.
보통은 이런 모습을 보입니다.
위와 같이 UDP 헤더가 끝나고,
"<25>" 라는 문자열이 나옵니다.
이것은 BSD의 syslog를 지정한 RFC3164 에서 출발하여,
후에 RFC5424 에 정의되어 있는 규칙을 따릅니다.
25라는 decimal 값을 OCTET로 보면 31이 됩니다.
이렇게 나오는 앞의 3이 syslog의 Facility (로그 종류라 보시면 됩니다)가 되고,
Numerical Facility
Code
0 kernel messages
1 user-level messages
2 mail system
3 system daemons
4 security/authorization messages
5 messages generated internally by syslogd
6 line printer subsystem
7 network news subsystem
8 UUCP subsystem
9 clock daemon
10 security/authorization messages
11 FTP daemon
12 NTP subsystem
13 log audit
14 log alert
15 clock daemon (note 2)
16 local use 0 (local0)
17 local use 1 (local1)
18 local use 2 (local2)
19 local use 3 (local3)
20 local use 4 (local4)
21 local use 5 (local5)
22 local use 6 (local6)
23 local use 7 (local7)
Table 1. Syslog Message Facilities
와 같이 정의 되어 있습니다.
(위의 예는 system daemons 이네요)
그 다음의 숫자는 경중을 나타내는 Severity 가 되겠습니다.
Numerical Severity
Code
0 Emergency: system is unusable
1 Alert: action must be taken immediately
2 Critical: critical conditions
3 Error: error conditions
4 Warning: warning conditions
5 Notice: normal but significant condition
6 Informational: informational messages
7 Debug: debug-level messages
Table 2. Syslog Message Severities
위의 예에서처럼 31 Octet 값의 1이라는 alert 가 되겠네요.
그리고 나오는 뒤의 메시지는 모두 해당 장비 등의 syslog 내용이 되겠습니다.
이제 이것을 Ubuntu 12.04 에 디폴트 syslog 데몬인 rsyslog에서 파일로 저장해 보도록 하겠습니다.
우선
$ sudo vi /etc/rsyslog.conf
라고 설정파일을 열어 위에 중간에 있는 UDP syslog reception 부분 두 줄을 풀어줍니다.
그 다음,
$ sudo vi /etc/rsyslog.d/40-daemon_alert.conf
라고 파일을 열어 위와 같이
daemon.alert /var/log/daemon_alert.log
라고 지정해 줍니다.
그 다음,
$ sudo /etc/init.d/rsyslog restart
로 rsyslog 서비스를 재기동시킵니다.
그리고 이제 해당 저장 syslog 파일을 보면,
와 같이 나옵니다.
여기서 주의해야 할 점이 있는데,
<25> 라는 Facility/Severity 라는 것은 이미 필터링되어 저장되므로 해당 내용이 없는 대신,
RFC5424에서 지정한 것과 같이,
syslog 받는 rsyslog 측에서
받은 시각과 호스트명(IP주소)인
"May 23 11:41:24 10.21.15.15 " 가 추가되어 파일에는 나타나게 됩니다.
어느 분께는 도움이 되셨기를...
반응형
'프로젝트 관련 조사 > 로그 관련' 카테고리의 다른 글
loganalyzer 설치 (0) | 2015.09.26 |
---|---|
tcpdump - 네트워크 패킷 덤프 (0) | 2015.09.24 |
syslog 실무가이드 (0) | 2015.09.24 |
아마존( Amazon ) AWS 윈도우( Window )에서 접속 - Putty , pem ppk 변환 (0) | 2015.09.24 |
Log Aggregator 비교 - Scribe, Flume, Fluentd, logstash (0) | 2015.09.23 |