|
Ooohhhh. You bad dude. I recall being told "DO NOT EVEN
CONSIDER TOUCHING THE PERMISSIONS NOR GROUPS ADPREP/FORESTPREP PUT INTO PLACE,
IN FACT, DON'T EVEN LOOK AT THEM...". I actually listened to that because I know
what a house of cards is when I see it and didn't want to pull a wall if you
know what I mean...
I honestly should go through and tear it all apart and try
to understand what it is all doing but I really really don't want to. It will
just make me grumpier I think as every time I dig into Exchange I find something
else that upsets me.
18 hours was not a happy thing for me... Glad you could
find joy in my pain... I'll remember that buddy! Actually if I had been
thinking straight I should have looked at how Exchange got permission to do
things right off, it was pretty obvious, but as you say, after the fact. I just
ASS-U-ME-d that they (MS) would make sure they always had permissions to
read what they needed to read. I honestly don't think they ever even realized
(and possibly still don't) that they were depending on Authenticated Users /
Everyone access to the objects on the GCs.
I agree on the marketing comments... Just as easily for the
security of the Servers to access AD they could have used the Universal Domain
Local Groups (the ones that can't be used as DLs). That would have worked
perfectly as well.
Heh, yes good point on the GCs of multiple domains in a
single site with Exchange Servers. This should be fixed within the year
though... Also it is another good reason for a separate single domain forest
Exchange implementation. :oP
I absolutely agree about your statements about UGs and
their use being driven and changed by Exchange. Actually I think MS should be
more clear in the AD documentation that if you plan on using Exchange, all of
our planning guidance completely changes so go figure out Exchange as well
before deploying your AD or else you will be doing some major work to get it all
to play well together. Of course one answer to this and many questions is "this
is another good reason for a separate single domain forest Exchange
implementation". :o))
I have
to say that UGs are more palatable with LVR. However I still think unless you
have a heavy GC penetration 90%+ or absolutely guaranteed connectivity back to
GCs they can be dangerous. Specifically for deny ACEs (WHICH YOU SHOULD ALMOST
NEVER USE) but also for the grant ACEs because if you don't get a GC you could
have an issue with inconsistent access rights. Yes GC caching should help out
but there are still inconsistencies that can pop up.
I have
been thinking once we get to K3 on all the DCs at looking at switching our use
to UGs... However I would really have to go through the cost/benefit analysis.
If we don't also increase our GCs I think the one off weird inconsistency issues
could be painful and we could end up chasing ghosts on a frequent basis of the
type - On March 3 I couldn't get access to this or that but it worked fine the
day before and the day after. This would eventually get to my group and people
would be expecting us to solve the problem which couldn't be truly solved
without making most if not all DCs GCs. So we would have to explain how it
works and how it can possibly be inconsistent, again and again. Most of our
support staff is not that strong on deep tech and rolls over a lot so it would
be painful.
-------------
http://www.joeware.net (download joeware)
http://www.cafeshops.com/joewarenet (wear joeware)
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of GRILLENMEIER,GUIDO (HP-Germany,ex1) Sent: Thursday, March 18, 2004 4:26 PM To: [EMAIL PROTECTED] Subject: RE: [ActiveDir] [Slightly OT] Exchange anyone? Aka Exchange's use of DLGs and GCs actually, now that you ask, I should be quite proud of
myself: there was no MS advice or KB involved, just a good understanding of AD
security and group scopes etc. It only seemed natural to me, having looked
rather closely at how the Exchange permissions are setup and noticing their
usage of GGs in DLGs to permissions the servers. I did have to smile a bit
when reading it took you and PSS 18 hours to figure out the issue -
however, it's always easy to know it better afterwards.
I remember my first thought about the Exchange
Groups/ACLs: "I guess they had to do it this way, since they had to make this
baby run in mixed mode environments"... However, it really doesn't run well in
mixed mode multi-domain environments anyways, since to effectively protect PFs
it really comes down to use universal security groups, which aren't available in
mixed mode... So it would have been easier just to say "Exchange 200x
requires native mode" and go with a good group model from the start - but this
would have been bad for marketing the product.
That said, yes - you can do a lot of things according to
the MS docs - but you'll still be bit by DLGs in Exchange (in a
multi-domain forest), even when the scope of users and the use of the DL is a
single domain => you have to consider your Exchange routing. If for
whatever reason, the eMail with this DL needs to be routed via an Exchange
server that uses a GC outside of it's domain (hard to ensure, if you don't have
separate sites for your Exchange Servers within each domain), then it won't be
able to determine the members and thus can't route the eMail. But it won't
give you an error either, since for this server the DL was simply empty, which
is a valid state.
ha, wish I only had 2 DLs in Exchange => think more into
the "many hundreds" range...
I don't know if I had said it this clearly before (and you
might have guessed): our heavy usage of UGs (even if it's "only" a security
group) is actually driven quite a bit due to the implementation of
Exchange. It also needs to be clearly understood, that certain
recommendations that apply to a "pure" AD environment are suddenly killed, if
Exchange is added to the picture.
Example: in pure AD, you'd try to avoid adding users
directly as members to UGs - instead you'd add them to GGs and nest these GGs
into UGs so that replication of membership-changes really only happens in the
domain (where the GGs originate). Replication would not happen to every GC,
since the nesting of the GGs in the UG would usually remain more static.
This concept is simply wrong with Exchange, as Exchange needs to enumerate the
contents of a DL to know where to route a message to => if the UG contains
various GGs, it could only "explode" membership of the GGs applicaple to the
ones in the same domain of the GC being used. Basically this forces you to use
UGs all the time (ofcourse these can still be nested, but won't avoid "global"
replication to all GCs).
At last, LVR in Win2k3 should lessen the fear of admins to
use UGs. But you first have to get there.
/Guido From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of joe Sent: Donnerstag, 18. M�rz 2004 16:56 To: [EMAIL PROTECTED] Subject: RE: [ActiveDir] [Slightly OT] Exchange anyone? Aka Exchange's use of DLGs and GCs :o)
Guido, did you get that advice from MS or was it something
you went off and just did? KB perhaps?
True on the converting all of them...
We don't use DLs except for these 2. All other bulk mail /
DLs are done outside of Exchange. However, you can use (according to MS Docs)
DLGs as long as the scope of the users and use is a single domain.
Overall, I really dislike how permissions are done in
Exchange. The running assumption is that anyone running Exchange should have
pretty much carte blanche access across the entire forest (or at least where you
run domainprep for exchange servers). No real ability to subdelegate by domain
or whatever.
-------------
http://www.joeware.net (download joeware)
http://www.cafeshops.com/joewarenet (wear joeware)
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of GRILLENMEIER,GUIDO (HP-Germany,ex1) Sent: Thursday, March 18, 2004 2:53 AM To: [EMAIL PROTECTED] Subject: RE: [ActiveDir] [Slightly OT] Exchange anyone? Aka Exchange's use of DLGs and GCs which is why I have an "All Exchange Enterprise Servers" UG
that contains all "Exchange Domain Server" GGs (just like the
DLGs) - I left the other "Exchange Enterprise Servers" DLGs as they are, as
you can't convert all of them to UGs (only one could keep the name) and the
ACE is used by default for many things in E2K (e.g. when a new Exchange Server
is added etc.).
BTW, are you using any of your other DLGs as distribution
groups? If so, how do you avoid similar issues (here it's enumeration)
with these?
/Guido From: joe [mailto:[EMAIL PROTECTED] Sent: Donnerstag, 18. M�rz 2004 04:29 To: [EMAIL PROTECTED] Subject: [ActiveDir] [Slightly OT] Exchange anyone? Aka Exchange's use of DLGs and GCs Ok so I wanted to write down some fun I have recently
had with some Exchange 2K / AD interactions...
First off, we don't really use Universal Groups.
However we do have a couple, the builtin ones such as schema and enterprise
admins, plus we have two DLs for executives for securing conference room
calendars. Everyone else in the company is forced to use DLs that are managed
through a mainframe (don't ask).
So one of the requirements as you may imagine for these
DLs that were going to contain email addresses for Executives and Board members
is that it had to have membership that could not be seen by normal users unless
they were the "right" people, and those right people weren't even the
people on the list...
So I had to work out a scheme to make this work and the
people doing the management weren't account operators and absolutely were NOT
going to become account operators. The way MS hides membership is to write a
really dorked up misordered ACL on the group where only account operators and
Exchange Servers can see membership. Basically they throw an everyone Deny Read
of Member attribute into the ACL and then above that in the chain they add
groups for the Exchange Servers and for Account Ops. This of course is a
nightmare to deal with with other programs and why ADUC just throws it hands up
and says no (now that they updated it) when it encounters a group with hidden
membership like that.
So anyway, I figure out a method of locking down an OU
sufficiently so that normal users can't see into it to get membership but they
can at least enumerate the groups so the GAL doesn't have "holes" in it. We
found that if the group existed and Exchange could see it but people couldn't
see it then Exchange would present a GAL with blank spots where the groups
should be. Not only that, but if you select one of those blank spots with O2K,
you actually crash O2K.
The set up was this. One OU, call it NAEX. Within that
OU you have three groups call them ConfRooms-NAEX-Admins (gg),
ConfRooms-NAEX-Reviewers (ug), ConfRooms-NAEX-Editors (ug) (note the naming
scheme folks!). The OU has inheritence blocked (with perm copy). Then entries
for everything but Ent Admins, Dom Admins, Admins, System, and Exchange
Enterprise Servers are deleted. Then added is authenticated users LC
on this and all children objects. ConfRooms-NAEX-Admins gets LC, READ
PROPERTY for this and all children. It also gets Write Prop for member attribute
on groups....
This all works stellar in test. Works great in
production in limited pilot testing.
Then it breaks when we try to go live for real with
it... Seems you try to assign the DLs to a calendar or other Role on a folder
and you either get an error saying the client can't apply the permission or the
DL just disappears from the list when you click apply. You click enough times
and the change eventually will occur and sticks on the mailbox just fine... Very
inconsistent was the only thing we could say. Now this is all confusing because
the permission is set on the store and the client can read the group or else it
couldn't display it to even set it. We have had issues with updating values in
AD because of bad GC selection on the part of the client but since this is the
store, the GCs shouldn't come into it...
Well after chasing through the issue it finally becomes
apparent that the Exchange Servers don't have permissions to read the group
attributes for some reason. I go in and force an Exchange server to use a
specific GC, one its domain, and voila everything works. I force it to use a GC
in another domain and voila, it breaks. It works, it break, it works, it breaks.
Ok that proved out a GC connection...
To cut it short [1], you see, the Exchange Enterprise
Servers groups are DLGs. They are what give Exchange rights to read/write
things, if they aren't in working then it is whatever is granted by Everyone
(pre-windows 2000...) or by Authenticated Users. The mail server was hitting a
GC that was in a domain other than where the groups were defined and the mail
server was a member of. This means that the Exchange Enterprise Server DLGs from
the other domain were worthless for granting access and the Exchange servers
could only access what was granted to Everyone or Authenticated Users... Since
we were locking this OU down from those groups, Exchange had no permissions to
read the attributes of the groups it needed to read.
The solution ended up being adding ACEs for LC and Read
Property for this and all children for the Exchange Domain Server global groups
of the domains that had mailbox servers onto the secure OU. Another possible
solution would have been to convert the Exchange Enterprise Server groups to
UGs.
This was tremendous fun to figure out...
heh.
So anyway, ANYONE who is looking to lock their
directories down to prevent users from casual browsing of their directory needs
to keep this in mind if they have multiple domains and Exchange. A single domain
exchange deployment would never see this problem. Yet another reason, in my
opinion, for a separate single domain forest Exchange deployment to folks with
multiple user domains...
Hope this helps at least one person out there at some
point.
[1] This was 18 hours of troubleshooting all
told, more if you count the 3 PSS guys and the other company guy besides me
working through the problem.
-------------
http://www.joeware.net (download joeware)
http://www.cafeshops.com/joewarenet (wear joeware)
|
- RE: [ActiveDir] [Slightly OT] Exchange... GRILLENMEIER,GUIDO (HP-Germany,ex1)
- RE: [ActiveDir] [Slightly OT] Exc... joe
- Re: [ActiveDir] [Slightly OT] Exc... Brent Westmoreland
- RE: [ActiveDir] [Slightly OT] Exc... Eric Fleischman
- RE: [ActiveDir] [Slightly OT] Exc... GRILLENMEIER,GUIDO (HP-Germany,ex1)
- RE: [ActiveDir] [Slightly OT] Exc... GRILLENMEIER,GUIDO (HP-Germany,ex1)
- joe
