前回の続きです。 狙われやすいアカウント名ランキングに続きまして、どこの国からアタックを受けているかも調査してみました。…まぁなんとなく結果はわかっていましたが、数値化するのが大事ですよね!(虚空を見つめがら)
結果発表
IPアドレス単位
# | カウント | IPアドレス | 国CD | 国名 |
---|---|---|---|---|
1 | 43,148 | 218.92.1.163 | CN | 中国 |
2 | 43,147 | 58.242.83.7 | CN | 中国 |
3 | 43,147 | 218.92.1.174 | CN | 中国 |
4 | 43,147 | 218.92.1.173 | CN | 中国 |
5 | 31,139 | 112.85.42.196 | CN | 中国 |
6 | 27,063 | 218.92.1.181 | CN | 中国 |
7 | 21,800 | 112.85.42.238 | CN | 中国 |
8 | 20,223 | 112.85.42.197 | CN | 中国 |
9 | 13,908 | 218.92.1.172 | CN | 中国 |
10 | 10,678 | 112.85.42.232 | CN | 中国 |
11 | 9,605 | 112.85.42.233 | CN | 中国 |
12 | 8,584 | 112.85.42.151 | CN | 中国 |
13 | 6,735 | 58.242.83.17 | CN | 中国 |
14 | 6,666 | 193.201.224.216 | UA | ウクライナ共和国 |
15 | 3,559 | 122.194.229.49 | CN | 中国 |
16 | 3,359 | 112.85.42.231 | CN | 中国 |
17 | 3,228 | 112.85.42.193 | CN | 中国 |
18 | 2,558 | 101.91.215.199 | CN | 中国 |
19 | 2,548 | 101.91.215.80 | CN | 中国 |
20 | 1,818 | 188.92.77.235 | LV | ラトビア共和国 |
21 | 1,505 | 122.194.229.18 | CN | 中国 |
22 | 1,483 | 106.13.34.94 | CN | 中国 |
23 | 1,209 | 188.92.75.248 | LV | ラトビア共和国 |
24 | 980 | 59.46.135.42 | CN | 中国 |
25 | 828 | 146.0.228.106 | DE | ドイツ連邦共和国 |
26 | 719 | 206.189.149.126 | SG | シンガポール |
27 | 606 | 112.85.42.235 | CN | 中国 |
28 | 575 | 54.169.36.191 | SG | シンガポール |
29 | 408 | 185.246.128.25 | SE | スウェーデン王国 |
30 | 402 | 103.207.38.197 | VN | ベトナム |
国単位
# | 行ラベル | 合計 / カウント | 割合 |
---|---|---|---|
1 | 中国 | 353,341 | 87.5079% |
2 | アメリカ合衆国 | 8,128 | 2.0130% |
3 | ウクライナ共和国 | 6,939 | 1.7185% |
4 | フランス共和国 | 4,729 | 1.1712% |
5 | ラトビア共和国 | 3,039 | 0.7526% |
6 | シンガポール | 2,893 | 0.7165% |
7 | ドイツ連邦共和国 | 2,270 | 0.5622% |
8 | インド | 1,975 | 0.4891% |
9 | ロシア | 1,629 | 0.4034% |
10 | 大韓民国 | 1,504 | 0.3725% |
11 | ブラジル連邦共和国 | 1,443 | 0.3574% |
12 | イギリス | 1,346 | 0.3333% |
13 | オランダ王国 | 1,176 | 0.2912% |
14 | カナダ | 922 | 0.2283% |
15 | ベトナム | 899 | 0.2226% |
16 | インドネシア共和国 | 857 | 0.2122% |
17 | イタリア共和国 | 688 | 0.1704% |
18 | ポーランド共和国 | 634 | 0.1570% |
19 | コロンビア共和国 | 626 | 0.1550% |
20 | スウェーデン王国 | 525 | 0.1300% |
21 | 日本 | 494 | 0.1223% |
22 | メキシコ合衆国 | 483 | 0.1196% |
23 | 香港 | 445 | 0.1102% |
24 | 中華民国 | 441 | 0.1092% |
25 | アルゼンチン共和国 | 428 | 0.1060% |
26 | タイ王国 | 388 | 0.0961% |
27 | スペイン | 276 | 0.0684% |
28 | イラン・イスラム共和国 | 222 | 0.0550% |
29 | 南アフリカ | 215 | 0.0532% |
30 | マレーシア | 211 | 0.0523% |
結論
中国からのアクセスをブロックすれば80%以上のアタックを防げる結果になりました\(^o^)/
ちなみに日本からのアタックは494件、0.1223%でした。
集計方法
IPアドレスの割当国を見つける
geoip-countryというNode.jsのモジュールを利用しました。こちらはMaxMindから提供されているフリーのデータを利用しているようです。
インストール
$ mkdir geoip; cd geoip $ npm install geoip-country $ node node_modules/geoip-country/scripts/updatedb.js
最後の行はMaxMindの国データをネットワーク越しに取得するスクリプトです。便利ですねー。
集計元データの準備
$ sudo grep Failed /var/log/secure* | gawk 'match($0,/from (.*) port/,a){print a[1]}' | sed 's/invalid user //' | sort | uniq -c | sort -nr > ip.txt
ip.txt
をEXCELで開いてタブ区切りテキストで保存し直しました。若干の敗北感がありますが気にしない方向でお願いしますw このip.txt
を先ほど作成したgeoip
フォルダに放り込みます。
この時点では以下のようなデータとなっています。
$ head ip.txt 43148 218.92.1.163 43147 58.242.83.7 43147 218.92.1.174
集計スクリプト
雑なコードで恐縮ですw
/** * ipsearch.js */ const geoip = require('geoip-country'); const fs = require('fs'); let buff = fs.readFileSync("./ip.txt", {encoding: "utf-8"}).split(/\r\n/); for(let i=0; i<buff.length; i++){ let [count,ip] = buff[i].split(/\t/); let geo = geoip.lookup(ip); let country = ( (geo!== null) && ("country" in geo) )? geo.country:null console.log([count, ip, country].join("\t")); }
あとは実行するだけです。
$ node ipsearch.js 43148 218.92.1.163 CN 43147 58.242.83.7 CN 43147 218.92.1.174 CN
全件データ
IPアドレス単位
国単位
補足
あくまでアクセス元のIPアドレスですので、他国を踏み台にしてリクエストしてきている可能性がありますのでご注意を。 また、中国からのアクセスが膨大で霞んで見ているだけで、アメリカやウクライナなど上位の国のリクエスト数も尋常じゃないですw
セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術 (Software Design plusシリーズ)
posted with amazlet at 19.02.03
折原 慎吾 鐘本 楊 神谷 和憲 松橋 亜希子 阿部 慎司 永井 信弘 羽田 大樹 朝倉 浩志 田辺 英昭
技術評論社
売り上げランキング: 15,209
技術評論社
売り上げランキング: 15,209