Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

SCP

Abonnement au journal SWA

Archivage des fichiers journaux

Configurer la récupération de journaux viaSCP sur le serveur distant

Configurer SWA pour envoyer les journaux au serveur distant SCP à partir de l'interface utilisateur graphique

Configurer Microsoft Windows en tant que serveur distant SCP

Diffuser les journaux SCP sur un autre lecteur

Dépannage de la poussée du journal SCP

Afficher les journaux dans SWA

Afficher les journaux dans le serveur SCP

La vérification de la clé hôte a échoué

Autorisation refusée (clé publique,mot de passe,clavier interactif)

Échec du transfert de SCP

Références

Introduction

Ce document décrit les étapes de configuration de Secure Copy (SCP) pour copier automatiquement les journaux dans Secure Web Appliance (SWA) vers un autre serveur.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Comment fonctionne la SCP.

- Administration SWA.

- Administration du système d'exploitation Microsoft Windows ou Linux.

Cisco recommande que vous ayez :

- SWA physique ou virtuel installé.

- Licence activée ou installée.

- L'Assistant de configuration est terminé.

- Accès administratif à l'interface utilisateur graphique (GUI) de SWA.

- Microsoft Windows (au moins Windows Server 2019 ou Windows 10 (build 1809).) ou Linux System Installed.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

SCP

Le comportement de Secure Copy (SCP) est similaire à celui de la copie distante (RCP), qui provient de la suite Berkeley r-tools (propre ensemble d'applications réseau de l'université Berkeley), à ceci près que SCP s'appuie sur Secure Shell (SSH) pour la sécurité. En outre, la SCP exige que l'authentification, l'autorisation et la comptabilisation (AAA) d'autorisation soient configurées afin que le périphérique puisse déterminer si l'utilisateur a le niveau de privilège correct

La méthode SCP sur le serveur distant (équivalente à SCP Push) envoie périodiquement des fichiers journaux par le protocole de copie sécurisée à un serveur SCP distant. Cette méthode nécessite un serveur SSH SCP sur un ordinateur distant avec le protocole SSH2. L'abonnement nécessite un nom d'utilisateur, une clé SSH et un répertoire de destination sur l'ordinateur distant. Les fichiers journaux sont transférés en fonction d'un calendrier de transfert que vous avez défini.

Abonnement au journal SWA

Vous pouvez créer plusieurs abonnements au journal pour chaque type de fichier journal. Les abonnements incluent les détails de configuration pour l'archivage et le stockage, notamment :

- Paramètres de substitution, qui déterminent le moment où les fichiers journaux sont archivés.

- Paramètres de compression des journaux archivés.

- Paramètres de récupération des journaux archivés, qui spécifient si les journaux sont archivés sur un serveur distant ou stockés sur l'appliance.

Archivage des fichiers journaux

Archive (transfert) AsyncOS des abonnements aux journaux lorsqu'un fichier journal en cours atteint une limite spécifiée par l'utilisateur de taille de fichier maximale ou de temps maximal depuis la dernière substitution.

Ces paramètres d'archivage sont inclus dans les abonnements aux journaux :

- Survol par taille de fichier

- Défilement par heure

- Compression du journal

- Méthode De Récupération

Vous pouvez également archiver manuellement les fichiers journaux (de substitution).

Étape 1. Choisissez System Administration > Log Subscriptions.

Étape 2. Cochez la case dans la colonne Survol du journal des abonnements à archiver ou cochez la case Tous pour sélectionner tous les abonnements.

Étape 3. Cliquez sur Rollover Now pour archiver les journaux sélectionnés.

Image - Interface utilisateur graphique de survol

Configurer la récupération du journal via SCP sur le serveur distant

Il existe deux étapes principales pour que la récupération du journal sur un serveur distant avec SCP à partir de SWA :

1. Configurez SWA pour pousser les journaux.

2. Configurez le serveur distant pour recevoir les journaux.

Configurer SWA pour envoyer les journaux au serveur distant SCP à partir de l'interface utilisateur graphique

Étape 1. Connectez-vous à SWA et, dans Administration système, choisissez Log Subscriptions.

Image - Choisir les abonnements au journal

Étape 2. Sur la page Inscriptions au journal, choisissez Ajouter une inscription au journal.

Image - Sélectionnez Ajouter un abonnement au journal

Étape 3. Sélectionnez Type de journal. Dans cet exemple, le journal d'accès a été sélectionné

Étape 4. Saisissez un nom pour votre inscription au journal

Étape 5. (Facultatif) Vous pouvez modifier la substitution par taille de fichier

Étape 6. Dans Méthode de récupération, choisissez SCP sur le serveur distant

Étape 7. Entrez les informations relatives à vos serveurs distants :

