These are just some notes I made while reading about Kerberos and Active Directory. They aren’t very technical or well-edited and probably have plenty of errors. Read at your peril!
Domain controller (DC) authenticates and authorises users and computers in the domain
AD implements LDAP (lightweight directory access protocol) (not 100%, there are exceptions)
Stores network objects:
resources (machines, printers)
security principles (user/computer accounts and groups)
Objects have many different attributes
Schema can be extended and modified by administrators
Hierarchical:
A domain is a group of network objects
A tree is a collection of domains and domain trees, linked by a trust hierarchy
A forest is a collection of trees with a common schema, structure and configuration - used as the security boundary
Objects in a domain can be grouped into Organizational Units (OUs). OUs give hierarchy to a domain. OUs should be used for structure instead of domains or sites.
Duplicate usernames are an issue. Can’t have duplicate usernames in a single domain. This is why you get names like DOMAIN\scottbe123.
OUs aren’t used for access permissions (specific to AD, other directory services support this). Shadow groups are used for this, usually via third party tooling to map a group to an OU.
Physical structure:
Sites are common across the forest - independent of the domain/OU structure
Sites are physical groupings based on 1+ IP subnets
Include concept of connections between sites
Sites are used to control replication between domain controllers and refering clients to the nearest DC
AD info is replicated across peer DCs, each DC has a copy of the AD
AD uses DNS and TCP/IP, each connection -> link has a cost (speed - the type of connection). This determines the network topology and replication strategy
Replication:
Generally networks using AD will have more than one DC for failover
DCs should be single-purpose - other services on the machine can interfere with AD
virtualisation can help with reducing hardware costs
Applications can access AD features using COM interfaces - Active Directory Service Interfaces
Trusts:
Allow users in one domain to access resources in another. Lots of different trust types.
There are also forest-level trusts
Interoperability with *nix systems can be done via LDAP but that doesn’t include all of the features of AD. There are third party AD integration applications including Samba which can act as a DC.