0x02 ntds.dit深入剖析
Active Directory域数据库存储在ntds.dit文件中(默认情况下存储在c:\ Windows \ NTDS中,但通常存储在其他逻辑驱动器上)。AD数据库是一个Jet数据库引擎,它使用可扩展存储引擎(ESE)提供数据存储和索引服务。通过ESE级别索引,可以快速定位对象属性。ESE确保数据库符合ACID(原子,一致,隔离和持久)–事务中的所有操作都已完成或不执行。AD ESE数据库非常快速且可靠。
注意:Microsoft还将Jet数据库用于Exchange邮箱数据库。
Active Directory通过基于LRU-K算法的缓存将部分ntds.dit文件加载到(LSASS保护的)内存中,以确保最常访问的数据在内存中,以提高性能,从而第二次提高读取性能。数据库更改是在内存中执行的,然后写入事务日志,然后稍后对数据库文件进行延迟提交。检查点文件(edb.chk)会跟踪到此刻写入的事务。