*rsyslog [#g5e6da80] RIGHT:更新日&lastmod(); rsyslogでsyslogデータを転送 ***syslog Server [#k588e95f] 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, 127.0.0.1, *.example.jp, 192.168.10.0/24 $AllowedSender UDP, 127.0.0.1, *.example.jp, 192.168.10.0/24 (必ずTCPとUDPを分ける) ログの保存場所を指定 ファシリティ(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 ***クライアントでログファイルを分ける [#f558a43c] ''/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のパスを指定 -%fromhost% :送信元IPを逆引きして得られたホスト名。逆引きできなけれ ばIPアドレス -%fromhost_ip% :ログを出力したホストのIPアドレス。ローカルの場合は 127.0.0.1 -%$year% :西暦年 -%$month% :西暦月を表します。1〜9月でも2桁 -%$day% :西暦日を表します。1〜9日でも2桁 -fromhost-ip, isequal, "(IPアドレス)" → IPアドレスに等しいとき 実行 -& ~ → 直前の条件を以降は破棄する この例はIPごとにファイル名を変えてかつそのファイル名にもIPが入るので(1)のように1行で行えば、ファイル名にIPは入るが、ファイルはホストごとになる ***ログのローテーション [#kb5eb3e9] ''/etc/logrotate.d/horizon /var/log/message_horizon { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } ''確認'' 以下でエラーがないことを確認 # logrotate -dv /etc/logrotate.d/horizon reading config file /etc/logrotate.d/horizon Handling 1 logs rotating pattern: /var/log/message_horizon 1048576 bytes (no old logs will be kept) empty log files are rotated, old logs are removed considering log /var/log/message_horizon log does not need rotating not running postrotate script, since no logs were rotated ***logrotate確認 [#d64e7f2e] logrotateを実行 # /usr/sbin/logrotate /etc/logrotate.conf 結果を確認 # cat /var/lib/logrotate.status logrotate state -- version 2 "/var/log/named.log" 2015-6-16 "/var/log/snmpd.log" 2015-6-16 "/var/log/rpmpkgs" 2015-6-28 "/var/log/message_horizon" 2015-7-4 <=確認 "/var/log/cups/error_log" 2015-7-4 "/var/log/boot.log" 2015-6-28 "/var/log/wtmp" 2015-6-16 "/var/log/spooler" 2015-6-28 "/var/log/btmp" 2015-7-1 "/var/log/xferlog" 2015-6-16 "/var/log/maillog" 2015-6-28 "/var/log/cups/*_log" 2015-6-16 "/var/log/wpa_supplicant.log" 2015-6-16 "/var/log/secure" 2015-6-28 "/var/log/apache2/*log" 2015-6-16 "/var/log/messages" 2015-6-28 "/var/log/cron" 2015-6-28 -日付を1週間戻してファイルができるか確認 ''/var/lib/logrotate.status''を変更 "/var/log/message_horizon" 2015-6-27 ''実行'' # /usr/sbin/logrotate /etc/logrotate.conf -/var/log/message_horizon-20150704が作成されたことを確認 ***無線LANアダプターrsyslog [#v9598bd6] -無線LANアダプターIP:192.168.10.243 -保存フォルダ:/var/log/network wsr-300hp.ism21.net_20160130.logのように毎日ファイルができる ファシリティの指定はなくてもよいみたい→すべて送信する(アダプターで指定) ''/etc/rsyslog.d/wsr-300hp.conf'' # Save log from remote server # WLAN (WSR-300HP) $template local-wsr300hp,"/var/log/network/%fromhost%_%$year%%$month%%$day%.log" :fromhost-ip, isequal, "192.168.10.243" -?local-wsr300hp & ~ ***AR415Sのsyslog [#c06c7bf2] すべてのログをsyslogサーバー192.168.10.66に送る -OUTPUT: ログ出力先ID。1〜20の任意の番号[CREATE(とりあえず1にした) add ip rou=192.168.10.0 mask=255.255.255.0 int=vlan1 next=182.236.42.20 CREATE LOG OUTPUT=1 DESTINATION=SYSLOG SERVER=192.168.10.66 ADD LOG OUTPUT=1 ALL ***syslog Client [#u5236347] 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/PRIORITY [#z9567515] ''Facility'' |コード |Facility |意味| |0 |kern |カーネルメッセージ | |1 |user |ユーザーレベルメッセージ | |2 |mail |メール | |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 |デバック | **CentOS7のファイアウォール [#q7bae2af] 以下のコマンドで停止 # 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 -http://www.unix-power.net/centos7/firewalld.html **参考 [#v2e0c3ce] -http://nagamee.hatenadiary.jp/entry/2014/09/28/141719 -[[ファシリティ/プライオリティ:http://www.atmarkit.co.jp/ait/articles/0209/07/news002_2.html]] -http://www.unix-power.net/linux/rsyslog.html -http://www.geocities.jp/yasasikukaitou/rsyslog-filter.html