Enregistrez de manière sécurisée les sessions SSH sur RHEL dans un réseau VPC privé

Dans cet article de blog, vous apprendrez comment enregistrer des sessions SSH sur un VSI Red Hat Enterprise Linux (RHEL) dans un réseau VPC privé à l’aide de packages intégrés. Le réseau privé VPC est provisionné à l’aide de Terraform et les packages RHEL sont installés à l’aide de l’automatisation Ansible. De plus, vous apprendrez comment configurer un hôte bastion hautement disponible.

Qu’est-ce que l’enregistrement de session et pourquoi est-il nécessaire ?

Un hôte bastion et un serveur de saut sont tous deux des mécanismes de sécurité utilisés dans les environnements réseau et serveur pour contrôler et améliorer la sécurité lors de la connexion à des systèmes distants. Ils répondent à des objectifs similaires mais présentent quelques différences dans leur implémentation et leurs cas d’utilisation. L’hôte bastion est placé devant le réseau privé pour recevoir les requêtes SSH du trafic public et transmettre la requête à la machine en aval. Les hôtes Bastion et les serveurs Jump sont vulnérables aux intrusions car ils sont exposés au trafic public.

La journalisation des sessions aide un administrateur système à surveiller les sessions SSH des utilisateurs et à garantir qu’elles sont conformes aux exigences réglementaires. En cas de faille de sécurité, l’administrateur souhaitera auditer et analyser les sessions utilisateur. Ceci est essentiel pour un système sensible à la sécurité.

Qu’est-ce qu’un réseau VPC privé ?

Un cloud privé virtuel est totalement privé s’il n’y a pas de trafic réseau public entrant ou sortant. En termes techniques simples, il est privé s’il n’y a pas de passerelles publiques sur les sous-réseaux (sous-réseaux privés) et pas d’adresses IP flottantes sur les instances de serveur virtuel (VSI).

Comment puis-je me connecter au réseau VPC privé ?

Le VPN client à site pour VPC est l’une des deux options VPN disponibles sur IBM Cloud et permet aux utilisateurs de se connecter aux ressources IBM Cloud via des connexions sécurisées et chiffrées.

Le VPN client à site est hautement disponible, avec deux serveurs VPN créés dans deux zones de disponibilité différentes dans la même région. Les remparts sont également très disponibles.

Conditions préalables

Provisionnez votre réseau VPC privé à l’aide de Terraform

  • Une fois que vous disposez du secret IBM Cloud Secrets Manager avec le certificat, lancez votre terminal et définissez les variables Terraform suivantes :
export TF_VAR_ibmcloud_api_key=<IBM_CLOUD_API_KEY>

export TF_VAR_secrets_manager_certificate_crn=<SECRET_CRN>
git clone https://github.com/VidyasagarMSC/private-vpc-network

cd terraform
  • Exécutez des commandes Terraform pour provisionner des ressources VPC (telles que des sous-réseaux, des hôtes bastions (VSI), des VPN, etc.) :
terraform init

terraform plan

terraform apply

Connectez-vous au VPN client-site

  • Une fois vos ressources VPC provisionnées avec succès, vous devez télécharger le profil du client VPN en vous connectant à Page des serveurs VPN sur IBM Cloud.
  • Clique le Onglet Client vers serveur de site puis sur le nom du VPN :
  • Télécharger le profil depuis Clientèle formulaire.
  • Le VPN fourni via Terraform utilise des certificats. Suivre la instructions ici pour vous connecter au client OpenVPN.
  • Vous devriez voir la connexion réussie sur votre client OpenVPN :

Vérifiez votre connexion SSH

  • Sur un terminal, ajoutez la clé privée SSH à l’agent SSH avec la commande suivante :
ssh-add <LOCATION_OF_PRIVATE_SSH_KEY> 
  • Exemple: ssh-add ~/.ssh/<NAME_OF_THE_PRIVATE_KEY>
  • Exécutez la commande suivante via SSH dans le RHEL VSI via un hôte bastion. Vous utiliserez l’adresse IP privée du bastion en Zone 1 :
ssh -J [email protected] [email protected]
  • N’oubliez pas que vous devez être connecté au VPN client-site pour accéder à RHEL VSI via l’hôte bastion.
  • Après SSH, vous devriez voir les instructions pour activer la journalisation de session SSH à l’aide du package TLOG sur RHEL.

Déployer l’enregistrement de session à l’aide d’Ansible

Pour déployer la solution d’enregistrement de session, vous devez avoir les packages suivants installés sur votre RHEL VSI :

  • tlog
  • SSSD
  • cockpit-session-recording

Les packages seront installés via l’automatisation Ansible sur tous les VSI, à la fois les hôtes bastions et les VSI RHEL.

  • Accédez au dossier Ansible :
cd ansible
  • Créer hosts.ini à partir du fichier modèle :
cp hosts_template.ini hosts.ini
  • Exécutez le playbook Ansible pour installer des packages à partir d’un miroir/référentiel privé IBM Cloud :
ansible-playbook main_playbook.yml -i hosts.ini --flush-cache

Vous pouvez voir dans la figure 1 qu’après vous être connecté en SSH à la machine RHEL, vous verrez une note indiquant : ATTENTION! Votre séance est en cours d’enregistrement !

Vérifier les enregistrements de session, les journaux et les rapports

Si vous examinez attentivement les messages post-SSH, vous verrez une URL de console Web accessible à l’aide du nom de la machine ou de l’adresse IP privée sur le port 9090. Pour autoriser le trafic sur le port 9090, dans le code Terraform, modifiez la valeur de allow_port_9090 variable une true et courir terraform apply. Le dernier terraform apply ajoutera des règles d’ACL et de groupe de sécurité pour autoriser le trafic sur le port 9090.

  • Maintenant, ouvrez un navigateur et accédez à http://10.10.128.13:9090. Pour vous connecter en utilisant votre nom VSI, vous devez configurer un DNS privé (en dehors du cadre de cet article). Un mot de passe root est requis pour accéder à la console Web :
  • Aller vers Enregistrement de séance sur le côté gauche pour afficher la liste des enregistrements de session. En plus des enregistrements de session, vous pouvez consulter les journaux, les rapports de diagnostic, etc. :

Lecture recommandée

Conclusion

Cet article explique pourquoi la journalisation de session est nécessaire sur les hôtes bastions à des fins d’audit et de conformité et comment vous pouvez configurer la journalisation de session avec les packages RHEL intégrés à l’aide d’Ansible Automation.

Lors de la conception d’un réseau cloud privé virtuel sécurisé, vous avez appris les meilleures pratiques en matière d’architecture d’un réseau privé VPC. Nous avons également répondu à la nécessité de créer des serveurs VPN et des hôtes bastions hautement disponibles. En provisionnant une infrastructure cloud à l’aide de Terraform et Ansible pour l’enregistrement de session, vous avez acquis une expérience pratique.

En savoir plus sur IBM Cloud VPC

Si vous avez des questions, n’hésitez pas à me contacter au Twitter ou vers le haut LinkedIn.

Nous serions ravis de connaître votre avis

Laisser un commentaire

Tumely
Logo
Compare items
  • Total (0)
Compare
0