##セキュリティ設定編について
前回仮想サーバをオーダし、インターネットからのSSHでのアクセス確認までを実施した。
今回はサーバに対して、2つのセキュリティ対策を実施し、仮想サーバを保護する。
- 初期導入編:IBMCloud 今から無料で始めるVPC①-初期導入編-
- サーバ導入編:IBMCloud 今から無料で始めるVPC②-サーバ導入編-
- セキュリティ設定編:(本ページ)
- ストレージ追加編:IBMCloud 今から無料で始めるVPC④-ストレージ編-
[その他VPC関連]
- VPN:IBM Cloud(VPC) x GCP IPsecVPN接続
- AutoScale + LB:AutoScale用VPCロードバランサ、CPU負荷によるAutoScale VPC
##セキュリティ設定
VPCでのアクセス制御は、セキュリティーグループとアクセス制御リストによる方法がある。
各方法に違いはこちら:セキュリティー・グループとアクセス制御リストの比較
###セキュリティーグループ
仮想サーバインスタンスに対してのみ有効で、ストートフルで制御できる方法を実施する。
仮想サーバからの出ていく通信(outbound)については、デフォルトAll Permitになっている。
しかし、入ってくる通信(inbound)は、追加で許可が必要になるので、変更する。
今回は、インターネットからのHTTPトラフィックを許可する。
プロトコル:TCP
ポート:80
ソースタイプ:すべて
設定後、すぐにルールが適用され、インターネットからHTTPでのアクセスが可能となった。
% curl 165.192.128.xx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
###アクセス制御リスト
デフォルトルールはAll Permitになっているので、まずはAll Denyに変更する。
拒否を選択し、保存を選択
同様にアウトバウンド・ルールも拒否にしておく。
ここまで実施すると、アクセス制御リストによって仮想サーバに対してSSHができなくなった。
セキュリティーグループでSSH22は許可されているが、アクセス制御リストで拒否している為
% ssh -i id_rsa root@165.192.128.xx
ssh: connect to host 165.192.128.xx port 22: Operation timed out
ソースIPを絞った上でTCP/22のみを許可する。
[インバウンドルール]
プロトコル:TCP
ソースIP:106.160.57.xx
ソースポート:1 - 65535
宛先IP:すべて
宛先ポート:22
[アウトバウンドルール]
プロトコル:TCP
ソースIP:すべて
ソースポート:22
宛先IP:106.160.57.xx
宛先ポート:1 - 65535
許可/拒否:許可
プロトコル:TCP
[ソース]
タイプ:IPまたはCIDRを選択し、許可するソースIPを入力
ポート:すべて
[宛先]
タイプ:すべて
ポート:最小および最大を22
優先度:上位に設定する
アクセス制御リストは、上位ルールから順番に処理されるので拒否ルールの上位に設定しておく必要がある
許可/拒否:許可
プロトコル:TCP
[ソース]
タイプ:すべて
ポート:最小および最大を22
[宛先]
タイプ:IPまたはCIDRを選択し、許可する宛先IPを入力
ポート:すべて
優先度:上位に設定する
アクセス制御リストは、上位ルールから順番に処理されるので拒否ルールの上位に設定しておく必要がある
##アクセス確認
% ssh -i id_rsa root@165.192.128.xx
Last login: Sat Oct 31 00:31:26 2020 from 106.160.57.xx
[root@centos ~]#