Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Mar 2006 01:58:44 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        trustedbsd-discuss@FreeBSD.org
Subject:   question about MAC policy modules on 6.0
Message-ID:  <20060308.015844.98687889.hrs@allbsd.org>

next in thread | raw e-mail | index | archive | help
----Security_Multipart0(Wed_Mar__8_01_58_44_2006_492)--
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Wed_Mar__8_01_58_44_2006_494)--"
Content-Transfer-Encoding: 7bit

----Next_Part(Wed_Mar__8_01_58_44_2006_494)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,

 After testing some MAC policy modules on 6.0R, I have the following
 questions about the implementation and the startup script:

 1) default value of security.mac.bsdextended.firstmatch_enabled

  mac_bsdextended(4) says the following:

  |  security.mac.bsdextended.firstmatch_enabled
  |           Toggle between the old all rules match functionality and the new
  |           first rule matches functionality.  This is enabled by default.

  however, the corresponding implementation is as follows:

  |static int
  |mac_bsdextended_firstmatch_enabled;
  |SYSCTL_INT(_security_mac_bsdextended, OID_AUTO, firstmatch_enabled,
  |      CTLFLAG_RW, &mac_bsdextended_firstmatch_enabled, 1,
  |      "Disable/enable match first rule functionality");

  Which is intended?  If the manual page is correct, the attached patch (the
  first one) is needed, I think.

 2) rc.bsdextended

  Currently /etc/rc.bsdextended is used as the default rules when
  ugidfw_enable=yes in /etc/rc.conf, but this configuration is
  not so generic and problematic in some cases.  For example,
  it includes rules for applications not in the base system, and
  especially "awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }'
  /etc/passwd" line does not work on systems which have a lot of
  users because the current ugidfw supports 256 slots only.
  Also, I am wondering why the "${CMD} add subject uid 0 object not
  uid 0 mode arxws;" is included.  Does the mac_bsdextended module
  support rules for UID 0?

  I guess that this is still work-in-progress, but since it has
  been merged into the RELENG_6 branch, I think we have to polish
  the default script.  So, I am just wondering:

   a) What is the master plan of rc.d scripts for MAC policy
      modules?  I think it is better to have /etc/rc.d/mac_bsdextended,
      and knobs of $mac_bsdextended and $mac_bsdextended_script in rc.conf
      for more consistency, but we have /etc/rc.d/ugidfw, $ugidfw_enable,
      and $bsdextended_script.  If there are some policies on
      that already discussed, I am interested in them.
   b) Is the current content of /etc/rc.bsdextended reasonable
      as an example?  I think it is too aggressive and most of the
      rules should be commented out by default.
   c) Does mac_bsdextended really support rules for UID 0?  The current
      /etc/rc.bsdextended script includes such rules, but the implementation
      does not support them as far as I know.  Are they going to be supported
      in the near future (or just a mistake)?

 3) src/share/security/* not installed

  setfsmac(8) mentions /usr/share/security/lomac-policy.contexts in
  the FILES section, but the actual file is not installed.
  That file is src/share/security/lomac-policy.contexts in the source
  tree.  Are there any reason not to hook it up to the build?

 4) mount_ufs(8) multilabel option

  mount_ufs(8) has multilabel option for the MAC label, but it
  seems broken ("tunefs -l enable" works, though).  I am not sure
  the attached patch (the second one) is correct, but it should
  fix this.

 I am still not familiar with development of Trusted BSD feature,
 and maybe the above problems are solved already somewhere else or
 just I get wrong ideas, but if anyone knows the details or if
 I am missing something, please let me know.  Thanks.

--
| Hiroki SATO

----Next_Part(Wed_Mar__8_01_58_44_2006_494)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="mac_bsdextended.c.diff"

Index: mac_bsdextended/mac_bsdextended.c
===================================================================
RCS file: /home/ncvs/src/sys/security/mac_bsdextended/mac_bsdextended.c,v
retrieving revision 1.25.2.2
diff -d -u -I\$OpenBSD:.*\$ -I\$FreeBSD:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.25.2.2 mac_bsdextended.c
--- mac_bsdextended/mac_bsdextended.c	24 Jan 2006 04:11:45 -0000	1.25.2.2
+++ mac_bsdextended/mac_bsdextended.c	25 Feb 2006 14:23:47 -0000
@@ -112,9 +112,9 @@
  * functionality (all rules match).
  */
 static int
-mac_bsdextended_firstmatch_enabled;
+mac_bsdextended_firstmatch_enabled = 1;
 SYSCTL_INT(_security_mac_bsdextended, OID_AUTO, firstmatch_enabled,
-	CTLFLAG_RW, &mac_bsdextended_firstmatch_enabled, 1,
+	CTLFLAG_RW, &mac_bsdextended_firstmatch_enabled, 0,
 	"Disable/enable match first rule functionality");

 static int

----Next_Part(Wed_Mar__8_01_58_44_2006_494)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="mount.h.diff"

Index: src/sys/sys/mount.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/mount.h,v
retrieving revision 1.197.2.2
diff -d -u -I\$OpenBSD:.*\$ -I\$FreeBSD:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.197.2.2 mount.h
--- src/sys/sys/mount.h	14 Jan 2006 01:18:02 -0000	1.197.2.2
+++ src/sys/sys/mount.h	7 Mar 2006 16:22:31 -0000
@@ -251,7 +251,7 @@
 			MNT_NOATIME | \
 			MNT_NOSYMFOLLOW	| MNT_IGNORE	| MNT_JAILDEVFS	| \
 			MNT_NOCLUSTERR	| MNT_NOCLUSTERW | MNT_SUIDDIR	| \
-			MNT_ACLS	| MNT_USER)
+			MNT_ACLS	| MNT_USER      | MNT_MULTILABEL)

 /*
  * External filesystem command modifier flags.

----Next_Part(Wed_Mar__8_01_58_44_2006_494)----

----Security_Multipart0(Wed_Mar__8_01_58_44_2006_492)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBEDbvETyzT2CeTzy0RAoZgAJ9gxCtW0JusixiRHE8j9Ma+HxSU3QCfQhMT
uLW5xcrW9x3+ya7KkSKACRg=
=7IoH
-----END PGP SIGNATURE-----

----Security_Multipart0(Wed_Mar__8_01_58_44_2006_492)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060308.015844.98687889.hrs>