ハニーポットログ環境設定(宛先ポートの傾向を把握するのために通信ログを取得)
ハニーポットを仕掛けてないポート宛ての通信傾向を調査するため、ネットワークの通信ログを収集するようにしました。
通信ログはこんな感じで記録されます。
(多分、設定変更箇所を残しておかなと、再構築するときには忘れてると思うので未来の自分のために設定のメモを書き連ねます)
【対象】
ubuntu 16.04.5 LTSのサーバにて動作確認
次の設定を変更しているだけなので、他のディストリビューションをお使いの場合は適当に読み替えてください……
rsyslog 、 iptables 、 logrotate
【iptables設定】 ハニーポット宛ての通信ログを記録するための設定です
ファイル /etc/iptables/iptables.rules
追記内容 -A PREROUTING -j LOG --log-level warning --log-prefix "[IPTABLES]"
追記箇所 ポート転送などの処理前に挿入
このタイミングでiptablesを再読み込みすると通信ログは /var/log/syslog に出力されます。
出力先ログファイルの指定は後ほど行いますが、その際 -log-prefix "[IPTABLES]" にて指定した[IPTABLES]という文字列が振り分けのキーとなります
※「PREROUTING」に定義すると、ポート転送前のポート番号が記録される
※「INPUT」に定義すると、ポート転送後のポート番号が記録される
【rsyslog設定】 iptablesで出力される通信ログの出力先を指定
ファイル /etc/rsyslog.d/50-default.conf
追記内容
:msg,contains,"SRC=0.0.0.0 DST=224.0.0" ~
:msg,contains,"IPTABLES" /var/log/iptables/iptables.log
:msg,contains,"IPTABLES" ~
設定後、空っぽのログファイルを作ります。
コマンド touch /var/log/iptables/iptables.log
コマンド chown syslog:adm /var/log/iptables/iptables.log
:msg,contains,"IPTABLES" というのは、ログの中に「IPTABLES」という文字列がある場合、という振り分け条件です
1行目で、マルチキャストの通信ログは破棄
2行目で IPTABLES という文字列があれば、 /var/log/iptables/iptables.log へ出力
3行目で、IPTABLES という文字列があれば、ログ破棄する。
破棄? もし3行目の定義がなければ、
*.*の定義により、 /var/log/syslog へログが出力されます。
(要するに同じログが2つのファイルに出力されます)
【logrotate設定】ログファイルのローテーション
ファイル /etc/logrotate.d/iptables
設定内容
/var/log/iptables/iptables.log {
rotate 7
daily
missingok
notifempty
delaycompress
compress
}
【設定反映】
コマンド systemctl restart rsyslog
コマンド iptables-restore < /etc/iptables/iptables.rules
以上の設定が完了すると、「 /var/log/iptables/iptables.log 」へ通信ログが出力されるようになります