O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como configurar o script do Cisco Secure Client com o Secure Firewall ASA e FTD.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Abordamos dois exemplos de configuração diferentes:
Com o FTD gerenciado pelo FMC, isso ainda não é oficialmente suportado pelo FMC, portanto, implementaremos uma solução alternativa para a solicitação de aprimoramento ID de bug da Cisco CSCvt58044 .
Opções adicionais do perfil xml:
Certifique-se de atribuir o Perfil do AnyConnect à Política de grupo apropriada:
Como a Cisco não oferece suporte a scripts de exemplo ou scripts escritos por clientes, temos alguns exemplos que você pode testar de acordo com suas necessidades:
Cuidado: Certifique-se de usar os comandos suportados pelo cmd.exe de 32 bits.
1. Script para mapear uma unidade:
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 para atualizar uma política de grupo do 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. Iniciando vários 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
Script3.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
Observação: esses exemplos são fornecidos como estão sem garantia ou suporte implícitos. Ele foi projetado para ajudá-lo a usar o recurso de script do Cisco AnyConnect. Supõe-se que você esteja se referindo a este exemplo apenas como referência.
1. Iniciando vários scripts:
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script2.sh
#!/bin/sh
logger "Sample script 2."
Script3.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 = $?"
Observação: esses exemplos são fornecidos como estão sem garantia ou suporte implícitos. Ele foi projetado para ajudá-lo a usar o recurso de script do Cisco AnyConnect. Supõe-se que você esteja se referindo a este exemplo apenas como referência.
1. Iniciando o 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. Iniciando vários scripts
Script1.sh
#!/bin/sh
logger "Sample script 1."
Script2.sh
#!/bin/sh
logger "Sample script 2."
Script3.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 = $?"
Observação: esses exemplos são fornecidos como estão sem garantia ou suporte implícitos. Ele foi projetado para ajudá-lo a usar o recurso de script do Cisco AnyConnect. Supõe-se que você esteja se referindo a este exemplo apenas como referência.
A configuração atual do script do Secure Client não é suportada pelo FMC, há uma solicitação de aprimoramento ID de bug da Cisco CSCvt58044 para apoiá-la. Com base nisso, temos uma solução alternativa para permitir a configuração e a implantação dos scripts.
Observação: você pode encontrar o editor de perfis de VPN aqui: Secure Client 5 Profile Editor
Abra as propriedades do script clicando com o botão direito sobre ele, na guia Geral verifique o Tamanho e anote-o.
SSH para dispositivo FTD e digite system support diagnostic-cli
Digite este comando:
O nome do arquivo deve ter o prefixo scripts_OnConnect_
import webvpn anyConnect-customization type binary platform win name scripts_OnConnect_login.vbs stdin 943
Observação: o stdin é o tamanho em bytes do script da Etapa 2.
Depois de inserir o comando import, você precisa colar o script real na CLI e, mesmo que isso não vá mostrar a saída, você só precisa inserir alguns minutos até voltar para a CLI.
Você pode verificar se o script foi importado corretamente executando o comando:
more <scriptname>.vbs
Vá para Devices> Remote Access> selecione Connection Profile e Edit> Advanced> Group Policies> edite a Group Policy> Secure Client> Profile> você pode selecionar o perfil se já estiver carregado no FMC ou você pode clicar na opção plus e carregar o perfil de lá.
Depois de se conectar pela VPN, você pode confirmar se o script foi implantado com êxito verificando este caminho, dependendo do SO:
Microsoft Windows |
%ALLUSERSPROFILE%\Cisco\Cisco Secure Client\VPN\Script |
Linux (No Linux, atribua permissões de execução ao arquivo para Usuário, Grupo e Outros.) |
/opt/cisco/secureclient/vpn/script |
MacOS |
/opt/cisco/secureclient/vpn/script |
1. Verifique se o script tem um nome de prefixo OnConnect
ou OnDisconnect
. Se você usar o ASDM versão 6.3 ou posterior, o Secure Firewall ASA adicionará o prefixo scripts_ e o prefixo OnConnect ou OnDisconnect ao seu nome de arquivo para identificar o arquivo como um script. Quando o cliente se conecta, o Security Appliance baixa o script para o diretório de destino apropriado no computador remoto, remove o prefixo scripts_ e deixa o prefixo OnConnect ou OnDisconnect. Por exemplo, se você importar o script myscript.bat, o script aparecerá no Security Appliance como scripts_OnConnect_myscript.bat. No computador remoto, o script aparece como OnConnect_myscript.bat.
2. Tente executar o script a partir da linha de comando. O cliente não pode executar o script se não puder executar a partir da linha de comando. Se o script falhar ao ser executado na linha de comando, verifique se o aplicativo que executa o script está instalado e tente regravar o script nesse sistema operacional.
3. Verifique se há apenas um script OnConnect e apenas um script OnDisconnect no diretório de scripts do ponto de extremidade da VPN. Se o cliente fizer download de um script do OnConnect do ASA do Firewall Seguro e, em seguida, fizer download de um segundo script do OnConnect com um sufixo de nome de arquivo diferente para outro ASA do Firewall Seguro, o cliente não poderá executar o script que você pretende executar. Se o caminho do script contiver mais de um script OnConnect ou OnDisconnect e você estiver usando o Secure Firewall ASA para implantar scripts, remova o conteúdo do diretório de scripts e restabeleça uma sessão VPN. Se o caminho do script contiver mais de um script OnConnect ou OnDisconnect e você estiver usando o método de implantação manual, remova os scripts indesejados e restabeleça uma sessão VPN.
4. Se o sistema operacional for Linux ou MacOS, certifique-se de que as permissões do arquivo de script estejam definidas para execução. Se a permissão não estiver definida para execução, você poderá executar este comando para torná-la executável:
$ cd YourScriptDirectory
$ sudo chmod +755 <scriptname>
5. Certifique-se de que o perfil do cliente tenha scripts ativados.
6. Dependendo de como você está escrevendo seu script, você precisa ter uma opção para registrar o progresso do script, por exemplo, com o .vbs, você pode usar objShell.LogEvent e, em seguida, pode ir para o visualizador de eventos do Windows e verificar se isso funcionou ou falhou:
Usando como exemplo o script exemplo Script para atualizar uma política de grupo do Windows
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
27-Jul-2023 |
Versão inicial |