PDA

View Full Version : SLES 12 SP1 Sharing subdirs to multiple hosts using NFS and samba fails



startsles12
11-May-2016, 19:02
Hi!

Trying to share a directory with NFS works fine, then another time as CIFS fails with error:
session setup failed: NT_STATUS_LOGON_FAILURE

Users exist in /etc/passwd and /etc/samba/samba-passwd


smbclient -L //bigmama12 -N -W WORKGROUP
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.2.4-11.1-3616-SUSE-SLE_12-x86_64]

Sharename Type Comment
--------- ---- -------
sapmnt Disk TRANSDIR
data Disk Common information
IPC$ IPC IPC Service (Samba 4.2.4-11.1-3616-SUSE-SLE_12-x86_64)
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.2.4-11.1-3616-SUSE-SLE_12-x86_64]

Server Comment
--------- -------
BIGMA50P
BIGMAMA12 Samba 4.2.4-11.1-3616-SUSE-SLE_12-x86_64
NASF886E3 NAS Server

Workgroup Master
--------- -------
WORKGROUP BIGMAMA12


I wonder where I got 3 servers from...

Anyway listing is fine so far beside that anomaly.

smbclient -L //desap60f -U ralf
Enter ralf's password:
session setup failed: NT_STATUS_LOGON_FAILURE

Checked password for OS and samba, re-entered password to make sure it matches.

Same result: session setup failed: NT_STATUS_LOGON_FAILURE

Did I miss something?

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[sapmnt]"
Processing section "[data]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
security = USER
passdb backend = smbpasswd:samba-passwd
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain master = No
wins support = Yes
idmap config * : backend = tdb


[sapmnt]
comment = TRANSDIR
path = /data/transdir
read only = No
inherit acls = Yes


[data]
comment = Common information
path = /data
valid users = ralf
read only = No
inherit acls = Yes

jmozdzen
12-May-2016, 10:34
Hi startsels12,

> Did I miss something?

have you checked the smb log? In case it currently lists only insufficient details, increase the debug level.

Regards,
Jens

startsles12
12-May-2016, 12:21
Thanks for your advice.

[2016/05/12 13:15:25.788383, 3] ../source3/auth/auth.c:178(auth_check_ntlm_password)
check_ntlm_password: Checking password for unmapped user [WORKGROUP]\[ralf]@[LNXSLES12] with the new password interface
[2016/05/12 13:15:25.788413, 3] ../source3/auth/auth.c:181(auth_check_ntlm_password)
check_ntlm_password: mapped user is: [BIGMAMA12]\[ralf]@[LNXSLES12]
[2016/05/12 13:15:25.788551, 3] ../source3/auth/check_samsec.c:400(check_sam_security)
check_sam_security: Couldn't find user 'ralf' in passdb.
[2016/05/12 13:15:25.788594, 2] ../source3/auth/auth.c:315(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [ralf] -> [ralf] FAILED with error NT_STATUS_NO_SUCH_USER
[2016/05/12 13:15:25.788644, 2] ../auth/gensec/spnego.c:746(gensec_spnego_server_negTokenTarg)
SPNEGO login failed: NT_STATUS_NO_SUCH_USER
[2016/05/12 13:15:25.788716, 3] ../source3/smbd/error.c:82(error_packet_set)
NT error packet at ../source3/smbd/sesssetup.c(267) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2016/05/12 13:15:25.789160, 3] ../source3/smbd/server_exit.c:249(exit_server_common)
Server exit (failed to receive smb request)

Unfortunately there is not much I can get out of the log, while in fact user has entries in /etc/passwd as well as /etc/samba/samba-passwd

jmozdzen
12-May-2016, 13:07
Hi startsles12,


Thanks for your advice.

Unfortunately there is not much I can get out of the log, while in fact user has entries in /etc/passwd as well as /etc/samba/samba-passwd


check_sam_security: Couldn't find user 'ralf' in passdb.

