In this module
AD6.10 Post-Incident Review and Improvement
Figure AD6.10 — Three post-incident questions that drive continuous improvement. Detection (did monitoring catch it or was it accidental?), prevention (what control would stop it next time?), and response (was the procedure effective?). Each answer becomes an action item for your security improvement roadmap.
Conducting the review
Schedule the post-incident review within 1 week of the incident — while the details are fresh. For a solo IT administrator, this is a 30-minute self-review using the incident report (AD6.9) as the source material. For teams, it's a 30-minute meeting with anyone involved in the response.
Question 1: How did we detect it?
Best case: your Monday review or alert notification caught it — the monitoring system worked as designed. Measure the time from compromise to detection (dwell time). If the compromise happened Saturday night and you detected it Monday morning, dwell time is ~36 hours. That's good for a weekly review cadence but could be improved with real-time notifications for this alert type.
Worst case: the incident was discovered by accident — a user noticed suspicious emails, a vendor called about a strange payment request, or the managed SOC found it during unrelated investigation. Accidental discovery means your monitoring missed it. Why? Was the sign-in anomaly not flagged by Entra ID Protection? Did the inbox rule creation not trigger a Defender alert? Was the alert generated but not configured for notification? Each miss is a specific monitoring gap to close.
Question 2: What could have prevented it?
Map the attack chain to your controls. For an AiTM → BEC attack: Did Safe Links catch the phishing URL? (If not: review Safe Links policies.) Did CA003 block the token replay? (If not: was the attacker's device compliant, or did they use a browser session that CA003 doesn't cover?) Did MFA registration require additional verification? (Entra ID can require users to re-authenticate with a strong method before registering new MFA devices — if the attacker registered an MFA method after compromise, this control was missing.)
Common prevention improvements: restrict MFA method registration (require re-authentication before adding new methods), implement conditional access token protection (preview feature that binds tokens to specific devices), add named location conditions to CA policies (block sign-ins from countries where you have no employees), and deploy phishing-resistant MFA for high-value accounts (FIDO2 security keys, which can't be phished via AiTM).
Question 3: What would we do differently?
Review the response timeline: was containment fast enough? Did you preserve evidence before acting? Did you notify the right people at the right time? Was the managed SOC coordination smooth?
Common response improvements: pre-build the PowerShell commands (don't type them during the incident), practice the procedure on a test account quarterly, improve the escalation contact sheet (add backup contacts), and refine the incident report template (add sections that were missing).
Turning findings into actions
Each post-incident review finding becomes a specific action item:
| Finding | Action | Timeline | Owner |
|---|---|---|---|
| Sign-in anomaly not flagged | Review Entra ID Protection notification threshold | This week | IT Admin |
| MFA method registered by attacker | Configure MFA registration policy requiring re-auth | This month | IT Admin |
| Dwell time 5 days | Add high-severity notification for inbox rule creation | This week | IT Admin |
| Evidence not preserved before containment | Practice evidence preservation script | This week | IT Admin |
Add these action items to your quarterly report under "Improvements" — each completed action demonstrates that your security program learns from incidents and continuously improves.
After 4 incidents across a year, your post-incident findings reveal patterns: "3 of 4 incidents involved AiTM phishing → phishing-resistant MFA for executives is the highest-impact prevention measure." These patterns drive strategic security investments that are justified by incident data, not by vendor marketing.
Common improvements by incident type
After handling each incident type several times, you'll converge on these improvements:
After repeated AiTM compromises: Deploy phishing-resistant MFA (FIDO2 security keys or Windows Hello for Business) for executive accounts. These methods can't be phished via AiTM because the authentication happens on the physical device — there's no password or code for the proxy to capture. Cost: £25-50 per FIDO2 key. Impact: eliminates AiTM risk for protected accounts. This is the single highest-value improvement after your first AiTM incident.
Configure conditional access token protection (if available in your tenant). Token protection binds the access token to the specific device that authenticated — a stolen token can't be replayed from a different device. Navigate to entra.microsoft.com → Protection → Conditional Access → create a new policy → Session controls → "Require token protection for sign-in sessions." Note: this feature may still be in preview and has compatibility limitations with some client applications.
After repeated phishing clicks: Implement a phishing simulation program. Microsoft 365 E3 doesn't include Attack Simulation Training (requires E5 add-on), but third-party tools like KnowBe4, Proofpoint Security Awareness, or free tools like GoPhish can run simulated phishing campaigns. Track which users click simulated phishing links. Users who click repeatedly get additional training — not punishment. The goal is measurement and education, not enforcement.
After repeated BEC attempts: Implement a payment verification procedure with the finance team: any payment change, new vendor, or bank detail update received via email must be verified by phone using a known contact number (not the number in the email). This procedural control costs nothing and prevents the financial fraud that BEC is designed to achieve.
After any incident with delayed detection: Add or refine the specific alert notification that should have caught it earlier. If an inbox rule creation didn't generate a notification, configure a notification for "Suspicious inbox manipulation rule" alerts. If a sign-in from an unusual country didn't trigger an alert, review your Entra ID Protection risk detection settings.
Tracking improvements across quarters
Create a simple improvement tracker that persists across quarters:
=== IMPROVEMENT TRACKER ===
Q1 2026:
- [x] Configure MFA registration policy (from AiTM incident Jan)
- [x] Add inbox rule notification (from BEC incident Feb)
- [ ] Deploy FIDO2 keys for executives (procurement pending)
Q2 2026:
- [x] Implement payment verification procedure (from BEC incident Apr)
- [ ] Evaluate phishing simulation tool (from repeated clicks Q1)
- [ ] Add named location CA policy (block sign-ins from non-business countries)Include this tracker in your quarterly report under "Security Improvements." Each completed item demonstrates continuous improvement driven by real incident data. Each pending item is a documented risk with a timeline — management can see what's done, what's planned, and what needs budget.
The improvement tracker is the connection between individual incidents and strategic security investment. Without it, each incident is an isolated event. With it, incidents are data points that build the case for specific improvements — each justified by a real event in your environment, not by a vendor's marketing claim.
Integrating findings into the quarterly report
Your quarterly management report (established in AD3.10 and expanded in AD4.10) gains a new section from AD6: Incident Summary.
"This quarter: [X] security incidents handled. [Y] compromised accounts contained (average containment time: [Z] minutes). [W] phishing campaigns scoped and purged. [V] improvement actions implemented. Key improvement: MFA registration policy added after Q1 AiTM incident — no repeat AiTM compromises since implementation."
The incident count, containment time, and improvement actions are concrete metrics that demonstrate operational security capability. Management sees: incidents happen (realistic), they're contained quickly (capability), and each one leads to improvements (maturity). This is more compelling than "no incidents" — which either means excellent prevention or poor detection.
Building the improvement backlog
After 2-3 incidents, you'll have more improvement actions than you can implement immediately. Create a simple improvement backlog:
| # | Finding | Source | Action | Priority | Status |
|---|---|---|---|---|---|
| 1 | No MFA registration restrictions | Incident 2026-04-14 | Configure MFA registration CA policy | High | Done |
| 2 | Dwell time 5 days (weekend) | Incident 2026-04-14 | Add high-severity notification for inbox rules | High | Done |
| 3 | No phishing-resistant MFA for execs | Incident 2026-06-22 | Evaluate FIDO2 keys for C-suite | Medium | Planned Q3 |
| 4 | No external IR retainer | Gap assessment | Evaluate IR retainer providers | Low | Deferred |
| 5 | Safe Links missed initial URL | Incident 2026-04-14 | Submit to Microsoft, monitor | Low | Ongoing |
Review the backlog quarterly. High-priority items should be completed within 2 weeks. Medium within 1 month. Low items are documented risks for future planning. The backlog demonstrates continuous improvement to auditors and management — each row is a specific, incident-driven security improvement.
Your post-incident review for an AiTM compromise reveals: the phishing email bypassed Safe Links (URL was clean at delivery), the token replay bypassed CA003 (attacker used a browser session), and the attacker registered a new MFA phone number (no registration policy). Which improvement should you prioritize first?
Option A: Improve Safe Links — it failed to catch the phishing URL.
Option B: Add MFA registration restrictions — prevent attackers from registering their own MFA methods after compromise. This is the control with the most direct impact: even if the phishing succeeds and the token is replayed, the attacker can't establish persistent access via MFA if registration requires strong re-authentication. Safe Links improvement depends on Microsoft's URL detection (which you can't directly control), but MFA registration policy is a configuration you own.
The correct answer is Option B. You can directly configure MFA registration policies (Entra ID → Protection → Authentication methods → Registration campaign / Conditional Access for security info registration). You can't directly improve Safe Links' URL classification speed. Prioritise the improvement you control over the one you don't.
Try it: Conduct a retrospective on a past incident
If you've handled a security incident (even a minor one like a phishing email reported by a user), apply the three questions:
1. How did you detect it? (User report, alert notification, Monday review, or accident?) 2. What could have prevented it? (Better filtering, stronger MFA, user training, CA policy?) 3. What would you do differently? (Faster response, better documentation, earlier escalation?)
Write down 2-3 specific improvement actions with timelines. Implement the quickest one this week.
If you haven't handled a real incident yet, apply the three questions to the worked scenarios in AD6.2-AD6.4: "If this happened in my environment, how would I detect it? What controls do I have that would prevent it? What would my response look like?"
You're reading the free modules of M365 Security: From Admin to Defender
The full course continues with advanced topics, production detection rules, worked investigation scenarios, and deployable artifacts.