<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OSX Hosting &#187; LDAP</title>
	<atom:link href="http://osxhosting.com/osxhosting/tag/ldap/feed" rel="self" type="application/rss+xml" />
	<link>http://osxhosting.com/osxhosting</link>
	<description>Anything to do with hosting from mac OS X servers!</description>
	<lastBuildDate>Fri, 13 Aug 2010 17:21:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Leopard Server: Using ACLs with Open Directory</title>
		<link>http://osxhosting.com/osxhosting/leopard-server-using-acls-with-open-directory#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://osxhosting.com/osxhosting/leopard-server-using-acls-with-open-directory#comments</comments>
		<pubDate>Thu, 07 Feb 2008 17:21:27 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[open directory]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[slapd.conf]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/02/07/leopard-server-using-acls-with-open-directory/</guid>
		<description><![CDATA[In Leopard, Workgroup Manager supports rudimentary ACLs for the LDAP database. We’re all familiar with Access Control Lists by now. Especially in the Mac OS X Server community. However, we might not all be familiar with ACLs as they’re implemented in LDAP. But we should be, because LDAP is being used more and more as [...]]]></description>
			<content:encoded><![CDATA[<p><b>In Leopard, Workgroup Manager supports rudimentary ACLs for the LDAP database. We’re all familiar with Access Control Lists by now. Especially in the Mac OS X Server community. However, we might not all be familiar with ACLs as they’re implemented in LDAP. But we should be, because LDAP is being used more and more as an address book, and with the new Directory application being shipped in Leopard it is conceivable that environments aren’t just going to use ACLs to secure LDAP but they’re also going to use them to allow users to self update their information in the directory. So in the interest of security and making the most out of the technologies build into LDAP, let’s cover LDAP ACLs for a bit. So to push beyond what you can do in Workgroup Manager, let’s take a look at building out more finely grained ACLs manually.</b><span id="more-18"></span></p>
<p>First, like with most things in LDAP ACLs are configured using the /etc/openldap/slapd.conf file. Below is the pertinent portion of this file that we will be looking at:</p>
<p><code># Define global ACLs to disable default read access.<br />
# Do not enable referrals until AFTER you have a working directory<br />
# service AND an understanding of referrals.<br />
#referral       ldap://root.openldap.org<br />
# Sample access control policy:<br />
#       Root DSE: allow anyone to read it<br />
#       Subschema (sub)entry DSE: allow anyone to read it<br />
#       Other DSEs:<br />
#               Allow self write access<br />
#               Allow authenticated users read access<br />
#               Allow anonymous users to authenticate<br />
#       Directives needed to implement policy:<br />
# access to dn.base="" by * read<br />
# access to dn.base="cn=Subschema" by * read<br />
# access to *<br />
#       by self write<br />
#       by users read<br />
#       by anonymous auth<br />
#<br />
# if no access controls are present, the default policy<br />
# allows anyone and everyone to read anything but restricts<br />
# updates to rootdn.  (e.g., "access to * by * read")<br />
#<br />
# rootdn can always read and write EVERYTHING!<br />
</code><br />
Now, if we remove the commented out portions of the file or add more lines we can start to limit who has access to read and/or change what information in the LDAP database. Keep in mind that you always want to back up your slapd.conf file prior to doing so.</p>
<p>You can control access to each element in the database. Each ACL has an “access to” which is the elements in the LDAP database that you are granting or denying access for and then a “by” portion that lists who can do what to that portion of the database. An entire ACL can be listed on one line, as is done with policies that have only one user or group associated to them. For example, the following line gives anyone and everyone read access to the database:<br />
access to dn.base=”&#8221; by * read</p>
<p>For ease of use and reviewing, we typically put the “access to” on one line and the subsequent users or groups with access in their own “by” lines for more complicated ACL rule sets. Slapd parses the file in such a way that it realizes that “access to” means the beginning of a new ACL. The following is an example of some more complicated ACLs:<br />
<code><br />
access to attrs=userPassword<br />
by dn="cn=users,dc=318,dc=com" write<br />
by self write<br />
by * compare</code></p>
<p>access to *<br />
by dn=&#8221;cn=computers,dc=318,dc=com&#8221; write<br />
by users read<br />
by * auth</p>
<p>Access levels in ACLs are hierarchical. Levels that are used are none, auth, compare, search, read and write. None is the lowest level of access and write is the highest. Each level includes the rights of all lower levels. In the above example, a user is able to write to their own userPassword record. This means that the user is also able to auth, compare, search and read that record.</p>
<p>ACLs are prosessed from top to bottom. This makes it important to put specific ACLs and by statements above more general ones. ACLs that restrict access to the userPassword attribute, followed by one applicable to *, that is, the entire LDAP database. In the above example, placing the userPassword ACL first causes the rule that allows users to change their own passwords to process before the wildcard that specifies everyone. When a * is used as a wildcard in the access to line of slapd.conf it means the entire database or tree of the LDAP database. When the * is used in the by line it typically denotes all users.</p>
<p>Access levels in ACLs are hierarchical. Levels that are used are none, auth, compare, search, read and write. None is the lowest level of access and write is the highest. Each level includes the rights of all lower levels. These two points, the first match wins rule and the inclusive nature of access levels, are crucial to understanding how ACLs are parsed. They also are important for making sure your ACLs don’t lead to either greater or lesser levels of access than you intend in a given situation.</p>
<p>It can be time consuming to go through every possible attribute by group and determine who has access to what. However, if you want to have users updating their own addresses, phone numbers, and other information, as can be done with the Directory application, this is often one way to accomplish this goal. You could also provide help desk users the ability to update the database using the Directory application but not allow them to access other records in the LDAP database, such as group memberships. Having a very granular ACL environment for records can also allow you to obtain a maximum level of security.</p>
<p>This can also be put into the schema in order to force replication between hosts. Keep an eye out for that article at a later date.</p>
<p>For what it’s worth, at 318 we’ve found that commenting out each ACL helps us to keep track of who did what, why and what they were thinking when they did it. Happy OD everyone!!!</p>
<p><!-- Social Bookmarking Reloaded BEGIN --></p>
]]></content:encoded>
			<wfw:commentRss>http://osxhosting.com/osxhosting/leopard-server-using-acls-with-open-directory/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Remote Desktop Directory-based Authentication</title>
		<link>http://osxhosting.com/osxhosting/apple-remote-desktop-directory-based-authentication#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://osxhosting.com/osxhosting/apple-remote-desktop-directory-based-authentication#comments</comments>
		<pubDate>Thu, 07 Feb 2008 17:18:00 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ARD]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[remote desktop]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/02/07/apple-remote-desktop-directory-based-authentication/</guid>
		<description><![CDATA[One of the great gems of Apple Remote Desktop 2, and while it&#8217;s not hidden in the documentation, no one seems to have sung its virtues &#8211; until now. You&#8217;re going to love how easy this is&#8230; I&#8217;m making a couple assumptions here, so before we start, here they are: You already have ARD 2 [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great gems of Apple Remote Desktop 2, and while it&#8217;s not hidden in the documentation, no one seems to have sung its virtues &#8211; until now.<br />
You&#8217;re going to love how easy this is&#8230;</p>
<p>I&#8217;m making a couple assumptions here, so before we start, here they are: You already have ARD 2 installed and set up to administer your client machines with a local account. You have LDAP set up, and your client machines are already bound into the domain.</p>
<p>The theory behind this is creating groups in Workgroup Manager, and then adding users who you want to be authorized to use ARD into those groups. There are 4 groups, ard_admin, ard_interact, ard_manage and ard_reports.</p>
<p>ard_admin will have access to all functions of ARD, ard_interact is simply interaction (like you&#8217;d get with VNC alone) with the client, ard_manage allows for more advanced features, and ard_reports can only generate reports from the ARD clients. For a clearer idea, check out the Interact, Manage and Reports items in the menubar of ARD.</p>
<p>Create your groups in Workgroup Manager &#8211; you don&#8217;t need to add all 4, you can pick and choose which you would like, and they can be created with any GID, it&#8217;s only the name which must be exact. Then add your ARD administrative users to their appropriate groups.</p>
<p>To set up the clients, you can either create your own Client Installer, or you can change your existing client settings (under the Manage menu bar item). Using the &#8220;Change Client Settings&#8221; as an example, click through the screens until you get to the &#8220;Incoming Access&#8221; screen. From here click the &#8220;Set authorized groups to:&#8221; checkbox. Keep continuing through once you&#8217;ve done this, and eventually you&#8217;ll be able to set your selecting machines with these settings.</p>
<p>Do check out some of the other options you can apply to your client machines using this tool, it allows you to set up, or remove local admin users, and set up other tools like openWBEM.</p>
<p>Once you&#8217;ve pushed out these setting to your clients, set up the computers you wish to manage in ARD, and put yourself into one of the ard_* groups, you can use your own username and password to add the clients to your computer lists. This will also make your administrative life much easier if you want different ARD users to have different abilities.</p>
]]></content:encoded>
			<wfw:commentRss>http://osxhosting.com/osxhosting/apple-remote-desktop-directory-based-authentication/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
