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 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 set di applicazioni di rete di proprietà 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 al metodo SCP Push) invia periodicamente i file di registro tramite il protocollo di copia sicura a 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. Scegliete Amministrazione di sistema > Registra sottoscrizioni.
Passaggio 2. Selezionare la casella di spunta nella colonna Rollover delle sottoscrizioni di log da archiviare oppure selezionare la casella di spunta Tutte per selezionare tutte le sottoscrizioni.
3. Fare clic su Esegui rollover ora per archiviare i log selezionati.
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.
Passaggio 2. Nella pagina Sottoscrizioni log, scegliere Aggiungi sottoscrizione log.
Passaggio 3. Scegliere il tipo di registro. 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. Da Metodo di recupero, scegliere SCP su server remoto
Passaggio 7. Immettere le informazioni per i server remoti:
Nota: in questo esempio il nome utente è wsascp e il server remoto è il sistema operativo Microsoft Windows, abbiamo creato una cartella wsa01 in c:\users\wccpscp cartella (ovvero la cartella dei profili utente di Microsoft).
Suggerimento: è sufficiente digitare il nome della cartella, in questo esempio è wsa01
Passaggio 8. Invia modifiche.
Passaggio 9. Salvare la chiave SSH in un file di testo per poterla usare nella sezione di configurazione del server SCP remoto.
Nota: è necessario copiare entrambe le righe iniziando con ssh- e terminando con root@<nome host SWA> .
Passaggio 10. Eseguire il commit delle modifiche.
Passaggio 10. Per creare un utente per il servizio SCP, passare a Gestione computer:
Nota: se si dispone già di un utente per SCP, andare al passo 16.
Passaggio 11. Selezionare Utenti e gruppi locali e scegliere Utenti dal riquadro di sinistra.
Passaggio 12. Fare clic con il pulsante destro del mouse sulla pagina principale e scegliere nuovo utente.
Passaggio 13. Immettere il nome utente e la password desiderati.
Passaggio 14. Scegliere Password Never Expired.
Passaggio 15. Fare clic su Crea, quindi chiudere la finestra.
Passaggio 16. Accedere al server SCP remoto con l'utente appena creato per creare la directory dei profili.
Nota: se OpenSSL è installato sul server SCP remoto, andare al passaggio 19.
Passaggio 17. 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 18. 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
Attenzione: se RestartNeeded è impostato su True, riavviare Windows.
Per ulteriori informazioni sull'installazione in altre versioni di Microsoft Windows, visitare questo collegamento: Introduzione a OpenSSH per Windows | Microsoft Learn
Passaggio 19. Aprire una sessione PowerShell normale (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.
Passaggio 20. Avviare il servizio SSH da PowerShell con il privilegio di amministratore ( Esegui come amministratore ).
Start-Service sshd
Passaggio 21. (Facoltativo ma consigliato) Impostare il tipo di avvio del servizio su Automatico, con il privilegio di amministratore ( Esegui come amministratore ).
Set-Service -Name sshd -StartupType 'Automatic'
Passaggio 22. Confermare la creazione della regola firewall per consentire l'accesso alla porta TCP 22.
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 23. Modificare il file di configurazione SSH situato in : %programdata%\ssh\sshd_config nel Blocco note e rimuovere il simbolo di errore # 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 24. Modificare le condizioni di connessione in %programdata%\ssh\sshd_config. In questo esempio, l'indirizzo di ascolto è per tutti gli indirizzi di interfacce. È possibile personalizzarlo in base al progetto.
Port 22
#AddressFamily any
ListenAddress 0.0.0.0
Passaggio 25. 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 26.(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 27. Rimuovere # da questa riga in %programdata%\ssh\sshd_config per consentire l'autenticazione con chiave pubblica
PubkeyAuthentication yes
Passaggio 28. Creare un file di testo "authorized_keys" nella cartella .ssh e incollare la chiave RSA pubblica SWA (raccolta nel passaggio 9)
Nota: copiare l'intera riga iniziando con ssh-rsa e terminando con root@<your_SWA_hostname>
Consiglio: poiché RSA è installato sul server SCP, non è necessario incollare la chiave ssh-dss
Passaggio 29. Abilitare "Agente di autenticazione OpenSSH" in PowerShell con privilegi di amministratore (Esegui come amministratore).
Set-Service -Name ssh-agent -StartupType 'Automatic'
Start-Service ssh-agent
Passaggio 30.(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 31. Riavviare il servizio SSH. È possibile utilizzare questo comando da PowerShell con privilegi di amministratore ( Esegui come amministratore )
restart-Service -Name sshd
Passaggio 32. 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 log è "scpal".
È possibile confermare che i log vengano copiati nella cartella definita, che in questo esempio era c:/Users/wsascp/wsa01
nel caso sia necessario eseguire il push dei registri in un'unità diversa da C:, creare un collegamento dalla cartella 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, in questo esempio
Passaggio 2. Apri 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
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: 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 di Microsoft, in Registri applicazioni e servizi > OpenSSH > Operativo
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 di errori nei log_di_sistema:
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 SCP.
Fare riferimento al passaggio 7 di Configurazione SWA per inviare i log al server remoto SCP dalla GUI o è possibile contattare Cisco TAC per rimuovere la chiave host dal back-end.
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 restituito dal server SCP: SCP utente non valido dalla <indirizzo_SWA> porta <porta TCP SWA connette al server SCP>
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.
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:
[1] Verificare se il firewall del server SCP blocca l'accesso.
[2] Verificare se nel percorso dal server SWA al server SCP sono presenti firewall che bloccano l'accesso.
[3] Verificare se la porta TCP 22 è in stato di ascolto nel server SCP.
[4] Eseguire l'acquisizione dei pacchetti in entrambi i server SWA e SCP per ulteriori analisi.
Di seguito è riportato un esempio di Packet Capture per la connessione riuscita:
Linee guida sulle best practice di Cisco Web Security Appliance - Cisco
Introduzione a OpenSSH per Windows | Microsoft Learn
Autenticazione basata su chiavi in OpenSSH per Windows | Microsoft Learn
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
11-Jan-2024 |
Versione iniziale |