イメージのガイドライン

Oracle Cloud Infrastructure Marketplaceでイメージ・リストを作成する場合は、リスト用に作成するイメージが関連するガイドラインに準拠していることを確認してください。

Linuxイメージの必須ガイドライン

次の表に、必須のイメージガイドラインおよび対応するエラー・コードを示します。各ガイドラインに従う必要があります。イメージがOracle Cloud Infrastructure Marketplaceに公開される前に、各イメージが次の各必須ガイドラインに対して検証されます。

エラー・コード 説明
S01 SSHホスト・キーは、各インスタンスに対して一意である必要があります。GitHubのoci-utilsパッケージによって提供されるoci-image-cleanupユーティリティを使用します。これにより、すべてのSSHホスト鍵が削除され、初回ブート時に再生成されます。
S08 イメージは、インスタンス起動プロセスの一部としてお客様から提供されたSSH公開キーを取り込む必要があります。イメージがcloud-init対応であることを確認します。
S10 authorized_keysファイルには、インスタンスの起動時にユーザーが指定したキーのみを含める必要があります。GitHubのoci-utilsパッケージによって提供されるoci-image-cleanupユーティリティを使用します。
S14 ルート・ユーザー・ログインを無効にする必要があります。次の3つの条件のうち少なくとも1つを満たす必要があります。
  • rootユーザーのログイン・シェルを/sbin/nologinに設定する必要があります。
  • SSHサービス構成/etc/ssh/sshd_configでは、ルート・ログインを許可できません。次の設定を手動で構成します。
    PermitRootLogin no
  • /root/.ssh/authorized_keysファイルのすべてのエントリには、次のものが含まれている必要があります。
    no-port-forwarding, no-agent-forwarding,
                            no-X11-forwarding.
    rootユーザーには、authorized_keysファイルで使用可能なエントリを含めないでください。GitHubのoci-utilsパッケージによって提供されるoci-image-cleanupユーティリティを使用します。

    デフォルトでは、cloud-init対応のイメージから起動されるOracle Cloud Infrastructureインスタンスは、転送オプションを追加し、authorized_keysファイルのコマンド・オプションを使用して、rootユーザーに対してユーザーが指定したSSHキーを効果的に無効にします。次のコードは、cloud-init:を使用してOracle Cloud Infrastructureによって作成されたauthorized_keysファイルのサンプルです

    no-port-forwarding,
    no-agent-forwarding,
    no-X11-forwarding,
    command="echo 'Please login as the user \"opc\" rather than the user \"root\".';echo;sleep 10"
S16 イメージには、オペレーティング・システム・レベルのユーザーがパスワードで構成されておらず、空のパスワードを持つことはできません。
G01 イメージは互換性のあるすべてのシェイプで起動する必要があります。互換性のあるシェイプごとにインスタンスを正常に起動して、手動で検証します。
G03 イメージにハードコードされたMACアドレスを含めることはできません。/etc/udev/rules.d/70-persistent-net.rulesファイルを空にします。
G05 DHCPを有効にする必要があります。手動で構成されていることを確認します。このイメージのインスタンスにSSHで接続できるようにすると、DHCPが有効であることが確認されます。
G08 イメージでインスタンス・メタデータ・サービスv1 (IMDSv1)が使用されていないことを確認します。イメージでIMDSv1エンドポイントが使用されている場合、OracleではIMDSv1を無効にしてIMDSv2にアップグレードすることをお薦めします。Oracle Cloud Infrastructureドキュメントインスタンス・メタデータ・サービスv2へのアップグレードを参照してください。

Windowsイメージの必須ガイドライン

エラー・コード 内容
W01 カスタムWindowsイメージを作成する前に、Sysprepを使用してWindowsインスタンスを一般化する必要があります。汎用イメージの作成を参照してください。
W02 Sysprep generalizeの実行時にopcアカウントを保持しないでください。汎用イメージの作成を参照してください。
G08 イメージでインスタンス・メタデータ・サービスv1 (IMDSv1)が使用されていないことを確認します。イメージでIMDSv1エンドポイントが使用されている場合、OracleではIMDSv1を無効にしてIMDSv2にアップグレードすることをお薦めします。Oracle Cloud Infrastructureドキュメントインスタンス・メタデータ・サービスv2へのアップグレードを参照してください。

Linuxイメージの推奨ガイドライン

Oracle Cloud Infrastructure Marketplaceにリストされているイメージには、次のガイドラインをお薦めします。各ガイドラインは、可能な場合は従うべきベストプラクティスと見なされます。

エラー・コード 内容
S02 必須アクセス制御(MAC)を有効にする必要があります。https://www.linux.com/news/securing-linux-mandatory-access-controlsを参照してください。
S03 オペレーティング・システム(OS)ファイアウォールは、リスト・ドキュメントに示されているように、特に必要とされないポートをブロックするように有効化および構成する必要があります。
S04 パスワードや秘密鍵といったすべての機密データを削除してください。多くの場合、このタイプのデータは、ログ・ファイル、ソース・コードまたはビルド・アーティファクトにあります。このようなファイルを削除するには、GitHubのoci-utilsパッケージによって提供されるoci-image-cleanupユーティリティを使用します。
S07 cloud-initパッケージは、インスタンスの起動時に使用可能である必要があります。
S11 パスワードベースのログインを防ぐためにSSHサービスを構成します。次の設定を手動で構成します。
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
S15 イメージソフトウェアは、最終的なパッケージングプロセスの一部として更新する必要があります。
S17 アプリケーション・パスワードはハードコードしないでください。インスタンスの初回起動時に、パスワードを一意に生成する必要があります。
G02 イメージは準仮想化モードで実行する必要があります。イメージはネイティブ・モードで実行できます。イメージはエミュレート・モードで実行しないでください。
G04 ネットワーク・マネージャを停止する必要があります。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Disabling_Network_Manager.htmlを参照してください。
G06 イメージは、Oracle Cloud Infrastructureによって提供されるNTPサービスを利用する必要があります。インスタンスに対するOracle Cloud Infrastructure NTPサービスの構成を参照してください。
G07 イメージには、適切なブート・ボリューム接続のためにiSCSIタイムアウト値を設定する必要があります。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/iscsi-modifying-link-loss-behavior-root.htmlを参照してください。