web-dev-qa-db-fra.com

Quels sont les paramètres de démon SSH les plus difficiles en termes de cryptage, de prise de contact ou d'autres paramètres cryptographiques?

Je travaille beaucoup avec SSH et SFTP, pour être spécifique entre deux machines, qui ont toutes deux leur port SSH ouvert sur une adresse IP publique.

Quels sont les paramètres de démon SSH les plus difficiles en termes de cryptage, de prise de contact ou d'autres paramètres cryptographiques en 2018?

Je m'intéresse spécifiquement aux protocoles cryptographiques. Sécuriser SSH avec une bonne sélection de mot de passe, une bonne gestion des clés, un pare-feu, etc. sont hors de portée pour ce que je demande ici.

Jusqu'à présent, j'ai trouvé et installé sur les deux machines dans /etc/ssh/sshd_config:

AuthenticationMethods publickey
Ciphers aes256-cbc
MACs [email protected]
FingerprintHash sha512
#KexAlgorithms

Cela peut être considéré comme une question de suivi de Renforcement de la sécurité SSH sur un serveur Debian 9 que j'ai posté il y a quelque temps. Mais d'une manière spécifique, je veux connaître les paramètres les plus élevés.

28
LinuxSecurityFreak

Vous avez une bonne discussion ici: https://wiki.mozilla.org/Security/Guidelines/OpenSSH

Sur OpenSSH moderne, ils recommandent:

KexAlgorithms [email protected],ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256

Ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr

MACs [email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,[email protected]

Cette page donne des explications pour chaque choix: https://stribika.github.io/2015/01/04/secure-secure-Shell.html

(ne vous laissez pas berner par la date codée en dur dans l'URL, le document est mis à jour de temps en temps comme on peut le voir dans son "changelog" sur https://github.com/stribika/stribika.github.io /commits/master/_posts/2015-01-04-secure-secure-Shell.md )

Contre Logjam, voir la fin de https://weakdh.org/sysadmin.html :

KexAlgorithms [email protected]
29
Patrick Mevzek

Pour être honnête, je ne comprends pas trop ces choses, je veux juste un cryptage fort et tout

Je ne sais pas ce que vous entendez par "tout" mais si vous voulez juste un cryptage fort, alors ne plaisante pas avec les paramètres par défaut - il est possible qu'ils soient plus sécurisés mais vous êtes plus susceptible de briser la sécurité que de l'améliorer si vous Je ne sais pas ce que tu fais.

Les chiffrements d'authentification et de négociation sont beaucoup plus importants que l'algorithme symétrique pour la sécurité globale - et vous ne nous en avez rien dit.

Vouloir en savoir plus est une bonne chose - mais le consensus d'opinion sur les chiffres les plus forts en février 2018 (du moins lorsque vous faites référence à une version à jour d'un logiciel bien entretenu) n'a que très peu de valeur par rapport à une compréhension du protocole fonctionne et comment la mise en œuvre s'intègre à votre système d'exploitation.

26
symcbean

La configuration suivante peut fournir un niveau de sécurité plus élevé tout en conservant un certain degré de compatibilité et réduire la complexité de la configuration.

AVERTISSEMENT: la configuration suivante n'est pas compatible avec tous les clients

# Change the port number avoid automated attack
Port 2222

# Limit to SSH2 only (the default value)
Protocol 2

# Use RSA and Ed25519 Host key only
HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_ed25519_key

# No root login, obvious
PermitRootLogin no

# Log the finger print of public key used to login, provide audit trails. Might take up more storage.
LogLevel VERBOSE

# 2 Factor Authentication. User must present a valid public key first, then enter the correct password to login
AuthenticationMethods publickey,password

# How fast you can type your password?
LoginGraceTime 20

# Key Exchange
KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256

# Ciphers
Ciphers [email protected],[email protected],[email protected],aes256-ctr,aes128-ctr

# MACs
MACs [email protected],[email protected],[email protected],

# Only allow specific group member login via SSH
AllowGroups ssh-user

# Renew encryption key every 30 minutes or 1 GB of transferred data (overkill & generate overhead, use with caution, especially on slow network)
#RekeyLimit 1G 1800

Supprimez les modules sous 3072 bits pour plus de sécurité (Merci Mozilla)

awk '$5 >= 3071' /etc/ssh/moduli > /etc/ssh/moduli.tmp && mv /etc/ssh/moduli.tmp /etc/ssh/moduli

La sécurité peut encore s'améliorer avec plus de réglages tels que le pare-feu (iptables), fail2ban, le service caché Tor, basculer vers des modules personnalisés et tcpwrapper, mais ces sujets sont hors de portée dans cette réponse. Notez que la configuration n'est pas terminée, vous pourriez avoir besoin d'autres pièces essentielles pour que le démon fonctionne. N'oubliez pas de sauvegarder le fichier de configuration d'origine afin de pouvoir revenir en arrière en cas de problème.

11
Hartman

J'ai donné une réponse détaillée à cela dans ma réponse à Comment (encore) assurer la sécurité SSH? , et par ssh.com et le Journal des modifications OpenSSH = il semble que les mises à jour incluent

  • si vous préférez ecdsa à ed25519, c'est une option sur certains logiciels SSH
  • StrictHostKeyChecking a plus d'options.
  • DisableForwarding est nouveau
  • utiliser toutes les signatures SHA2, pas de signatures SHA1
3
Anti-weakpasswords