【GCP入門】GCPで作成したインスタンスのポート番号を変更し、ファイヤウォールを設定する方法

  • 2019年2月17日
  • 2019年4月27日
  • GCP
GCP

f:id:daikiyano:20190217155050p:plain

今回、GCPでセキュアなサーバーを構築するため、ポート番号を変更しファイアウォールの設定をする手順について紹介します。

GCPの概要、GCPでインスタンスを作成する手順については以下の記事をご参照ください。

www.for-engineer.life

www.for-engineer.life

www.for-engineer.life

GCPのファイアウォール

GCPには、仮想マシンインスタンスとの通信を制御するセキュリティ機能であるファイアウォールがあります。
このファイアウォールは、プロジェクト内に用意されているネットワークに紐づいた機能です。ファイアウォールが未設定の場合は、外部からの受信トラフィックは全てブロックされます。ファイアウォールに対して明示的に設定をすることで、インスタンスへのアクセスが可能になります。ファイアウォールのルールは、ネットワークごとに定義する形となり、ルールとタグの組み合わせでパケットフィルタリングを行います。それぞれのインスタンスにタグを付与することができ、一つのインスタンスに対して複数のタグを設定することが可能です。

今回、セキュアなサーバーを構築するためにインスタンスのポート番号を変更します。また、変更したポート番号をGCPでファイアウォールのルールとタグを作成し適用させます。

余談ですが、ファイアウォール秘術を開発したのはイスラエルの企業です。
興味がある方は以下の記事をご参照ください。

www.for-engineer.life

インスタンスのポート番号を変更する。

rootへ移動

ポート番号を変更するためにsudo su –でrootへ移動します。

[@centos-7-1 ~]$ sudo su -

rootに移動したら vi /etc/ssh/sshd_configでsshd_configファイルの設定を変更します。

 vi /etc/ssh/sshd_config

上から約13行目にPort 22と記載されされています。デフォルトは22のままなので、今回、ポート番号を30933に変更します。

UNIXコマンドの基本

  • vi ・・・ファイルをオープン
  • i ・・・書き込み
  • escを押した後に:wqで上書き保存
[root@centos-7-1 ssh]# cat /etc/ssh/sshd_config
#       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22  #変更前
Port 39033 #変更後
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

sshd_configファイルの設定が完了したら、systemctl restart sshdでsshdを再起動します。
再起動をしないと変更が反映されないので、注意しましょう。

[root@centos-7-1 ssh]# systemctl restart sshd

ファイヤウォールの設定

続いてファイヤーウォールの設定を行います。
ポート番号変更後、ファイヤーウォールのポートを解放しなければ、コンソールへアクセス出来なくなります。

メニュー > VPCネットワーク > ファイヤーウォールルール
へ移動したら、

f:id:daikiyano:20190203134046p:plain

上部にある「ファイヤーウォールルールの作成」を選択します。

f:id:daikiyano:20190203134316p:plain

今回、分かりやすいようにファイアウォールのルール名をallow-test-39033とします。
ターゲットタグも同じ名前にします。

f:id:daikiyano:20190203134335p:plain

f:id:daikiyano:20190203134346p:plain

上の画像のように設定が完了したら作成ボタンを押します。
ファイアウォールのトップページへ戻り、作成したallow-test-39033のファイアウォールルールとタグが追加されていることを確認します。

f:id:daikiyano:20190203134456p:plain

続いて、作成したインスタンスにファイアウォールのタグを設定します。

Compute Engine > VMインスタンスへ移動します。

f:id:daikiyano:20190203134540p:plain

インスタンスの詳細ページへいき、編集をクリックします。

f:id:daikiyano:20190203134846p:plain

ネットワークタグの項目でallow-test-39033を追加し保存します。

f:id:daikiyano:20190203134654p:plain

f:id:daikiyano:20190217153033p:plain

作成したインスタンスからブラウザウィンドウでカスタムポートを開くを選択し、ポート番号の39033を入力します。ポート番号とフ、ァイアウォールの設定が完了していた場合、コンソール画面へアクセス出来ます。

以上がポート番号を変更してからGCPのファイアウォール設定するまでの手順です。
GCPの画面は直感的に操作出来るので、慣れていない人でも最低限のネットワーク周りの知識があれば簡単に扱えます。

最新情報をチェックしよう!
>文系エンジニア大学生の技術ブログ

文系エンジニア大学生の技術ブログ

社会が多様化していく中、大学生の学生生活も多様であるべきと考えています。主にエンジニア向けにITやプログラミングなどの技術系と大学生向けに休学、留学、海外生活、トビタテ留学、長期インターンに関する記事を書いています。