rsyslogでsyslogデータを転送
IP 192.168.10.227
/etc/rsyslog.conf
# Provides UDP syslog reception $ModLoad imudp ←コメントを外す(UDPで受信) $UDPServerRun 514 ←コメントを外す # Provides TCP syslog reception $ModLoad imtcp ←コメントを外す(TCPで受信) $InputTCPServerRun 514 ←コメントを外す # 許可送信サーバを指定 $AllowedSender TCP, 192.168.10.0/24
ログの保存場所を指定
ファシリティ(local1,local2など)により保存場所を指定
/etc/rsyslog.d/test.conf作成
# Save log from remote server local1.* /var/log/local1.log local2.* /var/log/local2.log authpriv.* /var/log/vine6x_secure.log
rsyslogを再起動
# /etc/rc.d/init.d/rsyslog restart
/etc/rsyslog.d/test.conf
# Save log from remote server $template local2-204,"/var/log/local2_204_%fromhost%_%$year%%$month%%$day%.log" $template local2-227,"/var/log/local2_227_%fromhost%_%$year%%$month%%$day%.log" $template local2-log,"/var/log/local2__%fromhost%_%$year%%$month%%$day%.log" local1.* /var/log/local1.log # local2.* -?local2-log ← (1) :fromhost-ip, isequal, "192.168.10.204" -?local2-204 & ~ :fromhost-ip, isequal, "192.168.10.227" -?local2-227 & ~ # local2.*, /var/log/local2_204.log authpriv.* /var/log/vine6x_secure.log
$templateでlogfileのパスを指定
この例はIPごとにファイル名を変えてかつそのファイル名にもIPが入るので(1)のように1行で行えば、ファイル名にIPは入るが、ファイルはホストごとになる
IP 192.168.10.204
ログ転送先のIPとプロトコルを指定
/etc/rsyslog.d/test.conf作成
# Send log to remote server local1.* @192.168.10.227 # UDP で送信する local2.* @@192.168.10.227 # TCP で送信する # Login情報を送信(ファシリティ:authpriv プライオリティ:*) authpriv.* @@192.168.10.227
@の数でTCP/UDPを決める
rsyslogを再起動
# /etc/rc.d/init.d/rsyslog restart
動作確認
Clientで手動ログ作成
UDPでログ作成
ファシリティ:local1 プライオリティ:debugで「TEST MESSAGE BY UDP」というlogを作成
# logger -p local1.debug TEST MESSAGE BY UDP
TCPでログ作成
# logger -p local2.debug TEST MESSAGE BY TCP
Serverで
# less /var/log/local1.log Feb 19 20:06:15 localhost okada: TEST MESSAGE BY UDP
# less /var/log/local2.log Feb 19 20:06:24 localhost okada: TEST MESSAGE BY TCP
ClientにTeratermでloginすると
# less /var/log/vine6x_secure.log Feb 19 20:13:54 localhost sshd[21024]: pam_winbind(sshd:account): valid_user: wbcGetpwnam gave WBC_ERR_DOMAIN_NOT_FOUND Feb 19 20:13:54 localhost sshd[21024]: Accepted password for okada from 192.168.10.47 port 51344 ssh2 Feb 19 20:13:54 localhost sshd[21024]: pam_unix(sshd:session): session opened for user okada by (uid=0) Feb 19 20:14:38 localhost sshd[21048]: Received disconnect from 192.168.10.47: 2: disconnected by server request Feb 19 20:14:38 localhost sshd[21024]: pam_unix(sshd:session): session closed for user okada
tcpdumpでも確認
# tcpdump -nnn -i any port 514 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 07:47:13.912620 IP 192.168.10.204.44777 > 192.168.10.205.514: Flags [P.], seq \ 1892027751:1892027813, ack 2952925955, win 115, options [nop,nop,TS val 820873399 ecr 600031034], length 62 07:47:13.912681 IP 192.168.10.205.514 > 192.168.10.204.44777: Flags [.], ack \ 62, win 114, options [nop,nop,TS val 600191526 ecr 820873399], length 0 ^C 2 packets captured 2 packets received by filter 0 packets dropped by kernel
Facility
コード | Facility | 意味 |
0 | kern | カーネルメッセージ |
1 | user | ユーザーレベルメッセージ |
2 | メール | |
3 | daemon | デーモン |
4 | auth | セキュリティ認証 |
5 | syslog | syslogサーバメッセージ |
6 | lpr | ランプリター |
7 | news | ネットニューズ |
8 | uucp | UUCP |
9 | cron | クーロンまどクロックデーモン |
10 | authpriv | セキュリティ認証(プライベート) |
11 | ftp | FTP |
16~23 | local0~7 | ローカルの予約(任意の用途で利用可能) |
PRIORITY
コード | PRIORITY | 意味 |
0 | emerg | 致命的 |
1 | alert | 警戒 |
2 | crit | 危機的 |
3 | err | エラー |
4 | warning | 警告 |
5 | notice | 通知 |
6 | info | 情報提供 |
7 | debug | デバック |
以下のコマンドで停止
# systemctl stop firewalld
またはport514解放
# firewall-cmd --zone=public --add-port=514/udp --permanent success # firewall-cmd --zone=public --add-port=514/tcp --permanent success # firewall-cmd --reload success