La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare Cisco Secure Client scripting con Secure Firewall ASA e FTD.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Sono riportati due esempi di configurazione:
Poiché FTD gestito da FMC non è ancora ufficialmente supportato da FMC, verrà implementata una soluzione per la richiesta di miglioramento dell'ID bug Cisco CSCvt5804 .
Opzioni aggiuntive dal profilo xml:
Accertarsi di assegnare il profilo AnyConnect ai Criteri di gruppo appropriati:
Poiché Cisco non supporta gli script di esempio o quelli scritti dal cliente, sono disponibili alcuni esempi che è possibile verificare in base alle esigenze:
Attenzione: assicurarsi di utilizzare i comandi supportati da cmd.exe a 32 bit.
1. Script per mappare un'unità:
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 per aggiornare un criterio di gruppo di Windows:
OnConnect.vbs o 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. Avvio di più script:
Script1.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 1."
WScript.Quit
Script 2.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 o 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
Nota: questi esempi vengono forniti così come sono senza alcuna garanzia o supporto impliciti. È progettato per assistere l'utente nell'uso della funzione di script Cisco AnyConnect. Si presume che il riferimento a questo esempio sia puramente indicativo.
1. Avvio di più script:
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script 2.sh
#!/bin/sh
logger "Sample script 2."
Script 3.sh
#!/bin/sh
logger "Sample script 3."
OnConnect.sh o 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 = $?"
Nota: questi esempi vengono forniti così come sono senza alcuna garanzia o supporto impliciti. È progettato per assistere l'utente nell'uso della funzione di script Cisco AnyConnect. Si presume che il riferimento a questo esempio sia puramente indicativo.
1. Avvio di AppleScript:
Script1.scpt
#!/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. Avvio di più script
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script 2.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 = $?"
Nota: questi esempi vengono forniti così come sono senza alcuna garanzia o supporto impliciti. È progettato per assistere l'utente nell'uso della funzione di script Cisco AnyConnect. Si presume che il riferimento a questo esempio sia puramente indicativo.
La configurazione dello scripting di Secure Client non è attualmente supportata dalla console Gestione risorse, è stata richiesta una versione migliorata dell'ID bug Cisco CSCvt58044 per sostenerla. In base a ciò, abbiamo a disposizione una soluzione per consentire la configurazione e la distribuzione degli script.
Nota: l'editor di profili VPN è disponibile qui: Secure Client 5 Profile Editor
Aprire le proprietà dello script facendo clic con il pulsante destro del mouse su di esso, nella scheda Generale controllare la Dimensione e annotarlo.
Appliance SSH-FTD e accesso al supporto del sistema diagnostic-cli
Immettere questo comando:
Il nome del file deve essere preceduto da scripts_OnConnect_
import webvpn anyConnect-customization type binary platform win name scripts_OnConnect_login.vbs stdin 943
Nota: stdin indica le dimensioni in byte dello script dal passaggio 2.
Dopo aver immesso il comando import, è necessario incollare lo script effettivo sulla CLI e, anche se questo non mostra l'output, è sufficiente immettere un paio di volte fino a quando non si torna alla CLI.
È possibile verificare che lo script sia stato importato correttamente eseguendo il comando:
more <scriptname>.vbs
Selezionare Dispositivi> Accesso remoto> selezionare Profilo connessione e Modifica> Avanzate> Criteri di gruppo> modificare Criteri di gruppo> Secure Client> Profilo> è possibile selezionare il profilo se è già caricato in FMC oppure fare clic sull'opzione più e caricare il profilo da qui.
Dopo la connessione tramite la VPN, è possibile verificare che lo script sia stato distribuito correttamente verificando questo percorso a seconda del sistema operativo:
Microsoft Windows |
%ALLUSERSPROFILE%\Cisco\Cisco Secure Client\VPN\Script |
Linux In Linux, assegnare le autorizzazioni di esecuzione al file per Utente, Gruppo e Altro. |
/opt/cisco/secureclient/vpn/script |
macOS |
/opt/cisco/secureclient/vpn/script |
1. Verificare che lo script abbia un nome con prefisso OnConnect
o OnDisconnect
. Se si usa ASDM versione 6.3 o successive, l'appliance ASA Secure Firewall aggiunge il prefisso scripts_ e il prefisso OnConnect o OnDisconnect al nome del file per identificare il file come script. Quando il client si connette, l'accessorio di protezione scarica lo script nella directory di destinazione appropriata nel computer remoto, rimuove il prefisso scripts_ e lascia il prefisso OnConnect o OnDisconnect. Se ad esempio si importa lo script myscript.bat, lo script verrà visualizzato nell'accessorio di protezione come scripts_OnConnect_myscript.bat. Sul computer remoto, lo script viene visualizzato come OnConnect_myscript.bat.
2. Provare ad eseguire lo script dalla riga di comando. Il client non può eseguire lo script se non può essere eseguito dalla riga di comando. Se l'esecuzione dello script sulla riga di comando non riesce, verificare che l'applicazione che esegue lo script sia installata e provare a riscrivere lo script in tale sistema operativo.
3. Verificare che vi sia un solo script OnConnect e un solo script OnDisconnect nella directory degli script sull'endpoint VPN. Se il client scarica uno script OnConnect dall'appliance ASA Secure Firewall, quindi scarica un secondo script OnConnect con un suffisso di nome file diverso per un'altra appliance ASA Secure Firewall, il client non può eseguire lo script desiderato. Se il percorso dello script contiene più script OnConnect o OnDisconnect e si utilizza l'appliance ASA Secure Firewall per distribuire gli script, rimuovere il contenuto della directory degli script e ristabilire una sessione VPN. Se il percorso dello script contiene più script OnConnect o OnDisconnect e si utilizza il metodo di distribuzione manuale, rimuovere gli script indesiderati e ristabilire una sessione VPN.
4. Se il sistema operativo è Linux o MacOS, assicurarsi che le autorizzazioni del file di script siano impostate per l'esecuzione. Se l'autorizzazione non è impostata per l'esecuzione, è possibile eseguire questo comando per renderlo eseguibile:
$ cd DirectoryScript
$ sudo chmod +755 <nomescript>
5. Verificare che lo scripting sia abilitato per il profilo client.
6. A seconda del modo in cui si scrive lo script, è necessario disporre di un'opzione per registrare l'avanzamento dello script, ad esempio con il file .vbs è possibile utilizzare objShell.LogEvent, quindi passare al visualizzatore eventi di Windows e verificare se questa operazione ha avuto esito positivo o negativo:
Utilizzo come esempio dello script di esempio Script per aggiornare un criterio di gruppo di Windows
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
27-Jul-2023 |
Versione iniziale |