このトピックでは、Bastionhost のユースケースに関するよくある質問 (FAQ) に回答します。
他のクラウドまたはオンプレミス IDC のホストの管理
-
サードパーティクラウドまたはオンプレミスの IDC にある資産は、Bastionhost への接続 (例: O&M のためのパブリックネットワークの使用) が可能であれば、Bastionhost にインポートできます。資産をインポートするには、Bastionhost でホストを作成します。詳細については、「ホストの追加」をご参照ください。
-
資産が異なる VPC またはアカウントにあり、Express Connect を使用して接続されていない場合、Bastionhost のネットワークドメイン機能を使用できます。詳細については、「ハイブリッド O&M シナリオのベストプラクティス」をご参照ください。
異なるアカウントおよび VPC 間でのアセットの管理
はい。Bastionhost インスタンスと管理対象のサーバーが異なるアカウントまたは VPC にある場合、パブリックネットワーク経由で管理できます。また、Express Connect などのサービスを使用してネットワークを接続し、内部ネットワーク経由でアセットを管理することも可能です。
内部ネットワーク経由で資産を管理する必要があるものの、ネットワークが接続されていない場合は、Bastionhost のネットワークドメイン機能 を設定して使用できます。詳細については、「ハイブリッド O&M シナリオのベストプラクティス」をご参照ください。
クラシックネットワーク内のアセットの管理
ECS インスタンスがクラシックネットワークにある場合は、ClassicLink を使用してクラシックネットワークを Bastionhost インスタンスを含む VPC に接続する必要があります。ClassicLink 機能の詳細については、「ClassicLink の概要」をご参照ください。
データベースの管理
Bastionhost エンタープライズ版は、RDS for MySQL、SQL Server、PostgreSQL、および自己管理型データベースを含むデータベース資産の安全な O&M と制御を可能にします。詳細については、「データベース O&M のベストプラクティス」をご参照ください。
エンタープライズ版は、Bastionhost V3.2 以降でのみ利用可能です。
サポート対象のアセットタイプ
Bastionhost を使用して、Linux または Windows を実行するホスト資産、および MySQL、SQL Server、PostgreSQL などのデータベース資産を管理できます。 Alibaba Cloud ECS インスタンスと RDS データベース資産をワンクリックでインポートできます。 また、オンプレミスの IDC や他のクラウドから資産を一括でインポートすることもできます。 詳細については、「O&M の概要」をご参照ください。
転送時および保存時のデータ暗号化
はい。Bastionhost は、転送中および保存中のデータを暗号化します。Bastionhost は、HTTPS (TLS)、RDP、SSH などの複数の主要な暗号化プロトコルを使用して、データセキュリティを確保します。
プライベートネットワーク内のパブリック IP
はい。ネットワーク環境がプライベート通信にパブリック IP アドレスを使用するように設定されている場合、Bastionhost コンソールでこの設定を構成できます。詳細については、「Bastionhost を設定する」をご参照ください。
リモートコマンド実行
はい。Bastionhost は、ssh -J コマンドをサポートしており、ジャンプサーバーまたは bastion ホストを介してターゲットホストに接続できます。これにより、内部ネットワークに安全にアクセスできます。
リモートコマンドの実行方法
OpenSSH 7.3 で導入された ssh -J コマンドラインオプションは、ジャンプサーバーまたは bastion ホストを介してホストに接続するためのものです。次のコマンド構文を使用します。
ssh -J <bastion-user>@<bastion-address>:60022 <host-user>@<host-ip>
例えば、次のコマンドは bastion ホスト B に接続し、その後 bastion ホスト B からターゲットホスト C に SSH 経由で接続します。
ssh -J user@B user@C
リモートコマンド実行のシナリオ
リモートコマンドの実行 を使用すると、コマンドラインモードで SSH を介して Bastionhost 内の指定されたホストに接続し、コマンドを実行できます。 に移動して、リモートコマンドの実行 を制限できます。
HTTP および SOCKS5 プロキシサーバーの設定
このセクションでは、サーバーを HTTP および SOCKS5 プロキシサーバーとして設定する方法について説明します。この例では、CentOS 8.3 を実行する Alibaba Cloud サーバーを使用します。
-
Alibaba Cloud サーバーにログインします。
-
yum install 3proxy コマンドを実行して、3proxy ツールをインストールします。
-
vim /etc/3proxy.cfg コマンドを実行して、設定ファイルを変更します。
-
プロキシサーバーのホストアカウントとパスワードを設定します。
users 3APA3A:CL:3apa3a "test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1" ceshi:CL:1qaz@WSX # "" が必要であることに注意してください。そうでない場合、$... はインクルードファイル名として扱われます。 # $1$qwer$CHFTUFGqkjue9HyhcMHEe1 は、MD5 暗号化形式の 'test' です。 #users $/usr/local/etc/3proxy/passwd # この例は、passwd ファイルをインクルードする方法を示しています。インクルードされたファイルの場合、 # <CR> および <LF> はフィールド区切り文字として扱われます。 -
アクセス制御パラメーターを設定します。
# 異なるクライアント用。 allow ceshi # インターネットへのアクセスを共有 -
HTTP および SOCKS5 プロキシを有効にし、リスニングポートとプロキシサーバーにアクセスするためのソース IP アドレスを指定します。
auth strong # 内部インターフェースを保護します deny * * 127.0.xxx.,192.168.xxx xxx # HTTP および HTTPS トラフィックを許可します。 allow * * * 80-88,8080-8088 HTTP allow * * * 443,8443 HTTPS proxy -i0.0.0.0 -p8080 socks -i0.0.0.0 -p1080 flush
-
-
systemctl start 3proxy.service コマンドを実行して、プロキシサービスを開始します。
-
iptables -F コマンドを実行して、サーバー上のファイアウォールルールをフラッシュし、サーバーにアクセスできるようにします。
-
サーバーのセキュリティグループにルールを追加します。詳細については、「セキュリティグループにルールを追加する」をご参照ください。
重要セキュリティグループルールを設定する際、インスタンス を手順 3 で設定したリスニングポート (8080、1080) に設定し、インスタンス を Bastionhost インスタンスのエグレス IP に設定します。エグレス IP は、Bastionhost コンソールの インスタンス ページで取得できます。
セキュリティグループルールを追加すると、プロキシサーバーの設定は完了です。
HTTPS プロキシサーバーの設定
このセクションでは、GOST ツールを使用して、CentOS 8.3 を実行する ECS インスタンスを HTTPS プロキシサーバーとして設定する方法について説明します。
-
サーバー証明書 (server.crt)、そのプライベートキー (server.key)、および CA ルート証明書 (ca.crt) を準備します。証明書は、次のいずれかの方法で取得できます。
-
OpenSSL などのツールを使用して、自己署名証明書を生成します。
-
Alibaba Cloud が提供する無料の個人向けテスト SSL 証明書を使用するか、商用 SSL 証明書を購入します。詳細については、「SSL 証明書選択ガイド」をご参照ください。
-
-
ECS インスタンスに GOST をインストールします。詳細については、「GOST のインストール」をご参照ください。
-
証明書ファイルを GOST インストールディレクトリにアップロードし、GOST プロキシサーバーを設定して起動します。
-
コマンドラインモード:パラメーターを変更し、次のコマンドを実行して GOST を起動します。
gost -L="https://admin:123456@:8843?cert=./server.crt&key=./server.key"-
admin:123456は、GOST のカスタムユーザー名とパスワードです。これらの値を、Bastionhost ネットワークドメイン設定の HTTPS プロキシのホストアカウントおよびパスワードに使用します。 -
8843は、カスタムプロキシポートです。この値は、Bastionhost ネットワークドメイン設定の HTTPS プロキシのサーバーポートに対応します。このポートに対して、ECS インスタンスのセキュリティグループにインバウンドルールを追加する必要があります。 [ポート範囲] を 8443 に、[承認オブジェクト] をお使いの Bastionhost インスタンスのエグレス IP に設定します。 エグレス IP は、Bastionhost コンソールの インスタンス ページで取得できます。 セキュリティグループルールの追加方法の詳細については、「セキュリティグループルールを追加する」をご参照ください。
-
./server.crtは、サーバー証明書です。 -
./server.keyは、サーバー証明書のプライベートキーです。
-
-
JSON ファイルモード:設定ファイル内のパラメーターを変更してから、GOST を起動します。
-
JSON 設定ファイル (この例では、gost.json という名前のファイルを作成します):
{ "ServeNodes": [ "https://admin:123456@:8843?cert=./server.crt&key=./server.key" ] }-
admin:123456は、GOST のカスタムユーザー名とパスワードです。これらの値を、Bastionhost ネットワークドメイン設定の HTTPS プロキシのホストアカウントおよびパスワードに使用します。 -
8843は、カスタムプロキシポートです。この値は、Bastionhost ネットワークドメイン設定の HTTPS プロキシのサーバーポートに対応します。ECS インスタンスのセキュリティグループに、このポートのインバウンドルールを追加する必要があります。[ポート範囲] を 8443 に、[承認オブジェクト] をご利用の Bastionhost インスタンスの送信元 IP に設定します。送信元 IP は、Bastionhost コンソールの インスタンス ページで取得できます。セキュリティグループルールの追加方法の詳細については、「セキュリティグループルールを追加する」をご参照ください。
-
./server.crtは、サーバー証明書です。 -
./server.keyは、サーバー証明書のプライベートキーです。
-
-
GOST を起動します:
gost -C gost.json
-
-