Als u een bestandsserver wel kunt activeren via AFP maar niet via SMB

Vanwege de beveiligingsvereisten van SMB 3 kunt u een delingspunt mogelijk niet activeren via SMB.

Verbindingsinstellingen controleren

SMB 3 (Server Message Block) is de standaardmethode voor serververbindingen in macOS. Hierbij moet de verbinding na de identiteitscontrole een 'validate negotiate'-verzoek doen. Alle SMB 3-sessies moeten ondertekend zijn, tenzij u anoniem of als gastgebruiker verbinding maakt.

Misschien hebt u een macOS-bestandsserver die Open Directory-client is en anoniem is verbonden met een LDAP-server (Lightweight Directory Access Protocol). Gebruik in dat geval een van de volgende verbindingsmethoden:

  • Wanneer u verbinding maakt met de LDAP-server, gebruikt u 'authenticated binding' (koppeling met identiteitscontrole).
  • Wijzig de rol van de bestandsserver in die van een Open Directory-replica. Hierdoor wordt ook Kerberos op uw server geconfigureerd.
  • Schakel 'validate negotiate'-verzoeken uit op de client.
  • Configureer uw SMB-server of -client zodat deze alleen SMB 2 gebruikt.

Meer informatie over sessie-ondertekening

Voor sessie-ondertekening in SMB 3 hebt u een gekoppelde computer nodig om toegang te krijgen tot de md4 (het wachtwoord) van alle gebruikers in de adreslijstserver. Als gevolg hiervan staat SMB 3 alleen clientkoppelingen toe aan 'vertrouwde' computers. Dat zijn computers die de inloggegevens van een adreslijstbeheerder (diradmin) gebruiken voor authbind-verbindingen (verbindingen met identiteitscontrole).

Soms kan diradmin geen authbind-verbinding maken tussen uw server en de adreslijstserver waarop de accounts zich bevinden waarmee u uw gebruikers wilt laten inloggen. In zo'n geval kunt u ofwel de 'validate negotiate'-verzoeken van de client uitschakelen, ofwel de server aanpassen zodat deze alleen nog (minder veilige) SMB 2-verbindingen accepteert. Dit doet u door de configuratie van de SMB-server of die van de client aan te passen, of beide.

'Validate negotiate'-verzoeken uitschakelen op de client

Als u 'validate negotiate' uitschakelt, vergroot u het risico van 'man in the middle'-aanvallen. Schakel 'validate negotiate'-verzoeken alleen uit als zowel de client als de server zich in een beveiligd netwerk bevinden.

Gebruik een teksteditor of de app Terminal om de waarde van de instelling 'validate_neg_off' in het bestand 'nsmb.conf' in de map '/etc directory' te wijzigen. Meer SMB configuratieopties aan de clientzijde vindt u in de man-pagina bij nsmb.conf.

Een nsmb.conf-bestand dat u hebt geconfigureerd voor het uitschakelen van 'validate negotiate', ziet er bijvoorbeeld zo uit:

[default]
validate_neg_off=yes

Uw macOS-server instellen zodat SMB 3-verbindingen worden geweigerd

'Validate negotiate'-verzoeken zijn een functie van SMB 3 en worden geïnitieerd door de client. Om te voorkomen dat clients dit soort verzoeken doen, kunt u uw macOS-server ook instellen zodat deze alleen SMB 2-verbindingen accepteert. Het serverdialect wordt bepaald in een bitveld in de servervoorkeuren. Het keyword voor dit bitveld is 'ProtocolVersionMap'. Het gebruikt maar drie bits:

Waarde Betekenis
1 Ondersteun SMB 1
2 Ondersteun SMB 2 
4 Ondersteun SMB 3

Als u meerdere dialecten wilt ondersteunen, combineert u de bits.

In dit voorbeeld wordt 'ProtocolVersionMap' zo ingesteld dat SMB 2 is toegestaan. Hiervoor wordt 'ProtocolVersionMap' ingesteld op '2':

sudo scutil --prefs com.apple.smb.server.plist

get /

d.add ProtocolVersionMap # 2

set /

commit

apply

quit

Publicatiedatum: