docs: Management-Report-Entwuerfe 2026-09-29 (Dummy)
Die fuenf im Umsetzungsplan referenzierten HTML-Entwuerfe mit ihren lokalen Assets (Inter, Icon) als Beleg der Phase-7-Planeintraege. Nur Daten des freigegebenen Dummy-Clients; keine externen Ressourcen, keine Skripte. Das Icon ist trotz *.png-Regel gezielt aufgenommen. Lokale Download-ZIPs werden per .gitignore ausgeschlossen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
efec1f593a
commit
e933a9b421
|
|
@ -17,3 +17,6 @@ vite.config.d.ts
|
|||
.claude/scheduled_tasks.lock
|
||||
.codex-patches/
|
||||
.tmp/
|
||||
|
||||
# Lokale Download-Pakete von Reportentwuerfen (Inhalt liegt als HTML + reports/assets/ vor)
|
||||
reports/*.zip
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
Binary file not shown.
|
|
@ -0,0 +1,194 @@
|
|||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>ASSESSOR · Management Report · Dummy · 29.09.2026</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
src: url("assets/inter-latin.woff2") format("woff2");
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
}
|
||||
:root {
|
||||
--ink: #17171c;
|
||||
--muted: #5c6069;
|
||||
--line: #cfcfd8;
|
||||
--paper: #fff;
|
||||
--surface: #f5f5f7;
|
||||
--navy: #123047;
|
||||
--amber: #e9a63c;
|
||||
--orange: #df752d;
|
||||
--red: #b82446;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; background: #e7e7eb; color: var(--ink); font: 400 14px/1.46 Inter, Arial, sans-serif; }
|
||||
.page { width: 210mm; min-height: 297mm; margin: 16px auto; padding: 12mm 16mm 11mm; background: var(--paper); display: flex; flex-direction: column; }
|
||||
.mast { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--navy); }
|
||||
.brand { display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: 19px; font-weight: 700; letter-spacing: .06em; }
|
||||
.brand img { width: 31px; height: 31px; object-fit: contain; }
|
||||
.mast-note { color: var(--navy); text-align: right; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
|
||||
.kicker { margin: 20px 0 7px; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
|
||||
h1 { margin: 0; max-width: 590px; color: var(--navy); font-size: 31px; line-height: 1.12; font-weight: 600; }
|
||||
h2 { margin: 0 0 10px; color: var(--navy); font-size: 18px; line-height: 1.25; font-weight: 600; }
|
||||
h3 { margin: 0 0 7px; color: var(--navy); font-size: 16px; line-height: 1.25; font-weight: 600; }
|
||||
p { margin: 0 0 8px; }
|
||||
.subtitle { margin: 10px 0 15px; color: var(--muted); }
|
||||
.report-meta { display: flex; gap: 18px; padding: 8px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
||||
.report-meta strong { color: var(--ink); font-weight: 600; }
|
||||
.statement { margin: 19px 0 22px; padding: 15px 18px; border-left: 5px solid var(--red); background: var(--surface); }
|
||||
.statement .label { display: block; margin-bottom: 6px; color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
||||
.statement p { margin: 0; font-size: 17px; line-height: 1.4; }
|
||||
.section { margin-top: 3px; }
|
||||
.risk-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
||||
.risk-table th { padding: 8px 9px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 600; text-align: left; }
|
||||
.risk-table td { padding: 10px 9px; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 13px; }
|
||||
.risk-table td:first-child { color: var(--navy); font-weight: 600; }
|
||||
.risk-table td:last-child { color: var(--muted); }
|
||||
.evidence-visuals { margin-top: 23px; }
|
||||
figure { min-width: 0; margin: 0; padding-top: 12px; border-top: 2px solid var(--navy); }
|
||||
figcaption { color: var(--navy); font-size: 14px; font-weight: 600; }
|
||||
.figure-lead { margin-top: 7px; min-height: 37px; color: var(--muted); font-size: 12px; }
|
||||
.snapshot { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 15px 0 8px; border-top: 5px solid var(--orange); background: var(--surface); }
|
||||
.snapshot div { padding: 11px 9px; min-width: 0; }
|
||||
.snapshot div + div { border-left: 1px solid var(--line); }
|
||||
.snapshot strong { display: block; color: var(--navy); font-size: 19px; font-weight: 600; line-height: 1.25; }
|
||||
.snapshot span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
|
||||
.figure-note { margin-top: 12px; color: var(--muted); font-size: 11px; }
|
||||
.context { margin-top: 21px; padding: 12px 15px; border-left: 3px solid var(--amber); background: var(--surface); }
|
||||
.context h2 { margin-bottom: 5px; font-size: 15px; }
|
||||
.context p { margin: 0; }
|
||||
.foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--navy); display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
|
||||
.foot strong { color: var(--navy); font-weight: 600; }
|
||||
.page-two .subtitle { margin-bottom: 24px; }
|
||||
.assessment { display: grid; grid-template-columns: 41mm 1fr; gap: 13px; padding: 16px 0; border-top: 1px solid var(--line); }
|
||||
.assessment:first-of-type { border-top: 2px solid var(--navy); }
|
||||
.assessment .kind { color: var(--orange); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
||||
.assessment h2 { margin-top: 4px; }
|
||||
.assessment p:last-child { margin-bottom: 0; }
|
||||
.assessment .limit { color: var(--muted); }
|
||||
.open-points { margin-top: 20px; padding: 15px 17px; background: var(--surface); border-top: 2px solid var(--navy); }
|
||||
.open-points h2 { margin-bottom: 8px; }
|
||||
.open-points ul { margin: 0; padding-left: 18px; }
|
||||
.open-points li { margin: 0 0 7px; }
|
||||
.open-points li:last-child { margin-bottom: 0; }
|
||||
.scope { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
||||
.scope strong { color: var(--ink); font-weight: 600; }
|
||||
@media (max-width: 800px) {
|
||||
body { background: var(--paper); }
|
||||
.page { width: auto; min-height: 0; margin: 0; padding: 18px 16px 26px; }
|
||||
.page + .page { border-top: 9px solid var(--surface); }
|
||||
.assessment { grid-template-columns: 1fr; gap: 3px; }
|
||||
.report-meta { flex-wrap: wrap; }
|
||||
h1 { font-size: 27px; }
|
||||
}
|
||||
@page { size: A4; margin: 0; }
|
||||
@media print {
|
||||
body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
|
||||
.page { margin: 0; break-after: page; }
|
||||
.page:last-child { break-after: auto; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<section class="page" aria-labelledby="report-title">
|
||||
<header class="mast">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt="">ASSESSOR</div>
|
||||
<div class="mast-note">Management Report<br>Vertraulich</div>
|
||||
</header>
|
||||
<p class="kicker">Identität und Wiederanlauf</p>
|
||||
<h1 id="report-title">Sicherheitslage der Identitätsinfrastruktur</h1>
|
||||
<p class="subtitle">Verdichtete Einordnung der im ASSESSOR gespeicherten Ergebnisse für den Dummy-Mandanten.</p>
|
||||
<div class="report-meta">
|
||||
<span><strong>Umgebung:</strong> sevenkingdoms.local</span>
|
||||
<span><strong>Berichtsstand:</strong> 29. September 2026</span>
|
||||
<span><strong>Vergleich:</strong> Erstbewertung</span>
|
||||
</div>
|
||||
|
||||
<div class="statement">
|
||||
<span class="label">Gesamteinordnung</span>
|
||||
<p>Die vorliegenden Ergebnisse zeigen erhebliche Risiken für privilegierte Identitäten und den Wiederanlauf des Active Directory. Eine aktive Kompromittierung ist damit nicht nachgewiesen.</p>
|
||||
</div>
|
||||
|
||||
<section class="section" aria-labelledby="risk-title">
|
||||
<h2 id="risk-title">Betriebliche Risikobereiche</h2>
|
||||
<table class="risk-table">
|
||||
<colgroup><col style="width:25%"><col style="width:43%"><col style="width:32%"></colgroup>
|
||||
<thead><tr><th scope="col">Bereich</th><th scope="col">Beobachtung</th><th scope="col">Mögliche Folge</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Privilegierte Identitäten</td><td>Geänderte Rechte an einem besonders geschützten AD-Objekt, auffällige Admin-Aktivität und Schwächen in der Zertifikatsinfrastruktur.</td><td>Unbefugte Ausweitung von Rechten mit Wirkung auf AD-abhängige Dienste.</td></tr>
|
||||
<tr><td>Wiederanlauf</td><td>Ein Domänencontroller erfasst; als letztes AD-Backup wurde bei der Erhebung der 27. Mai 2026 gemeldet. Ein Wiederherstellungstest ist in den Scandaten nicht belegt.</td><td>Längere Unterbrechung von Anmeldung und Berechtigungsprüfung bei einem AD-Ausfall.</td></tr>
|
||||
<tr><td>Cloud-Identität</td><td>Abweichungen beim Schutz privilegierter Anmeldungen und bei risikobasierten Zugriffsregeln.</td><td>Erhöhte Exposition administrativer Cloud-Zugänge; Umfang nur eingeschränkt beurteilbar.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<div class="evidence-visuals">
|
||||
<figure aria-labelledby="backup-chart">
|
||||
<figcaption id="backup-chart">AD-Wiederanlauf: erfasster Zustand</figcaption>
|
||||
<p class="figure-lead">Bestandsangaben zum Zeitpunkt der jeweiligen Erhebung.</p>
|
||||
<div class="snapshot" role="img" aria-label="Ein Domänencontroller erfasst; zuletzt gemeldetes AD-Backup vom 27. Mai 2026">
|
||||
<div><strong>1</strong><span>Domänencontroller erfasst</span></div>
|
||||
<div><strong>27.05.2026</strong><span>zuletzt gemeldetes AD-Backup</span></div>
|
||||
</div>
|
||||
<p class="figure-note">Aus diesen Angaben folgt nicht, ob nach der Erhebung weitere Sicherungen erstellt wurden. Ein erfolgreicher Restore ist nicht belegt.</p>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
<aside class="context" aria-labelledby="context-title">
|
||||
<h2 id="context-title">Betriebliche Einordnung</h2>
|
||||
<p>AD-Anmeldung und Berechtigungen sind unmittelbar relevant. Welche geschäftskritischen Dienste sowie OT-Prozesse davon abhängen, ist in den vorliegenden Daten nicht erfasst.</p>
|
||||
</aside>
|
||||
<footer class="foot"><span><strong>ASSESSOR 2.9.0</strong> · Dummy-Datenbestand · vertraulicher Entwurf</span><span>1 / 2</span></footer>
|
||||
</section>
|
||||
|
||||
<section class="page page-two" aria-labelledby="analysis-title">
|
||||
<header class="mast">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt="">ASSESSOR</div>
|
||||
<div class="mast-note">Management Report<br>Vertraulich</div>
|
||||
</header>
|
||||
<p class="kicker">Begründung und Aussagegrenzen</p>
|
||||
<h1 id="analysis-title">Einordnung der wesentlichen Risiken</h1>
|
||||
<p class="subtitle">Die Szenarien beschreiben mögliche betriebliche Folgen. Die technische Ausnutzung und konkrete Dienstauswirkungen wurden nicht nachgewiesen.</p>
|
||||
|
||||
<article class="assessment">
|
||||
<div><span class="kind">Integrität</span><h2>Privilegierte AD-Rechte</h2></div>
|
||||
<div>
|
||||
<p>Eine Änderung an den Rechten eines besonders geschützten AD-Objekts und auffällige administrative Aktivität sind dokumentiert. Weitere Befunde betreffen Zertifikatsvorlagen, Web Enrollment und Delegationsrechte. Zusammen ergibt sich ein plausibles Risiko unbefugter Rechteausweitung.</p>
|
||||
<p class="limit">Ob die Änderung autorisiert war, ob die Beobachtungen zusammenhängen und ob Rechte tatsächlich missbraucht wurden, ist offen. Eine Kompromittierung darf daraus nicht abgeleitet werden.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="assessment">
|
||||
<div><span class="kind">Verfügbarkeit</span><h2>AD-Wiederanlauf</h2></div>
|
||||
<div>
|
||||
<p>Im erfassten Zustand besteht keine Redundanz des Domänencontrollers. Als letztes AD-Backup wurde bei der Erhebung der 27.05.2026 gemeldet. Ein Ausfall könnte die Anmeldung und Berechtigungsprüfung der abhängigen Dienste erheblich beeinträchtigen.</p>
|
||||
<p class="limit">Spätere Sicherungen und eine praktisch geprüfte Wiederherstellung gehen aus dem Datenstand nicht hervor. Die tatsächliche Wiederanlaufzeit kann nicht beziffert werden.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="assessment">
|
||||
<div><span class="kind">Cloud-Zugang</span><h2>Administrative Konten</h2></div>
|
||||
<div>
|
||||
<p>Die Ergebnisse weisen auf Lücken bei phishingresistenter Mehrfaktor-Authentifizierung und risikobasierten Zugriffsregeln hin. Damit ist die Absicherung privilegierter Cloud-Anmeldungen nicht hinreichend belegt.</p>
|
||||
<p class="limit">169 von 318 importierten Cloud-Prüfungen wurden zum Scanzeitpunkt nicht ausgeführt; zwei weitere blieben ohne Bewertung. Vorhandene Gegenkontrollen und die Reichweite der Abweichungen sind daher nicht vollständig beurteilt.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<section class="open-points" aria-labelledby="open-title">
|
||||
<h2 id="open-title">Für die Managementbewertung noch offen</h2>
|
||||
<ul>
|
||||
<li>Einordnung der AD-Rechteänderung und der auffälligen Admin-Aktivität anhand von Change- und Ereignisnachweisen.</li>
|
||||
<li>Nachweis eines aktuellen, nutzbaren AD-Backups und einer getesteten Wiederherstellung.</li>
|
||||
<li>Zuordnung geschäftskritischer Dienste und möglicher OT-Abhängigkeiten zur Identitätsinfrastruktur.</li>
|
||||
</ul>
|
||||
</section>
|
||||
<p class="scope"><strong>Datenbasis:</strong> Gespeicherte ASSESSOR-Ergebnisse des Dummy-Mandanten bis 29.09.2026. Die Erhebung ist kein synchroner Rescan und erlaubt keinen belastbaren Vorher-nachher-Vergleich. Technische Einzelbelege und Originalwerte sind in ASSESSOR Work und Results verfügbar.</p>
|
||||
<footer class="foot"><span><strong>ASSESSOR 2.9.0</strong> · Dummy-Datenbestand · vertraulicher Entwurf</span><span>2 / 2</span></footer>
|
||||
</section>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Management Report · Dummy</title>
|
||||
<style>
|
||||
@font-face{font-family:"Inter";src:url("assets/inter-latin.woff2") format("woff2");font-weight:100 900;font-style:normal}
|
||||
:root{
|
||||
--surface-app:#F1F1F4;--paper:#FFFFFF;--tile-surface:#F5F5F7;--tile-border:#DCDDE3;--tile-divider:#E2E2E8;
|
||||
--text-primary:#17171C;--text-secondary:#55555F;--text-muted:#74747F;--marking-color:#E9A63C;
|
||||
--outcome-fail:#C60F3E;--outcome-pass:#187447;--neutral:#B9BEC7;--donut-track:#B9BEC7;--donut-value:#1C70C9;
|
||||
--panel-inset:20px;--marker-width:3px;
|
||||
}
|
||||
@media (prefers-color-scheme:dark){:root{
|
||||
--surface-app:#242426;--paper:#2A2A2E;--tile-surface:#323238;--tile-border:transparent;--tile-divider:rgba(255,255,255,.14);
|
||||
--text-primary:#E2DFE6;--text-secondary:#B7BAC0;--text-muted:#9A9DA4;
|
||||
--outcome-fail:#F2607F;--outcome-pass:#63D69A;--neutral:#555B65;--donut-track:#555B65;--donut-value:#348CF2;}}
|
||||
*{box-sizing:border-box}
|
||||
html,body{background:var(--surface-app)}
|
||||
body{margin:0;font-family:"Inter",system-ui,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;color:var(--text-primary)}
|
||||
.doc{max-width:960px;margin:32px auto;background:var(--paper);padding:48px 56px}
|
||||
h1{font-size:32px;font-weight:600;line-height:1.2;margin:0 0 4px}
|
||||
h2{font-size:24px;font-weight:600;margin:0 0 16px}
|
||||
h3{font-size:18px;font-weight:600;margin:0}
|
||||
p{margin:0 0 12px}
|
||||
section{margin-top:48px}
|
||||
.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
|
||||
.brand img{width:28px;height:28px} .brand .sep{flex:1}
|
||||
.badge{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid var(--tile-border);background:var(--tile-surface)}
|
||||
.badge--draft{border-color:var(--marking-color)}
|
||||
.titleblock{margin:36px 0 24px} .titleblock p{font-size:18px;color:var(--text-secondary);margin:0}
|
||||
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--tile-border);background:var(--tile-surface);margin:0}
|
||||
.facts div{padding:12px 16px;border-right:1px solid var(--tile-divider);border-bottom:1px solid var(--tile-divider)}
|
||||
.facts div:nth-child(3n){border-right:0} .facts div:nth-last-child(-n+3){border-bottom:0}
|
||||
.facts dt{font-size:14px;color:var(--text-secondary)} .facts dd{margin:2px 0 0}
|
||||
.kpis{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}
|
||||
.kpi{background:var(--tile-surface);border:1px solid var(--tile-border);padding:var(--panel-inset);display:flex;flex-direction:column;justify-content:center}
|
||||
.kpi .v{font-size:32px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
|
||||
.kpi .l{font-size:14px;color:var(--text-secondary);margin-top:6px}
|
||||
.donut{position:relative;width:132px;height:132px;margin:0}
|
||||
.donut svg{width:100%;height:100%;display:block}
|
||||
.donut circle{fill:none;stroke-width:12px;stroke-linecap:butt}
|
||||
.donut .track{stroke:var(--donut-track)} .donut .value{stroke:var(--donut-value)}
|
||||
.donut figcaption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
|
||||
.donut .num{font-size:28px;font-weight:600;line-height:1} .donut .num span{font-size:14px;font-weight:400;color:var(--text-secondary)}
|
||||
.donut .cap{font-size:12px;color:var(--text-secondary);margin-top:4px}
|
||||
.chart{margin:0 0 20px;background:var(--tile-surface);border:1px solid var(--tile-border);padding:var(--panel-inset)}
|
||||
.chart svg{width:100%;height:auto;display:block}
|
||||
.chart figcaption{font-size:14px;color:var(--text-secondary);margin-top:14px}
|
||||
.chart figcaption b{color:var(--text-primary);font-weight:600}
|
||||
svg text{font-family:inherit;fill:var(--text-primary);font-size:14px;white-space:pre}
|
||||
svg .ax{font-size:12px;fill:var(--text-secondary)} svg .val{fill:var(--text-secondary)} svg .strong{fill:var(--text-primary);font-weight:600}
|
||||
svg .grid{stroke:var(--paper);stroke-width:1.5}
|
||||
svg .pass{fill:var(--outcome-pass)} svg .fail{fill:var(--outcome-fail)} svg .na{fill:var(--neutral)}
|
||||
.focus{list-style:none;padding:0;margin:0}
|
||||
.focus li{padding:4px 0 4px 14px;border-left:var(--marker-width) solid var(--tile-border);margin:0 0 6px}
|
||||
.finding{border:1px solid var(--tile-border);background:var(--tile-surface);padding:var(--panel-inset);margin:0 0 16px;break-inside:avoid}
|
||||
.finding header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}
|
||||
.finding .domain{font-size:12px;color:var(--text-secondary);text-align:right}
|
||||
.block{padding-left:14px;border-left:var(--marker-width) solid var(--tile-border);margin:0 0 12px}
|
||||
.block:last-child{margin-bottom:0} .block p:last-child{margin:0}
|
||||
.block--fact{border-left-color:var(--outcome-fail)}
|
||||
.label{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 2px}
|
||||
table{width:100%;border-collapse:collapse;font-size:14px}
|
||||
td{padding:10px;border-bottom:1px solid var(--tile-divider);vertical-align:top}
|
||||
td b{font-weight:600}
|
||||
footer{margin-top:48px;padding-top:12px;border-top:1px solid var(--tile-divider);font-size:12px;color:var(--text-muted);display:flex;justify-content:space-between;gap:16px}
|
||||
@media (max-width:760px){
|
||||
.doc{margin:0;padding:24px 16px}
|
||||
.facts{grid-template-columns:1fr 1fr} .facts div{border-right:1px solid var(--tile-divider)!important;border-bottom:1px solid var(--tile-divider)!important}
|
||||
.kpis{grid-template-columns:1fr 1fr}
|
||||
.finding header{flex-direction:column;gap:4px} .finding .domain{text-align:left}
|
||||
}
|
||||
@page{size:A4;margin:18mm 16mm}
|
||||
@media print{html,body{background:#fff} .doc{margin:0;padding:0;max-width:none} section.pb{break-before:page} h2,h3{break-after:avoid} .chart,.kpi{break-inside:avoid}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="doc">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt=""><span>ASSESSOR · Management Report</span><span class="sep"></span><span class="badge badge--draft">Entwurf</span><span class="badge">Vertraulich</span></div>
|
||||
|
||||
<div class="titleblock"><h1>Security Assessment Dummy</h1><p>Active Directory, Entra ID und Gruppenrichtlinien</p></div>
|
||||
|
||||
<dl class="facts">
|
||||
<div><dt>Auftraggeber</dt><dd>Dummy</dd></div>
|
||||
<div><dt>Domäne</dt><dd>sevenkingdoms.local</dd></div>
|
||||
<div><dt>Domain Controller</dt><dd>1</dd></div>
|
||||
<div><dt>Erhebungszeitraum</dt><dd>—</dd></div>
|
||||
<div><dt>Berichtsdatum</dt><dd>29.09.2026</dd></div>
|
||||
<div><dt>Version</dt><dd>Entwurf 0.3</dd></div>
|
||||
</dl>
|
||||
|
||||
<section>
|
||||
<h2>1 Zusammenfassung</h2>
|
||||
<div class="kpis">
|
||||
<div class="kpi" style="align-items:center"><figure class="donut" aria-label="Gesamtbewertung 37 von 100">
|
||||
<svg viewBox="0 0 128 128" aria-hidden="true"><circle class="track" cx="64" cy="64" r="52"/><circle class="value" cx="64" cy="64" r="52" stroke-dasharray="120.89 326.73" transform="rotate(-90 64 64)"/></svg>
|
||||
<figcaption><span class="num">37<span>/100</span></span></figcaption></figure><span class="l">Gesamtbewertung</span></div>
|
||||
<div class="kpi"><span class="v">998</span><span class="l">auswertbare Prüfungen</span></div>
|
||||
<div class="kpi"><span class="v">579</span><span class="l">Abweichungen (58 %)</span></div>
|
||||
<div class="kpi"><span class="v">7 von 8</span><span class="l">Security Domains mit Pass Rate unter 50 %</span></div>
|
||||
</div>
|
||||
<p>Die Gesamtbewertung der Umgebung beträgt 37 von 100 Punkten. Von 998 auswertbaren Prüfungen weichen 579 von der jeweiligen Vorgabe ab. Die Abweichungen konzentrieren sich auf folgende Bereiche:</p>
|
||||
<ul class="focus">
|
||||
<li>Privilegierte Konten und Berechtigungen</li>
|
||||
<li>Zertifikatsdienste</li>
|
||||
<li>Veraltete Authentisierungsverfahren</li>
|
||||
<li>Anmeldeschutz der Cloud-Identitäten</li>
|
||||
<li>Härtung des Domain Controllers</li>
|
||||
<li>Verfügbarkeit, Sicherung und Protokollierung</li>
|
||||
</ul>
|
||||
<p style="margin-top:16px">In den Bereichen privilegierte Konten und Zertifikatsdienste bestehen Konfigurationen, über die administrative Rechte in der Domäne erlangt werden können. Für einen Teil der festgestellten Berechtigungsänderungen ist offen, ob sie autorisiert sind.</p>
|
||||
</section>
|
||||
|
||||
<section class="pb">
|
||||
<h2>2 Gesamtbewertung</h2>
|
||||
<figure class="chart"><svg viewBox="0 0 800 56" role="img" aria-labelledby="f1t"><title id="f1t">Ergebnis der auswertbaren Prüfungen</title><rect class="pass" x="0.0" y="0" width="335.9" height="18"/><rect class="fail" x="335.9" y="0" width="464.1" height="18"/><rect class="pass" x="0" y="37" width="12" height="12"/><text class="val" x="18" y="48"><tspan class="strong">419</tspan> Bestanden (42 %)</text><rect class="fail" x="300" y="37" width="12" height="12"/><text class="val" x="318" y="48"><tspan class="strong">579</tspan> Abweichung (58 %)</text></svg>
|
||||
<figcaption><b>Abbildung 1</b> · Ergebnis der 998 auswertbaren Prüfungen. 175 weitere Prüfungen wurden nicht ausgeführt, waren nicht anwendbar oder fehlerhaft und gehen nicht in die Bewertung ein.</figcaption></figure>
|
||||
<figure class="chart"><svg viewBox="0 0 800 358" role="img" aria-labelledby="f2t"><title id="f2t">Pass Rate je Security Domain</title><text class="ax" x="250" y="14">0 %</text><text class="ax" x="450.0" y="14" text-anchor="middle">50 %</text><text class="ax" x="650" y="14" text-anchor="end">100 %</text><text class="lbl" x="0" y="43">Identity & Account Hygiene</text><rect class="pass" x="250" y="32" width="192.0" height="14"/><rect class="fail" x="442.0" y="32" width="208.0" height="14"/><text class="val" x="664" y="43"><tspan class="strong">48 %</tspan> · 221 von 425</text><text class="lbl" x="0" y="77">Privilege & Attack Paths</text><rect class="pass" x="250" y="66" width="240.0" height="14"/><rect class="fail" x="490.0" y="66" width="160.0" height="14"/><text class="val" x="664" y="77"><tspan class="strong">60 %</tspan> · 10 von 25</text><text class="lbl" x="0" y="111">Authentication & Access</text><rect class="pass" x="250" y="100" width="104.8" height="14"/><rect class="fail" x="354.8" y="100" width="295.2" height="14"/><text class="val" x="664" y="111"><tspan class="strong">26 %</tspan> · 31 von 42</text><text class="lbl" x="0" y="145">AD Infrastructure & PKI</text><rect class="pass" x="250" y="134" width="137.5" height="14"/><rect class="fail" x="387.5" y="134" width="262.5" height="14"/><text class="val" x="664" y="145"><tspan class="strong">34 %</tspan> · 21 von 32</text><text class="lbl" x="0" y="179">System Hardening</text><rect class="pass" x="250" y="168" width="12.7" height="14"/><rect class="fail" x="262.7" y="168" width="387.3" height="14"/><text class="val" x="664" y="179"><tspan class="strong">3 %</tspan> · 61 von 63</text><text class="lbl" x="0" y="213">GPO & Baseline</text><rect class="pass" x="250" y="202" width="173.0" height="14"/><rect class="fail" x="423.0" y="202" width="227.0" height="14"/><text class="val" x="664" y="213"><tspan class="strong">43 %</tspan> · 223 von 393</text><text class="lbl" x="0" y="247">Cloud & Applications</text><rect class="pass" x="250" y="236" width="44.4" height="14"/><rect class="fail" x="294.4" y="236" width="355.6" height="14"/><text class="val" x="664" y="247"><tspan class="strong">11 %</tspan> · 8 von 9</text><text class="lbl" x="0" y="281">Monitoring & Recovery</text><rect class="pass" x="250" y="270" width="80.0" height="14"/><rect class="fail" x="330.0" y="270" width="320.0" height="14"/><text class="val" x="664" y="281"><tspan class="strong">20 %</tspan> · 4 von 5</text><text class="lbl" x="0" y="315">Nicht zugeordnet</text><rect class="pass" x="250" y="304" width="400.0" height="14"/><text class="val" x="664" y="315"><tspan class="strong">100 %</tspan> · 0 von 4</text><line class="grid" x1="450.0" y1="24" x2="450.0" y2="328"/><rect class="pass" x="250" y="341" width="12" height="12"/><text class="val" x="268" y="352">Bestanden</text><rect class="fail" x="370" y="341" width="12" height="12"/><text class="val" x="388" y="352">Abweichung</text></svg>
|
||||
<figcaption><b>Abbildung 2</b> · Pass Rate je Security Domain; Anzahl der Abweichungen von den auswertbaren Prüfungen.</figcaption></figure>
|
||||
<figure class="chart"><svg viewBox="0 0 800 272" role="img" aria-labelledby="f3t"><title id="f3t">Abweichungen je Security Domain</title><text class="lbl" x="0" y="15">Identity & Account Hygiene</text><rect class="fail" x="250" y="4" width="396.4" height="14"/><text class="val strong" x="656.4" y="15">221</text><text class="lbl" x="0" y="49">Privilege & Attack Paths</text><rect class="fail" x="250" y="38" width="17.9" height="14"/><text class="val strong" x="277.9" y="49">10</text><text class="lbl" x="0" y="83">Authentication & Access</text><rect class="fail" x="250" y="72" width="55.6" height="14"/><text class="val strong" x="315.6" y="83">31</text><text class="lbl" x="0" y="117">AD Infrastructure & PKI</text><rect class="fail" x="250" y="106" width="37.7" height="14"/><text class="val strong" x="297.7" y="117">21</text><text class="lbl" x="0" y="151">System Hardening</text><rect class="fail" x="250" y="140" width="109.4" height="14"/><text class="val strong" x="369.4" y="151">61</text><text class="lbl" x="0" y="185">GPO & Baseline</text><rect class="fail" x="250" y="174" width="400.0" height="14"/><text class="val strong" x="660.0" y="185">223</text><text class="lbl" x="0" y="219">Cloud & Applications</text><rect class="fail" x="250" y="208" width="14.3" height="14"/><text class="val strong" x="274.3" y="219">8</text><text class="lbl" x="0" y="253">Monitoring & Recovery</text><rect class="fail" x="250" y="242" width="7.2" height="14"/><text class="val strong" x="267.2" y="253">4</text></svg>
|
||||
<figcaption><b>Abbildung 3</b> · Anzahl der Abweichungen je Security Domain.</figcaption></figure>
|
||||
</section>
|
||||
|
||||
<section class="pb">
|
||||
<h2>3 Wesentliche Feststellungen</h2>
|
||||
<article class="finding"><header><h3>3.1 Privilegierte Konten und Berechtigungen</h3><span class="domain">Privilege & Attack Paths · Identity & Account Hygiene</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>Die Berechtigungen des AdminSDHolder-Objekts, das die Zugriffsrechte aller administrativen Konten vorgibt, wurden verändert. Auf dem Domain Controller und dem Kerberos-Dienstkonto krbtgt bestehen Schreibrechte für ressourcenbasierte Delegation; an privilegierten Objekten sind zusätzliche Anmeldeschlüssel (Shadow Credentials) hinterlegt. Vier administrative Konten sind nicht gegen Delegation geschützt, drei Mitglieder der Gruppe Domain Admins besitzen Kennwörter ohne Ablaufdatum. Das integrierte Administratorkonto wird aktiv verwendet; für ein Konto wurden auffällige administrative Aktivitäten erfasst.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Diese Konstellation erlaubt es, ausgehend von nicht privilegierten Konten administrative Rechte in der Domäne zu erlangen. Ob die veränderten Berechtigungen und die erfassten Aktivitäten autorisiert sind, lässt sich aus den erhobenen Daten nicht bestimmen.</p></div></article>
|
||||
<article class="finding"><header><h3>3.2 Zertifikatsdienste</h3><span class="domain">AD Infrastructure & PKI · Authentication & Access</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>Mehrere Zertifikatsvorlagen erlauben dem Antragsteller, die im Zertifikat bestätigte Identität selbst anzugeben. Eine Vorlage weist mindestens drei unsichere Einstellungen auf. Die Web-Registrierung der Zertifizierungsstelle ist nicht gegen die Weiterleitung von Anmeldungen (NTLM Relay) geschützt.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Über diese Konfiguration können Zertifikate für fremde Identitäten, einschließlich administrativer Konten, ausgestellt und zur Anmeldung genutzt werden.</p></div></article>
|
||||
<article class="finding"><header><h3>3.3 Authentisierungsverfahren</h3><span class="domain">Authentication & Access</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>Die Domain Controller akzeptieren NTLMv1 und LM, unterstützen für Kerberos die Verschlüsselungsverfahren RC4 und DES und bieten TLS 1.0 und 1.1 an. Die Namensauflösung per LLMNR ist nicht deaktiviert.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Die Verfahren gelten als veraltet und weisen bekannte Schwächen auf. Sie erleichtern das Abgreifen und Entschlüsseln von Anmeldedaten im internen Netz.</p></div></article>
|
||||
<article class="finding"><header><h3>3.4 Cloud-Identitäten</h3><span class="domain">Identity & Account Hygiene · Cloud & Applications</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>In Entra ID ist phishing-resistente Mehrfaktor-Authentisierung nicht durchgesetzt, und nicht alle Benutzer sind für Mehrfaktor-Authentisierung registriert. Risikobasierte Anmelderichtlinien bestehen nicht; Anmeldungen mit hohem Risiko werden nicht blockiert. Administrative Rollen sind teilweise synchronisierten Konten zugewiesen, ein externer Benutzer hält eine dauerhafte privilegierte Rolle, und die Zahl der globalen Administratoren liegt außerhalb des empfohlenen Bereichs.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Der Anmeldeschutz stützt sich überwiegend auf Kennwörter. Über synchronisierte administrative Konten wirkt eine Kompromittierung des lokalen Verzeichnisses auf den Cloud-Tenant fort.</p></div></article>
|
||||
<article class="finding"><header><h3>3.5 Härtung des Domain Controllers</h3><span class="domain">System Hardening · AD Infrastructure & PKI</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>Auf dem Domain Controller ist die Druckwarteschlange aktiv und aus dem Netz erreichbar. Die Windows-Firewall ist nicht wie vorgesehen aktiviert und protokolliert nicht. Eine Verwaltung lokaler Administratorkennwörter (LAPS) wurde nicht festgestellt. Einstellungen der Benutzerkontensteuerung weichen von der Vorgabe ab. Von 63 Prüfungen zur Systemhärtung weichen 61 ab.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Die Angriffsfläche des zentralen Systems der Umgebung ist größer als erforderlich.</p></div></article>
|
||||
<article class="finding"><header><h3>3.6 Verfügbarkeit, Sicherung und Protokollierung</h3><span class="domain">Monitoring & Recovery · AD Infrastructure & PKI</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>Die Domäne wird von einem einzelnen Domain Controller getragen. Die letzte erfasste Sicherung des Verzeichnisses datiert vom 27.05.2026 und liegt am Berichtsdatum 125 Tage zurück. Die Überwachungsrichtlinie der Domain Controller erfasst zentrale Ereignisse nicht; die PowerShell-Protokollierung ist unvollständig.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Für Anmeldung und Namensauflösung besteht kein Ausfallschutz. Wiederherstellbarkeit und Nachvollziehbarkeit sicherheitsrelevanter Vorgänge sind eingeschränkt.</p></div></article>
|
||||
<article class="finding"><header><h3>3.7 Gruppenrichtlinien</h3><span class="domain">GPO & Baseline</span></header>
|
||||
<div class="block block--fact"><p class="label">Sachverhalt</p><p>In den zwei analysierten GPO-Backups weichen 25 Policy Settings (100 Vergleiche) von der Microsoft Security Baseline ab; 100 Vergleiche stimmen überein. Betroffen sind unter anderem Kennwortrichtlinie und Benutzerrechte. Vier Einstellungen sind mehrfach konfiguriert (Duplicates); widersprüchliche Konfigurationen (Conflicts) bestehen nicht.</p></div>
|
||||
<div class="block"><p class="label">Einordnung</p><p>Die Abweichungen betreffen dieselben Schutzziele wie 3.1 und 3.5. Die Aussage beschränkt sich auf die konfigurierten Einstellungen der analysierten Backups.</p></div></article>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="pb">
|
||||
<h2>4 Bewertungsgrundlage und Aussagebereich</h2>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><td style="width:30%"><b>Gegenstand</b></td><td>Active Directory der Domäne sevenkingdoms.local, Konfiguration des Domain Controllers, Entra-ID-Tenant sowie zwei GPO-Backups im Abgleich mit der Microsoft Security Baseline.</td></tr>
|
||||
<tr><td><b>Erhebung</b></td><td>Automatisierte Prüfung aus fünf Datenquellen mit insgesamt 4.757 Einzelergebnissen, davon 998 auswertbar. Maßgeblich ist der jeweilige Erhebungszeitpunkt.</td></tr>
|
||||
<tr><td><b>Gesamtbewertung</b></td><td>Mixed-Method-Index auf einer Skala von 0 bis 100. Je Datenquelle geht deren eigener Gesamtwert ein, andernfalls die Pass Rate der auswertbaren Prüfungen. Die Werte der Security Domains sind Pass Rates und keine Zerlegung dieses Index.</td></tr>
|
||||
<tr><td><b>Gruppenrichtlinien</b></td><td>Bewertet wird die Konformität der konfigurierten, vergleichbaren Einstellungen im Scope. Die Bewertung bezieht sich ausschließlich auf die analysierten GPO-Backups, nicht auf die gesamte Domäne oder den wirksamen Zustand der Systeme. 1.305 Vergleiche erfordern eine fachliche Prüfung und sind nicht in der Bewertung enthalten; 3.516 nicht konfigurierte Baseline-Empfehlungen sind bewertungsneutral.</td></tr>
|
||||
<tr><td><b>Cloud-Identitäten</b></td><td>147 von 318 vorgesehenen Prüfungen waren auswertbar; 169 wurden nicht ausgeführt.</td></tr>
|
||||
<tr><td><b>Nicht Gegenstand</b></td><td>Geschäftsprozesse, Schutzbedarf der Daten, organisatorische Regelungen und bestehende kompensierende Maßnahmen.</td></tr>
|
||||
<tr><td><b>Risikoentscheidungen</b></td><td>Eine Abweichung ist als Accepted Risk dokumentiert.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<footer><span>ASSESSOR · Management Report · Dummy · Entwurf 0.3 · 29.09.2026</span><span>Vertraulich</span></footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>ASSESSOR · Faktenbericht · Dummy</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
src: url("assets/inter-latin.woff2") format("woff2");
|
||||
font-weight: 100 900;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
:root {
|
||||
--ink: #17171c;
|
||||
--muted: #5c6069;
|
||||
--navy: #123047;
|
||||
--line: #cfd1d7;
|
||||
--paper: #fff;
|
||||
--surface: #f5f5f7;
|
||||
--orange: #df752d;
|
||||
--heat-0: #e7e8ec;
|
||||
--heat-1: #f8dfcb;
|
||||
--heat-2: #edb68d;
|
||||
--heat-3: #e68f51;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; background: #e7e7eb; color: var(--ink); font: 400 14px/1.45 Inter, Arial, sans-serif; }
|
||||
.sheet { width: 210mm; min-height: 297mm; margin: 16px auto; padding: 12mm 16mm 11mm; background: var(--paper); display: flex; flex-direction: column; }
|
||||
.mast { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--navy); }
|
||||
.brand { display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: 19px; font-weight: 700; letter-spacing: .06em; }
|
||||
.brand img { width: 31px; height: 31px; object-fit: contain; }
|
||||
.mast-note { color: var(--navy); text-align: right; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
|
||||
.kicker { margin: 20px 0 7px; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
|
||||
h1 { margin: 0; color: var(--navy); font-size: 30px; line-height: 1.13; font-weight: 600; }
|
||||
h2 { margin: 0; color: var(--navy); font-size: 18px; font-weight: 600; }
|
||||
p { margin: 0 0 8px; }
|
||||
.subtitle { margin: 8px 0 14px; color: var(--muted); font-size: 14px; }
|
||||
.meta { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 8px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
||||
.meta strong { color: var(--ink); font-weight: 600; }
|
||||
.facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 21px 0 26px; border-top: 2px solid var(--navy); border-bottom: 1px solid var(--line); }
|
||||
.fact { padding: 13px 15px; border-right: 1px solid var(--line); }
|
||||
.fact:last-child { border-right: 0; }
|
||||
.fact strong { display: block; color: var(--navy); font-size: 28px; line-height: 1.12; font-weight: 600; font-variant-numeric: tabular-nums; }
|
||||
.fact span { display: block; margin-top: 5px; font-size: 14px; }
|
||||
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 11px; }
|
||||
.section-head p { max-width: 260px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
|
||||
.heatmap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 0; padding: 0; list-style: none; }
|
||||
.heatmap li { min-height: 104px; padding: 11px 12px 10px; display: flex; flex-direction: column; border: 1px solid rgba(18,48,71,.17); break-inside: avoid; }
|
||||
.heatmap .h0 { background: var(--heat-0); }
|
||||
.heatmap .h1 { background: var(--heat-1); }
|
||||
.heatmap .h2 { background: var(--heat-2); }
|
||||
.heatmap .h3 { background: var(--heat-3); }
|
||||
.heatmap .area { color: var(--navy); font-size: 14px; line-height: 1.25; font-weight: 600; }
|
||||
.heatmap .value { display: block; margin-top: auto; color: var(--navy); font-size: 28px; line-height: 1.08; font-weight: 600; font-variant-numeric: tabular-nums; }
|
||||
.heatmap .count { display: block; margin-top: 3px; color: var(--ink); font-size: 14px; }
|
||||
.legend { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 12px; margin: 12px 0 0; color: var(--muted); font-size: 12px; }
|
||||
.legend .key { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
|
||||
.legend i { display: inline-block; width: 14px; height: 14px; border: 1px solid rgba(18,48,71,.17); }
|
||||
.legend .l0 { background: var(--heat-0); } .legend .l1 { background: var(--heat-1); }
|
||||
.legend .l2 { background: var(--heat-2); } .legend .l3 { background: var(--heat-3); }
|
||||
.comparison { margin-top: 26px; padding: 15px 17px; background: var(--surface); border: 1px solid var(--line); break-inside: avoid; }
|
||||
.comparison h2 { margin-bottom: 13px; }
|
||||
.comparison-scale, .comparison-row { display: grid; grid-template-columns: 240px minmax(180px, 1fr) 135px; gap: 12px; }
|
||||
.comparison-scale { margin-bottom: 5px; color: var(--muted); font-size: 12px; }
|
||||
.comparison-scale div { grid-column: 2; display: flex; justify-content: space-between; }
|
||||
.comparison-list { list-style: none; margin: 0; padding: 0; }
|
||||
.comparison-row { align-items: center; min-height: 34px; font-size: 14px; }
|
||||
.comparison-bar { display: flex; height: 14px; background: #e3e3e8; }
|
||||
.bar-pass { background: #167048; } .bar-fail { background: #c60b41; }
|
||||
.comparison-value { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
|
||||
.comparison-value span { color: var(--muted); font-weight: 400; }
|
||||
.comparison-key { display: flex; gap: 24px; margin: 13px 0 0 252px; font-size: 14px; color: var(--muted); }
|
||||
.comparison-key i { display: inline-block; width: 12px; height: 12px; margin-right: 5px; vertical-align: -1px; }
|
||||
.comparison-key .pass { background: #167048; } .comparison-key .fail { background: #c60b41; }
|
||||
.notes { margin-top: 23px; padding: 13px 15px; background: var(--surface); border-top: 2px solid var(--navy); }
|
||||
.notes h2 { font-size: 15px; margin-bottom: 6px; }
|
||||
.notes p { margin: 0 0 5px; font-size: 14px; }
|
||||
.notes p:last-child { margin-bottom: 0; }
|
||||
.foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--navy); display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
|
||||
.foot strong { color: var(--navy); font-weight: 600; }
|
||||
@media (max-width: 800px) {
|
||||
body { background: #fff; }
|
||||
.sheet { width: auto; min-height: 0; margin: 0; padding: 18px 16px 26px; }
|
||||
.heatmap { grid-template-columns: repeat(2, 1fr); }
|
||||
.section-head { display: block; }
|
||||
.section-head p { max-width: none; margin-top: 4px; text-align: left; }
|
||||
h1 { font-size: 26px; }
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.heatmap, .facts { grid-template-columns: 1fr; }
|
||||
.fact { border-right: 0; border-bottom: 1px solid var(--line); }
|
||||
.fact:last-child { border-bottom: 0; }
|
||||
}
|
||||
@media (max-width: 720px) {
|
||||
.comparison-scale { display: none; }
|
||||
.comparison-row { grid-template-columns: 1fr auto; gap: 3px 10px; margin-bottom: 12px; }
|
||||
.comparison-label { grid-column: 1 / -1; }
|
||||
.comparison-bar { grid-column: 1; }
|
||||
.comparison-value { grid-column: 2; }
|
||||
.comparison-key { margin-left: 0; }
|
||||
}
|
||||
@page { size: A4; margin: 0; }
|
||||
@media print {
|
||||
body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
|
||||
.sheet { margin: 0; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="sheet">
|
||||
<header class="mast">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt="">ASSESSOR</div>
|
||||
<div class="mast-note">Management Report<br>Vertraulich</div>
|
||||
</header>
|
||||
<p class="kicker">Gespeicherter Assessment-Stand</p>
|
||||
<h1>Technische Ergebnisse im Überblick</h1>
|
||||
<p class="subtitle">Dummy · Fakten aus der aktuellen ASSESSOR-Reportprojektion, ohne Risikoscore oder Szenariobewertung</p>
|
||||
<div class="meta">
|
||||
<span><strong>Domäne:</strong> sevenkingdoms.local</span>
|
||||
<span><strong>Berichtsdatum:</strong> 29.09.2026</span>
|
||||
<span><strong>Vergleich:</strong> nicht enthalten</span>
|
||||
</div>
|
||||
|
||||
<div class="facts" aria-label="Erfasste Kennzahlen">
|
||||
<div class="fact"><strong>1</strong><span>Domänencontroller erfasst</span></div>
|
||||
<div class="fact"><strong>998</strong><span>Ergebnisse bewertet</span></div>
|
||||
<div class="fact"><strong>579</strong><span>Abweichende Ergebnisse</span></div>
|
||||
</div>
|
||||
|
||||
<section aria-labelledby="heatmap-title">
|
||||
<div class="section-head">
|
||||
<h2 id="heatmap-title">Abweichungsanteil je Sicherheitsbereich</h2>
|
||||
<p>Abweichende von bewerteten Ergebnissen innerhalb des jeweiligen Bereichs.</p>
|
||||
</div>
|
||||
<ol class="heatmap" aria-label="Heatmap der bewerteten Ergebnisse">
|
||||
<li class="h2" data-deviations="221" data-assessed="425"><span class="area">Konten & Identitäten</span><strong class="value">52 %</strong><span class="count">221 von 425</span></li>
|
||||
<li class="h1" data-deviations="10" data-assessed="25"><span class="area">Privilegien & Angriffspfade</span><strong class="value">40 %</strong><span class="count">10 von 25</span></li>
|
||||
<li class="h2" data-deviations="31" data-assessed="42"><span class="area">Anmeldung & Zugriff</span><strong class="value">74 %</strong><span class="count">31 von 42</span></li>
|
||||
<li class="h2" data-deviations="21" data-assessed="32"><span class="area">AD-Infrastruktur & PKI</span><strong class="value">66 %</strong><span class="count">21 von 32</span></li>
|
||||
<li class="h3" data-deviations="61" data-assessed="63"><span class="area">Systemhärtung</span><strong class="value">97 %</strong><span class="count">61 von 63</span></li>
|
||||
<li class="h2" data-deviations="223" data-assessed="393"><span class="area">GPO & Baseline*</span><strong class="value">57 %</strong><span class="count">223 von 393</span></li>
|
||||
<li class="h3" data-deviations="8" data-assessed="9"><span class="area">Cloud & Anwendungen</span><strong class="value">89 %</strong><span class="count">8 von 9</span></li>
|
||||
<li class="h3" data-deviations="4" data-assessed="5"><span class="area">Überwachung & Wiederanlauf</span><strong class="value">80 %</strong><span class="count">4 von 5</span></li>
|
||||
<li class="h0" data-deviations="0" data-assessed="4"><span class="area">Nicht zugeordnet</span><strong class="value">0 %</strong><span class="count">0 von 4</span></li>
|
||||
</ol>
|
||||
<div class="legend" aria-label="Farbstufen nach Abweichungsanteil">
|
||||
<span>Farbstufe:</span>
|
||||
<span class="key"><i class="l0"></i>0–24 %</span>
|
||||
<span class="key"><i class="l1"></i>25–49 %</span>
|
||||
<span class="key"><i class="l2"></i>50–74 %</span>
|
||||
<span class="key"><i class="l3"></i>75–100 %</span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="comparison" aria-labelledby="comparison-title">
|
||||
<h2 id="comparison-title">Bestandene und abweichende Ergebnisse</h2>
|
||||
<div class="comparison-scale" aria-hidden="true"><div><span>0 %</span><span>50 %</span><span>100 %</span></div></div>
|
||||
<ol class="comparison-list">
|
||||
<li class="comparison-row"><span class="comparison-label">Identity & Account Hygiene</span><span class="comparison-bar"><span class="bar-pass" style="width:48%"></span><span class="bar-fail" style="width:52%"></span></span><span class="comparison-value">48 % <span>· 221 von 425</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">Privilege & Attack Paths</span><span class="comparison-bar"><span class="bar-pass" style="width:60%"></span><span class="bar-fail" style="width:40%"></span></span><span class="comparison-value">60 % <span>· 10 von 25</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">Authentication & Access</span><span class="comparison-bar"><span class="bar-pass" style="width:26%"></span><span class="bar-fail" style="width:74%"></span></span><span class="comparison-value">26 % <span>· 31 von 42</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">AD Infrastructure & PKI</span><span class="comparison-bar"><span class="bar-pass" style="width:34%"></span><span class="bar-fail" style="width:66%"></span></span><span class="comparison-value">34 % <span>· 21 von 32</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">System Hardening</span><span class="comparison-bar"><span class="bar-pass" style="width:3%"></span><span class="bar-fail" style="width:97%"></span></span><span class="comparison-value">3 % <span>· 61 von 63</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">GPO & Baseline</span><span class="comparison-bar"><span class="bar-pass" style="width:43%"></span><span class="bar-fail" style="width:57%"></span></span><span class="comparison-value">43 % <span>· 223 von 393</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">Cloud & Applications</span><span class="comparison-bar"><span class="bar-pass" style="width:11%"></span><span class="bar-fail" style="width:89%"></span></span><span class="comparison-value">11 % <span>· 8 von 9</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">Monitoring & Recovery</span><span class="comparison-bar"><span class="bar-pass" style="width:20%"></span><span class="bar-fail" style="width:80%"></span></span><span class="comparison-value">20 % <span>· 4 von 5</span></span></li>
|
||||
<li class="comparison-row"><span class="comparison-label">Nicht zugeordnet</span><span class="comparison-bar"><span class="bar-pass" style="width:100%"></span><span class="bar-fail" style="width:0%"></span></span><span class="comparison-value">100 % <span>· 0 von 4</span></span></li>
|
||||
</ol>
|
||||
<div class="comparison-key"><span><i class="pass"></i>Bestanden</span><span><i class="fail"></i>Abweichung</span></div>
|
||||
<p>Pass Rate je Security Domain; rechts: Anzahl der Abweichungen von den bewerteten Ergebnissen.</p>
|
||||
</section>
|
||||
|
||||
<aside class="notes" aria-labelledby="notes-title">
|
||||
<h2 id="notes-title">Lesart</h2>
|
||||
<p>Die Farbe zeigt die Häufigkeit abweichender Ergebnisse innerhalb eines Bereichs. Sie zeigt weder Schweregrad noch Geschäftsrisiko. Bereiche mit wenigen Prüfungen können hohe Prozentwerte haben.</p>
|
||||
<p>* Die GPO-Kachel zählt zugeordnete Ergebniszeilen. Die gesonderte GPO-Evaluation zählt 100 abweichende Vergleiche zu 25 Einstellungen; beide Zähleinheiten sind nicht gleichzusetzen.</p>
|
||||
<p>Ergebnisse stammen aus unterschiedlichen Erhebungszeitpunkten. Eine Aussage zu betroffenen Geschäftsdiensten, Ausnutzung oder aktuellem Behebungsstand ist aus dieser Darstellung nicht ableitbar.</p>
|
||||
</aside>
|
||||
|
||||
<footer class="foot">
|
||||
<span><strong>ASSESSOR 2.9.0</strong> · Dummy · Darstellung vorhandener Reportwerte</span>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>ASSESSOR · Management Report · verfügbarer Datenstand</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
src: url("assets/inter-latin.woff2") format("woff2");
|
||||
font-weight: 100 900;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
:root {
|
||||
--ink: #17171c;
|
||||
--muted: #5c6069;
|
||||
--line: #cfcfd8;
|
||||
--paper: #fff;
|
||||
--surface: #f5f5f7;
|
||||
--navy: #123047;
|
||||
--orange: #df752d;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; background: #e7e7eb; color: var(--ink); font: 400 14px/1.46 Inter, Arial, sans-serif; }
|
||||
.page { width: 210mm; min-height: 297mm; margin: 16px auto; padding: 12mm 16mm 11mm; background: var(--paper); display: flex; flex-direction: column; }
|
||||
.mast { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--navy); }
|
||||
.brand { display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: 19px; font-weight: 700; letter-spacing: .06em; }
|
||||
.brand img { width: 31px; height: 31px; object-fit: contain; }
|
||||
.mast-note { color: var(--navy); text-align: right; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
|
||||
.kicker { margin: 20px 0 7px; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
|
||||
h1 { margin: 0; color: var(--navy); font-size: 31px; line-height: 1.12; font-weight: 600; }
|
||||
h2 { margin: 0 0 9px; color: var(--navy); font-size: 18px; font-weight: 600; }
|
||||
p { margin: 0 0 9px; }
|
||||
.subtitle { margin: 9px 0 15px; color: var(--muted); }
|
||||
.meta { display: flex; flex-wrap: wrap; gap: 7px 18px; padding: 8px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
||||
.meta strong { color: var(--ink); font-weight: 600; }
|
||||
.intro { margin: 19px 0 23px; padding: 15px 18px; border-left: 5px solid var(--orange); background: var(--surface); }
|
||||
.intro p { margin: 0; font-size: 17px; line-height: 1.4; }
|
||||
.facts { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 2px solid var(--navy); border-bottom: 1px solid var(--line); }
|
||||
.fact { padding: 15px 14px 14px; border-right: 1px solid var(--line); }
|
||||
.fact:last-child { border-right: 0; }
|
||||
.fact strong { display: block; color: var(--navy); font-size: 27px; line-height: 1.15; font-weight: 600; font-variant-numeric: tabular-nums; }
|
||||
.fact span { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; }
|
||||
.fact small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
|
||||
.content { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 28px; }
|
||||
.content section { border-top: 2px solid var(--navy); padding-top: 12px; }
|
||||
.content ul { margin: 0; padding-left: 18px; }
|
||||
.content li { margin-bottom: 9px; }
|
||||
.content li:last-child { margin-bottom: 0; }
|
||||
.content .limited { color: var(--muted); }
|
||||
.scope { margin-top: 30px; padding: 14px 16px; background: var(--surface); }
|
||||
.scope h2 { font-size: 15px; margin-bottom: 6px; }
|
||||
.scope p:last-child { margin-bottom: 0; }
|
||||
.foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--navy); display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
|
||||
.foot strong { color: var(--navy); font-weight: 600; }
|
||||
@media (max-width: 800px) {
|
||||
body { background: #fff; }
|
||||
.page { width: auto; min-height: 0; margin: 0; padding: 18px 16px 26px; }
|
||||
.facts, .content { grid-template-columns: 1fr; }
|
||||
.fact { border-right: 0; border-bottom: 1px solid var(--line); }
|
||||
.fact:last-child { border-bottom: 0; }
|
||||
h1 { font-size: 27px; }
|
||||
}
|
||||
@page { size: A4; margin: 0; }
|
||||
@media print {
|
||||
body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
|
||||
.page { margin: 0; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="page">
|
||||
<header class="mast">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt="">ASSESSOR</div>
|
||||
<div class="mast-note">Management Report<br>Vertraulich</div>
|
||||
</header>
|
||||
|
||||
<p class="kicker">Verfügbarer ASSESSOR-Datenstand</p>
|
||||
<h1>Ergebnisse des Security Assessments</h1>
|
||||
<p class="subtitle">Dummy · Automatisch verfügbare Befunde und Bestandsangaben in einer Managementansicht.</p>
|
||||
<div class="meta">
|
||||
<span><strong>Domäne:</strong> sevenkingdoms.local</span>
|
||||
<span><strong>Berichtsdatum:</strong> 29.09.2026</span>
|
||||
<span><strong>Erhebungszeitraum:</strong> nicht einheitlich ausgewiesen</span>
|
||||
</div>
|
||||
|
||||
<div class="intro">
|
||||
<p>ASSESSOR weist technische Abweichungen aus. Wie stark sie konkrete Geschäftsprozesse betreffen und welche davon vorrangig sind, lässt sich aus dem aktuellen Report-Datenstand nicht belastbar bestimmen.</p>
|
||||
</div>
|
||||
|
||||
<section aria-labelledby="facts-title">
|
||||
<h2 id="facts-title">Erfasste Werte</h2>
|
||||
<div class="facts">
|
||||
<div class="fact"><strong>1</strong><span>Domänencontroller erfasst</span><small>Bestandsangabe zum Erhebungszeitpunkt</small></div>
|
||||
<div class="fact"><strong>998</strong><span>Einzelprüfungen bewertet</span><small>Unterschiedliche technische Prüfgegenstände</small></div>
|
||||
<div class="fact"><strong>579</strong><span>Abweichende Ergebnisse</span><small>Keine Anzahl unabhängiger Geschäftsrisiken</small></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="content">
|
||||
<section aria-labelledby="known-title">
|
||||
<h2 id="known-title">Aus dem Datenstand ableitbar</h2>
|
||||
<ul>
|
||||
<li>Technische Prüfergebnisse, deren Status und zugeordnete Sicherheitsbereiche.</li>
|
||||
<li>Ein erfasster Domänencontroller. Der Report belegt keine zweite AD-Instanz.</li>
|
||||
<li>Gespeicherte Reviewangaben, sofern sie vom Kunden gepflegt wurden; sie sind kein technischer Nachweis einer Behebung.</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section aria-labelledby="limits-title">
|
||||
<h2 id="limits-title">Nicht belastbar ableitbar</h2>
|
||||
<ul class="limited">
|
||||
<li>Konkrete Auswirkungen auf geschäftskritische Dienste oder OT.</li>
|
||||
<li>Eine bestätigte Kompromittierung oder ein vollständig validierter Angriffspfad.</li>
|
||||
<li>Aktuelle Wiederherstellbarkeit, spätere Änderungen oder ein Fortschritt seit den Scans.</li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<aside class="scope" aria-labelledby="scope-title">
|
||||
<h2 id="scope-title">Aussagebereich</h2>
|
||||
<p>Die Zahlen beschreiben gespeicherte Prüfergebnisse verschiedener Quellen und Erhebungszeitpunkte. Sie sind weder ein unternehmensweiter Risikoscore noch eine Priorisierung nach betrieblicher Wirkung. Für eine individuelle Risikoeinordnung fehlen im heutigen Reportmodell geprüfte Szenarioregeln und kundenseitige Dienstabhängigkeiten.</p>
|
||||
</aside>
|
||||
|
||||
<footer class="foot">
|
||||
<span><strong>ASSESSOR 2.9.0</strong> · Dummy · Darstellungsentwurf auf Basis vorhandener Reportdaten</span>
|
||||
<span>1 / 1</span>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>ASSESSOR · Management Brief · Dummy</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
src: url("assets/inter-latin.woff2") format("woff2");
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
}
|
||||
:root {
|
||||
--ink: #17171c;
|
||||
--muted: #5c6069;
|
||||
--navy: #123047;
|
||||
--line: #cfd1d7;
|
||||
--paper: #fff;
|
||||
--surface: #f5f5f7;
|
||||
--orange: #df752d;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; background: #e7e7eb; color: var(--ink); font: 400 16px/1.44 Inter, Arial, sans-serif; }
|
||||
.sheet { width: 210mm; min-height: 297mm; margin: 16px auto; padding: 12mm 16mm 11mm; background: var(--paper); display: flex; flex-direction: column; }
|
||||
.mast { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--navy); }
|
||||
.brand { display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: 19px; font-weight: 700; letter-spacing: .06em; }
|
||||
.brand img { width: 31px; height: 31px; object-fit: contain; }
|
||||
.mast-note { color: var(--navy); text-align: right; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
|
||||
.kicker { margin: 18px 0 6px; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
|
||||
h1 { margin: 0; color: var(--navy); font-size: 30px; line-height: 1.15; font-weight: 600; }
|
||||
h2 { margin: 0 0 10px; color: var(--navy); font-size: 18px; line-height: 1.25; font-weight: 600; }
|
||||
p { margin: 0 0 8px; }
|
||||
.subtitle { margin: 8px 0 15px; color: var(--muted); font-size: 14px; }
|
||||
.meta { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 8px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
||||
.meta strong { color: var(--ink); font-weight: 600; }
|
||||
.summary { margin: 18px 0 22px; padding: 15px 18px; border-left: 5px solid var(--orange); background: var(--surface); }
|
||||
.summary .label { display: block; margin-bottom: 6px; color: var(--navy); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
||||
.summary p { margin: 0; font-size: 17px; line-height: 1.39; }
|
||||
.matrix { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
||||
.matrix thead th { padding: 9px 9px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .02em; text-align: left; }
|
||||
.matrix tbody th, .matrix tbody td { padding: 12px 9px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; font-size: 14px; line-height: 1.42; }
|
||||
.matrix tbody th { color: var(--navy); font-weight: 600; }
|
||||
.matrix tbody th span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 400; }
|
||||
.matrix tbody td:last-child { color: var(--muted); }
|
||||
.matrix tbody tr { break-inside: avoid; }
|
||||
.meaning { display: grid; grid-template-columns: 42mm 1fr; gap: 15px; margin-top: 21px; padding: 13px 15px; border-top: 2px solid var(--navy); background: var(--surface); }
|
||||
.meaning h2 { margin: 0; font-size: 15px; }
|
||||
.meaning p { margin: 0; font-size: 14px; }
|
||||
.scope { margin-top: 19px; color: var(--muted); font-size: 12px; }
|
||||
.scope strong { color: var(--ink); font-weight: 600; }
|
||||
.foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--navy); display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
|
||||
.foot strong { color: var(--navy); font-weight: 600; }
|
||||
@media (max-width: 800px) {
|
||||
body { background: #fff; }
|
||||
.sheet { width: auto; min-height: 0; margin: 0; padding: 18px 16px 25px; }
|
||||
h1 { font-size: 26px; }
|
||||
.matrix, .matrix thead, .matrix tbody, .matrix tr, .matrix th, .matrix td { display: block; width: 100%; }
|
||||
.matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
|
||||
.matrix tbody tr { margin-bottom: 14px; border-top: 2px solid var(--navy); }
|
||||
.matrix tbody th, .matrix tbody td { border-bottom: 0; padding: 8px 9px; }
|
||||
.matrix tbody td::before { display: block; margin-bottom: 2px; color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; }
|
||||
.matrix tbody td:nth-child(2)::before { content: "Beobachtet"; }
|
||||
.matrix tbody td:nth-child(3)::before { content: "Mögliche Betriebswirkung"; }
|
||||
.matrix tbody td:nth-child(4)::before { content: "Offen"; }
|
||||
.meaning { grid-template-columns: 1fr; gap: 6px; }
|
||||
}
|
||||
@page { size: A4; margin: 0; }
|
||||
@media print {
|
||||
body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
|
||||
.sheet { margin: 0; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="sheet">
|
||||
<header class="mast">
|
||||
<div class="brand"><img src="assets/assessor-icon-light-128.png" alt="">ASSESSOR</div>
|
||||
<div class="mast-note">Management Report<br>Vertraulich</div>
|
||||
</header>
|
||||
<p class="kicker">Identitätsinfrastruktur</p>
|
||||
<h1>Befunde mit möglicher Betriebswirkung</h1>
|
||||
<p class="subtitle">Dummy · Fachlich verdichtete Einordnung der gespeicherten ASSESSOR-Ergebnisse</p>
|
||||
<div class="meta">
|
||||
<span><strong>Umgebung:</strong> sevenkingdoms.local</span>
|
||||
<span><strong>Berichtsstand:</strong> 29.09.2026</span>
|
||||
<span><strong>Vergleich:</strong> kein belastbarer Vorher-nachher-Stand</span>
|
||||
</div>
|
||||
|
||||
<div class="summary">
|
||||
<span class="label">Kernaussage</span>
|
||||
<p>Die Befunde weisen auf Möglichkeiten zur Ausweitung privilegierter AD-Rechte hin. Die Wiederherstellbarkeit des AD ist aus dem erfassten Datenstand nicht belegt. Eine aktive Kompromittierung ist nicht nachgewiesen.</p>
|
||||
</div>
|
||||
|
||||
<section aria-labelledby="risk-title">
|
||||
<h2 id="risk-title">Risikobild aus den vorliegenden Befunden</h2>
|
||||
<table class="matrix">
|
||||
<colgroup><col style="width:18%"><col style="width:31%"><col style="width:28%"><col style="width:23%"></colgroup>
|
||||
<thead><tr><th scope="col">Risikobereich</th><th scope="col">Beobachtet</th><th scope="col">Mögliche Betriebswirkung</th><th scope="col">Offen</th></tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">AD-Rechte und PKI<span>Integrität</span></th>
|
||||
<td>Geänderte Rechte an einem geschützten AD-Objekt, auffällige Admin-Aktivität sowie Schwächen bei Zertifikatsvorlagen und der Zertifikatsregistrierung.</td>
|
||||
<td>Unbefugte administrative Zugriffe könnten AD-abhängige Anmeldungen und Berechtigungen beeinflussen.</td>
|
||||
<td>Autorisierung der Änderung, Zusammenhang der Befunde und tatsächliche Ausnutzbarkeit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">AD-Wiederanlauf<span>Verfügbarkeit</span></th>
|
||||
<td>Ein Domänencontroller erfasst. Als letztes AD-Backup wurde bei der Erhebung der 27.05.2026 gemeldet.</td>
|
||||
<td>Ein AD-Ausfall könnte Anmeldung und Berechtigungsprüfung abhängiger Dienste unterbrechen.</td>
|
||||
<td>Spätere Sicherungen, erfolgreiche Wiederherstellung und konkrete Wiederanlaufzeit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Cloud-Admins<span>Zugriffsschutz</span></th>
|
||||
<td>Abweichungen bei phishingresistenter Mehrfaktor-Authentifizierung und risikobasierten Zugriffsregeln.</td>
|
||||
<td>Privilegierte Cloud-Zugänge könnten leichter missbraucht werden.</td>
|
||||
<td>Weitere Gegenkontrollen und Reichweite der Abweichungen; ein Teil der Prüfungen wurde nicht ausgeführt.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<aside class="meaning" aria-labelledby="meaning-title">
|
||||
<h2 id="meaning-title">Betriebliche Einordnung</h2>
|
||||
<p>AD-basierte Anmeldung und Berechtigungen wären bei einem Ausfall oder Missbrauch betroffen. Welche geschäftskritischen Dienste oder OT-Prozesse davon abhängen, ist nicht erfasst; ein konkreter finanzieller oder operativer Schaden lässt sich daher nicht beziffern.</p>
|
||||
</aside>
|
||||
|
||||
<p class="scope"><strong>Aussagebasis:</strong> Gespeicherte Assessment-Ergebnisse mit unterschiedlichen Erhebungszeitpunkten. Die Tabelle trennt beobachtete Konfigurationen von möglichen Folgen und offenen Nachweisen. Ein Scannerbefund belegt weder einen Angriff noch den aktuellen Betriebszustand nach der Erhebung.</p>
|
||||
|
||||
<footer class="foot">
|
||||
<span><strong>ASSESSOR 2.9.0</strong> · Dummy · manuell redigierter Berichtsentwurf</span>
|
||||
<span>1 / 1</span>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue