Im Gegensatz zu NX-OS war bei IOS selten per Default bereits ssh auf den Routern und Switch aktiv oder nicht alle empfohlenen Parameter waren aktiviert. Mit den folgenden einfachen Schritten besteht die Chance ssh zu aktivieren und/oder an die eigenen Sicherheitsbedürfnisse anzupassen.
CSR-1000v
Mit dem Befehl sh ip ssh besteht die Chance einen schnellen überblick über den aktuellen Konfigurationszustand zu erhalten Bei einen frisch in Betrieb genommen Switch mit IOS Version 15.5 dürfte dies in etwa so aussehen:
csr1000v-1#sh ip ssh
SSH Enabled - version 1.99
Authentication methods:publickey,keyboard-interactive,password
Authentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa
Hostkey Algorithms:x509v3-ssh-rsa,ssh-rsa
Encryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
MAC Algorithms:hmac-sha1,hmac-sha1-96
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): TP-self-signed-2857816614
ssh-rsa „removed rsa key“
Mit den folgenden Konfigurationszeilen aktiviere ich den ssh-Dienst und passe die Einstellungen an meine Bedürfnisse an.
csr1000v-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
csr1000v-1(config)#ip domain-name je-ru.de
csr1000v-1(config)#hostname csr100v
csr100v(config)#crypto key generate rsa modulus 2048
The name for the keys will be: csr100v.je-ru.de
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 0 seconds)
csr100v(config)#ip ssh version 2
csr100v(config)#ip ssh dh min size 2048
csr100v(config)#ip ssh time-out 10
csr100v(config)#ip ssh stricthostkeycheck
csr100v(config)#ip ssh server algorithm encryption ?
3des-cbc Three-key 3DES in CBC mode
aes128-cbc AES with 128-bit key in CBC mode
aes128-ctr AES with 128-bit key in CTR mode
aes192-cbc AES with 192-bit key in CBC mode
aes192-ctr AES with 192-bit key in CTR mode
aes256-cbc AES with 256-bit key in CBC mode
aes256-ctr AES with 256-bit key in CTR mode
csr100v(config)#ip ssh server algorithm encryption aes256-ctr
csr100v(config)#ip ssh server algorithm mac ?
hmac-sha1 HMAC-SHA1 (digest length = key length = 160 bits)
hmac-sha1-96 HMAC-SHA1-96 (digest length = 96 bits, key length = 160 bits)
csr100v(config)#ip ssh server algorithm mac hmac-sha1
csr100v(config)#^Z
Nach den Änderungen müßte es jetzt so ausschauen.
csr100v#
*Jun 19 23:58:00.407: %SYS-5-CONFIG_I: Configured from console by console
csr100v#sh ip ssh
SSH Enabled - version 2.0
Authentication methods:publickey,keyboard-interactive,password
Authentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa
Hostkey Algorithms:x509v3-ssh-rsa,ssh-rsa
Encryption Algorithms:aes256-ctr
MAC Algorithms:hmac-sha1
Authentication timeout: 10 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 2048 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): TP-self-signed-2857816614
ssh-rsa „removed rsa key“
NX-OS
Beim Nexus ist per default der SSH-Zugang in Version 2 aktiviert somit benötigt man nur noch ein paar Anpassungen an die eigenen Bedürfnisse. Mit den Befehlen sh ssh server und sh run security all besteht die Chance einen schnellen Überblick über den aktuellen Konfigurationszustand zu erhalten.
nx-osv# sh ssh server
ssh version 2 is enabled
nx-osv# sh run security all
!Command: show running-config security all
!Time: Fri Jun 19 23:17:00 2015
version 7.2(0)D1(1)
feature telnet
no feature scp-server
no feature sftp-server
feature ssh
ssh login-gracetime 120
ssh login-attempts 3
ssh key rsa 1024
no ssh key dsa
Mit den folgenden Anpassungen kann man ssh an die empfohlenen Parameter anpassen.
nx-osv(config)# no feature ssh
XML interface to system may become unavailable since ssh is disabled
nx-osv(config)# ssh key rsa 2048 force
deleting old rsa key.....
generating rsa key(2048 bits).....
.
generated rsa key
nx-osv(config)# feature scp-server
nx-osv(config)# feature sftp-server
nx-osv(config)# feature ssh
Die Konfiguration sollte in etwa jetzt so ausschauen
nx-osv# sh ssh key
**************************************
rsa Keys generated:Fri Jun 19 23:28:54 2015
ssh-rsa „removed rsa key“
bitcount:2048
fingerprint:
6f:86:85:7e:bd:01:0d:b8:79:2e:0d:02:d7:6b:87:4b
**************************************
could not retrieve dsa key information
bitcount: 0
**************************************
nx-osv#
nx-osv# sh run security all | grep ssh
feature ssh
ssh login-gracetime 120
ssh login-attempts 3
ssh key rsa 2048
no ssh key dsa
nx-osv# sh ssh server
ssh version 2 is enabled
nx-osv#
IOS-Switch
Mit dem Befehl sh ip ssh besteht die Chance einen schnellen überblick über den aktuellen Konfigurationszustand zu erhalten. Bei einen frisch in Betrieb genommen Switch mit IOS Version 15.2 dürfte dies in etwa so aussehen:
SW-1#sh ip ssh
SSH Disabled - version 1.99
%Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).
Authentication methods:publickey,keyboard-interactive,password
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): NONE
SW-1#
Mit den nächsten beispielhaften Schritten wird ssh aktiviert und die Timerwerte und DH-Einstellungen optimiert.
SW-1(config)#ip domain-name je-ru.de
SW-1(config)#crypt key generate rsa modulus 2048
The name for the keys will be: SW-1.je-ru.de
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 1 seconds)
SW-1(config)#
*Jun 19 20:42:36.095: %SSH-5-ENABLED: SSH 1.99 has been enabled
SW-1(config)#ip ssh version 2
SW-1(config)#ip ssh authentication-retries 3
SW-1(config)#ip ssh dh min size ?
1024 Diffie Group 1 1024-bit key
2048 Diffie Group 14 2048-bit key
4096 Diffie Group 16 4096-bit key
SW-1(config)#ip ssh dh min size 2048
SW-1(config)#ip ssh time-out 10
SW-1(config)#
Nach einer nochmaligen Abfrage mittels sh ip ssh müßte es jetzt so in etwa ausschauen.
SW-1#sh ip ssh
SSH Enabled - version 2.0
Authentication methods:publickey,keyboard-interactive,password
Authentication timeout: 10 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 2048 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded):
ssh-rsa „removed rsa key“
SW-1#
IOS-Router
Mit dem Befehl sh ip ssh besteht die Chance einen schnellen überblick über den aktuellen Konfigurationszustand zu erhalten. Bei einen frisch in Betrieb genommen Router mit IOS Version 15.2 dürfte dies in etwa so aussehen:
RTR-1#sh ip ssh
SSH Disabled - version 1.99
%Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).
Authentication methods:publickey,keyboard-interactive,password
Authentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa
Hostkey Algorithms:x509v3-ssh-rsa,ssh-rsa
Encryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
MAC Algorithms:hmac-sha1,hmac-sha1-96
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): NONE
Mit den nächsten beispielhaften Schritten wird ssh aktiviert und die Timerwerte und DH-Einstellungen optimiert.
RTR-1(config)#ip domain-name je-ru.de
RTR-1(config)#crypto key generate rsa modulus 2048
The name for the keys will be: Berlin.je-ru.de
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 5 seconds)
RTR-1(config)#ip ssh version 2
RTR-1(config)#ip ssh dh min size 2048
RTR-1(config)#ip ssh time-out 10
RTR-1(config)#ip ssh stricthostkeycheck
RTR-1(config)#ip ssh server algorithm encryption ?
3des-cbc Three-key 3DES in CBC mode
aes128-cbc AES with 128-bit key in CBC mode
aes128-ctr AES with 128-bit key in CTR mode
aes192-cbc AES with 192-bit key in CBC mode
aes192-ctr AES with 192-bit key in CTR mode
aes256-cbc AES with 256-bit key in CBC mode
aes256-ctr AES with 256-bit key in CTR mode
RTR-1(config)#ip ssh server algorithm encryption aes256-ctr
RTR-1(config)#ip ssh server algorithm mac ?
hmac-sha1 HMAC-SHA1 (digest length = key length = 160 bits)
hmac-sha1-96 HMAC-SHA1-96 (digest length = 96 bits, key length = 160 bits)
RTR-1(config)#ip ssh server algorithm mac hmac-sha1
Nach einer nochmaligen Abfrage mittels sh ip ssh müßte es jetzt so in etwa ausschauen.
RTR-1#sh ip ssh
SSH Enabled - version 2.0
Authentication methods:publickey,keyboard-interactive,password
Authentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa
Hostkey Algorithms:x509v3-ssh-rsa,ssh-rsa
Encryption Algorithms:aes256-ctr
MAC Algorithms:hmac-sha1
Authentication timeout: 10 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 2048 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): Berlin.je-ru.de
ssh-rsa „removed rsa key“
RTR-1#