Für kennwortgeschützte Samba-Freigabe im Heimnetzwerk, ntlm vs ntlmv2 vs krb5 (kerberos)?

1823
Scott

Ich habe ein Heimnetzwerk mit WLAN, das durch ein Passwort geschützt ist. In meinem Heimnetzwerk habe ich einen Dateiserver mit einer kennwortgeschützten Samba-Freigabe. Die Freigabe selbst ist geschützt, da in meinem Netzwerk mehrere Maschinen mit mehreren Benutzern vorhanden sind. Ich möchte nur sicherstellen, dass nur von dieser Maschine aus auf die Freigabe zugegriffen werden kann (entschuldigen Sie das Offensichtliche, aber ich möchte die Antworten ablehnen.) von, "Sie sind in einem Heimnetzwerk und Ihr WLAN ist bereits pw-geschützt. Warum brauchen Sie pw-Schutz für die Freigabe selbst?" usw.).

Derzeit mounte ich meine Samba-Freigaben (beachten Sie, der für meine Frage relevante Teil ist sec=ntlm):

mount -t cifs //myserver/myshare /media/myshare -o uid=myunixuser,gid=myunixgroup,credentials=/home/myunixuser/.smbcredentials,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700 

So weit, ist es gut; Ich habe jedoch mehrere Artikel über Sicherheitstypen gelesen und warum NTLM nicht empfohlen wird, Yada Yada (siehe Artikel " Die Zeit von NTLM ist vergangen "). Ich habe "ntlm vs ntlmv2 vs kerberos" gegoogelt und versucht, durch das Lesen des Wikipedia-Artikels über NTLM und der Ubuntu-Manpage zu diesem Thema mehr zu lernen, aber es ist für mich nicht ganz registrierend.

Ich glaube, die meisten Dokumentationen sind für Netzwerkadmins gedacht, und ich bin eher ein Wochenend-Krieger. Im Allgemeinen stelle ich fest, dass NTLMv2 NTLM vorgezogen wird, genau wie Kerberos. Dies bedeutet jedoch nicht, dass ich automatisch v2 oder Kerberos wählen sollte, da nicht alle Clients sie unterstützen. Sooo, was zum Teufel? Kann jemand es für mich dumm machen? Selbst wenn ich bei NTLM bleibe, möchte ich nur verstehen, was mit diesen verschiedenen Sicherheitsoptionen zu tun hat. Bitte lassen Sie mich wissen, wenn ich zu sehr darüber nachdenke. Vielen Dank.

0

1 Antwort auf die Frage

1
grawity

Windows-Clients unterstützen alle drei sowie die neuesten Linux-Kernel. Ich kenne keinen modernen Client, der NTLMv2 nicht unterstützt, obwohl Kerberos etwas weniger verbreitet ist.

Der Hauptunterschied zwischen NTLM und Kerberos ist:

  • NTLM ist ein Challenge-Response-Mechanismus, der nur mit Passwörtern funktioniert. Es kann also zwischen zwei beliebigen Hosts verwendet werden, solange der Client das vom Server gewünschte Passwort kennt.

  • Kerberos basiert auf Tickets. Der Client erhält ein Login-Ticket von einem zentralen KDC und präsentiert es dem Server. Dazu muss ein Kerberos-Realm eingerichtet werden. Bei CIFS handelt es sich normalerweise um eine Active Directory-Domäne - und der KDC des Realms, der irgendwo gehostet wird.

    (Mac OS X, das früher das AFP-Protokoll dem CIFS vorgezogen hat, kann Kerberos tatsächlich zwischen zwei Peers verwenden, wobei automatisch generierte Bereichsnamen verwendet werden, aber weder Windows noch Linux unterstützen dasselbe.)

Jedoch:

  • Die Sicherheit von NTLM Version 1 liegt sehr nahe an der einfachen Versendung des Passworts. NTLMv2 verbessert dies etwas, obwohl ich nicht sicher bin, wie viel.

  • Kerberos 5 gilt mittlerweile als sehr sicher und wird von Active Directory, FreeIPA und verschiedenen anderen Unix-Verzeichnisdienstprogrammen verwendet.

Leider dauert die Einrichtung von Kerberos einige Zeit, und Windows-Clients unterstützen es nur ordnungsgemäß (dh ohne drei Tage), wenn sowohl Client als auch Server zu einer AD-Domäne gehören.

Daher müssen Sie sich jetzt für NTLMv2 entscheiden. Dies ist, was Standalone-Windows-Maschinen standardmäßig standardmäßig verwenden. (Die Standardeinstellung in modernen Linux-Kerneln ist sec=ntlmssp: Ich bin nicht ganz sicher, wie sich das unterscheidet ntlmv2, obwohl ich weiß, dass die Unterschiede keine Auswirkungen auf die Sicherheit haben.)