Lignes directrices pour les images

Lorsque vous créez une liste d'images dans Oracle Cloud Infrastructure Marketplace, assurez-vous que les images que vous créez pour la liste sont conformes aux directives applicables.

Directives obligatoires pour les images Linux

Le tableau suivant répertorie les instructions d'image obligatoires et le code d'erreur correspondant. Chaque ligne directrice doit être suivie. Avant de publier une image sur Oracle Cloud Infrastructure Marketplace, chaque image est validée conformément à chacune des directives obligatoires suivantes.

Code d'erreur Description
S01 Les clés d'hôte SSH doivent être uniques pour chaque instance. Utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub. Cela supprimera toutes les clés d'hôte SSH, afin qu'elles soient régénérées lors de la première initialisation.
S08 Les images doivent ingérer une clé publique SSH fournie par un client dans le cadre du processus de lancement de l'instance. Assurez-vous que l'image est activée sur cloud-init.
S10 Les fichiers authorized_keys doivent uniquement contenir les clés fournies par l'utilisateur lors du lancement de l'instance. Utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub.
S14 La connexion de l'utilisateur root doit être désactivée. Au moins 1 des 3 conditions suivantes doit être remplie :
  • Le shell de connexion de l'utilisateur root doit être défini sur /sbin/nologin.
  • La configuration de service SSH /etc/ssh/sshd_config ne doit pas autoriser la connexion root. Configurez manuellement le paramètre suivant :
    PermitRootLogin no
  • Toutes les entrées du fichier /root/.ssh/authorized_keys doivent contenir
    no-port-forwarding, no-agent-forwarding,
                            no-X11-forwarding.
    L'utilisateur root ne doit pas avoir d'entrées utilisables dans le fichier authorized_keys. Utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub.

    Par défaut, les instances Oracle Cloud Infrastructure lancées à partir d'images activées par cloud-init ajoutent les options de transfert et utilisent l'option de commande du fichier authorized_keys afin de désactiver efficacement toute clé SSH fournie par l'utilisateur pour l'utilisateur root. Le code ci-dessous est un exemple de fichier authorized_keys créé par Oracle Cloud Infrastructure à l'aide de cloud-init:

    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 Les images ne doivent avoir aucun utilisateur au niveau du système d'exploitation configuré avec un mot de passe et NE DOIVENT PAS avoir un mot de passe vide.
G01 L'image doit démarrer pour toutes les formes compatibles. Procédez à une vérification manuelle en lançant des instances pour chaque forme compatible.
G03 L'image ne doit avoir aucune adresse MAC codée en dur. Videz le fichier /etc/udev/rules.d/70-persistent-net.rules.
G05 DHCP doit être activé. Assurez-vous qu'il est configuré manuellement. S'assurer que vous pouvez utiliser SSH dans une instance de cette image confirme que DHCP est activé.
G08 Assurez-vous que l'image n'utilise pas le service de métadonnées d'instance v1 (IMDSv1). Si l'image utilise des adresses IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Reportez-vous à Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation Oracle Cloud Infrastructure.

Instructions obligatoires pour les images Windows

Code d'erreur Description
W01 Avant de créer une image Windows personnalisée, vous devez généraliser l'instance Windows à l'aide de Sysprep. Reportez-vous à Création d'une image généralisée.
W02 Le compte opc ne doit pas être conservé lors de l'exécution de la généralisation Sysprep. Reportez-vous à Création d'une image généralisée.
G08 Assurez-vous que l'image n'utilise pas le service de métadonnées d'instance v1 (IMDSv1). Si l'image utilise des adresses IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Reportez-vous à Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation Oracle Cloud Infrastructure.

Recommandations pour les images Linux

Les directives suivantes sont recommandées pour les images répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque directive est considérée comme une meilleure pratique qui devrait être suivie si possible.

Code d'erreur Description
S02 Le contrôle d'accès obligatoire (MAC) doit être activé. Reportez-vous à https://www.linux.com/news/securing-linux-mandatory-access-controls.
S03 Un pare-feu de système d'exploitation (O/S) doit être activé et configuré pour bloquer les ports qui ne sont pas spécifiquement requis, comme indiqué dans la documentation de liste.
S04 Toutes les données sensibles telles que les mots de passe et les clés privées doivent être supprimées. Ce type de données se trouve souvent dans les fichiers journaux, le code source ou les artefacts de build. Pour supprimer ces fichiers, utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub.
S07 Les packages cloud-init doivent être disponibles pour utilisation lors du lancement de l'instance.
S11 Configurez le service SSH pour empêcher la connexion basée sur un mot de passe. Configurez manuellement les paramètres suivants :
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
S15 Le logiciel d'image doit être mis à jour dans le cadre du processus d'emballage final.
S17 Les mots de passe d'application ne doivent pas être codés en dur. Tous les mots de passe doivent être générés de manière unique lors du premier lancement de l'instance :
G02 Les images doivent être exécutées en mode paravirtualisé. Les images peuvent être exécutées en mode natif. Les images ne doivent pas être exécutées en mode émulé.
G04 Tous les gestionnaires réseau doivent être arrêtés. Reportez-vous à https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Disabling_Network_Manager.html.
G06 Les images doivent utiliser le service NTP fourni par Oracle Cloud Infrastructure. Reportez-vous à Configuration du service Oracle Cloud Infrastructure NTP pour une instance.
G07 Les valeurs de délai d'expiration iSCSI des images doivent être définies pour une connectivité de volume d'initialisation correcte. Reportez-vous à https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/iscsi-modifying-link-loss-behavior-root.html.