オンプレミス側のInternet経由せずOCIコンソールに接続するために、オンプレミスと Oracle Cloud Infrastructure (OCI) を FastConnect接続して VCN へ 配置した DNS とProxy 経由で OCIコンソール へ アクセスしてみてみます。
インターネット・アクセスを制限するために コンソールのみへのアクセスを許可するには、プロキシ・サーバーの許可リストに次のドキュメントに記載ある URL を追加します。
・参考: ネットワークからのコンソールへのアクセスの許可
*.oracle.com
*.oraclecloud.com
*.oracleinfinity.io
oracle.112.2o7.net
consent.trustarc.com (Console cookie preferences)
また、次の機能を使用することでOCIコンソール接続をよりセキュアにすることができます。
・ネットワーク・ソース制限: Whitelist IPのみ接続制限
・マルチファクタ認証(MFA): ワンタイム・パスワード(TOTP), 登録済モバイル・デバイス認証などの多要素認証
・Authenticator APP: Oracle Mobile Authenticatorや Google Authenticatorをモバイルにインストールしてセキュア・トークン認証
・参考: IPアドレス制限と多要素認証でコンソール・アクセス制御してみてみた
■ 構成
| 項目 | 値 |
|---|---|
| On-Premises LAN | 192.168.0.0/24 |
| VCN | 10.0.0.0/16 |
| Proxy サーバー | 10.0.0.2 |
| Private DNS Resolver リスニング・エンドポイント | 10.0.0.254 |
| Proxy ポート | 3128 |
| 通信区間 | 通信経路 | 補足 |
|---|---|---|
| On-Premises → DNS / Proxy | FastConnect Private Peering → DRG | オンプレミス端末はプライベート IP アドレスを使用 |
| Proxy → OCI コンソール | NAT Gateway → OCI コンソールのパブリック・エンドポイント | NAT Gateway のパブリック IP アドレスが送信元になる |
| On-Premises → インターネット | 許可しない | オンプレミス側の Firewall と Proxy の許可リストで制限 |
■ 手順
● 構成作成
前回作成した内容を使用して構成します。
・ 参考
- Cloudに配置したProxy経由でオンプレミスからInternet接続してみてみた
- Firewallの Whitelist登録でWebコンソール接続できるようにしてみてみた
● ルート・ルールとセキュリティ・ルールの設定
1) ルート・ルールの設定
On-Premises と VCN の両方向で通信できるように、ルートを設定します。
| 設定場所 | 宛先 | ターゲット / 次ホップ |
|---|---|---|
| On-Premises ルーター | 10.0.0.0/16 |
FastConnect のプライベート仮想回線 |
| Proxy サブネットのルート表 | 192.168.0.0/24 |
DRG |
| Proxy サブネットのルート表 | 0.0.0.0/0 |
NAT Gateway |
FastConnect のプライベート・ピアリングでは BGP を使用します。On-Premises 側で 192.168.0.0/24 を通知し、DRG のルート表に必要なルートが取り込まれていることを確認します。
0.0.0.0/0 のルートは Proxy サーバーの外向き通信に使用します。許可する宛先は、後述する Proxy サーバーの許可リストで制御します。
注意
Security List や NSG だけでは FQDN 単位のエグレス制御はできません。Proxy サーバー以外のプロセスによる外向き通信も厳密に制限したい場合は、Proxy サーバーのハードニングに加え、Network Firewall などのエグレス制御を検討します。
2) セキュリティ・ルールの設定
Proxy サーバーと DNS Resolver のサブネットまたは NSG に、必要最小限の通信を許可します。
| 方向 | プロトコル / ポート | 送信元または宛先 | 用途 |
|---|---|---|---|
| Ingress | TCP 3128
|
192.168.0.0/24 |
On-Premises から Proxy サーバーへの接続 |
| Ingress | TCP / UDP 53
|
192.168.0.0/24 |
On-Premises から DNS リスニング・エンドポイントへの問合せ |
| Egress | TCP 80, 443
|
0.0.0.0/0 |
Proxy サーバーから許可済みの OCI コンソール関連宛先への通信 |
NAT Gateway はインターネットから開始された接続を Proxy サーバーへ許可しません。Proxy サーバー自身をプライベート・サブネットに配置したまま、外向き通信だけを開始できます。
● Proxy サーバーの許可リスト設定
今回は、Proxy サーバーに Squid を使用します。既存の設定に、On-Premises からの利用元と OCI コンソール関連ドメインだけを許可するルールを追加します。
acl onprem src 192.168.0.0/24
acl allowed_domains dstdomain .oracle.com .oraclecloud.com .oracleinfinity.io oracle.112.2o7.net consent.trustarc.com
acl allowed_ports port 80 443
http_access allow onprem allowed_domains allowed_ports
http_access deny all
既存の http_access ルールがある場合は、評価順序に注意します。上記の http_access deny all は、許可ルールの後ろに配置します。
注意
HTTPS の中身を復号する TLS インターセプトは本記事では実施しません。Proxy サーバーをオープン Proxy にしないため、送信元ネットワーク、宛先ドメイン、ポートを必ず制限します。
■ OCIコンソール接続設定
● Proxy接続設定
Mac Bookへ OCIの DNSと Proxyサーバーを設定
2) DNS 画面
On-Premises の MacBook からも DNS 問合せを行う場合、同じリスニング・エンドポイントを DNS サーバーとして設定します。
10.0.0.254
3) プロキシ画面
Web Proxy (HTTP) と Secure Web Proxy (HTTPS) を有効化し、Proxy サーバーのプライベート IP アドレスとポート番号を設定します。
・ 保護されたWebプロキシ(HTTPS): チェック
・ 保護されたWebプロキシサーバー: 10.0.0.2 (ProxyサーバーのIPアドレス)
・ ポート番号: 3128
オンプレミス端末が Proxy 設定を回避してインターネットへ直接接続できないように、オンプレミス側の Firewall でも、端末から外部への TCP 80 / 443 を拒否し、Proxy サーバーへの TCP 3128 だけを許可します。
● Proxy Server接続確認
On-Premises の MacBook から Proxy サーバーの待受ポートへ接続できることを確認します。
[mac-book: ~]# nc -vz 10.0.0.2 3128
[mac-book: ~]# ping 10.0.0.2 -c 3
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=62 time=8.027 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=62 time=60.485 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=62 time=8.567 ms
--- 10.0.0.2 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.027/25.693/60.485/24.603 ms
● OCI Private DNS接続確認
1) google.comへの nslookup確認
Serverが Proxy Serverアドレスでgoogle.comなどへ名前解決できることを確認
[mac-book: ~]# nslookup google.com
Server: 10.0.1.254
Address: 10.0.1.254#53
Non-authoritative answer:
Name: google.com
Address: 216.58.197.174
2) consoleへの nslookup確認
OCI コンソールの FQDN を対象に、Private DNS Resolver で名前解決できることを確認します。
[mac-book: ~]# nslookup console.ap-tokyo-1.oraclecloud.com 10.0.0.254
Server として 10.0.0.254 が表示され、名前解決が成功することを確認します。
3) Proxy 経由の OCI コンソール接続確認
curl で Proxy サーバーを明示し、OCI コンソールの応答を確認します。
[mac-book: ~]# curl -Iv --proxy http://10.0.0.2:3128 https://console.ap-tokyo-1.oraclecloud.com/
HTTP/1.1 200 Connection established の後、200 または 302 などの応答が返ることを確認します。レスポンス・コードはコンソールの認証状態によって異なります。
4) 許可リスト外の接続拒否確認
OCI コンソールに不要な外部サイトへ接続できないことを確認します。
[mac-book: ~]# curl -Iv --proxy http://10.0.0.2:3128 https://www.google.com/
■ OCIコンソール Proxy接続確認
● oracle.com 以外接続不可能確認
Safariブラウザで、google.com などへ接続できず、"プロキシサーバーに接続できません" と表示されることを確認

