Web filtering
Annex A 8.23 asks you to control which outside websites your people can reach, using written rules, a technical filter and an exception route. At 25–250 staff, DNS-layer filtering on every managed endpoint meets that in days, without a secure web gateway. Auditors test it live and sample exceptions from request to expiry.
The due-diligence questionnaire asks how you control access to malicious websites, and your answer is an acceptable-use policy and a hopeful shrug. ISO 27001 Annex A 8.23 expects technical enforcement, but nowhere near the enterprise proxy appliance you may be dreading.
This guide is for IT directors and information security managers at 25–250-person firms. It covers what the control requires, how DNS-layer filtering meets it in days, how to design exceptions that stop shadow IT, and the evidence an auditor will sample.
The ISO 27001:2022 Annex A 8.23 web filtering title is simply “Web filtering”. The control asks you to decide which outside websites your people can reach, so they meet less malicious content. It is a preventive control: the filter stops the hostile connection before the payload lands or credentials leave.
You will also see it cited as the ISO 27001 2022 Annex A 8.23 web filtering title. A third form is the ISO/IEC 27001:2022 Annex A A.8.23 web filtering title. All three name the same control.
The ISACA technical analysis of ISO/IEC 27002:2022 controls describes it as a preventive control built on two things: blocking known-bad sites and setting rules for safe use of the web. In plain English, you enforce your web rules with technology, not with a policy paragraph and good intentions.
The filter protects all three security properties:
Blocklists should be fed by threat intelligence under Annex A 5.7. The filter works alongside malware protection under Annex A 8.7 as a first line, not a replacement. Its scope is narrow: hostile destinations, not staff productivity.
Web filtering is mandatory whenever A.8.23 sits in your Statement of Applicability, which it does for almost every firm. Auditors read the 2022 wording as technical enforcement, not a policy asking nicely. The control does not oblige you to block social media or monitor staff: the security case covers hostile destinations only.
The browser is the cheapest attack path into your business. One convincing phishing page hands an attacker staff credentials, and one drive-by download gives ransomware a foothold. The NCSC guidance on Protective DNS for the private sector names the categories a protective filter blocks: malware distribution domains, command-and-control domains and phishing domains.
For a regulated firm the stakes compound:
Staff often hear “web filtering” and picture surveillance. The design answers that worry: the filter blocks hostile destinations and does not report browsing habits. Blocking time-sink categories such as social media is a management choice, so make it consciously and write it down either way. Say what is blocked and why in the policy, give people a fast exception route, and most objections evaporate.
The model has three layers working together. Written acceptable-use rules name what is blocked and why. A technical filter enforces them. Trained staff understand block pages, know how to request exceptions and never click past a browser security warning. Each layer covers a gap the others leave.
Each layer is lighter than it sounds:
An acceptable-use policy with no filter behind it is a wish, not a control.
Our guidance is to keep the “don't override the warning” message in training, because that single click undoes the protection the warning offers.
The layers fail in a predictable order. Rules without a filter go unenforced. A filter without rules blocks things nobody agreed to. Training without either leaves staff guessing what a block page means.
At 25–250 staff, DNS-layer filtering is the right-sized enforcement: it covers laptops wherever they are, deploys in days and handles malicious, phishing and command-and-control categories out of the box. A full secure web gateway with TLS inspection is enterprise kit; adopt it only if a regulator or specific risk demands content inspection.
DNS-layer filtering works at name resolution. When a laptop asks for a domain on the threat list, the answer is a block page instead of a connection. The check does not decrypt traffic. You avoid the privacy, speed and certificate headaches of TLS inspection and still catch most web-borne threats.
If a regulator or a specific risk does justify a secure web gateway, keep a written bypass list for banking and health traffic. Inspection should never touch it. Most firms of this size have no risk driver for content-level inspection. Spend the effort on coverage and exceptions instead.
A realistic sequence for a 50-person regulated firm:
Place the work in the endpoint and network hardening phase of your programme, alongside malware protection under Annex A 8.7. The policy wording and exception workflow are the real work. That makes this a project of days, not months, with no appliance to rack and no office perimeter to assume.
Put an endpoint agent or DNS profile on every managed device, contractors included. Protection then travels with the laptop instead of depending on the office network. Then protect the filter itself: admin access behind multi-factor authentication, configuration changes logged, and block events feeding central logging.
Office traffic filters beautifully while laptops at home browse raw. Endpoint-based or DNS-based filtering exists to close that gap, so push the agent or profile through the same tooling that manages the device. If a contractor laptop cannot be enrolled, treat that as a decision about what the device may reach, not a gap to discover at audit.
Lock down the console with three settings:
A console without these is the pitfall in reverse: the control protecting everyone else becomes the unprotected admin surface.
Build the exception route before the first block: a ticket, a quick security check of the site, a time-limited approval and a log. A filter without a working exception path gets worked around, and personal-hotspot tethering is shadow IT you cannot see. An informative block page tells users how to request access.
The route in four steps:
An exception with no expiry date is a permanent hole with a ticket number.
The block page does half the work. It should say what was blocked, why, and how to request access or report a concern. A blank error page creates helpdesk noise and quiet workarounds. A clear one creates tickets you can audit. If the same site is requested repeatedly, change the category rule instead of approving one-off exceptions.
Blocking aggressively with no route teaches staff to tether to personal hotspots. The traffic then leaves your logs entirely, and you have lost visibility rather than gained control. The route has to beat the workaround, which is why a quick security check works better than a committee.
Auditors expect five exhibits: the web filtering policy, configuration exports with proof of full agent coverage, block logs, exception tickets and training records. Each one has to show the control running today, not a plan for it, so collect records the auditor can date and trace.
What each exhibit needs to show:
Fleet coverage is the exhibit to plan for first. A configuration screenshot shows what the policy says, while only a reconciled agent list shows which laptops it applies to. Keep exports dated and, where the tool allows, make the exhibit a query rather than a screenshot. The final section shows how.
Expect a live demonstration: the auditor asks someone to visit a test-malicious URL and watches for the block page. The auditor then traces a recent exception from request to expiry and checks that remote laptops are covered. Training content gets cross-checked for the browser-warning message. Policy-only, with no technical filtering, grades major.
Five questions to expect in the room:
Each question maps to an exhibit: the first to block logs, the second to the policy, the third to exception tickets, the fourth to feed verification and the fifth to console MFA and change logs.
Grading follows certification-body practice rather than the wording of the standard. A stale blocklist, an exception without an approval trail or a gap in fleet coverage each grades minor. A pattern of minors adds up to a major. Run the demonstration yourself a week early. If the block page appears on a remote laptop as well as an office one, you have already covered the demonstration and the coverage check.
Automate four checks. Reconcile filter agents against the MDM or device inventory daily. Give every exception an expiry date. Stream block events to the SIEM, with alerts on command-and-control categories. Verify threat-feed updates on a schedule. Each check turns an audit question into a query.
Each check closes a pitfall named earlier. The daily reconciliation turns a laptop without the agent into a finding raised automatically, not a surprise at audit. Expiring tickets make the exception log a query. A scheduled feed check stops the filter running on last year's threat list, which passes casual inspection and misses current campaigns.
Block telemetry makes the filter a detection sensor. Repeated blocks to command-and-control categories from one host are an incident-response trigger, not a statistic. The Joint CISA and NSA Cybersecurity Information Sheet on Protective DNS notes that DNS query logs also support incident response and threat hunting.
Coverage you check once a year is coverage you only have once a year.
The commercial upside is fewer audit surprises and faster answers when a customer questionnaire or cyber-insurance proposal asks about web protection. If you want a hand, a fractional CISO can own the acceptable-use rules and exception approvals. GRC engineering builds the reconciliation, expiring-exception workflow and SIEM telemetry. The table sets the four checks side by side.
| Check | What it catches | Cadence | Evidence it leaves |
|---|---|---|---|
| Agent-versus-MDM reconciliation | Endpoints with no filter agent | Daily | Timestamped coverage report and raised findings |
| Exception expiry | Approvals that outlive their business reason | Review date set at approval | Ticket trail: request, assessment, approval, expiry |
| SIEM block telemetry | Repeated command-and-control blocks from one host | Continuous alerting | Block logs and alert records |
| Threat-feed verification | Stale feeds and blocklists | Scheduled | Timestamped record of updates landing |
The control follows company data. If personal devices reach company systems, they need equivalent protection, such as a DNS filtering profile or conditional access, or they should not have that reach. Decide which before the audit, because an auditor checking remote coverage will ask about every device class that touches your systems.
Yes, if the filter lives only in the office router or users can change their own network settings. Push the agent or DNS profile through device management and lock it against local changes. Then check the browsers: built-in secure DNS can send lookups past the filter unless browser policy manages it.
DNS-level filtering costs a few pounds per user per month, so a 50-person firm is looking at a small recurring line rather than a capital project. A secure web gateway with TLS inspection changes that picture, which is another reason to justify one with a named risk.
Web filtering controls where devices can go; malware protection deals with what reaches them. The filter never sees a malicious attachment that arrives by email or USB stick, and a malware scanner has no file to inspect when someone types a password into a phishing page. Cross-refer the two in your Statement of Applicability so the auditor sees one layered design.
Every control in this framework and the clause guides that sit above them, grouped by control domain. Open any entry for its control definition, implementation steps and the audit evidence it expects. Dimmed entries are planned.
Work with a Trust Architect to scope your ISMS, close the gaps, and get audit-ready — without stalling your roadmap.