[Ubuntu] シスログサーバーを動かして RTX 1100 のシスログを保存する方法
前書き
我が家にある Ubuntu でシスログサーバーを構築します。パナソニックのレッツノートにインストールしているデスクトップ版の Ubuntu です。我が家のメインルーターであるヤマハの RTX1100 (古いっ!) のログを取得するようにします。
Ubuntu のバージョン情報
$ head -6 /etc/os-release NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.1 LTS" VERSION_ID="20.04" $
Ubuntu のバージョン 20.04 のようですね。
シスログの設定ファイルを修正する
/etc/rsyslog.conf を修正します。具体的には、
#module(load="imudp") #input(type="imudp" port="514")
上記 2 行の先頭にある # を消します。(コメントになっているのでコメント解除します)
RTX1100 のシスログ保管を定義するファイルを作る
/etc/rsyslog.d ディレクトリに RTX1100 のシスログを保管することを定義するファイルを作ります。ここでは 75-rtx1100.conf というファイル名にしました。作った後 ls した状態がこちら。↓
$ pwd /etc/rsyslog.d $ ls -tlr total 12 -rw-r--r-- 1 root root 314 Aug 16 2017 20-ufw.conf -rw-r--r-- 1 root root 1124 Jan 31 2018 50-default.conf -rw-r--r-- 1 root root 3 Dec 25 23:11 75-rtx1100.conf $
20-ufw.conf と 50-default.conf はシスログサーバの設定を始める前から存在していました。
作ったファイル (75-rtx1100.conf) に下記を書き込みます。
local4.* -/var/log/rtx1100.log
シスログにはファシリティという概念があり、ファシリティとはログの種類分けに使われていると僕はざっくり理解しています。
で、RTX1100 のシスログは local4 というファシリティ (区分) でログを残していく定義にして、シスログサーバの /var/log/rtx1100.log にログを残していく定義にしたのが上記の 1 行というわけです。
シスログサーバのプロセスを再起動する
Ubuntu はデフォルト状態でシスログサーバのプロセス (rsyslogd) が動いているようなので、ここで再起動します。
$ sudo systemctl restart rsyslog
再起動したらプロセスの状態を一応見ておきます。
$ sudo systemctl status rsyslog ● rsyslog.service - System Logging Service Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-12-25 23:28:45 JST; 16s ago TriggeredBy: ● syslog.socket Docs: man:rsyslogd(8)RSyslog DocumentationMain PID: 793693 (rsyslogd) Tasks: 5 (limit: 4517) Memory: 1.7M CGroup: /system.slice/rsyslog.service └─793693 /usr/sbin/rsyslogd -n -iNONE Dec 25 23:28:45 CF-S10 systemd[1]: Starting System Logging Service… Dec 25 23:28:45 CF-S10 rsyslogd[793693]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.> Dec 25 23:28:45 CF-S10 rsyslogd[793693]: rsyslogd's groupid changed to 106 Dec 25 23:28:45 CF-S10 systemd[1]: Started System Logging Service. Dec 25 23:28:45 CF-S10 rsyslogd[793693]: rsyslogd's userid changed to 102 Dec 25 23:28:45 CF-S10 rsyslogd[793693]: [origin software="rsyslogd" swVersion="8.2001.0" x-pid="793693" x-info="https://w> $
タイムスタンプのところを見て、再起動を実行したタイミングと時間が合ってることを (最低限) 確認しておく。
ログファイルが記録され始めたことを確認する
では /var/log/rtx1100.log になんでもいいからログが記録され始めたことを確認しておきたいところです。
ここで僕は RTX1100 に telnet でログインして管理者権限になりました。これだけでもヤマハルータはシスログを吐きます。ログファイルをチェックします。
$ ls -l /var/log/rtx1100.log -rw-r----- 1 syslog adm 176 Dec 25 23:29 /var/log/rtx1100.log $ cat /var/log/rtx1100.log Dec 25 23:29:37 Login succeeded for TELNET: 172.16.1.2 Dec 25 23:29:43 _gateway 'administrator' succeeded for TELNET: 172.16.1.2 Dec 25 23:29:58 Logout from TELNET: 172.16.1.2 $
ログがシスログサーバ側で記録されていることが確認できました。
ヤマハルータ側の設定は?
ところでヤマハルータ側には何も設定しなくていいのか?という疑問が出たかもしれません。設定は必要です。RTX1100 には以下 4 行を入れていました。
syslog host 172.16.1.2 syslog local address 172.16.1.1 syslog facility local4 syslog notice on
1 行目はシスログサーバの IP アドレスを指定しています。
2 行目は RTX1100 がシスログを投げる時の送信元 IP アドレスを指定しています。
3 行目がシスログサーバのときに出てきたファシリティの設定です。Ubuntu 側で local4 というファシリティ指定にしたので、RTX1100 側でも合わせて local4 と書かないといけないと思います。
4 行目はヤマハのマニュアルによると、「各種フィルター機能等で検出したパケット情報を SYSLOG で出力するか否かを設定する」コマンドだそうです。とりあえず ON にしときました。
“[Ubuntu] シスログサーバーを動かして RTX 1100 のシスログを保存する方法” に対して1件のコメントがあります。