- Nom d'hôte ou adresse IP SCP

- Numéro de port d'écoute sur le serveur distant écoutant SSH ( TCP/22 par défaut)

- Nom du répertoire

- Nom d'utilisateur pour la connexion au serveur distant

Image - Configuration des paramètres du journal

Remarque : dans cet exemple, le nom d'utilisateur est wsascp et le serveur distant est le système d'exploitation Microsoft Windows. Nous avons créé un dossier wsa01 dans le dossier c:\users\wccpscp (qui est le dossier du profil utilisateur dans Microsoft).

Conseil : vous pouvez simplement taper le nom du dossier, dans cet exemple est wsa01

Étape 8. Soumettre les modifications.

Étape 9. Enregistrez la clé SSH dans un fichier texte pour une utilisation ultérieure dans la section de configuration du serveur SCP distant.

Remarque : vous devez copier les deux lignes commençant par ssh- et se terminant par root@<SWA hostname> .

Image : enregistrez la clé SSH pour une utilisation ultérieure.

Étape 10. Valider les modifications.

Configurer Microsoft Windows en tant que serveur distant SCP

Étape 10. Pour créer un utilisateur pour votre service SCP, accédez à Gestion de l'ordinateur :

Remarque : si vous avez déjà un utilisateur pour SCP, passez à l'étape 16.

Étape 11. Sélectionnez Utilisateurs locaux et groupe, puis choisissez Utilisateurs dans le volet de gauche.

Étape 12. Cliquez avec le bouton droit de la souris sur la page principale et choisissez nouvel utilisateur.

Image - Créer un utilisateur pour le service SCP.

Étape 13. Saisissez le nom d'utilisateur et le mot de passe souhaité.

Étape 14. Sélectionnez Password Never Expired.

Étape 15. Cliquez sur Créer, puis fermez la fenêtre.

Image : saisissez les informations relatives au nouvel utilisateur.

Étape 16. Connectez-vous au serveur Remote SCP avec le nouvel utilisateur pour créer le répertoire de profil.

Remarque : si OpenSSL est installé sur votre serveur Remote SCP, passez à l'étape 19.

Étape 17. Ouvrez PowerShell avec des privilèges d'administrateur ( Exécuter en tant qu'administrateur ) et exécutez cette commande pour vérifier les conditions requises :

(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

Si le résultat est True, vous pouvez continuer. Sinon, contactez l'équipe de support technique Microsoft,

Étape 18. Pour installer OpenSSH à l'aide de PowerShell avec le privilège Administrateur ( Exécuter en tant qu'administrateur ), exécutez :

# Install the OpenSSH Client

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Voici un exemple de résultats positifs :

Path          :

Online        : True

RestartNeeded : False

Image - Installer OpenSSH dans PowerShell

Attention : si RestartNeeded est défini sur True, redémarrez Windows .

Pour plus d'informations sur l'installation sur d'autres versions de Microsoft Windows, visitez ce lien : Get started with OpenSSH for Windows | Microsoft Learn

Étape 19.Ouvrez une session PowerShell normale (non élevée) et générez une paire de clés RSA à l'aide de la commande suivante :

ssh-keygen -t RSA

Une fois la commande terminée, vous pouvez voir que le dossier .ssh a créé votre répertoire de profil utilisateur.

Image - Générer la clé RSA