● コンソール接続
OCIコンソールの URLは、次となります
http://console.{Home_Region_Identifier}.oraclecloud.com
各リージョンのリージョン識別子は、次の公式ドキュメントを参照します。
・参考: リージョンおよび可用性ドメイン
1) コンソール接続
東京リージョンの OCI コンソールには、次の URL でアクセスします。
https://console.ap-tokyo-1.oraclecloud.com/
現在のサインイン画面は、アイデンティティ・ドメインやフェデレーションの構成により異なります。テナンシ名、アイデンティティ・ドメイン、ユーザー名、パスワードを入力してサインインします。
2) Cloud Tenant画面
Tenantを設定し、[Continue]をクリック

3) Sign In 画面
User Name , Passwordを入力し、[Sign In]をクリック

● ネットワーク・ソース制限と MFA の設定
1) ネットワーク・ソース制限
コンソールへのサインインを制限する場合は、NAT Gateway のパブリック IP アドレスをネットワーク・ソースに登録し、テナンシの認証設定へ適用します。
ネットワーク・ソース制限はテナンシ全体のサインインに影響します。設定前に、管理者がアクセスを回復できる API 署名キーなどの手段を準備しておきます。
2) MFA
多要素認証を有効化します。使用できる認証方法や設定画面は、アイデンティティ・ドメインおよびフェデレーションの構成によって異なります。
■ 参考
・OCI Documents: ネットワークからのコンソールへのアクセスの許可
・FastConnectパブリック・ピアリングの通知ルート
・ネットワーク・ソース制限
・MULTI-FACTOR AUTHENTICATION (MFA)
・AUTHENTICATOR APP
・Cloudに配置したProxy経由でオンプレミスからInternet接続してみてみた
・Oracle Cloud: Firewallの Whitelist登録でWebコンソール接続できるようにしてみてみた
・Oracle Cloud : コマンド・ライン・インタフェース(CLI) をインストールしてみた





