静的IPアドレスを割り当てる
WordPressをデプロイした状態のIPアドレスは「エフェメラル」(短命な)が設定されており、再起動すると変更されてしまいます。再起動後も同じIPアドレスとするために「静的」に変更しておきます。
[GCPメニュー]-[VPCネットワーク]-[外部IPアドレス]を選択し、「タイプ」欄を「エフェメラル」から「静的」に変更する。(赤枠)
SSHのポートを変更する
デフォルトのSSHポート番号22をそのまま使うのは危険なため、任意のポート番号に変更し22番は閉じます。
新しいポートを開放するファイアウォールルールの作成
先に新しくSSHポートとして使うポートを開放します。[GCPメニュー]-[VPCネットワーク]-[ファイアウォール]から「+ファイアウォールルールを作成」をクリック。
名前:
アルファベット小文字、空白なしで任意の名前をつける。今回は許可ルールなので「relaxes-allow-ssh」でつけてます。
トラフィックの方向:
上り
一致したときのアクション:
許可
ターゲットタグ:
Compute EngineのVMインスタンスに設定するタグになります。今回は「allowxxxxx-server」としています。「xxxxx」は0~99999の好きな数値。(システム予約されているものを除く)。
ソースIPの範囲:
「0.0.0.0/0」を入力。
プロトコルとポート:
tcpにチェックを入れてターゲットタグに合わせて「xxxxx」の数値を入力。
Compute EngineのVMインスタンスに許可タグをつける
[GCPメニュー]-[Compute Engine]-[VMインスタンス]から対象のインスタンスをクリックして[編集]-[ネットワーク タグ]に先程のタグ(allowxxxxx-server)を追加する。
sshd_configを修正する
sshd_configを修正して待機ポートを新しいポートに変更する。「Port 22」を「#」でコメントアウトして新しいポート番号「Port xxxxx」に修正します。修正するために一旦ポート22でSSH接続する必要があります。[GCPメニュー]-[Compute Engine]-[VMインスタンス]の対象インスタンスの「SSH」をクリックします。(赤枠)
下記コマンドを実行してsshd_configを修正します。
sudo vi /etc/ssh/sshd_config
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22 ★22番を削除(頭に「#」を追記してコメントアウト)
Port XXXXX ★新しいポート番号を設定(XXXXX はさっき開けたポート番号)
#AddressFamily any
#ListenAddress 0.0.0.0
修正したらsshdを再起動することで待機ポートが変更されます。
sudo systemctl restart sshd
新しいポートでログインできるかを確認する
SSH接続中であれば一旦ログアウトし、改めて[GCPメニュー]-[Compute Engine]-[VMインスタンス]の対象インスタンスの「SSH」右の▼をクリックして「ブラウザウィンドウでカスタムポートを開く」を選択後、新しく許可したポート番号を入力してログインできることを確認します。「SSH」をクリックした場合は22番ポートで接続します。
22番ポートを閉じるファイアウォールールの作成
「新しいポートを開放するファイアウォールルールの作成」で行った方法で、今度は22番を拒否するファイアウォールルールを追加します。
名前:
今回は22番(デフォルト)の拒否ルールなので「default-disallow-ssh」とつけてみます。
トラフィックの方向:
上り
一致したときのアクション:
拒否
ターゲットタグ:
Compute EngineのVMインスタンスに設定するタグを今回は22番ポートの拒否なので「disallow22-server」としてみます。
ソースIPの範囲:
「0.0.0.0/0」を入力。
プロトコルとポート:
tcpにチェックを入れて「22」の数値を入力。
Compute EngineのVMインスタンスに拒否タグをつける
許可タグをつけたときと同様に[GCPメニュー]-[Compute Engine]-[VMインスタンス]から対象のインスタンスをクリックして[編集]-[ネットワーク タグ]に拒否タグ(disallow22-server)を追加する。
22番ポートでログインできないことを確認する
SSH接続中であれば一旦ログアウトし、改めて[GCPメニュー]-[Compute Engine]-[VMインスタンス]の対象インスタンスの「SSH」をクリックして22番ポートで接続できないことを確認します。
bitnamiバナーを削除する
公開したブログの右下に出てくるbitnamiのバナーを削除する。SSH接続を行い以下のコマンドを実行します。
サービスの停止
sudo /opt/bitnami/ctlscript.sh stop
バナーの削除
sudo /opt/bitnami/apps/mattermost/bnconfig --disable_banner 1
サービスの起動
sudo /opt/bitnami/ctlscript.sh start
IP Geo Blockプラグインの設定
「Google Cloud Platformの無料枠について」にも記載していますが、無料枠の条件に「1 GB の北米から全リージョン宛ての下りネットワーク(1 か月あたり、中国とオーストラリアを除く)」となっています。
つまり、中国とオーストラリアからのアクセスについては特別料金が適用されることになります。この料金は1回あたり0.01円未満の額ですが、気になる方はこのプラグインで特定の国やIPアドレスからのアスセスを遮断することができます。
[プラグイン]-[新規追加]-[IP Geo Block]を検索して「有効化」します。
マッチング規則は「ブラックリスト」、国コードのブラックリストに「AU,CN」を入力。
バックエンドの設定のチェックは全て入れる。
フロントエンドの設定では国コードで遮断のみにチェックを入れてその他は初期値のままで「変更を保存」します。
コメント