2016年01月10日

VPSで自宅内のSYSLOGの受信・保存をできるようにしてみた

自宅内で使っているルータのログが、すぐに消えてしまうことが以前から懸案事項でした。
syslog2016-01-09_234228.png
上の図のような感じで SYSLOGを転送して保存すればよいことは分かっていましたが「常時起動しているサーバー」へログを転送して保存しなければいけないためそのハードルが高く、あきらめていました。

Raspberry Pi - Wikipedia などの小型サーバーを使って SYSLOGサーバー(+アルファ)をやってみようとも計画していたのですがなんとなく面倒臭さ(結局自宅内にあるサーバーだと 常時稼働やら設置場所、電気代が気になる,etc) で実現できていませんでした。

そこでVPSで保管すればその目的は達成することに気づき、環境構築しうまくいきました。めでたしめでたし。

実は先日まで構築に試行錯誤していたのですが結論としては 514/UDP ポートの開放が必要でした。これはSYSLOG を送信してくるルーターとか、ツールが TCPで送信してこないことが理由です( 常識?)。

SYSLOGの送信テストには以下のツールを試用しました。
Syslog送信(テスト用)の詳細情報 : Vector ソフトを探す!

橋本商会 ≫ Windows用のSyslog Clientを作った
どちらのツールもUDPでメッセージを送り出します(常識?)。
後者のツールは日本語も化けずに送信してくれました。(以下の図)

テスト送信の様子はこんな感じです。
受け側(VPS)のコンソールに
tail -f /var/log/messages
として待ち受けておくと、リアルタイムで送信結果が表示されます。
2016-01-10_000105.png

インターネット上を平文でログ送信するため盗聴されるという危険性はありますがその対策はまた後日とします。(未定です)
#logstudy 01 rsyslog入門

以下は今回の設定の時の自分用のメモです:

・使ったのは CentOS7に入っていた rsyslog (systemctl status rsyslog コマンドで状態が見えたら稼働しています)

・CentOS7でのポートの開放は
CentOS7でポートを開放する方法。 - プログラミングで飯を食え。腕をあげたきゃ備忘録!
こちらを大いに参考にしました。
firewall-cmd --add-port=514/udp --zone=public --permanent

・受信時の許可IP設定
Linuxねた帳: rsyslog $AllowedSenderについて

※今後の課題
セキュア化(暗号化)(たぶん無理。送信元のルータが対応していない)
機器複数台分のログの識別(今のところどちらの機器のログかどうかを判断するのは経験と勘による)

※自宅内でいったんUDPですべて受ける中継syslog サーバを構築し、その後VPSへTCP暗号化送信するようなものを設置すればよいと思うのだがそこまでするならその中継サーバーで蓄積すればいいじゃん、的な。

rsyslogd (syslogd) 設定
↑ここがかなり詳しく書いてあります
タグ:目標達成!

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