今回、GCPでセキュアなサーバーを構築するため、ポート番号を変更しファイアウォールの設定をする手順について紹介します。
GCPの概要、GCPでインスタンスを作成する手順については以下の記事をご参照ください。
GCPのファイアウォール
GCPには、仮想マシンインスタンスとの通信を制御するセキュリティ機能であるファイアウォールがあります。
このファイアウォールは、プロジェクト内に用意されているネットワークに紐づいた機能です。ファイアウォールが未設定の場合は、外部からの受信トラフィックは全てブロックされます。ファイアウォールに対して明示的に設定をすることで、インスタンスへのアクセスが可能になります。ファイアウォールのルールは、ネットワークごとに定義する形となり、ルールとタグの組み合わせでパケットフィルタリングを行います。それぞれのインスタンスにタグを付与することができ、一つのインスタンスに対して複数のタグを設定することが可能です。
今回、セキュアなサーバーを構築するためにインスタンスのポート番号を変更します。また、変更したポート番号をGCPでファイアウォールのルールとタグを作成し適用させます。
余談ですが、ファイアウォール秘術を開発したのはイスラエルの企業です。
興味がある方は以下の記事をご参照ください。
インスタンスのポート番号を変更する。
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ネットワーク > ファイヤーウォールルール
へ移動したら、
上部にある「ファイヤーウォールルールの作成」を選択します。
今回、分かりやすいようにファイアウォールのルール名をallow-test-39033とします。
ターゲットタグも同じ名前にします。
上の画像のように設定が完了したら作成ボタンを押します。
ファイアウォールのトップページへ戻り、作成したallow-test-39033のファイアウォールルールとタグが追加されていることを確認します。
続いて、作成したインスタンスにファイアウォールのタグを設定します。
Compute Engine > VMインスタンスへ移動します。
インスタンスの詳細ページへいき、編集をクリックします。
ネットワークタグの項目でallow-test-39033を追加し保存します。
作成したインスタンスからブラウザウィンドウでカスタムポートを開くを選択し、ポート番号の39033を入力します。ポート番号とフ、ァイアウォールの設定が完了していた場合、コンソール画面へアクセス出来ます。
以上がポート番号を変更してからGCPのファイアウォール設定するまでの手順です。
GCPの画面は直感的に操作出来るので、慣れていない人でも最低限のネットワーク周りの知識があれば簡単に扱えます。