Okta Privileged Access ゲートウェイを構成する

このトピックでは、Okta Privileged Accessゲートウェイを構成する方法について説明します。

コマンドラインオプション

    service:sft-gatewaydサービスを実行します。

    supportOktaサポート用にローカルシステム情報を収集します。

    -h--help:ヘルプを表示します。

    -v--version:バージョンを表示します。

    --syslog:syslogによるログ記録を強制します。

構成ファイル

Okta Privileged Access ゲートウェイは、構成ファイル(/etc/sft/sft-gatewayd.yaml)を使って制御できます。ゲートウェイをインストールすると、サンプルの構成ファイル(/etc/sft/sft-gatewayd.sample.yaml)を利用できるようになります。構成ファイルが作成されない、または利用できない場合は、ゲートウェイは以下のデフォルト値を使用します。

構成ファイルの変更内容を有効にするには、ゲートウェイを再起動します。詳しくは、「Okta Privileged Accessゲートウェイを管理する」をご覧ください。


セットアップトークンのオプション

これらのオプションは、ゲートウェイへのセットアップトークンの追加方法を制御します。以下のいずれかのオプションを有効にする必要があります。セットアップトークンを取得する方法の詳細については、「トークンとラベルを作成する」を参照してください。

オプション デフォルト値 説明
SetupToken unset Okta Privileged Accessプラットフォームで作成されるセットアップトークンを指定します。

注:このオプションを使用した場合、セットアップトークンは引き続きプレーンテキストで使用可能です。構成ファイルの読み取り権限を制限することをお勧めします(例:Linuxでは0600)。

SetupTokenFile Linux:/var/lib/sft-gatewayd/setup.token

FreeBSD:/var/db/sft-gatewayd/setup.token

セットアップトークンが含まれる個別ファイルへのパスを指定します。デフォルト値は、ゲートウェイを実行するオペレーティングシステムによって異なります。

このオプションは、推奨される方法です。

このオプションを使用した場合、手動でセットアップトークンファイルを作成し、Okta Privileged Accessプラットフォームで作成されたセットアップトークンを追加しなければなりません。

ゲートウェイをチームに登録すると、ゲートウェイによってトークンファイルが削除されます。

注:SetupTokenオプションも構成されている場合、ゲートウェイはそこで指定されているトークンを使用します。

ログオプション

オプション デフォルト値 説明
LogLevel info ログの詳細度を制御します。infoのまま残すことをお勧めします。

有効な値:

  • エラー
  • warn
  • info
  • debug

接続オプション

オプション デフォルト値 説明
AccessAddress 1.1.1.1 クライアントがゲートウェイへのアクセスに使用するネットワークアドレス(IPv4、IPv6、またはFQDN)を指定します。アドレスを指定しない場合、ゲートウェイはネットワークインターフェイスまたはクラウドプロバイダーのメタデータによって指定されるアドレスを使用します。
AccessPort 7234 クライアントがゲートウェイへのアクセスに使用するポートを指定します。
ListenAddress 0.0.0.0 ゲートウェイが接続のリッスンに使用するネットワークアドレス(IPv4、IPv6、またはFQDN)を指定します。デフォルトでは、ゲートウェイは利用可能なすべてのインターフェイスの接続をリッスンします。
ListenPort 7234 ゲートウェイが接続のリッスンに使用するポートを指定します。
TLSUseBundledCAs True OS証明書ストアではなく、バンドルされた証明書ストアを使ってHTTPリクエストをTLS保護するようにゲートウェイに強制します。これにはOkta Privileged Accessクラウドサービスへのリクエストも含まれます。

注:OS証明書ストアを使用するには、このオプションをFalseに設定します。

RefuseConnections False ゲートウェイが、SSHおよびRDPプロキシトラフィックを受け入れるかどうかを制御します。有効な場合、SSHおよびRDP接続リクエストはルーティングされず、ゲートウェイはプロキシトラフィックのリクエストをリッスンしません。
ForwardProxy unset Okta Privileged Accessへのアウトバウンドネットワーク接続に使用されるHTTP CONNECTプロキシのURLを指定します。プロキシは、HTTPS_PROXY環境変数を使用して設定することもできます。

LDAPオプション

これらのオプションは、ゲートウェイがLDAPサーバーとの安全な接続を確立する方法をコントロールします。

デフォルトでは、ゲートウェイはTLSを起動しますが、証明書は検証しません。

LDAP YAMLディクショナリでは、これらのオプションをスペース2つ分インデントする必要があります。

LDAP:
StartTLS: ...

警告: StartTLSUseLDAPSFalseに設定されている場合、Active DirectoryとのLDAP通信は暗号化されません。StartTLSTrueに設定することをお勧めします。

オプション デフォルト値 説明
StartTLS True

Active Directory/LDAPサーバー通信をTLSにアップグレードします。無効にすると、サーバーとの通信は暗号化されません。

StartTLSは、LDAPプロトコルの拡張機能で、TLSプロトコルを使って通信を暗号化します。このオプションは、UseLDAPSオプションと同時に有効にすることはできません。

UseLDAPS

False

LDAPSプロトコルによる通信の暗号化を有効にします。このオプションは、StartTLSオプションと同時に有効にすることはできません。

LDAPSPort

636

UseLDAPSオプションがTrueに設定されている場合、このポート値はLDAPS接続の確立に使用されます。

