ハニーポット アクセスログ分析

ひっそりと運用しているハニーポットの気になったログを気ままに取り上げます

ハニーポットログ環境設定(宛先ポートの傾向を把握するのために通信ログを取得)

ハニーポットを仕掛けてないポート宛ての通信傾向を調査するため、ネットワークの通信ログを収集するようにしました。

通信ログはこんな感じで記録されます。

f:id:abel1ma:20181103185522p:plain

 

 

(多分、設定変更箇所を残しておかなと、再構築するときには忘れてると思うので未来の自分のために設定のメモを書き連ねます)

 

【対象】

ubuntu 16.04.5 LTSのサーバにて動作確認

 

次の設定を変更しているだけなので、他のディストリビューションをお使いの場合は適当に読み替えてください……

rsyslog 、 iptables 、 logrotate

 

 

 

iptables設定】 ハニーポット宛ての通信ログを記録するための設定です

ファイル /etc/iptables/iptables.rules 

追記内容 -A PREROUTING -j LOG --log-level warning --log-prefix "[IPTABLES]"

追記箇所 ポート転送などの処理前に挿入

f:id:abel1ma:20181104141358p:plain

 

このタイミングでiptablesを再読み込みすると通信ログは  /var/log/syslog  に出力されます。

 

出力先ログファイルの指定は後ほど行いますが、その際 -log-prefix "[IPTABLES]" にて指定した[IPTABLES]という文字列が振り分けのキーとなります

f:id:abel1ma:20181103185522p:plain

 

※「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行目の定義がなければ、

f:id:abel1ma:20181103194049p:plain

*.*の定義により、 /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 」へ通信ログが出力されるようになります