
Maintenance
Part of Security foundations: accounts, backups and third parties
Security control troubleshooting, one change at a time
How to troubleshoot a security control that blocks real work: ask what changed, sort the fault, change one thing at a time, know when to stop and escalate.
Most security troubleshooting is not about an attack. It is about a protection that is now standing between a colleague and their work, at eleven in the morning, while a customer waits.
How you handle that hour decides whether the control survives. Switch it off to get the invoice out and you have made a permanent decision under time pressure, in the direction that always feels reasonable and is almost never revisited. This page is about doing the other thing quickly enough that turning it off never becomes the obvious answer.
What to take away
- Ask what changed before you ask what is wrong. A dated log of your own security changes is the highest-value troubleshooting asset you will ever keep.
- Never disable a control without writing the end date in the same breath.
- Know the previous value before you change anything, or you have no way back.
Ask what changed, not what is broken
Security controls do not usually degrade. They sit still and something around them moves: a license changes, a person joins a different group, a supplier switches mail provider, a laptop is replaced, an application updates itself.
Change log entry fields
- Date of change
- What you changed
- Where you changed it
- Who asked for it
So the first question is always the same. What changed, and when did it last work? If you can answer both, you have usually finished. If you cannot answer either, you are about to spend a day on something a two-line note would have solved.
Keep that note. One file, append-only, one line per change: the date, what you changed, where, and who asked. It costs seconds and it is the difference between "the thing broke" and "the thing broke the day after we tightened the mail policy". Nobody regrets having kept it.
Sort the fault before you start
Four families cover nearly everything, and they want different first moves.
Sign-in fault chain
- Does the account exist and is it enabled?
- Is the password correct?
- Is the second factor enrolled and reachable?
- Does a policy apply to this device or location?
- Is the license assigned?
- Is the session simply stale?
Someone cannot get in. Work down the chain in order rather than resetting things hopefully: does the account exist and is it enabled, is the password right, is the second factor enrolled and reachable, does a policy apply to this device or location, is the license assigned, and is the session simply stale. Each step is a yes or no, and skipping to the password reset when the real answer is a lost phone wastes the reset and teaches nothing.
Mail is not arriving or not being trusted. Split the direction first. Mail failing to reach you is a filtering and routing question. Your own mail failing to reach others is an authentication and alignment question, and the usual cause is a legitimate sender you forgot about: a newsletter platform, an invoicing system, a booking tool sending as your domain. Find every sender before you tighten anything, which is exactly why monitoring mode exists.
A person cannot reach a file or a system they should. Resist the temptation to grant the permission that makes the error stop. Find out which grant they are missing and why they are missing it, because the answer is often that they should not have had it before and the previous access was the error.
Something is generating noise. Treated below, because a flood of alerts is a fault even though nothing is broken.
Change one thing, and know how to undo it
Two rules do most of the work here.
Safe change rules
- Change one variable at a time
- Record the old value first
- Set a stated end time for any relaxation
- Tell someone else about the change
- Put it on the exception list
Change one variable at a time. When you change three and it works, you have learned nothing and you have three settings you cannot justify. This feels slow and is not, because the alternative is repeating the whole exercise the next time.
Record the old value first. Copy the setting, export the policy, take a screenshot of the console page, whatever the platform allows. Rollback is only available to people who wrote down what they were rolling back to. This is the step people skip when they are in a hurry, and being in a hurry is the only time it matters.
If you must relax a control to prove where the fault is, do it with a stated end time, tell someone else you have done it, and put it on the exception list described in security foundations controls. A temporary change that nobody else knows about is a permanent change with extra steps.
When the fix is a patch that breaks something
Sooner or later an update fixes a security problem and breaks an application you depend on. This is a real conflict and there is no clean answer, but there is a decent method.
Patch conflict decision
Is the flaw exploited in the wild?
treat as urgent, patch or isolate now
defer with date, owner and written reason
Find out whether the flaw is exploited in the wild, not just reported. The United States Cybersecurity and Infrastructure Security Agency keeps a catalog of known exploited vulnerabilities that is free to search.
That changes the calculation. A flaw with active exploitation and an internet-facing service is a different decision from one that is theoretical on a machine behind everything else.
Then decide deliberately. Defer with a date, a named owner and a written reason, or isolate the affected machine, or accept the breakage. What you must not do is defer with no record, because that is how a deferral becomes the state of the estate.
If these conflicts keep arising, the problem is the absence of a process rather than the individual patch, and the National Cyber Security Centre's vulnerability management guidance sets out a free way to build one that fits a small team.
Alert noise is a fault, and it has a cause
A channel producing more alerts than anyone reads is worse than no channel, because it converts a real signal into something everyone has already learned to skim past.
Alert triage question
What action should a person take when this fires?
No action -> delete the alert
Always same and safe -> automate or stop sending
Fix it by asking one question of every alert type: what action should a person take when this fires? If no action exists, the alert should not exist; if the action is always the same and always safe, automate it or stop sending it.
If the action depends on context the alert lacks, add context, not volume.
Then tune the rest to your own environment. An alert that fires each morning when the bookkeeper signs in from another city tells a true fact: this person travels.
Give it a named exception, not a lower threshold for everyone.
Know when to stop
Troubleshooting and incident handling look similar for the first twenty minutes and then diverge sharply.
Stop and escalate signals
- Mailbox rule nobody wrote
- Account nobody remembers
- Second factor on unfamiliar device
- Outbound connection nobody can explain
- Three failed hypotheses in a row
At that point, continuing to poke at settings destroys evidence somebody will need. The sequence in incident response takes over.
Also stop when you are guessing. Three failed hypotheses in a row is the signal to ask someone, and the cost of asking is always lower than the cost of the change you were about to make at hour four.
Common questions
A control blocks a genuine business process. Do we remove it?
Change its scope before you change its existence. Most blocks are a policy applying to a case nobody thought about, and the fix is a narrower rule with a named exception, not an estate-wide relaxation. Removing a control because one case failed is the most expensive response available.
How do we tell a false positive from a real block?
Reproduce it deliberately. If you can trigger it on demand with a known-good action, you have a scoping problem. If it happens once and never again with the same inputs, you are probably looking at a real event, and it deserves a different kind of attention.
Who should be allowed to change security settings?
Fewer people than can see them, and never one person alone on things hard to notice.
Read access for troubleshooters, write access for named administrators, and a second pair of eyes on changes to authentication, backup scope, and payment approvals.
The separation of daily and administrative accounts in identity and access makes that practical.
Should we buy a tool that reduces this work?
Only after you have kept the change log for a quarter, because that log tells you which faults are actually recurring. Buying against a guess produces a subscription that answers a question you did not have. The trial method in best security foundations software 2027 is written around the same idea.