smbd couldn't find the user in the configured passdb backend. Depending on your setup (which I know nothing about), this may have nothing to do with a file called /etc/samba/samba-passwd ...

Regards,
Jens

startsles12
12-May-2016, 14:54
Well I can't see anything wrong here

testparm -v

# Global parameters
[global]
dos charset = CP850
unix charset = UTF-8
workgroup = WORKGROUP
realm =
netbios name = BIGMAMA12
netbios aliases =
netbios scope =
server string = Samba 4.2.4-11.1-3616-SUSE-SLE_12-x86_64
interfaces =
bind interfaces only = No
config backend = file
server role = auto
security = USER
auth methods =
encrypt passwords = Yes
client schannel = Auto
server schannel = Auto
allow trusted domains = Yes
map to guest = Never
null passwords = No
old password allowed period = 60
obey pam restrictions = No
password server = *
smb passwd file = /var/lib/samba/private/smbpasswd
private dir = /var/lib/samba/private
passdb backend = smbpasswd:samba-passwd
algorithmic rid base = 1000
root directory =
guest account = nobody
enable privileges = Yes
pam password change = No
passwd program =
passwd chat = *new*password* %n\n *new*password* %n\n *changed*
passwd chat debug = No
passwd chat timeout = 2
check password script =
username map =
username level = 0
unix password sync = No
restrict anonymous = 0
lanman auth = No
ntlm auth = Yes
client NTLMv2 auth = Yes
client lanman auth = No
client plaintext auth = No
client use spnego principal = No
preload modules =
dedicated keytab file =
kerberos method = default
map untrusted to domain = No
log level = 2
syslog = 1
syslog only = No
log file =
max log size = 5000
debug timestamp = Yes
debug prefix timestamp = No
debug hires timestamp = Yes
debug pid = No
debug uid = No
debug class = No
enable core files = Yes
smb ports = 445 139
large readwrite = Yes
server max protocol = SMB3
server min protocol = LANMAN1
client max protocol = default
client min protocol = CORE
unicode = Yes
min receivefile size = 0
read raw = Yes
write raw = Yes
disable netbios = No
reset on zero vc = No
log writeable files on exit = No
defer sharing violations = Yes
nt pipe support = Yes
nt status support = Yes
max mux = 50
max xmit = 16644
name resolve order = lmhosts wins host bcast
max ttl = 259200
max wins ttl = 518400
min wins ttl = 21600
time server = No
unix extensions = Yes
use spnego = Yes
client signing = default
server signing = default
client use spnego = Yes
client ldap sasl wrapping = sign
enable asu support = No
svcctl list =
cldap port = 389
dgram port = 138
nbt port = 137
krb5 port = 88
kpasswd port = 464
web port = 901
rpc big endian = No
deadtime = 0
getwd cache = Yes
keepalive = 300
lpq cache time = 30
max smbd processes = 0
max disk size = 0
max open files = 16384
socket options = TCP_NODELAY
use mmap = Yes
use ntdb = No
hostname lookups = No
name cache timeout = 660
ctdbd socket =
cluster addresses =
clustering = No
ctdb timeout = 0
ctdb locktime warn threshold = 0
smb2 max read = 8388608
smb2 max write = 8388608
smb2 max trans = 8388608
smb2 max credits = 8192
load printers = Yes
printcap cache time = 750
printcap name =
cups server =
cups encrypt = No
cups connection timeout = 30
iprint server =
disable spoolss = No
addport command =
enumports command =
addprinter command =
deleteprinter command =
show add printer wizard = Yes
os2 driver map =
mangling method = hash2
mangle prefix = 1
max stat cache size = 256
stat cache = Yes
machine password timeout = 604800
add user script =
rename user script =
delete user script =
add group script =
delete group script =
add user to group script =
delete user from group script =
set primary group script =
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
shutdown script =
abort shutdown script =
username map script =
username map cache time = 0
logon script =
logon path = \\%N\%U\profile
logon drive =
logon home = \\%N\%U
domain logons = No
init logon delayed hosts =
init logon delay = 100
os level = 20
lm announce = Auto
lm interval = 60
preferred master = Auto
local master = Yes
domain master = No
browse list = Yes
enhanced browsing = Yes
dns proxy = Yes
wins proxy = No
wins server =
wins support = Yes
wins hook =
smb2 leases = No
lock spin time = 200
oplock break wait time = 0
ldap admin dn =
ldap delete dn = No
ldap group suffix =
ldap idmap suffix =
ldap machine suffix =
ldap passwd sync = no
ldap replication sleep = 1000
ldap suffix =
ldap ssl = start tls
ldap ssl ads = No
ldap deref = auto
ldap follow referral = Auto
ldap timeout = 15
ldap connection timeout = 2
ldap page size = 1024
ldap user suffix =
ldap debug level = 0
ldap debug threshold = 10
eventlog list =
add share command =
change share command =
delete share command =
config file =
preload =
lock directory = /var/lib/samba
state directory = /var/lib/samba
cache directory = /var/lib/samba
pid directory = /run/samba
ntp signd socket directory = /var/lib/samba/ntp_signd
utmp directory =
wtmp directory =
utmp = No
default service =
message command =
get quota command =
set quota command =
remote announce =
remote browse sync =
nbt client socket address = 0.0.0.0
nmbd bind explicit broadcast = Yes
homedir map = auto.home
afs username map =
afs token lifetime = 604800
log nt token command =
NIS homedir = No
registry shares = No
usershare allow guests = No
usershare max shares = 0
usershare owner only = Yes
usershare path = /var/lib/samba/usershares
usershare prefix allow list =
usershare prefix deny list =
usershare template share =
allow insecure wide links = No
async smb echo handler = No
panic action =
perfcount module =
host msdfs = Yes
passdb expand explicit = No
idmap backend = tdb
idmap cache time = 604800
idmap negative cache time = 120
idmap uid =
idmap gid =
template homedir = /home/%D/%U
template shell = /bin/false
winbind separator = \
winbind cache time = 300
winbind reconnect delay = 30
winbind request timeout = 60
winbind max clients = 200
winbind enum users = No
winbind enum groups = No
winbind use default domain = No
winbind trusted domains only = No
winbind nested groups = Yes
winbind expand groups = 0
winbind nss info = template
winbind refresh tickets = No
winbind offline logon = No
winbind normalize names = No
winbind rpc only = No
create krb5 conf = Yes
ncalrpc dir = /var/run/samba/ncalrpc
winbind max domain connections = 1
winbindd socket directory = /var/run/samba/winbindd
winbindd privileged socket directory = /var/lib/samba/winbindd_privileged
winbind sealed pipes = Yes
neutralize nt4 emulation = No
reject md5 servers = No
require strong key = Yes
allow dns updates = secure only
dns forwarder =
dns update command = /usr/sbin/samba_dnsupdate
nsupdate command = /usr/bin/nsupdate -g
rndc command = /usr/sbin/rndc
multicast dns register = Yes
samba kcc command = /usr/sbin/samba_kcc
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
dcerpc endpoint servers = epmapper, wkssvc, rpcecho, samr, netlogon, lsarpc, spoolss, drsuapi, dssetup, unixinfo, browser, eventlog6, backupkey, dnsserver
spn update command = /usr/sbin/samba_spnupdate
share backend = classic
allow nt4 crypto = No
reject md5 clients = No
tls enabled = Yes
tls keyfile = tls/key.pem
tls certfile = tls/cert.pem
tls cafile = tls/ca.pem
tls crlfile =
tls dh params file =
idmap config * : backend = tdb
comment =
path =
username =
invalid users =
valid users =
admin users =
read list =
write list =
force user =
force group =
read only = Yes
acl check permissions = Yes
acl group control = No
acl map full control = Yes
acl allow execute always = No
create mask = 0744
force create mode = 0000
directory mask = 0755
force directory mode = 0000
force unknown acl user = No
inherit permissions = No
inherit acls = No
inherit owner = No
guest only = No
administrative share = No
guest ok = No
only user = No
hosts allow =
hosts deny =
allocation roundup size = 1048576
aio read size = 0
aio write size = 0
aio write behind =
ea support = No
nt acl support = Yes
profile acls = No
map acl inherit = No
afs share = No
smb encrypt = default
durable handles = Yes
block size = 1024
change notify = Yes
directory name cache size = 100
kernel change notify = Yes
max connections = 0
min print space = 0
strict allocate = No
strict rename = No
strict sync = No
sync always = No
use sendfile = No
write cache size = 0
max reported print jobs = 0
max print jobs = 1000
printable = No
print notify backchannel = No
print ok = No
printing = cups
cups options =
print command =
lpq command = %p
lprm command =
lppause command =
lpresume command =
queuepause command =
queueresume command =
printer name =
use client driver = No
default devmode = Yes
force printername = No
printjob username = %U
default case = lower
case sensitive = Auto
preserve case = Yes
short preserve case = Yes
mangling char = ~
hide dot files = Yes
hide special files = No
hide unreadable = No
hide unwriteable files = No
delete veto files = No
veto files =
hide files =
veto oplock files =
map archive = Yes
map hidden = No
map system = No
map readonly = yes
mangled names = Yes
store dos attributes = No
dmapi support = No
browseable = Yes
access based share enum = No
blocking locks = Yes
csc policy = manual
fake oplocks = No
kernel oplocks = No
kernel share modes = Yes
locking = Yes
oplocks = Yes
level2 oplocks = Yes
oplock contention limit = 2
posix locking = Yes
strict locking = Auto
dfree cache time = 0
dfree command =
copy =
include =
preexec =
preexec close = No
postexec =
root preexec =
root preexec close = No
root postexec =
available = Yes
volume =
fstype = NTFS
wide links = No
follow symlinks = Yes
dont descend =
magic script =
magic output =
delete readonly = No
dos filemode = No
dos filetimes = Yes
dos filetime resolution = No
fake directory create times = No
vfs objects =
msdfs root = No
msdfs proxy =
ntvfs handler = unixuid, default

