*

GCEのファイアウォールで日本のIP限定化

公開日: : 投稿者: GCE

gce-firewall-ip_b

ファイアウォールで日本に対してのみサービスをしたくないですか?

表記の通りですがそんな声に答えてスクリプトを作ってみました。
IPのネタ元はこちらの世界のIPアドレスリストです。
こちらのIPリストからcidr形式のものを取ってきてJP始まりの行だけを取ってきて、gcloudコマンドでファイアウォールを作成している、という形です。

2016年8月時点ではだいたい2700行程ありました。
管理コンソールで手打ちは不可能ですし、firewall作成にあたってソースレンジは256個迄しか指定出来ないため11個ファイアウォールを作成する必要があります。
最後の数字部分で名前を変えて11個作成します。
定期的に再作成する場合はFW_NAMEを変更して、元のものを削除する、という形にすれば良いでしょう。

いやー、久しぶりにプログラミングして楽しかったです。
前提として、wget,gzipあたりが入って無いと動きません。もちろんgcloudコマンドが叩けることも必要です。
以下、ソースを公開しますので、適当にご利用ください。

#!/bin/bash
FW_NAME=”allow-japan” #ファイアウォールの名称の頭部分です
ALLOW=”tcp:80,tcp:443″ #許可するポートです。
DESC=”Allow only from Japan firewalls” #備考です。

wget http://nami.jp/ipv4bycc/cidr.txt.gz #データ取ってきます。
gzip -d cidr.txt.gz
sed -n ‘s/^JP\t//p’ cidr.txt > jpips.txt

#初期化
numLine=1
numfw=1
IPLIST=””

for line in cat jpips.txt
do
IPLIST=$IPLIST$line”,”
if [ $numLine -eq 256 ]; then
echo -e “$IPLIST —— \n”
IPLIST=echo $IPLIST | sed -e 's/,$//'
gcloud compute firewall-rules create $FW_NAME$numfw –allow $ALLOW –network “default” –description “$DESC” –source-ranges “$IPLIST” &
IPLIST=””
numLine=0
numfw=$((numfw + 1))
fi
numLine=$((numLine + 1))
done
gcloud compute firewall-rules create $FW_NAME$numfw –allow $ALLOW –network “default” –description “$DESC” –source-ranges “$IPLIST” &
rm cidr.txt
rm jpips.txt

公開サイトだとどうしてもGoogleのボットを弾くとまずい、とかあると厳しいかもです。
あと監視をStackDriverとかにしてるとそれも許可しないと、、とか実運用上は色々ありそうですが、こんなことも出来ますよ、というところです。

この記事を書いた人

ayatoshi
ayatoshi
徳島県出身、吉積情報株式会社最高技術責任者
愛光高校、東京大学卒業後、アクセンチュアにて5年間システム開発を経験。
CP300のアジア初取得者。
Google基盤上でのシステム開発の普及を目標として日々活動中。

関連記事

GCE@東京でGUI(GNOME)を動かしてみた

今回は、GCEの東京リージョン上でGUIを動作させてみたいと思います。 GCEにGNOME

記事を読む

15分でできる!GCE上でGO言語を動作させるための手順

GCP上でGO言語を動かす場合、一番最初に思い浮かぶのはGAE/GOだと思いますが、中にはGCE上で

記事を読む

2016年 GCE vs AWS:何故Amazonを絶対使ってはイケナイのか!

本文章は以下の記事の超訳(著者の許可を得て)に一部私のコメントを付加したものになります。 GC

記事を読む

【Disk I/O比較】Google Compute Engine vs Amazon EC2

みなさんこんにちわ。 世間でIaaSといえば、もっぱらAmazon AWS EC2とういうような状

記事を読む

GCEの性能検証 〜WordPressへの負荷テスト〜

2.8万PV/時を捌けるGCE! GCEにWordPressを導入し、負荷検証を実施してみました。

記事を読む

Windowsファイルサーバをアジアと東京で比較してみた!

皆さん、Windowsファイルサーバ使ってますか?もうGoogleクラウドに行けます!GCEも東京に

記事を読む

2014/12/18 GCE vs AWS ベンチマーク

2014/12/18 GCE vs AWS ベンチマーク 本シリーズでは定期的にGCEとEC2のベ

記事を読む

2014/12/04 GCE vs AWS ベンチマーク

2014/12/04 GCE vs AWS ベンチマーク 本シリーズでは定期的にGCEとEC2のベ

記事を読む

2015/04/30 GCE vs AWS ベンチマーク

2015/04/30 GCE vs AWS ベンチマーク 本シリーズでは定期的にGCEとEC2のベ

記事を読む

GCEの超絶性能!100秒で1000コア起動!

ちょっとふとしたことがあり、GCEで1000コア立ち上げるのにどのくらい時間がかかるだろうと思って、

記事を読む

PAGE TOP ↑