Używamy Samby na Ubuntu 14.04 LTS jako PDC (podstawowy kontroler domeny) z profilami mobilnymi. Wszystko działa dobrze, z wyjątkiem sytuacji, gdy spróbujemy wymusić szyfrowanie poprzez ustawienie:
server signing = mandatory
smb encrypt = mandatory
w [global]
sekcji /etc/samba/smb.conf. Po wykonaniu tej czynności wygraj 8.0 i 8.1 klientów (jeszcze nie próbowałem) narzekać: Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden.
Tłumaczenie tego tekstu na angielski:The trust relationship between this workstation and the primary domain could not be established.
Jeśli dodamy dwie opcje server signing
i smb encrypt
tylko do [profiles]
sekcji smb.conf, to tcpdump
pokaże, że rzeczywisty ruch nie jest szyfrowany!
Pełny plik smb.conf:
[global]
workgroup = DOMAIN
server string = %h PDC
netbios name = HOSTNAME
wins support = true
dns proxy = no
allow dns updates = False
dns forwarder = IP
deadtime = 15
log level = 2
log file = /var/log/samba/log.%m
max log size = 5000
debug pid = yes
debug uid = yes
syslog = yes
utmp = yes
security = user
domain logons = yes
domain master = yes
os level = 64
logon path = \\%N\profiles\%U
logon home = \\%N\%U
logon drive = H:
logon script =
passdb backend = ldapsam:ldap://localhost
ldap ssl = start tls
ldap admin dn = cn=admin,dc=DOMAIN,dc=de
ldap delete dn = no
encrypt passwords = yes
server signing = mandatory
smb encrypt = mandatory
## Sync UNIX password with Samba password
ldap password sync = yes
ldap suffix = dc=intra,dc=DOMAIN,dc=de
ldap user suffix = ou=People
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Idmap
add user script = /usr/sbin/smbldap-useradd -m '%u' -t 1
rename user script = /usr/sbin/smbldap-usermod -r '%unew' '%uold'
delete user script = /usr/sbin/smbldap-userdel '%u'
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
add group script = /usr/sbin/smbldap-groupadd -p '%g'
delete group script = /usr/sbin/smbldap-groupdel '%g'
add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
add machine script = /usr/sbin/smbldap-useradd -W '%m' -t 1
[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
admin users = root
guest ok = Yes
browseable = No
[profiles]
comment = Roaming Profile Share
path = /var/lib/samba/profiles
read only = No
profile acls = Yes
browsable = No
valid users = %U
create mode = 0600
directory mode = 0700
Jakaś pomoc?
security
samba
encryption
samba4
domain-controller
Kai Petzke
źródło
źródło
Odpowiedzi:
Strona podręcznika smb.conf musi zostać zaktualizowana! Odnosi się do starego mechanizmu szyfrowania specyficznego dla Samby, który dotyczy tylko SMB1 i odbywa się za pomocą rozszerzeń unix. Może to być wykorzystane przez
smbclient
.W dzisiejszych czasach
smb encrypt
opcje „ ” kontrolują również szyfrowanie na poziomie SMB, które jest częścią SMB w wersji 3.0 i nowszych. Klienci Windows 8 (i nowsze) powinni szyfrować ruch przy użyciu tych ustawień.Czy próbowałeś użyć tych samych ustawień (
smb encrypt = mandatory
w[global]
sekcji) na członku domeny Samba lub samodzielnym serwerze?Pamiętaj, aby ustawić
smb encrypt = auto
w[global]
sekcji (nie w[profiles]
sekcji). Następnie ogólna dostępność szyfrowania jest nadal ogłaszana.Jest bardzo możliwe, że jest to błąd w Sambie. Powinno to prawdopodobnie zostać omówione na liście mailingowej samby-technicznej Samby lub na Bugzilli samby . Jeśli używasz wersji Samba Ubuntu, możesz również sprawdzić stronę pakietu . Podejrzewam, że jest to prawdziwy problem Samby na wcześniejszym etapie.
źródło
smb encrypt
dla SMB2 i SMB3: ( git.samba.org/… )Jest to nowa funkcja wprowadzona w Sambie 3.2 i nowszych. Jest to rozszerzenie protokołu SMB / CIFS wynegocjowanego jako część rozszerzeń UNIX. Szyfrowanie SMB wykorzystuje funkcję GSSAPI (SSPI w systemie Windows) do szyfrowania i podpisywania każdego żądania / odpowiedzi w strumieniu protokołu SMB. Po włączeniu zapewnia bezpieczną metodę komunikacji SMB / CIFS, podobną do sesji chronionej ssh, ale przy użyciu uwierzytelniania SMB / CIFS do negocjacji kluczy szyfrowania i podpisywania. Obecnie jest obsługiwany tylko przez smbclient Samby 3.2, i mam nadzieję, że wkrótce klienci Linux CIFSFS i MacOS / X.
Windows clients do not support this feature.
Kontroluje to, czy zdalny klient może korzystać z szyfrowania SMB, czy też musi go używać. Możliwe wartości to auto, obowiązkowe i wyłączone. Można to ustawić dla poszczególnych udziałów, ale klienci mogą szyfrować całą sesję, a nie tylko ruch do określonego udziału. Jeśli jest to ustawienie obowiązkowe, cały ruch do udziału musi zostać zaszyfrowany po nawiązaniu połączenia z udziałem. Serwer zwróci „odmowa dostępu” do wszystkich niezaszyfrowanych żądań dotyczących takiego udziału. Wybranie szyfrowanego ruchu zmniejsza przepustowość, ponieważ należy stosować mniejsze rozmiary pakietów (niedozwolone jest ogromne odczytywanie / zapisywanie w stylu UNIX), a także narzut związany z szyfrowaniem i podpisywaniem wszystkich danych.
Jeśli wybrano szyfrowanie SMB, podpisywanie SMB w stylu Windows (patrz opcja podpisywania na serwerze) nie jest już konieczne, ponieważ flagi GSSAPI używają opcji zarówno podpisywania, jak i pieczętowania danych.
Po ustawieniu na auto szyfrowanie SMB jest oferowane, ale nie jest wymuszane. Po ustawieniu na obowiązkowe szyfrowanie SMB jest wymagane, a po wyłączeniu szyfrowania SMB nie można negocjować.
Domyślnie: smb encrypt = auto
Źródło: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
źródło