Linux Firewall の設定 [ iptables ] の続き
iptables に引っかかったログを取りたいため以下の設定を行う。
iptables
ルールの一覧表示iptables -nvL --line-numbers
オプション | 説明 |
---|---|
-n | IPアドレスをDNSに問い合わせない |
-v | 詳細な設定を表示 |
-L | ルール一覧を表示 |
--line-numbers | ルール番号を表示 |
ログの出力の設定
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix "[iptables firewall] : " --log-level=info
オプション | 説明 |
---|---|
-m limit -limit 1/s | 単位時間当たりに記録するパケット数(この場合は1秒1パケット) |
-j LOG | ログ出力を実施 |
-log-prefix “[iptables firewall] : ” | ログ出力時につける識別子。 |
-log-level=info | ログ出力のレベル。デフォルトはwarning |
なお、この設定だとログを取りすぎる可能性があるため、iptables のルールの順序を再考する必要がある。
次のルールだとログを取ってから、TCP 22 へのアクセスは捨てられる。
# iptables -nL LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 LOG flags 0 level 6 prefix `[iptables firewall input] : ' DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
次のルールだと先に TCP 22 へのアクセスが捨てられるため、ログは残らない。
# iptables -nL DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 LOG flags 0 level 6 prefix `[iptables firewall input] : '
次のコマンドでサービスを再起動する。
/etc/init.d/iptables restart 又は service iptables restart
ログの出力は dmesg コマンドで確認できる。
このままではカーネルのリングバッファに残るだけで順番に消えてしまうため保存する設定を次で行う。
rsyslog
rsyslog サービスでログを取る。/etc/rsyslog.conf を編集する。
#kern.* /dev/console上の行のコメントを外すとシステムコンソールにログが流れていくので
/var/log/kernlogに保存するように記述する。
#kern.* /dev/console
kern.* /var/log/kernlog
この後、
/etc/init.d/rsyslog restart 又は service rsyslog restart
にてサービスを再起動する。
このままだと /ver/log/kernlog にログがたまり続けるため、必要に応じて logrotate の設定を行う。
logrotate
設定ファイルは /etc/logrotate.conf であり、この中にinclude /etc/logrotate.d
が書かれていれば、/etc/logrotate.d/* にあるファイルも読み込む。
このディレクトリに次の内容のファイルを作り置いておく。
内容は yum ファイルをコピーし、修正したものである。
===ここから===
/var/log/kernlog { missingok notifempty weekly create 0600 root root rotate 4 }===ここまで===
- missingok
該当ログファイルがなくてもエラーを吐かない - notifempty
ログファイルが空だった時、ローテーションしない - weekly
一週間単位でローテーションする - create 0600 root root
ローテションのたびに新しいファイルを作る。
ファイルのアクセス権は600、ユーザroot、グループroot。 - rotate 4
ローテーションした時ファイルを過去4つ残す。
weekly なら 4週間分。
cron の設定は /etc/crontab や /etc/anacrontab などに設定が書かれている。
しばらく、ログの採集状況を見て設定を変更する必要がある。
[参考]
iptablesでログ出力設定
http://wokowa.net/blog/archives/63
多機能なログ管理システム「rsyslog」の基本的な設定
https://knowledge.sakura.ad.jp/8969/
logrotate入門
https://qiita.com/zom/items/c72c7bac63462225971b
logrotate(8) - Linux man page
https://linux.die.net/man/8/logrotate
cron の設定ガイド
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
コメント
コメントを投稿