In questo documento viene descritto come configurare Secure Copy (SCP) per copiare automaticamente i log in Secure Web Appliance (SWA) su un altro server.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Cisco raccomanda:
Il documento può essere consultato per tutte le versioni software o hardware.
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.
Il comportamento di Secure Copy (SCP) è simile a quello di Remote Copy (RCP), che proviene dalla suite di r-tool Berkeley (il gruppo di applicazioni di rete dell'università di Berkeley), con la differenza che SCP si basa su Secure Shell (SSH) per la sicurezza. Inoltre, SCP richiede che l'autorizzazione di autenticazione, autorizzazione e accounting (AAA) sia configurata in modo che il dispositivo possa determinare se l'utente dispone del livello di privilegi corretto
Il metodo SCP su server remoto (equivalente a SCP Push) copia periodicamente i file di registro su un server remoto utilizzando SCP su un server SCP remoto. Questo metodo richiede un server SSH SCP su un computer remoto con protocollo SSH2. La sottoscrizione richiede un nome utente, una chiave SSH e una directory di destinazione nel computer remoto. I file di log vengono trasferiti in base a una pianificazione di rollover impostata dall'utente.
È possibile creare più sottoscrizioni di log per ogni tipo di file di log. Le sottoscrizioni includono i dettagli di configurazione per l'archiviazione e l'archiviazione, tra cui:
Le sottoscrizioni dei log degli archivi AsyncOS (rollover) vengono eseguite quando un file di log corrente raggiunge un limite specificato dall'utente per le dimensioni massime del file o il tempo massimo dall'ultimo rollover.
Le seguenti impostazioni di archiviazione sono incluse nelle sottoscrizioni dei log:
È inoltre possibile archiviare manualmente (eseguire il rollover) i file di registro.
Passaggio 1. Scegliere Amministrazione sistema > Registra sottoscrizioni.
Passaggio 2. Selezionare la casella di controllo nella colonna Rollover delle sottoscrizioni di log da archiviare oppure selezionare la casella di controllo Tutte per selezionare tutte le sottoscrizioni.
Passaggio 3. Fare clic su Esegui rollover ora per archiviare i log selezionati.
Immagine - Interfaccia grafica rollover now
Per il recupero del log su un server remoto con SCP da SWA, è necessario eseguire due passaggi principali:
Passaggio 1. Accedere a SWA e, da Amministrazione sistema, scegliere Registra sottoscrizioni.
Immagine - Scegli sottoscrizioni log
Passaggio 2. Nella pagina Sottoscrizioni log, scegliere Aggiungi sottoscrizione log:
Immagine - Scegliere Aggiungi sottoscrizione log
Passaggio 3. Scegliere il tipo di log. In questo esempio è stato selezionato il registro di accesso.
Passaggio 4. Immettere un nome per la sottoscrizione di log.
Passaggio 5. (Facoltativo) È possibile modificare il rollover in base alle dimensioni del file.
Passaggio 6. Dal metodo Retrieval, scegliere SCP su server remoto.
Passaggio 7. Immettere queste informazioni per i server remoti:
Immagine - Configura parametri registro
Nota: In questo esempio, il nome utente è wsascp e il server remoto è il sistema operativo Microsoft Windows. È stata creata una cartella c:\users\wccpscp, ovvero la cartella dei profili utente di Microsoft.
Suggerimento: È sufficiente digitare il nome della cartella; nell'esempio, questo valore è wsa01.
Passaggio 8. Sottomettere le modifiche.
Passaggio 9. Salvare la chiave SSH in un file di testo per poterla usare nella sezione di configurazione del server SCP remoto.
Nota: Copiare entrambe le righe iniziando con ssh- e terminando con root@<nome host SWA> .
Image (Immagine) - Salvare la chiave SSH per un ulteriore utilizzo.
Passaggio 10. Eseguire il commit delle modifiche.
Passaggio 11. Per creare un utente per il servizio SCP, passare a Gestione computer:
Nota: Se si dispone già di un utente per SCP, andare al passaggio 16.
Passaggio 12. Selezionare Utenti e gruppi locali, quindi scegliere Utenti dal riquadro di sinistra.
Passaggio 13. Fare clic con il pulsante destro del mouse sulla pagina principale e scegliere nuovo utente.
Immagine - Crea un utente per il servizio SCP.
Passaggio 14. Inserire il nome utente e la password desiderati.
Passaggio 15. Scegliere Password Never Expires.
Passaggio 16. Fare clic su Crea e chiudere la finestra.
Image (Immagine) - Consente di immettere le informazioni sul nuovo utente.
Passaggio 17. Per creare la directory dei profili, accedere al server SCP remoto con l'utente appena creato.
Nota: Se OpenSSL è installato sul server SCP remoto, andare al passaggio 19.
Passaggio 18. Aprire PowerShell con privilegi di amministratore (Esegui come amministratore) ed eseguire questo comando per verificare i prerequisiti:
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Se l'output è True, è possibile procedere. In caso contrario, rivolgersi al team di supporto Microsoft,
Passaggio 19. Per installare OpenSSH utilizzando PowerShell con privilegi di amministratore (Esegui come amministratore), eseguire:
# 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
Di seguito è riportato un esempio di risultati positivi:
Path :
Online : True
RestartNeeded : False
Immagine: installazione di OpenSSH in PowerShell
Attenzione: Se RestartNeeded è impostato su True, riavviare Windows.
Per ulteriori informazioni sull'installazione in altre versioni di Microsoft Windows, visitare il sito Guida introduttiva a OpenSSH per Windows | Microsoft Learn
Passaggio 20. Aprire una normale sessione di PowerShell (senza privilegi elevati) e generare una coppia di chiavi RSA utilizzando il comando:
ssh-keygen -t RSA
Al termine del comando, è possibile verificare che la cartella ssh ha creato la directory del profilo utente.
Immagine - Genera chiave RSA
Passaggio 21. Avviare il servizio SSH da PowerShell con privilegi di amministratore (Esegui come amministratore).
Start-Service sshd
Passaggio 22. (Facoltativo ma consigliato) Modificare il tipo di avvio del servizio in Automatico, con privilegio Amministratore (Esegui come amministratore).
Set-Service -Name sshd -StartupType 'Automatic'
Passaggio 23. Verificare che la regola firewall per consentire l'accesso alla porta TCP 22 sia stata creata.
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."
}
Passaggio 24. Modificare il file di configurazione SSH situato in: %programdata%\ssh\sshd_config in Blocco note, rimuovendo # per RSA e 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
Passaggio 25. Modificare le condizioni di connessione in %programdata%\ssh\sshd_config. In questo esempio, l'indirizzo di ascolto è per tutti gli indirizzi di interfacce. È possibile personalizzare questa impostazione in base alla progettazione della distribuzione.
Port 22
#AddressFamily any
ListenAddress 0.0.0.0
Passaggio 26. Contrassegnare le due righe seguenti alla fine del file %programdata%\ssh\sshd_config aggiungendo # all'inizio di ogni riga:
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Passaggio 27. (Facoltativo) Modificare le modalità rigorose in %programdata%\ssh\sshd_config. Per impostazione predefinita, questa modalità è abilitata e impedisce l'autenticazione basata su chiave SSH se le chiavi pubblica e privata non sono protette correttamente.
Rimuovere il commento dalla riga #StrictModes yes e modificarla in StrictModes no:
StrictModes No
Passaggio 28. Rimuovere # da questa riga in %programdata%\ssh\sshd_config per consentire l'autenticazione con chiave pubblica
PubkeyAuthentication yes
Passaggio 29. Creare un file di testo authorized_keys nella cartella .ssh e incollare la chiave RSA pubblica SWA (raccolta nel passaggio 9):
Immagine - Chiave pubblica SWA
Nota: copiare l'intera riga, iniziando con ssh-rsa e terminando con root@<your_SWA_hostname>.
Suggerimento: Poiché RSA è installato sul server SCP, non è necessario incollare la chiave ssh-dss.
Passaggio 30. Abilitare l'agente di autenticazione OpenSSH in PowerShell con privilegio di amministratore (Esegui come amministratore).
Set-Service -Name ssh-agent -StartupType 'Automatic'
Start-Service ssh-agent
Immagine - Abilitazione dell'agente di autenticazione SSH Open
Passaggio 31. (Facoltativo) Aggiungere questa riga a %programdata%\ssh\sshd_config per consentire i tipi di chiave:
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss
Passaggio 32. Riavviare il servizio SSH. È possibile utilizzare questo comando da PowerShell con privilegi di amministratore (Esegui come amministratore).
restart-Service -Name sshd
Passaggio 3. Per verificare se il push SCP è configurato correttamente, eseguire il rollover dei log configurati, è possibile farlo dalla GUI o dalla CLI (comando rollover now):
WSA_CLI> rollovernow scpal
Nota: In questo esempio il nome del registro è scpal.
È possibile confermare che i log vengano copiati nella cartella definita, che in questo esempio era c:/Users/wsascp/wsa01.
Se è necessario eseguire il push dei registri in un'unità diversa da C, creare un collegamento dalla cartella del profilo utente all'unità desiderata. In questo esempio, i log vengono spostati su D:\WSA_Logs\WSA01.
Passaggio 1. Creare le cartelle nell'unità desiderata.
Passaggio 2. Aprire il prompt dei comandi con privilegi di amministratore (Esegui come amministratore).
Passaggio 3. Eseguire questo comando per creare il collegamento:
mklink /d c:\users\wsascp\wsa01 D:\WSA_Logs\WSA01
Immagine - Crea collegamento SYM
Nota: In questo esempio, SWA è configurato per eseguire il push dei log nella cartella WSA01 in C:\Users\wsascp e il server SCP ha la cartella WSA01 come collegamento simbolico a D:\WSA_Logs\WSA01.
Per ulteriori informazioni su Microsoft Symbol Link, visitare il sito all'indirizzo: mklink | Microsoft Learn
Per risolvere il problema relativo al push del log SCP, controllare gli errori in:
1. CLI > visualizza avvisi
2. Registri_sistema
Nota: Per leggere system_logs, è possibile usare il comando grep nella CLI. Scegliere il numero associato a system_logs e rispondere alla domanda nella procedura guidata.
È possibile leggere i registri del server SCP nel Visualizzatore eventi Microsoft, in Registri applicazioni e servizi > OpenSSH > Operativo:
Immagine - PreAuth non riuscita
"Verifica della chiave host non riuscita."
Questo errore indica che la chiave pubblica del server SCP archiviata in SWA non è valida.
Di seguito è riportato un esempio di errore dall'output di displayalert nella 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.
Di seguito sono riportati alcuni esempi dell'errore in 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.
Per risolvere il problema, è possibile copiare l'host dal server SCP e incollarlo nella pagina di sottoscrizione dei log di SCP. Fare riferimento al passaggio 7 di Configure SWA to Send The Logs to SCP Remote Server From GUI o è possibile contattare Cisco TAC per rimuovere la chiave host dal back-end.
"Autorizzazione negata (chiave pubblica, password, tastiera-interattiva)."
Questo errore in genere indica che il nome utente fornito nell'SWA non è valido.
Di seguito è riportato un esempio di log degli errori in 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).
Di seguito è riportato un esempio di errore dal server SCP: "SCP utente non valido da <indirizzo_SWA> porta <porta TCP SWA si connette al server SCP>".
Immagine - Utente non valido
Per risolvere questo errore, controllare l'ortografia e verificare che l'utente (configurato in SWA per il push dei log) sia abilitato nel server SCP.
"File o directory non esistente."
Questo errore indica che il percorso specificato nella sezione di sottoscrizione dei log SWA non è valido,
Di seguito è riportato un esempio di errore da 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
Per risolvere il problema, verificare l'ortografia e assicurarsi che il percorso sia corretto e valido nel server SCP.
"Impossibile trasferire SCP."
Questo errore potrebbe indicare un errore di comunicazione. Di seguito è riportato un esempio di errore:
03 Jan 2024 13:23:27 +0100 Log Error: Push error for subscription scp: SCP failed to transfer to 10.48.48.195:22:
Per risolvere i problemi di connettività, usare il comando telnet nella CLI 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...
In questo esempio la connessione non viene stabilita. L'output della connessione è simile al seguente:
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
Se la rete telnet non è collegata:
Di seguito è riportato un esempio di Packet Capture per la connessione riuscita:
Immagine - Acquisizione del pacchetto di connessione riuscita
"Nessun tipo di chiave host corrispondente trovato"
Questo errore indica che gli algoritmi a chiave host, forniti da SWA nella fase di scambio della chiave client, non hanno corrispondenza nel server SCP.
Wed Feb 12 20:21:40 2025 Critical: Log Error: Push error for subscription al: SCP failed to transfer to 10.48.48.192:22:
Wed Feb 12 20:21:40 2025 Critical: Log Error: Push error for subscription al: SCP failed to transfer to 10.48.48.192:22: lost connection
Wed Feb 12 20:21:40 2025 Critical: Log Error: Push error for subscription al: SCP failed to transfer to 10.48.48.192:22: info: Unable to negotiate with 10.48.48.192 port 22: no matching host key type found. Their offer: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
Per risolvere il problema, è possibile effettuare le seguenti operazioni:
Passaggio 1. Avviare l'acquisizione di un pacchetto in SWA e filtrare l'indirizzo IP del server SCP.
Passaggio 2. Eseguire il rollover del file di log per accertarsi che SWA stia inviando i file al server SCP.
Passaggio 3. Interrompere l'acquisizione del pacchetto e aprire il file.
Passaggio 4. Nel file di acquisizione, cercare un pacchetto con Client: Inizializzazione scambio chiave nella sezione Info.
Passaggio 5. Espandere il protocollo SSH e passare alla sezione Algoritmi.
Passaggio 6. Controllare la stringa server_host_key_algorithms (ad esempio: stringa server_host_key_algorithms: ssh-rsa)
Passaggio 7. Passare al server SCP e modificare il file sshd_config.
Passaggio 8. Individuare una riga che inizia con HostKeyAlgorithms e aggiungere al file la chiave host supportata indicata nel passaggio 6. In questo esempio: SSH-RSA (HostKey Algorithms)
Passaggio 9. Salvare le modifiche e riavviare il servizio SSHD.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
3.0 |
22-Oct-2026
|
Nuova certificazione - Formattazione e testo alternativo aggiornati. |
2.0 |
13-Feb-2025
|
Formattazione, punteggiatura, grammatica, stile, SEO. |
1.0 |
11-Jan-2024
|
Versione iniziale |