ValidateCertificates False AD/LDAPサーバーから受信した証明書を検証します。無効にすると、LDAPサーバーの通信はMITM攻撃に対して脆弱になる可能性があります。

有効にした場合、ゲートウェイはTrustedCAsDirで指定されるパスで証明書を探します。

このオプションを有効にする前に、各接続ドメインの有効な証明書がゲートウェイに保存されているかを事前に確認する必要があります。有効な証明書が見つからない場合、ゲートウェイはすべての接続を拒否します。

RDPオプション

これらのオプションでは、ゲートウェイがRDPセッションを管理する方法をコントロールします。

RDP接続は、Enabledオプションと、TrustedCAsDirまたはDangerouslyIgnoreServerCertificatesオプションを使って明示的に許可する必要があります。

ゲートウェイ経由でルーティングされるRDP接続には、Ubuntu 20.04、22.04、RHEL 8、またはRHEL 9が必要です。

オプション デフォルト値 説明
Enabled False

ゲートウェイ向けのRDP機能を制御します。このオプションはデフォルトで無効になっています。RDPは他の構成を必要とし、RDP接続が許可される前にTrueに設定される必要があるからです。

DangerouslyIgnoreServerCertificates False RDPホストに接続する際にゲートウェイによるサーバー証明書の検証を制限します。このフラグは、テスト環境以外では危険ですが、RDPホストに自己署名証明書がある場合は必要なことがあります。
MaximumActiveSessions 20 ゲートウェイで許可される同時RDPセッションの数を制御します。このセッション数に達すると、他のユーザーはエラーを受信し、ゲートウェイに接続できなくなります。この制限は、リソースおよびパフォーマンス上の理由のみで設けられています。
VerboseLogging True RDP内部ログの詳細度を制御します。これらのメッセージは問題の診断時には有用ですが、ログが雑然とする場合もあります。

注:Falseに設定すると、すべての内部RDPログメッセージにはdebugのラベルが付けられます。

セッションの記録オプション

オプション デフォルト値 説明
SessionLogFlushInterval 10s セッションキャプチャログのサイズしきい値を指定します。このしきい値に達すると、アクティブセッションのログは署名され、ディスクにフラッシュされます。このオプションでは、時間単位(ms、s、m、h)も指定する必要があります。
SessionLogMaxBufferSize 262144 セッションキャプチャログのサイズしきい値を指定します。このしきい値に達すると、アクティブセッションのログが署名され、フラッシュされます。このオプションでは、サイズの単位はバイトです。
SessionLogTempStorageDirectory /tmp SSHセッションログを、指定の場所にアップロードする前に格納しておく一時ディレクトリを指定します。

デフォルト値はオペレーティングシステムによって異なります。Linuxでは、デフォルトは/tmpです($TMPDIR環境変数が指定されている場合を除く)。

一時セッションログと最終的なセッションログのディレクトリは、同じデバイス上になければなりません。

LogDestinations unset 最終的なセッションログの格納場所を指定します。ログは、ローカルに保存することも、AWSバケットまたはGCSバケットに保存することもできます。セッションログは、複数の場所に格納できます。格納先が複数の場合、ログは構成ファイルに指定されている順序で格納先に送信されます。セッションログは、Okta Privileged Accessには絶対に送信されません。

次のデフォルトの値と例を参照してください。

例 - Linux/BSD

LogDestinations:
- Type: file
LogDir: /var/log/sft/sessions

ゲートウェイは/home/root/run/userの各ディレクトリには書き込めません。

例 - AWS

LogDestinations:
- Type: s3
Bucket: BUCKET-NAME
Region: US-EAST-1
# Use of ec2 instance IAM Role credentials for s3 bucket access is recommended
# To use ec2 instance IAM Role credentials leave Profile, AccesKeyId, SecretKey, and SessionToken BLANK
# Specify Profile for shared credentials
Profile: AWS-PROFILE-NAME
# Specify AccessKeyId, SecretKey, and SessionToken for static credentials
AccessKeyId: SECRET
SecretKey: SECRET
SessionToken: SECRET

例 - Google Cloud

LogDestinations:
- Type: gcs
Bucket: BUCKET-NAME
# Supply one of CredentialsFile or CredentialsJSON (or none to use instance credentials)
CredentialsFile: /path/to/cred/file
CredentialsJSON: |
{
"SOME": "value",
"IN": "json"
}

LogFileNameFormats

SSHRecording: {{StartTime}}-{{.TeamName}}-{{Username}}

RDPRecording: {{StartTime}}-{{Protocol}}-{{.TeamName}}-{{ProjectName}}-{[.ServerName}}-{{.Username}}

システム管理者はlogFileNameFormatsオプションをカスタマイズおよび構成して、セッション記録ログをより適切に理解し、管理することができます。

  • StartTime - セッションの記録を開始する時刻。時刻の変換は、ISO 8601標準形式を使用して行われます。

  • TeamName - 接続セッションをトリガーするユーザーのOkta Privileged Accessチーム名。

  • UserName - SSHまたはRDPセッションをトリガーするユーザーの名前。

  • Protocol - 接続プロトコル(SSHまたはRDPのいずれか)。

  • ProjectName - ターゲットのSSHまたはRDPサーバーが属するプロジェクトの名前。

  • ServerName - SSHまたはRDPセッションで接続されているターゲットサーバークライアントのホスト名。

関連項目

Okta Privileged Accessゲートウェイをインストールする

トークンとラベルを作成する