Backup e restore clientless network-only de directory services no Linux: Microsoft Active Directory (Server 2012 R2 → 2025, Samba AD DC), OpenLDAP (slapd 2.4/2.5/2.6), 389 Directory Server / Red Hat DS / FreeIPA. Status: v0.1.0 DRAFT / pre-release.
Documento técnico complementar à página do plugin PodHeitor AD/LDAP.
1. Problema: backup de AD/LDAP requer agente Windows ou hacks LDIF
Backup de Active Directory tradicional força um dos seguintes paths:
- Agente em Domain Controller Windows (Bacula Enterprise, Veeam, Commvault) — exige instalação privilegiada num DC produção, vulnerabilidade de superfície ampla.
- Script
ntdsutil ifmagendado, snapshot dontds.dit, e backup de filesystem — operacionalmente frágil, não pega SYSVOL/GPO de forma sincronizada, sem PITR. - Para OpenLDAP / 389 DS, scripts
slapcat/db2ldifem cron — gera LDIF gigante diariamente, sem incrementais reais, sem replicação.
O PodHeitor AD/LDAP é clientless network-only: o cdylib roda no host Linux do FD, conecta ao directory via LDAP/LDAPS, e captura tanto schema quanto data via DirSync (AD) ou syncrepl RFC 4533 (OpenLDAP/389 DS) — sem instalar nada no DC.
2. Modelo arquitetural
Pure-Rust cdylib metaplugin carregado diretamente pelo bacula-fd, falando com seu engine in-process de backup/restore via PTCOMM Path-A. Sem C/C++ shim, sem processo sidecar. Esta é uma exceção arquitetural ao padrão PodHeitor de cdylib + backend — o LDAP é leve o suficiente para rodar inteiro in-process, e a redução de complexidade vale.
Artefato: target/release/libpodheitor_adldap_fd.so, instalado em /opt/bacula/plugins/podheitor-adldap-fd.so.
3. Modos de backup (v0.1.0)
| Modo | Mecanismo |
|---|---|
ldap |
OpenLDAP / 389 DS / FreeIPA via syncrepl RFC 4533 |
ad |
Microsoft AD via DirSync (LDAP control 1.2.840.113556.1.4.841) |
replicate |
Replicação live directory-to-directory (cross-vendor) |
cdp |
Continuous Data Protection com RPO bounded |
hybrid_sysvol |
SYSVOL/GPO incluído via libsmbclient-rs — captura sincronizada de directory + GPO |
4. Modos de restore
| Modo | Granularidade |
|---|---|
object |
Objeto único (user, computer, group) |
subtree |
Subtree LDAP completa |
attribute |
Atributo único de objeto único |
authoritative |
Restore autoritativo (force replication out) |
dry_run |
Preview sem aplicar |
diff |
Diff entre estado backup e estado live |
5. Diferenciais técnicos
- Incremental verdadeiro via syncrepl RFC 4533 (LDAP) + DirSync (AD) — não brute-force diff de dump.
- SYSVOL/GPO incluído no modo
hybrid_sysvolvia libsmbclient-rs — directory state + GPO state capturados num só job. - Replicação cross-vendor live directory-to-directory — útil para migração AD → OpenLDAP ou DR de FreeIPA para 389 DS.
- CDP com RPO bounded — janela de perda configurável.
- Encryption at-rest — AES-256-GCM ou ChaCha20-Poly1305 escolhível por job.
- Brazilian Unicode hardened — gate NFC/NFD pt-BR Smoke Gate em CI; nomes com acentos não corrompem na chain backup → restore.
- JSON-Lines logging + métricas Prometheus textfile — observabilidade out-of-the-box.
6. Plataformas suportadas
- Microsoft Active Directory: Server 2012 R2 → 2025, Samba AD DC
- OpenLDAP: slapd 2.4 / 2.5 / 2.6
- 389 Directory Server / Red Hat DS / FreeIPA
- (Stretch) ApacheDS, OpenDJ — best-effort via modo genérico
ldap
7. License posture
Proprietary — Copyright (c) 2026 Heitor Faria, all rights reserved. Não vincula estaticamente nenhum source AGPLv3 do Bacula. O cdylib é puro Rust com binding via crate bacula-fd-abi in-house e extern "C" independente.
Pronto para acompanhar a alpha?
Trial gratuito de 30 dias para deployments AD/LDAP qualificados após release v0.1.0. Garantimos no mínimo 50% de desconto vs Bacula Enterprise, Veeam ou Commvault, com mais funcionalidades — incluindo replicação cross-vendor e hybrid_sysvol que nenhum competidor entrega out-of-the-box.
Heitor Faria — Fundador, PodHeitor International
✉ [email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
🔗 Página do plugin PodHeitor AD/LDAP
Disponível em:
Português
English (Inglês)
Español (Espanhol)