Avamar: "Klucz publiczny serwera SSH jest zbyt mały" i "Przestarzałe ustawienia kryptograficzne SSH" są zgłaszane w raporcie Skanowanie zabezpieczeń
Summary: Luki w zabezpieczeniach "SSH Server Public Key Too Small" i "Depdepated SSH Cryptographic Settings" są zgłaszane w raporcie Security Scan Report.
Symptoms
W raporcie skanowania zabezpieczeń zgłoszono następującą lukę w zabezpieczeniach.
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
Polecenie SSH Klucz publiczny jest domyślnie skonfigurowany z 1024 bitami zamiast 2048 bitów i może używać przestarzałego SSH Ustawienia kryptograficzne.
Resolution
1. Zaloguj się do węzła Avamar Utility Node jako „admin”.
2. Podnieś poziom uprawnień do uprawnień root.
3. Określ, które szyfry mogą być używane:
cat /etc/ssh/sshd_config | grep -i ciphers
Przykładowe dane wyjściowe:
# Ciphers and keying
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc
4. Uruchom następujące polecenie, aby następnie potwierdzić, które szyfry są używane:
ssh -Q cipher
Przykładowe dane wyjściowe:
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. Wykonaj kopię zapasową /etc/ssh/sshd_config pliku:
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%y%m%d`
6. Używając vi, edytuj plik /etc/ssh/sshd_config pliku:
vi /etc/ssh/sshd_config
7. Wprowadź następujące zmiany:
a. Usuń wszystkie przestarzałe ustawienia kryptograficzne SSH wymienione w raporcie skanowania zabezpieczeń. W tym przykładzie są to te wymienione poniżej:
cipher arcfour256
cipher arcfour128
cipher 3des-cbc
cipher blowfish-cbc
cipher cast128-cbc
cipher arcfour
b. Zmień następujący parametr z 1024 na 2048:
ServerKeyBits 2048
c. Usuń komentarze w tych wierszach, aby określić, których kluczy SSH będzie używać:
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
8. Sprawdź rozmiar każdego z tych kluczy:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
Przykładowe dane wyjściowe:
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
Przykładowe dane wyjściowe:
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
Przykładowe dane wyjściowe:
256 65:c5:1e:1c:ac:a3:7c:05:90:21:a3:3c:7e:d6:d4:bd [MD5] root@linux-host1 (ED25519)
Jeśli rozmiary (pierwsza liczba w danych wyjściowych, wyróżniona kolorem czerwonym) są mniejsze niż dane wyjściowe powyżej, należy wygenerować nowe klucze.
W razie potrzeby uruchom odpowiednie polecenie dla klucza lub kluczy do wygenerowania:
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
Potwierdź, że klucz został nadpisany:
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. Sprawdź, czy konfiguracja nie zawiera błędów:
sshd -t
nie powinno być żadnych danych wyjściowych. Jeśli są błędy, popraw je przed kontynuowaniem.
10. Uruchom ponownie sshd usługa:
service sshd restart
11. Aby sprawdzić, które szyfry są akceptowane po zastosowaniu tych zmian, uruchom następujące polecenie dla każdego szyfru wymienionego wcześniej:
ssh -c "cipher_name" localhost
-
- Jeśli szyfr jest akceptowany, dane wyjściowe powinny być zgodne z dodatkiem A
- Jeśli szyfr jest odrzucany, dane wyjściowe powinny być zgodne z dodatkiem B
Additional Information
ZAŁĄCZNIK 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:~/#:
DODATEK B:
root@hostname:~/#: ssh -c "cipher_name" localhost
no matching cipher found: client "cipher_name" server valid_cipher, valid_cipher, valid_cipher