diff --git a/README.md b/README.md index 3ee9d817..7146e1a5 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,43 @@ -# www.archline.hu — tiszta baseline +# www.archline.hu — clean baseline (constituents + generator) -Ez a repó a **www.archline.hu** (Cadline, Joomla 3.8.11, host `tanis.cadline.hu`) -webdocroot **tiszta, deploy-olható baseline-ja** — a 2026 nyári webszerver-kompromittálódás -utáni, malware-mentes, karbantartható forrásállapot. +This repo produces the **clean code baseline** of the www.archline.hu docroot +(Cadline, Joomla 3.8.11, host `tanis.cadline.hu`) — the post-compromise, malware-free, +faithful reproduction of the live server's source files. The baseline is the **input** +to the operator's HIDS baseline-diff verifier (per-vhost known-good reference); the +verification itself runs there, not here. -## Mi a baseline +## Model: constituents + a generator script (not a checked-out tree) -A baseline = **kizárólag a mi kódunk**, deploy-olható állapotban: +A deployed Joomla docroot differs from any repo/source layout: extensions install their +files across many docroot paths (`administrator/…`, `components/…`, `media/…`, +`plugins/…`) via their manifest. So this repo stores the baseline **constituents** and a +script **assembles** the deployed baseline: -> üres szerver + baseline + adat = működő szerver +``` +./build-baseline.sh # → out/ = the deployed CODE docroot (the baseline) +``` -Egy webdocroot ↔ egy git-repó. A baseline NEM tartalmaz adatot (feltöltések, DB-dump, -cache) és NEM tartalmaz malware-t. A live rendszer = `baseline ∪ adat ∪ malware ∪ residual`; -a prod web-HIDS a live-t ehhez a baseline-hoz diffeli, és amit a baseline nem magyaráz meg, -az takarítási / vizsgálati cél. +- `core/` — Joomla 3.8.11 official package (deployed form). +- `packages//` — upstream-obtainable extensions; the pristine package is + manifest-mapped to deployed paths by `lib/jmap.py`, then our legit delta + (`cadline.patch`) is applied — so git history shows exactly how we differ from upstream. +- `deployed//` — no-source extensions: vetted live files, placed directly. +- `cadline//` — Cadline own-code (+ submodules for the deployed-layout Cadline repos). +- `overrides/` — Cadline core modifications as patches on vanilla. +- Malware (`malware-iocs.md`) and runtime data are excluded; the result is code only. -## Miért épült újra +See [`RUNBOOK.md`](RUNBOOK.md) for the build recipe and module inventory, +[`PROVENANCE.md`](PROVENANCE.md) for per-extension origins, and +[`malware-iocs.md`](malware-iocs.md) for the excluded IOC set. -A live Joomla-core **aktívan kompromittált** (credential-lopó, injektált core-fájlok, -droppolt backdoorok — lásd az incidens-leletet). Egy korábbi felderítés a becsült -malware-mentes állapotot **egyetlen nagy commitban** rögzítette; az így kapott monolit -**karbantarthatatlan** (nincs upstream-provenance, nincs modul-határ, nem újrajátszható). +## Authority -Ez a repó ugyanazt a végállapotot **reprodukálhatóan, commitonként** állítja elő: -tiszta Joomla-upstream + modulok (submodule ahol van git-upstream, forrás-bemásolás ahol -nincs) + a Cadline-egyedi kód és core-módosítások — minden lépés külön commit, review-zható. +The live docroot (RO mirror) is the source of truth — the goal is its faithful, +malware-free reproduction. The earlier single-commit "monolith" baseline is an +unvalidated helper only (it dropped extension manifests and clean core files and kept +installer junk); it is not a target. -## Struktúra +## References -- **`main`** — ez a README (a baseline-repó belépője). -- **build-branch** — a reprodukálható rekonstrukció commit-sora: - 1. vanilla Joomla-core (upstream remote-ból behúzva, nem bemásolva), - 2. git-upstream modulok submodule-ként (egy modul = egy commit), - 3. git-ben már nem elérhető modulok forrás-bemásolása (egy modul = egy commit), - 4. a Cadline-egyedi kód és a saját core-módosítások (egy módosítás = egy commit). - -A végállapot a live forráskód malware-módosítások nélküli, tiszta megfelelője. - -## Hivatkozások - -- Audit + baseline-munkamódszer: `cadline/infra` — `docs/audit/archline-hu-2026/` -- Per-vhost baseline tracking: cadline/infra#47 -- Incidens-lelet: cadline/infra#17 +- The archline.hu 2026 security audit and incident analysis (operator-held). +- The baseline is consumed by the operator's per-vhost HIDS baseline-diff verifier.