Étape 20. Démarrez le service SSH à partir de PowerShell avec le privilège Administrateur ( Exécuter en tant qu'administrateur ).

Start-Service sshd

Étape 21. (Facultatif mais recommandé) Remplacez le type de démarrage du service par Automatique, avec le privilège Administrateur ( Exécuter en tant qu'administrateur ).

Set-Service -Name sshd -StartupType 'Automatic'

Étape 22. Vérifiez que la règle de pare-feu autorisant l'accès au port TCP 22 a été créée.

if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {

Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."

New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

} else {

Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."

}

Étape 23. Modifiez le fichier de configuration SSH situé dans : %programdata%\ssh\sshd_config dans le bloc-notes et supprimez le # pour RSA et DSA.

HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key

HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key

#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key

#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

Étape 24. Modifiez les conditions de connexion dans %programdata%\ssh\sshd_config. Dans cet exemple, l'adresse d'écoute est pour toutes les adresses d'interface. Vous pouvez le personnaliser en fonction de votre conception.

Port 22

#AddressFamily any

ListenAddress 0.0.0.0

Étape 25. Marquez ces deux lignes à la fin du fichier %programdata%\ssh\sshd_config en ajoutant # au début de chaque ligne :

# Match Group administrators

#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Étape 26.(Facultatif) Modifiez les modes stricts dans %programdata%\ssh\sshd_config. Par défaut, ce mode est activé et empêche l'authentification SSH basée sur des clés si les clés privées et publiques ne sont pas correctement protégées.

Décommentez la ligne #StrictModes yes et changez-la en StrictModes no :

StrictModes No

Étape 27. Supprimez le # de cette ligne dans %programdata%\ssh\sshd_config pour autoriser l'authentification par clé publique

PubkeyAuthentication yes

Étape 28. Créez un fichier texte "authorized_keys" dans le dossier .ssh et collez la clé publique RSA SWA (qui a été collectée à l'étape 9)

Image - Clé publique SWA

Remarque : copiez la ligne entière commençant par ssh-rsa et se terminant par root@<your_SWA_hostname>

Conseil : RSA étant installé sur le serveur SCP, il n'est pas nécessaire de coller la clé ssh-dss

Étape 29. Activez « OpenSSH Authentication Agent » dans PowerShell avec le privilège Administrateur (Exécuter en tant qu'administrateur).

Set-Service -Name ssh-agent -StartupType 'Automatic'

Start-Service ssh-agent

Image - Activer l'agent d'authentification SSH ouvert

Étape 30.(Facultatif) Ajoutez cette ligne à %programdata%\ssh\sshd_config pour autoriser les types de clés :

PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss

Étape 31. Redémarrez le service SSH. Vous pouvez utiliser cette commande à partir de PowerShell avec le privilège Administrateur ( Exécuter en tant qu'administrateur )

restart-Service -Name sshd

Étape 32. Pour vérifier si la transmission SCP est configurée correctement, placez le pointeur sur les journaux configurés, vous pouvez le faire à partir de l'interface graphique utilisateur ou de l'interface de ligne de commande (commande rollovernow) :

WSA_CLI> rollovernow scpal

Remarque : dans cet exemple, le nom du journal est « scpal ».

Vous pouvez confirmer que les journaux sont copiés dans le dossier défini, qui dans cet exemple était c:/Users/wsascp/wsa01

Diffuser les journaux SCP vers un autre lecteur

si vous devez pousser les journaux vers un lecteur différent de C:, créez un lien du dossier profil utilisateur vers le lecteur souhaité. Dans cet exemple, les journaux sont envoyés à D:\WSA_Logs\WSA01 .

Étape 1 : création des dossiers dans le lecteur souhaité, dans cet exemple

Étape 2. Ouvrir l'invite de commandes avec le privilège Administrateur ( Exécuter en tant qu'administrateur )

Étape 3. Exécutez cette commande pour créer le lien :

mklink /d c:\users\wsascp\wsa01 D:\WSA_Logs\WSA01

Image - Créer un lien SYM

Remarque : dans cet exemple, SWA est configuré pour pousser les journaux vers le dossier WSA01 dans C:\Users\wsascp , et le serveur SCP a le dossier WSA01 comme lien symbolique vers D:\WSA_Logs\WSA01

Pour plus d'informations sur Microsoft Symbol Link, consultez la page : mklink | Microsoft Learn

Dépannage de la poussée du journal SCP

Afficher les journaux dans SWA

Pour dépanner la transmission du journal SCP, vérifiez les erreurs dans :

1. CLI > afficher les alertes

2. Journaux_système

Remarque : pour lire system_logs, vous pouvez utiliser la commande grep dans CLI , choisir le numéro associé à system_logs et répondre à la question dans l'assistant.

Afficher les journaux dans le serveur SCP

Vous pouvez lire les journaux du serveur SCP dans Microsoft Event Viewer, dans Applications and Services Logs > OpenSSH > Operational

Image - Échec de PreAuth

La vérification de la clé hôte a échoué

Cette erreur indique que la clé publique du serveur SCP stockée dans SWA n'est pas valide.

Voici un exemple d'erreur de la sortie de display alerts dans CLI :

02 Jan 2024 16:52:35 +0100    Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22:

Last message occurred 68 times between Tue Jan  2 15:53:01 2024 and Tue Jan  2 16:52:31 2024.

Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: Host key verification failed.

Last message occurred 46 times between Tue Jan  2 16:30:19 2024 and Tue Jan  2 16:52:31 2024.

Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: lost connection

Last message occurred 68 times between Tue Jan  2 15:53:01 2024 and Tue Jan  2 16:52:31 2024.

Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: ssh: connect to host 10.48.48.195 port 22: Operation timed out

Last message occurred 22 times between Tue Jan  2 15:53:01 2024 and Tue Jan  2 16:29:18 2024.

Voici quelques exemples d'erreurs dans system_logs :

Tue Jan  2 19:49:50 2024 Critical: Log Error: Push error for subscription scp: SCP failed to transfer to 10.48.48.195:22:

Tue Jan  2 19:49:50 2024 Critical: Log Error: Push error for subscription scp: SCP failed to transfer to 10.48.48.195:22: lost connection

Tue Jan  2 19:49:50 2024 Critical: Log Error: Push error for subscription scp: SCP failed to transfer to 10.48.48.195:22: Host key verification failed.

Pour résoudre ce problème, vous pouvez copier l'hôte à partir du serveur SCP et le coller dans la page d'abonnement aux journaux SCP.

Reportez-vous à l'étape 7 de Configurer SWA pour envoyer les journaux au serveur distant SCP à partir de l'interface utilisateur graphique ou vous pouvez contacter le TAC Cisco pour supprimer la clé d'hôte du serveur principal.

Autorisation refusée (clé publique,mot de passe,clavier interactif)

Cette erreur indique généralement que le nom d'utilisateur fourni dans SWA n'est pas valide.

Voici un exemple de journal d'erreurs dans system_logs :

Tue Jan  2 20:41:40 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22:

Tue Jan  2 20:41:40 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: lost connection

Tue Jan  2 20:41:40 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: scp@10.48.48.195: Permission denied (publickey,password,keyboard-interactive).

Voici un exemple d'erreur du serveur SCP : Utilisateur non valide SCP du port <adresse_IP_SWA> <port TCP SWA se connecte au serveur SCP>

Image - Utilisateur non valide

Pour résoudre cette erreur, vérifiez l'orthographe et assurez-vous que l'utilisateur (configuré dans SWA pour pousser les journaux) est activé dans le serveur SCP.

Aucun fichier ou répertoire de ce type

Cette erreur indique que le chemin d'accès fourni dans la section d'abonnement aux journaux SWA n'est pas valide,

Voici un exemple d'erreur de system_logs :

Tue Jan  2 20:47:18 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22:

Tue Jan  2 20:47:18 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: scp: Userswsascpwsa01/aclog.@20240102T204508.s: No such file or directory

Tue Jan  2 20:47:18 2024 Critical: Log Error: Push error for subscription scpal: SCP failed to transfer to 10.48.48.195:22: Sink: C0660 255 aclog.@20240102T204508.s

Pour résoudre ce problème, vérifiez l'orthographe et assurez-vous que le chemin est correct et valide dans le serveur SCP.

Échec du transfert de SCP

cette erreur peut être un indicateur d'une erreur de communication. Voici un exemple d'erreur :

03 Jan 2024 13:23:27 +0100    Log Error: Push error for subscription scp: SCP failed to transfer to 10.48.48.195:22:

Pour dépanner la connectivité, utilisez la commande telnet dans l'interface de ligne de commande SWA :

SWA_CLI> telnet

Please select which interface you want to telnet from.

1. Auto

2. Management (10.48.48.187/24: SWA_man.csico.com)

[1]> 2

Enter the remote hostname or IP address.

[]> 10.48.48.195

Enter the remote port.

[23]> 22

Trying 10.48.48.195...

Dans cet exemple, la connexion n'est pas établie. La connexion réussie est la suivante :

SWA_CLI> telnet

Please select which interface you want to telnet from.

1. Auto

2. Management (10.48.48.187/24: rishi2Man.calo.lab)

[1]> 2

Enter the remote hostname or IP address.

[]> 10.48.48.195

Enter the remote port.

[23]> 22

Trying 10.48.48.195...

Connected to 10.48.48.195.

Escape character is '^]'.

SSH-2.0-OpenSSH_for_Windows_SCP

Si la connexion Telnet n’est pas établie :

[1] Vérifiez si le pare-feu du serveur SCP bloque l'accès.

[2] Vérifiez si des pare-feu bloquent l'accès sur le chemin entre le serveur SWA et le serveur SCP.

[3] Vérifiez si le port TCP 22 est à l'état d'écoute dans le serveur SCP .

[4] Exécutez la capture de paquets dans les serveurs SWA et SCP pour une analyse plus approfondie.

Voici un exemple de capture de paquets d'une connexion réussie :

Image - Capture de paquets de connexion réussie

Références

Recommandations relatives aux meilleures pratiques pour les appareils de sécurité Web Cisco - Cisco

BRKSEC-3303 (ciscolive)

Guide de l'utilisateur d'AsyncOS 14.5 pour Cisco Secure Web Appliance - GD (General Deployment) - Connect, Install, and Configure [Cisco Secure Web Appliance] - Cisco

Premiers pas avec OpenSSH pour Windows | Microsoft Learn

Configuration de l'authentification de clé publique SSH sous Windows | Concentrateur Windows OS (woshub.com)

Authentification par clé dans OpenSSH pour Windows | Microsoft Learn