jmozdzen
12-May-2016, 15:38
Hi startsles12,


Well I can't see anything wrong here

passdb backend = smbpasswd:samba-passwd


well, I'd change that to provide a fully qualified path...

Regards,
Jens

startsles12
12-May-2016, 16:08
fully qualified path...

That's it!

I did assume smb passwd file would take the absolute path.

Changed two lines and all seems fine now


smb passwd file = /etc/samba/samba-passwd
passdb backend = smbpasswd:/etc/samba/samba-passwd

Thanks a lot for hinting the right direction ;)

jmozdzen
12-May-2016, 16:20
Hi startsles12,

great to see it's fixed, thank you for reporting back!

Regards,
Jens

startsles12
19-May-2016, 14:49
If I might dare to pickup again on this topic, I managed to hide sharenames by setting "browsable = no", but there seems to be a insecure setting I'd like to prevent:

CIFSRPC nullsession exploitable, can list shares, can read registry, can enumerate users

Any way to block null session detected by Nessus?

I assume a "map to guest = Never" in the global section would do the trick...

jmozdzen
23-May-2016, 12:24
Hi startsels12,

If I might dare to pickup again on this topic, I managed to hide sharenames by setting "browsable = no", but there seems to be a insecure setting I'd like to prevent:

CIFSRPC nullsession exploitable, can list shares, can read registry, can enumerate users

Any way to block null session detected by Nessus?

I assume a "map to guest = Never" in the global section would do the trick...

as this is a new issue, it probably'd be better to start a new thread for this - especially as it addresses a security concern.

Are you using the latest updates to Samba? There have been important recent updates in that area. I'm not those cover the issue caught by Nessus, but installing these updates is more than worth it.

Regards,
Jens