First off, you guys rock! I have NFS sharing off to the systems desired. There's one last question though.. in case you couldn't guess ;) I'm trying to share off the mount with root defined instead of nobody. Mostly because these will be temporary install mounts to upgraded the clients to TX.
TX# cat /zone/ZONENAME/etc/dfs/dfstab share -F nfs -o sec=sys,rw=192.168.15.78,root=192.168.15.78 /export/ install SOL10# mount -o sec=sys nfs://192.168.15.78/zone/ZONENAME/root/export/ install /mnt2 SOL10# ls -l /mnt2 -rw-------- 1 nobody nobody 0 Apr 23 2007 testfoo I can mount fine now from X.78 but it keeps showing up as user nobody. Is this a TX restriction? Oh, for those interested, to get this to work I needed to adjust the default txzonecfg to have shared access to port 2049 cat /etc/security/tsol/txzonecfg global:ADMIN_LOW:1:111/tcp;111/udp;515/tcp;631/tcp;2049/tcp;6000-6003/ tcp:6000-6003/tcp;2049/tcp On Apr 21, 2007, at 8:33 PM, Glenn Faden wrote: > Robert Bailey wrote: > >> Nah, don't care about serving at admin_low. I have read many TX >> docs that imply that local zones can't share NFS as a server >> though (due to local zones not having the necessary tcp stack >> access/permissions). > > You are misinformed. Although standard Solaris doesn't support > sharing directories belonging to non-global zones, TX does allow > this. I seem to answer this question on this alias about once a > week. There is a dfstab file for each zone. Although the > administration, sharing and and NFS service runs place in the > global the share is labeled with the corresponding zone's label. > From the client's side, you must mount it using the IP address of > the global zone. > >> >> In the end, all I want is to use TX to add extra restrictions on >> sharing NFS to non-tx systems and TX systems. >> If you don't mind, what are the options? > > As Jarrett said, we don't allow unlabeled clients to make requests > at the admin_low label. That is an administrative label, and the > unlabeled client is not sufficiently trusted. Similarly, we don't > allow such clients to ssh into the global zone. If you want to NFS > serve an unlabeled client you must assign it a label above > admin_low. If you want the unlabeled client to be able to mount > read-write via NFS, it must have the same label as the zone > corresponding to the dfstab that contains that share. > > --Glenn > >> >> >> On Apr 21, 2007, at 5:57 PM, jarrett lu wrote: >> >>> Bob, >>> >>> TX NFS server can serve non-tx clients, but it can't server them >>> at the admin_low label. The restriction is intentional. We didn't >>> feel comforable about having non-tx clients accessing TX NFS >>> server global zone files. In your environment, must the client >>> run in admin_low default label? >>> >>> BTW, the following code in nfs4_srv.c restricts the service: >>> >>> static nfsstat4 >>> do_rfs4_op_lookup(char *nm, uint_t buflen, struct svc_req *req, >>> struct compound_state *cs) >>> { >>> [...] if (!blequal(&l_admin_low- >>> >tsl_label, clabel)) { >>> if (!do_rfs4_label_check(clabel, vp, >>> DOMINANCE_CHECK)) >>> { error >>> = EACCES; >>> goto err_out; >>> } >>> } else { >>> /* >>> * We grant access to admin_low label clients >>> * only if the client is trusted, i.e. also >>> * running Solaris Trusted Extension. >>> */ >>> [...] >>> tp = find_tpc(ipaddr, addr_type, B_FALSE); >>> if (tp == NULL || tp->tpc_tp.tp_doi != >>> l_admin_low->tsl_doi || tp- >>> >tpc_tp.host_type != >>> SUN_CIPSO) { >>> error = EACCES; >>> goto err_out; >>> } >>> [...] >>> } >>> >>> Jarrett >>> >>> >>> Robert Bailey wrote: >>> >>>> Folks, >>>> >>>> I'm trying to setup a secured build server using TX. I have TX >>>> up and running fine, but run into a problem when sharing an NFS >>>> mount from the Global ADMIN_LOW to a non-tx system. The non-tx >>>> system has a net label of admin_low. Any thoughts? >>>> >>>> global and client are admin_low for files. >>>> >>>> Heres the client: >>>> >>>> tnctl -h 192.168.15.78:admin_low >>>> >>>> tninfo -h 192.168.15.78 >>>> IP address= 192.168.15.78 >>>> Template = admin_low >>>> I'm wondering if it could be an MLP setting - don't quite have >>>> my head around TX yet. >>>> Here's some details >>>> >>>> All: no LDAP, just files >>>> >>>> *TX System:* >>>> hostname: gw1, dns: gw1.dynlab.net >>>> >>>> cat /etc/security/tsol/tnzonecfg >>>> global:ADMIN_LOW:1:111/tcp;111/udp;515/tcp;631/*tcp**;2049*/tcp; >>>> 6000-6003/tcp:6000-6003/tcp >>>> foo:0x0002-08-08:0:: >>>> bar:0x000a-08-08:0:: >>>> >>>> cat /etc/dfs/dfstab >>>> share -F nfs -o >>>> rw=tserver:tserver.dynlab.net:rlbserver,root=tserver:tserver.dynlab >>>> .n et /scratch >>>> share -F nfs -o >>>> rw=tserver:tserver.dynlab.net:rlbserver,root=tserver:tserver.dynlab >>>> .n et /share/install >>>> >>>> # Yea, Word Write is just for testing - no need for soap >>>> box ;) root owner with 700/770 same issue. >>>> >>>> ls -l /share/ >>>> total 3 >>>> drwxrwxrwx 2 me sys 2 Apr 21 12:30 install >>>> >>>> /etc/default/nfs settings, all others are defaults - I changed >>>> the range to just nfs v4 because of this issue. Same problems >>>> using defaults. >>>> >>>> NFSD_LISTEN_BACKLOG=32 >>>> NFSD_PROTOCOL=ALL >>>> NFSD_SERVERS=16 >>>> LOCKD_LISTEN_BACKLOG=32 >>>> LOCKD_SERVERS=20 >>>> LOCKD_RETRANSMIT_TIMEOUT=5 >>>> GRACE_PERIOD=90 >>>> NFS_SERVER_VERSMIN=4 >>>> NFS_SERVER_VERSMAX=4 >>>> NFS_CLIENT_VERSMIN=4 >>>> NFS_CLIENT_VERSMAX=4 >>>> NFS_SERVER_DELEGATION=on >>>> >>>> svcs -a|grep nfs >>>> disabled 13:51:43 svc:/network/nfs/client:default >>>> online 13:51:56 svc:/network/nfs/cbd:default >>>> online 13:51:57 svc:/network/nfs/status:default >>>> online 13:51:57 svc:/network/nfs/mapid:default >>>> online 13:51:57 svc:/network/nfs/nlockmgr:default >>>> online 13:51:58 svc:/network/nfs/rquota:default >>>> online 13:52:00 svc:/network/nfs/server:default >>>> >>>> *Non-TX System:* >>>> hostname: tserver, dns: tserver.dynlab.net >>>> >>>> # showmount -e gw1 >>>> export list for gw1: >>>> /scratch tserver,tserver.dynlab.net,rlbserver >>>> /share/install tserver,tserver.dynlab.net,rlbserver >>>> >>>> Both cd /net/gw1/share/install and mount -F nfs gw1:/share/ >>>> install /foo fail. Tried with DNS name, fail. >>>> Both systems same DNS but NFS Domain set at default value >>>> >>>> mount -F nfs gw1.dynlab.net:/share/install /mnt >>>> nfs mount: mount: /mnt: Permission denied >>>> >>>> *Supplemental info:* >>>> >>>> Strange, but I tried the inverse using the client as a server >>>> to the TX and the mounting worked - same nfsd settings. >>>> Also note that the net label is working, I can ssh back and forth. >>>> >>>> Thoughts? >>>> >>>> ------------------------------------------------------------------- >>>> -- --- >>>> >>>> _______________________________________________ >>>> security-discuss mailing list >>>> security-discuss at opensolaris.org >>>> >>> >> >> _______________________________________________ >> security-discuss mailing list >> security-discuss at opensolaris.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/security-discuss/attachments/20070422/45b5e972/attachment.html>