ニシキヘビってかわいいよね、実際みたことないけど。

無職がいよかん国でプログラミングとかの備忘録を書いてます。 一日一食たまごかけごはん。

iptablesでログを保存せずに破棄しても良さそうなポートとかを調べてみた

引越前に一旦実家に帰って自分の部屋を見てみると、物置部屋化してました。さもありなん。
実家の部屋の掃除をしてると、VPSのログ掃除もしたくなりました。

今のiptablesの設定では、送信元が
* ブロードキャストアドレス
* マルチキャストアドレス
* マイクロソフト系の閉じたほうがいいポート(Sambaなど)
* DropBox LAN-Sync
以外で、Dropしたものをログにとっています。

ログは可能な限り残したいですが、
ありきたりな攻撃は攻撃元を追跡するにしても手間のほうが大きく、
ログ圧迫の原因になりますし、
なんせ見てても面白くないのでログを破棄しましょうと思うところで。

PHPで実装されたアプリもあるようですが、
細かい集計等は自分でする必要がありそうですね。
ざっと自分で作りましょー。

集計対象数はたった11,193件です。
こちらが結果の、DropしたポートTop50になります。

proto/port 合計 割合
tcp/23 4501 40.21%
tcp/1433 1024 9.15%
tcp/22 633 5.66%
udp/1900 323 2.89%
tcp/2323 211 1.89%
tcp/3389 203 1.81%
udp/5060 170 1.52%
tcp/8080 138 1.23%
tcp/3128 113 1.01%
tcp/443 112 1.00%
tcp/80 110 0.98%
udp/123 95 0.85%
tcp/3306 92 0.82%
tcp/81 90 0.80%
tcp/2222 72 0.64%
tcp/21 71 0.63%
udp/53 68 0.61%
tcp/7547 59 0.53%
tcp/5900 59 0.53%
tcp/5038 49 0.44%
tcp/39393 44 0.39%
udp/161 43 0.38%
tcp/25 33 0.29%
tcp/3390 29 0.26%
udp/53413 26 0.23%
tcp/8545 23 0.21%
tcp/9200 23 0.21%
tcp/6379 23 0.21%
tcp/27017 21 0.19%
tcp/3391 19 0.17%
tcp/8081 19 0.17%
tcp/8090 18 0.16%
tcp/110 18 0.16%
tcp/8000 18 0.16%
tcp/502 17 0.15%
udp/19 16 0.14%
tcp/3392 16 0.14%
tcp/8443 16 0.14%
tcp/8088 15 0.13%
udp/5353 15 0.13%
tcp/5432 15 0.13%
tcp/143 15 0.13%
tcp/3393 15 0.13%
tcp/5000 15 0.13%
udp/1434 13 0.12%
tcp/3396 13 0.12%
tcp/53 13 0.12%
tcp/3395 13 0.12%
tcp/8888 13 0.12%
tcp/11211 13 0.12%
udp/111 13 0.12%
tcp/111 13 0.12%
tcp/623 13 0.12%

圧倒的、Telnet。狙うのは弱いところですね。

次点でSSHと思ってたのですが3番目に多くて、MicroSoft SQL Server が2番目に来ました。
3389番はRDPですね。今もXRDPでお世話になってます。
退職予定の職場で、インターネット経由のRDP直つなぎしてた人がいたのですが、セキュリティ的には大丈夫なのでしょうか(白目)
調べてみると、IPアドレス制限とかできるようなので、まあひどくはないでしょうが。

2222番や2323番は一応予約済みポートの範囲内なのですが、
ポート番号を変えたほうがいいという情報だけを鵜呑みにして、
テケトーに変更したTelnetSSHを探ってる感じがします。

SquidSIPMySQLへのアクセスも比較的多いです。メジャーどころですね。
NTPは…自分が設定ミスしたときのものです()。

こちらは、Dropしたアクセス元の国Top10になります。

国コード 合計 割合
CN 2734 24.43%
US 1927 17.22%
IN 888 7.93%
RU 776 6.93%
NL 566 5.06%
KR 530 4.74%
BR 337 3.01%
FR 285 2.55%
TR 230 2.05%
UA 219 1.96%

国に関しては資源の差とか踏み台とかもあるので一概に多いと決めるのは気が引けますが、
単純に数だけ見ると、期待を裏切らない結果になりました。

あと、なんか気になったので国コードとポートをキーにして集計。

国/proto/port 合計 割合(全体) 割合(国別)
CN/tcp/23 1309 11.69% 47.88%
IN/tcp/23 779 6.96% 87.73%
CN/tcp/1433 721 6.44% 26.37%
US/tcp/23 419 3.74% 21.74%
KR/udp/1900 283 2.53% 53.40%
BR/tcp/23 255 2.28% 75.67%
KR/tcp/23 183 1.63% 34.53%
TR/tcp/23 179 1.60% 77.83%
RU/tcp/23 159 1.42% 20.49%
CN/tcp/22 139 1.24% 5.08%

同じTelnetへのアクセスでも、CNが群を抜いてますね……
ただ、国別割合で見るとINのほうが多い模様。どうしたIT大国。
気になったのがKRからのSSDPです。SSDPリフレクションという攻撃が3年前に流行ってたぽいですね。
一度攻撃が流行ると手軽なツールとか出まわって、長い間息してる感じがしますね。

少なくともTelnetと、MicroSoft系ポートは即Dropでも良さそうですね。

ダラダラ読んでた「独習 Git」読み終わりました。
GitHubの練習を兼ねてスクリプトを公開しました。
拾ったことのあるログ形式にしか対応してませんが……
使えそうでしたらご利用下さい。

GitHub - Chiota-Mao/stat_iptables_log: iptablesログの分析に使ったスクリプト