Avamar: In un report di scansione della sicurezza vengono segnalati "SSH Server Public Key Too Small" e "Deprecated SSH Cryptographic Settings"
Summary: Le vulnerabilità "Chiave pubblica del server SSH troppo piccola" e "Impostazioni crittografiche SSH deprecate" vengono segnalate in un rapporto di scansione della sicurezza.
Symptoms
Nel report Security Scan è stata segnalata la seguente vulnerabilità di sicurezza.
Title: SSH Server Public Key Too Small
Results: Algorithm Length ssh-rsa 1024 bit
Threat: The SSH protocol (Secure Shell) is a method for secure remote login from one computer to another. The SSH Server is using a small Public Key.
Best practices require that RSA digital signatures be 2048 or more bits long to provide adequate security. Key lengths of 1024 are acceptable through 2013, but since 2011 they are considered deprecated.
For more information, please refer to NIST Special Publication 800-131A (http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf).
Only server keys that are not part of a certificate are reported in this QID.
QID: 38739
Title: Deprecated SSH Cryptographic Settings
Results: Type Name
key exchange diffie-hellman-group1-sha1
cipher arcfour256
cipher arcfour128
cipher 3des-cbc
cipher blowfish-cbc
cipher cast128-cbc
cipher arcfour
Threat: The target is using deprecated SSH cryptographic settings to communication
Cause
La colonna SSH La chiave pubblica è configurata per impostazione predefinita con 1.024 bit anziché 2.048 bit e potrebbe utilizzare una chiave obsoleta SSH Impostazioni crittografiche.
Resolution
1. Accedere ad Avamar Utility Node come amministratore.
2. Eleva al privilegio root.
3. Determinare quali crittografie possono essere utilizzate:
cat /etc/ssh/sshd_config | grep -i ciphers
Output di esempio:
# Ciphers and keying
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc
4. Eseguire il seguente comando per verificare quali crittografie vengono utilizzate:
ssh -Q cipher
Output di esempio:
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
5. Creare una copia di backup di /etc/ssh/sshd_config file:
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%y%m%d`
6. Usando vi, modificare il file /etc/ssh/sshd_config file:
vi /etc/ssh/sshd_config
7. Apportare le seguenti modifiche:
un. Rimuovere una delle impostazioni crittografiche SSH obsolete elencate nel report di scansione della sicurezza. In questo esempio, quelli elencati di seguito:
cipher arcfour256
cipher arcfour128
cipher 3des-cbc
cipher blowfish-cbc
cipher cast128-cbc
cipher arcfour
b. Modificare il seguente parametro da 1024 a 2048:
ServerKeyBits 2048
c. Rimuovere i commenti su queste righe per specificare quali chiavi verranno utilizzate da SSH:
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
8. Controllare le dimensioni di ciascuna di queste chiavi:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
Output di esempio:
2048 82:4e:33:4a:1f:e6:81:7f:ef:c7:4c:1f:c7:b2:ce:59 [MD5] root@linux-host1 (RSA)
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub
Output di esempio:
256 a9:2b:e7:0b:ab:0b:be:2f:d4:9b:6c:2d:6c:fb:3d:e9 [MD5] root@linux-host1 (ECDSA)
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Output di esempio:
256 65:c5:1e:1c:ac:a3:7c:05:90:21:a3:3c:7e:d6:d4:bd [MD5] root@linux-host1 (ED25519)
Se le dimensioni (il primo numero nell'output, evidenziato in rosso) sono inferiori all'output precedente, è necessario generare nuove chiavi.
Se necessario, eseguire il comando applicabile per la chiave o le chiavi per generare:
sudo ssh-keygen -N '' -b 2048 -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -N '' -b 256 -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -N '' -b 256 -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
Confermare eventuali sovrascritture dei tasti:
Generating public/private rsa key pair.
/etc/ssh/ssh_host_rsa_key already exists.
Overwrite (y/n)? y
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
47:60:91:14:b1:15:6e:6d:ea:e9:36:37:31:08:d3:69 root@vmtest-debian8
The key's randomart image is:
+---[RSA 2048]----+
| .B=o. |
| ..= . |
| ..+.o |
| ooEo |
| S+o. |
| o..o |
| o o |
| .o o |
| ..o . |
+-----------------+
9. Verificare che la configurazione non contenga errori:
sshd -t
Non dovrebbe essere generato alcun output. Se sono presenti errori, correggerli prima di procedere.
10. Riavviare il sshd servizio:
service sshd restart
11. Per verificare quali crittografie vengono accettate dopo l'applicazione di queste modifiche, eseguire il seguente comando per ciascuna crittografia elencata in precedenza:
ssh -c "cipher_name" localhost
-
- Se la crittografia viene accettata, l'output deve corrispondere all'Appendice A
- Se la crittografia viene negata, l'output deve corrispondere all'Appendice B
Additional Information
APPENDICE A:
root@hostname:~/#: ssh -c "cipher_name" localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Mon Oct 1 14:05:28 2018 from XX.XX.XX.XXX
*****************************************************************
* *
* This is the Avamar Virtual Appliance *
* *
* Please read the documentation before performing *
* any administrative functions on this node. *
* For help, contact EMC at 877.534.2867 (USA only) or *
* https://support.emc.com. *
* *
*****************************************************************
root@hostname:~/#:
APPENDICE B:
root@hostname:~/#: ssh -c "cipher_name" localhost
no matching cipher found: client "cipher_name" server valid_cipher, valid_cipher, valid_cipher