Google Cloud Platformで中国からの通信をブロック

今回は、「Google Cloud Platform」のファイアウォール機能で中国からの通信を遮断します。

若干、手間ですが一度だけ設定すればサーバの負荷を上げずに目的を果たすことができました。

まとめ
  • 中国・オーストラリアの通信はGCPの無料枠の対象外
  • サーバの負荷をかけずに、中国からの通信遮断可能
  • ファイアウォール設定は、APIを利用する
スポンサーリンク

中国からの通信は課金対象

「Google Cloud Platform」でサーバスペックの条件を満たせば、無料で利用が可能です。

ただし、中国とオーストラリアのからの通信は、課金対象となってしまうため、注意が必要です。

特に中国からの通信は、スパムなどの攻撃か何かは不明ですが、httpを利用した通信が結構あり、自分が意図せず課金対象の通信として課金されてしまいます。

「Google Cloud Platform」を無料で利用させるため、中国からの通信を遮断した方がよいです。

中国からの通信の遮断方法

はじめは、Linuxサーバのファイアウォール機能を利用しようとしましたが、中国すべてのIPアドレスを登録したら、サーバー負荷が高すぎてサーバが不安定になってしまったので断念。

無料枠の最小スペックのサーバでの設定では無理がありました。

そこで、「Google Cloud Platform」側のファイアウォール機能を利用したらサーバー負荷をかけずに止めることができました

「Google Cloud Platform」のファイアウォールは、以下の図のイメージでサーバーの前で止めることが出来るので、WEBサーバーに負荷をかけずに、中国からの通信をブロックできます。

中国のIPアドレスを調べる

はじめにブロック対象の中国で利用されているIPアドレスの一覧を調べる必要があります

中国のIPアドレスを調べる方法は、Google等で「中国 ipアドレス」等で検索するとリストを公開しているページがいくつかでてきます。(私は こちら を参考にさせていただきました)

4800個くらいのIPアドレスブロックが表示されます。わたしはこれをすべてブロック対象としました。

IPアドレスは、国をまたいで売買されているため、時間が経つと若干変更があるため、定期的に変更した方が好ましいですが、大きな変更はないと思うので一度設定すれば、しばらく変更しなくても大きな問題はないと思います。

「Google Cloud Platform」のファイアウォール設定例

設定の前に現在の私のファイアウォール設定の画面の一部をご紹介します。

こちらの設定方法を今回はご紹介させていただきます。

実際はこのほかにも、自分の家のアドレスからのみSSHを許可したりとルール設定をしております。

ひとつのルールに255個までしかアドレスブロックを設定できないので、私の場合は、1つのルールに250個アドレスブロックを設定して、全19個のルールを作成しました。

設定方法

一つ一つのルールをすべてGUIで設定はとてつもなく手間なので、私はAPIを利用してある程度、効率的に設定しました。

①API入力用のIPアドレスリスト作成

API用のIPアドレスリストを作成、APIにアドレス入力するために

“1.0.1.0/24”,
“1.0.2.0/23”,
“1.0.8.0/21”,

といった形式でアドレス範囲を入力する必要がありますので、私は こちら から Nginx 形式でリストをダウンロードさせていただき、

  • 先頭の「deny 」を「”」に置換
  • 末尾の「;」を「”,」に置換

してリストを作成しました

②ルールをGUIで作成

まずは、以下の順でルールを作成

③APIを利用してIPアドレス情報を追加

作成したルールにIPアドレス範囲を追加させるため、APIを利用します。

APIはWEBページから利用して追加しました。

まずは、ファイアーウォールのルールのアップデート用のページを開く

右側に、「Try this API」に以下の図のように情報をいれる

プロジェクトIDは、「Google Cloud Platform」のトップページのダッシュボードから確認できます。

ブロックしたいIPアドレスを入力して「EXECUTE」を押すとルールのブロック対象のIPアドレスが設定されます

この手順で

②ルール作成

③APIでIPアドレス設定

を250個のIPアドレス単位で設定してあげると完成です。

20回くらい繰り返す必要があり、これでも結構手間です、、、

APIを詳しく勉強すればもっと効率的に実施できるかもしれませんが、はじめの一度だけの設定でよいので、私はこの手順でやり切ってしまいました。ご参考にしていただければと思います。

今日はここまで、、、

スポンサーリンク

シェアする

フォローする

コメント

  1. asihustim より:

    参考にさせていただきました。

    私は、プレーンテキストでダウンロードし

    Atomエディタを使って、次の正規表現で変換しました。
    変換前:^(.*)$
    変換後:”$1″

    そして、splitコマンド利用して、250行づつのファイルに分割しました。

  2. itbouzy より:

    コメントありがとうございます。

    Atom便利ですね。