Rubyと筋肉とギターとわたし

筋トレが仕事です

【gloudコマンド】ファイアーウォール ルールへ複数IPを設定するシェルを作った

f:id:rdwbocungelt5:20180727094804j:plain

どうもてぃです。

ちょっと前に書いた記事でファイアーウォールルールを20個弱作成しました。

smot93516.hatenablog.jp

確認しながらだったので1時間弱の工数

これをプロジェクト毎に同じ量作成していくって考えるとおぞましい。まじで。

本来なら別プロジェクトでもファイアーウォールルールを共有できたらと思っていろいろ調べてたのですが、よーわからんかったので今回の方法に落ち着きました。

経緯

GCPへ移行させたとある会社のサーバーへ、1分間に3、 4通の頻度で大量の迷惑メールが届いているとの報告をうけました。

ドメインqq.comです。中国?のメールらしい。

Sendgridの管理画面を見てみるとランダムな数字@qq.comのメールが頻繁にきてました。

f:id:rdwbocungelt5:20180823135754p:plain

アクセスログを見てIPを検索した結果、ほぼすべてがフィリピンからの攻撃。

いままで、中国から攻撃が来てたのでその対策はしてたのですが、盲点でした。

思い込みって怖いですね。

今後もファイアーウォールルールを作るって考えると本当に鬱になりそうだったので、だれでもシェルを叩いて作成でき、GitHubに公開して共有すればみんな幸せになるんじゃなかろうか、ということで作成しました。

準備

ローカルでgloudコマンドが使える環境を作っておいてください。

インストール方法は上の記事に載ってます。

GitHub貼っておくのでcloneしてください。

github.com

README.mdに拙い英語でやり方書いてるので、文章間違えあればプルリクおねがいします。

中国、韓国、北朝鮮、フィリピンのIPを制限

cn-kr-kp-firewall.shが中国、韓国、北朝鮮のIPを制限するシェルです。

philippines-firewall.shがフィリピンのIPを制限するシェル。

また攻撃先があれば随時シェルを追加していきます。

さいごに

本当はもっとシェルスクリプトをうまく使って、.txtを全て整形してgcloudコマンド実行させたかった。

もっと勉強します。