Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer les scripts Cisco Secure Client avec Secure Firewall ASA et FTD.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
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.
Nous abordons 2 exemples de configuration différents :
Avec FTD géré par FMC, cela n'est toujours pas officiellement pris en charge par FMC. Nous allons donc mettre en oeuvre une solution de contournement à la demande d'amélioration ID de bogue Cisco CSCvt58044 .
Options supplémentaires du profil xml :
Veillez à attribuer le profil AnyConnect à la stratégie de groupe appropriée :
Puisque Cisco ne prend pas en charge les scripts d'exemple ou les scripts écrits par le client, nous avons quelques exemples que vous pouvez tester en fonction de vos besoins :
Attention : veillez à utiliser les commandes prises en charge par cmd.exe 32 bits.
1. Script de mappage d'un lecteur :
OnConnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
Dim strDriveLetter, strRemotePath
strDriveLetter = "REPLACE_WITH_DRIVE_LETTER:"
strRemotePath = "\\REPLACE_WITH_SERVER_NAME\REPLACE_WITH_SHARE"
Set objNetwork = CreateObject("WScript.Network")
' remove old mapping (if any)
objNetwork.RemoveNetworkDrive strDriveLetter
' add new mapping
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
If Err.Number <> 0 Then
objShell.LogEvent 0, "Failed to map network drive." & vbCrLf & Err.Number & ": " & Err.Description
End If
WScript.Quit
OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnDisconnect script."
Dim strDriveLetter
strDriveLetter = "REPLACE_WITH_DRIVE_LETTER:"
Set objNetwork = CreateObject("WScript.Network")
' remove old mapping (if any)
objNetwork.RemoveNetworkDrive strDriveLetter
WScript.Quit
2. Script d'actualisation d'une stratégie de groupe Windows :
OnConnect.vbs ou OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
' refreshes local and Active Directory-based Group Policy settings, including security settings
returnCode = objShell.Run("gpupdate.exe /force", 0, True)
If returnCode <> 0 Then
objShell.LogEvent 0, "Failed to update Group Policy settings." & vbCrLf & Err.Number & ": " & Err.Description
End If
objShell.LogEvent 0, "User's Group Policy settings have been updated."
WScript.Quit
3. Lancement de plusieurs scripts :
Script1.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 1."
WScript.Quit
Script2.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 2."
WScript.Quit 5
Script 3.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 3."
WScript.Quit
OnConnect.vbs ou OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
' launch each script after the previous has completed
returnCode = objShell.Run("wscript.exe Script1.vbs", 0, True)
objShell.LogEvent 0, "Script1.vbs returned = " & returnCode
returnCode = objShell.Run("wscript.exe Script2.vbs", 0, True)
objShell.LogEvent 0, "Script2.vbs returned = " & returnCode
returnCode = objShell.Run("wscript.exe Script3.vbs", 0, True)
objShell.LogEvent 0, "Script3.vbs returned = " & returnCode
WScript.Quit
Remarque : ces échantillons sont fournis tels quels, sans garantie ni assistance implicite. Il est conçu pour vous aider à utiliser la fonctionnalité de script Cisco AnyConnect. Nous supposons que vous faites référence à cet exemple uniquement à titre de référence.
1. Lancement de plusieurs scripts :
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script2.sh
#!/bin/sh
logger "Sample script 2."
Script 3.sh
#!/bin/sh
logger "Sample script 3."
OnConnect.sh ou OnDisconnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch each script after the previous has completed
./Script1.sh
logger "Script1.sh returned = $?"
./Script2.sh
logger "Script2.sh returned = $?"
./Script3.sh
logger "Script3.sh returned = $?"
Remarque : ces échantillons sont fournis tels quels, sans garantie ni assistance implicite. Il est conçu pour vous aider à utiliser la fonctionnalité de script Cisco AnyConnect. Nous supposons que vous faites référence à cet exemple uniquement à titre de référence.
1. Lancement d'AppleScript :
Script1.script
#!/bin/sh
say "This is a Sample AppleScript"
OnConnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch the AppleScript script
/usr/bin/osascript Script1.scpt
2. Lancement de plusieurs scripts
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script2.sh
#!/bin/sh
logger "Sample script 2."
Script 3.sh
#!/bin/sh
logger "Sample script 3."
OnConnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch each script after the previous has completed
./Script1.sh
logger "Script1.sh returned = $?"
./Script2.sh
logger "Script2.sh returned = $?"
./Script3.sh
logger "Script3.sh returned = $?"
Remarque : ces échantillons sont fournis tels quels, sans garantie ni assistance implicite. Il est conçu pour vous aider à utiliser la fonctionnalité de script Cisco AnyConnect. Nous supposons que vous faites référence à cet exemple uniquement à titre de référence.
La configuration actuelle du script de client sécurisé n'est pas prise en charge par le FMC, il y a une demande d'amélioration ID de bogue Cisco CSCvt58044 pour l'appuyer. Sur cette base, nous avons une solution de contournement pour permettre la configuration et le déploiement des scripts.
Remarque : vous pouvez trouver l'éditeur de profil VPN ici : Secure Client 5 Profile Editor
Ouvrez les propriétés du script en cliquant dessus avec le bouton droit, dans l'onglet Général, vérifiez la taille et notez-la.
SSH à FTD Appliance et entrer dans le diagnostic de prise en charge du système-cli
Entrez cette commande :
Le nom du fichier doit être précédé du préfixe scripts_OnConnect_
import webvpn anyConnect-customization type binary platform win name scripts_OnConnect_login.vbs stdin 943
Remarque : le stdin est la taille en octets du script de l'étape 2.
Après avoir entré la commande d'importation, vous devez coller le script réel sur la CLI et même si cela ne va pas afficher le résultat, vous devez juste entrer un couple de temps jusqu'à ce que vous revenez à la CLI.
Vous pouvez vérifier que le script a été importé correctement en exécutant la commande suivante :
more <scriptname>.vbs
Accédez à Périphériques> Accès à distance> sélectionnez le profil de connexion et Modifier> Avancé> Stratégies de groupe> modifiez la Stratégie de groupe> Client sécurisé> Profil> vous pouvez sélectionner le profil s'il est déjà téléchargé sur le FMC ou vous pouvez cliquer sur l'option plus et télécharger le profil à partir de là.
Après vous être connecté via le VPN, vous pouvez confirmer que le script a été correctement déployé en vérifiant ce chemin en fonction du système d'exploitation :
Microsoft Windows |
%ALLUSERSPROFILE%\Cisco\Cisco Secure Client\VPN\Script |
Linux (Sous Linux, attribuez des autorisations d'exécution au fichier pour Utilisateur, Groupe et Autre.) |
/opt/cisco/secureclient/vpn/script |
macOS |
/opt/cisco/secureclient/vpn/script |
1. Assurez-vous que le script a un nom de préfixe OnConnect
ou OnDisconnect
, Si vous utilisez ASDM version 6.3 ou ultérieure, l'ASA de pare-feu sécurisé ajoute le préfixe scripts_ et le préfixe OnConnect ou OnDisconnect à votre nom de fichier pour identifier le fichier en tant que script. Lorsque le client se connecte, l'appliance de sécurité télécharge le script dans le répertoire cible approprié sur l'ordinateur distant, supprime le préfixe scripts_ et laisse le préfixe OnConnect ou OnDisconnect. Par exemple, si vous importez le script myscript.bat, celui-ci apparaît sur l'appliance de sécurité sous le nom scripts_OnConnect_myscript.bat. Sur l'ordinateur distant, le script apparaît sous la forme OnConnect_myscript.bat.
2. Essayez d'exécuter le script à partir de la ligne de commande. Le client ne peut pas exécuter le script s'il ne peut pas s'exécuter à partir de la ligne de commande. Si l'exécution du script échoue sur la ligne de commande, assurez-vous que l'application qui exécute le script est installée et essayez de réécrire le script sur ce système d'exploitation.
3. Vérifiez qu'il n'y a qu'un script OnConnect et qu'un seul script OnDisconnect dans le répertoire des scripts sur le point d'extrémité VPN. Si le client télécharge un script OnConnect à partir du pare-feu ASA sécurisé, puis un second script OnConnect avec un suffixe de nom de fichier différent pour un autre pare-feu ASA sécurisé, le client ne peut pas exécuter le script que vous avez prévu d'exécuter. Si le chemin d'accès du script contient plusieurs scripts OnConnect ou OnDisconnect et que vous utilisez l'ASA Secure Firewall pour déployer des scripts, supprimez le contenu du répertoire des scripts et rétablissez une session VPN. Si le chemin d'accès du script contient plusieurs scripts OnConnect ou OnDisconnect et que vous utilisez la méthode de déploiement manuel, supprimez les scripts indésirables et rétablissez une session VPN.
4. Si le système d'exploitation est Linux ou MacOS, assurez-vous que les autorisations du fichier de script sont définies pour s'exécuter, si l'autorisation n'est pas définie pour s'exécuter, vous pouvez exécuter cette commande pour la rendre exécutable :
$ cd YourScriptDirectory
$ sudo chmod +755 <scriptname>
5. Assurez-vous que le script est activé sur le profil client.
6. Selon la façon dont vous écrivez votre script, vous devez avoir une option pour enregistrer la progression du script, par exemple avec le .vbs, vous pouvez utiliser objShell.LogEvent, puis vous pouvez accéder à l'observateur d'événements de Windows et vérifier si cela a fonctionné ou échoué :
Utilisation, à titre d'exemple, de l'exemple de script Script pour actualiser une stratégie de groupe Windows
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
27-Jul-2023 |
Première publication |