Rsyslog : リモートホストにログを転送する2015/06/18 |
リモートホストにログを転送して、特定ホストで複数ホストのログを一括管理できるようにします。
ここでは以下のような環境を例にします。 +----------------------+ | +----------------------+ | [ Syslog Server ] |10.0.0.30 | 10.0.0.51| [ Syslog Client ] | | dlp.srv.world +----------+----------+ node01.srv.world | | | | | +----------------------+ +----------------------+ |
[1] | ログを受信して一括管理する側のホストで、リモートホストのログを TCP 経由で受信できるよう設定します。 |
[root@dlp ~]#
vi /etc/rsyslog.conf # 19-20行目:コメント解除 $ModLoad imtcp $InputTCPServerRun 514 # 許可する送信元を指定
$AllowedSender TCP, 127.0.0.1, 10.0.0.0/24, *.srv.world
systemctl restart rsyslog |
[2] | 送信側ホストの設定です。 |
[root@node01 ~]#
vi /etc/rsyslog.conf # 例として authpriv.* のログを転送 authpriv.* @@dlp.srv.world:514
# 84行目:全てコメント解除 $ActionQueueFileName fwdRule1 # unique name prefix for spool files $ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) $ActionQueueSaveOnShutdown on # save messages to disk on shutdown $ActionQueueType LinkedList # run asynchronously $ActionResumeRetryCount -1 # infinite retries if host is down[root@node01 ~]# systemctl restart rsyslog |
[3] | 受信側のホストでログを見てみると、以下のようにログが記録されていることが分かります。 |
[root@dlp ~]# tail -10 /var/log/secure Jun 17 11:24:47 dlp sshd[9582]: Connection closed by 127.0.0.1 [preauth] Jun 17 11:27:46 node01 login: pam_unix(login:session): session closed for user root Jun 17 11:27:52 node01 login: pam_unix(login:auth): check pass; user unknown Jun 17 11:27:52 node01 login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 Jun 17 11:27:54 node01 login: FAILED LOGIN 1 FROM ttyS0 FOR (unknown), User not known to the underlyin Jun 17 11:27:59 node01 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0) Jun 17 11:27:59 node01 login: DIALUP AT ttyS0 BY root Jun 17 11:27:59 node01 login: ROOT LOGIN ON ttyS0 Jun 17 11:28:44 node01 su: pam_unix(su-l:session): session opened for user cent by root(uid=0) Jun 17 11:28:54 node01 sudo: cent : TTY=ttyS0 ; PWD=/home/cent ; USER=root ; COMMAND=/bin/cat /etc/sha |
[4] | ホストごと、年月日ごとにログファイルを分ける場合は、サーバー側で以下のように設定します。 |
[root@dlp ~]#
vi /etc/rsyslog.conf # 追記:ログを書き出す場所を定義
$template Secure_log,"/var/log/secure.d/%fromhost%_%$year%%$month%%$day%.secure"
# 追記:定義した場所を指定 (ハイフンは非同期書き込みの指定) authpriv.* -?Secure_log
[root@dlp ~]#
[root@dlp ~]# systemctl restart rsyslog
ll /var/log/secure.d total 8 -rw-r--r-- 1 root root 350 Jun 17 11:34 dlp_20150617.secure -rw-r--r-- 1 root root 380 Jun 17 11:34 node01.srv.world_20150617.secure |
Sponsored Link |