Re: Question on current state of sec=krb5* integration in cifs.ko
"Q (Igor Mammedov)" <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Oct 23, 2009 at 8:24 PM, Jeff Layton <[email protected]> wrote: > On Fri, 23 Oct 2009 20:00:59 +0400 > "Q (Igor Mammedov)" <[email protected]> wrote: > >> On Fri, Oct 23, 2009 at 6:19 PM, Jeff Layton <[email protected]> wrote: >> > On Fri, 23 Oct 2009 15:54:29 +0200 >> > Holger Rauch <[email protected]> wrote: >> > >> >> Hi Jeff, >> >> >> >> first of all, thanks for your quick reply. >> >> >> >> On Fri, 23 Oct 2009, Jeff Layton wrote: >> >> >> >> > On Fri, 23 Oct 2009 13:12:14 +0200 >> >> > Holger Rauch <[email protected]> wrote: >> >> > > [...] >> >> > > I just tried that. Mount options in /etc/fstab are >> >> > > >> >> > > noauto,sec=krb5i,iocharset=iso8859-15 >> >> > > >> >> > > When I issue the mount cmd, it asks me for a password. >> >> > >> >> > That probably means that you have a fairly old mount.cifs program. The >> >> > more recent ones don't prompt for a password when sec=krb5* is >> >> > specified. Try adding the "guest" option which will disable password >> >> > prompting. >> >> >> >> Ok, I tried that (debugging output included as well; interestingly >> >> enough, "mount.cifs -V" only outputs the help message, even if >> >> mount.cifs is called with an absolute path). This happenend on a >> >> Debian Lenny system having the shipped kernel version (uname -r): >> >> >> >> 2.6.26-2-686-bigmem >> >> >> >> Since "mount.cifs -V" didn't come up with version info, I used >> >> "apt-cache show smbfs" ("smbfs" is the Debian package mount.cifs is >> >> contained in). It has the same version as the other Samba packages >> >> shipped with Debian: 3.2.5 >> >> >> >> ============== >> >> >> >> pia:~# mount -t cifs //server/myuser >> >> /cifs/user --verbose -o >> >> sec=krb5i,user=myuser,guest,iocharset=iso8859-15 >> >> parsing options: rw,sec=krb5i,user=myuser,guest,iocharset=iso8859-15 >> >> >> >> mount.cifs kernel mount options >> >> unc=//server\myuser,ip=ww.xx.yy.zz,ver=1,rw,sec=krb5i,user=myuser,guest,iocharset=iso8859-15 >> >> >> >> mount error 95 = Operation not supported >> >> Refer to the mount.cifs(8) manual page (e.g.man mount.cifs) >> >> pia:~# dmesg >> >> [8046556.840192] fs/cifs/cifsfs.c: Devname: >> >> //prag-old.er.heitec.net/hrauch flags: 64 >> >> [8046556.847954] fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: >> >> 15 with uid: 0 >> >> [8046556.895920] fs/cifs/connect.c: iocharset set to iso8859-15 >> >> [8046556.903932] fs/cifs/connect.c: Username: myuser >> >> [8046556.911928] fs/cifs/connect.c: UNC: >> >> \\server\myuser ip: ww.xx.yy.zz >> >> [8046556.916743] fs/cifs/connect.c: Socket created >> >> [8046556.924050] fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 >> >> rcvtimeo 0x7fffffff >> >> [8046556.935312] fs/cifs/connect.c: Existing smb sess not found >> >> [8046556.935312] fs/cifs/connect.c: Demultiplex PID: 6171 >> >> [8046556.946262] fs/cifs/cifssmb.c: secFlags 0x1009 >> >> [8046556.950328] fs/cifs/cifssmb.c: Kerberos only mechanism, enable >> >> extended security >> >> [8046556.957962] fs/cifs/transport.c: For smb_command 114 >> >> [8046556.962692] fs/cifs/transport.c: Sending smb of length 78 >> >> [8046556.968883] fs/cifs/connect.c: rfc1002 length 0xbe >> >> [8046556.974665] fs/cifs/cifssmb.c: Dialect: 2 >> >> [8046556.978940] fs/cifs/asn1.c: OID len = 7 oid = 0x1 0x2 0x348 >> >> 0x1bb92 >> >> [8046556.989230] fs/cifs/asn1.c: OID len = 7 oid = 0x1 0x2 0x348 0xbb92 >> >> [8046556.991772] fs/cifs/asn1.c: OID len = 10 oid = 0x1 0x3 0x6 0x1 >> >> [8046556.998296] fs/cifs/asn1.c: Need to call asn1_octets_decode() >> >> function for cifs/server@MYREALM >> >> [8046557.008389] fs/cifs/cifssmb.c: Must sign - secFlags 0x1009 >> >> [8046557.015170] CIFS VFS: signing required but server lacks support >> > >> > >> > I think this message explains the problem ^^^^ >> > >> > You've request krb5i, but your server doesn't support signing. You >> > might want to try sec=krb5 and see if that works. >> >> That there won't be much security left with sec=krb, because of >> it would lack even signed cisf packets. And as far as I remember, >> the client doesn't do mutual authentication of the server, so >> the server may be faked by any machine registered in the ADS >> domain. >> Any ways, we can use current cifs only to authenticate client >> on the server only, but there won't be much security in the sense >> of transmitted data or checking if we speak with real server. >> > > My intention was not to claim that using krb5 instead of krb5i was a > good idea...simply that he might want to try it to make sure that was > the only problem. > > Obviously, fixing the server to support signing would be a better > long term solution. I'm Sorry if I was rude. Your solution to the problem is perfectly Ok. I just complemented your answer with what security risks there are. And implementing mutual authentication wasn't a simple thing when I've looked at it. It will require to expand upcall protocol to do several round-trips of SecurityBlob between KDC and cifs server. > > -- > Jeff Layton <[email protected]> > _______________________________________________ linux-cifs-client mailing list [email protected] https://lists.samba.org/mailman/listinfo/linux-cifs-client