Sophos XGS 87: How to deploy with Terraform (provider where available)
By Sai Kiran Pandrala · reviewed by Sai Kiran Pandrala, Editor Last verified: 2026-05-30
| Vendor | Sophos |
|---|---|
| Operating system | SFOS (Sophos Firewall OS) |
| Category | Deployment Automation |
| Skill level | Intermediate to advanced |
| DIY-able? | Yes with CLI access; some scenarios need Sophos Support + RMA. |
When I bring a Sophos fleet under automation control the first artifact I generate is a baseline system support-tools generate-debug-info capture per device, archived in object storage. That gives Sophos Support a known-good reference point and gives me a fast diff target when something drifts on the XGS 87 units.
Activate-and-verify is the heart of every reliable pipeline. SFOS (Sophos Firewall OS) either gives you an explicit commit/activate command or expects (auto-saves in Web UI; CLI changes persist): either way, never trust the push without a follow-up read.
Steps below are the unsexy version. They work. The exciting version is what you write after one too many 3am rollbacks.
What this guide covers
How to deploy with Terraform (provider where available) for Sophos XGS 87 (SFOS (Sophos Firewall OS)).
Step-by-step
- Choose the automation surface: vendor controller, API, or CLI scripting.
- Verify reachability + credentials from your automation host.
- Test the change on a single device + maintenance window.
- Roll out in waves of 10-20 devices to limit blast radius.
- Pre-collect baseline, push the change, post-collect; diff.
- Roll back any device whose post-check fails.
Sample CLI invocation
# Manual baseline
system version (CLI)
system status
system interface show
# Push change (via vendor CLI)
system configuration
system interface add name=Port1 ipv4-address=10.0.0.1 netmask=255.255.255.0 zone=LAN
(auto-saves in Web UI; CLI changes persist)
# Verify
system interface show
Best practices
- Always test on a single device or sandbox before fleet rollout.
- Keep configurations in version control (Git).
- Use AAA + RBAC for the automation account; never embed credentials in code.
- Build pre/post-change validation into your pipeline.
Frequently asked questions
Will this work on my specific SFOS (Sophos Firewall OS) version?
The procedure reflects current SFOS (Sophos Firewall OS) behaviour. Older releases may need minor syntax adjustments, use the CLI help (? or tab-completion) to verify.
Should I open a Sophos Support case immediately?
Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your support entitlement is active first.
Where can I find the Sophos official documentation?
https://support.sophos.com/support/s/. search the product family + feature name.
Is this procedure safe in production?
Test in a lab or maintenance window first. Capture pre-change state so you can roll back.
Related guides
Related fixes
Related guides worth a look while you sort this one out:
- Sophos XGS 107: How to deploy with Terraform (provider where available)
- Sophos XGS 116: How to deploy with Terraform (provider where available)
- Sophos XGS 87: How to deploy with a Python script (paramiko / netmiko / native API)
- Sophos XGS 87: How to deploy with Ansible
- Sophos XGS 87: How to deploy with the vendor's controller / manager
- Sophos XGS 107: How to deploy with a Python script (paramiko / netmiko / native API)
References
- Sophos support portal: https://support.sophos.com
- Sophos knowledge base: https://support.sophos.com/support/s/
- Sophos security advisories: https://www.sophos.com/en-us/security-advisories
- Open a case: https://secure2.sophos.com/en-us/support.aspx
Reference material, not professional advice. Validate against your specific SFOS (Sophos Firewall OS) version and test in a non-production environment before applying.
Common patterns we see
When this symptom shows up on a Sophos device, three patterns repeat:
1. Recent firmware update changed behavior, the symptom started within a week of an OTA push. Rollback or wait for the hotfix. 2. Environmental trigger: temperature, humidity, line voltage, network changes. Look at what changed in the environment. 3. Cumulative wear, components like batteries, gaskets, fans degrade over time. Replace the consumable rather than chasing a software fix.
Knowing which pattern applies saves time on the wrong fix.
Safety + preconditions
Before any work on a Sophos device:
- Unplug from mains for any internal-access procedure.
- Discharge stored energy (capacitors in PSUs, residual battery charge) per manufacturer guidance.
- Use ESD-safe handling for boards and modules. no carpet, no wool sleeves.
- Avoid moisture; never apply liquids near vents or connectors.
- If you smell smoke, see scorch marks, or feel uneven heat, stop and escalate.
How to confirm it's actually fixed
On a Sophos device, the test is rarely "reboot and see". Use this list:
- Active reproduction: trigger the original failure path on purpose.
- Indirect reproduction: do an activity that would expose the same subsystem.
- Status indicator review: every LED / display / app status should be green.
- 24-hour soak: leave the device under normal load overnight; check the next morning.
- Telemetry check: review the device or app's diagnostic log for new error entries.
When to call Sophos support instead
Escalate if:
- The same symptom returns within 24 hours of a clean fix.
- You see physical damage (burn marks, swollen battery, cracked PCB).
- The device is in warranty and a hardware replacement is the cheaper outcome.
- Repair requires specialised tools you don't own (alignment jigs, calibration software).
- Following the official path keeps the warranty intact, which matters more than the time spent.
More frequently asked questions
Does this affect other devices on my network?
Generally no. The procedure is local to this device. Network-side changes (firmware updates that affect TLS, SMB, or routing) are flagged explicitly in the steps.
Is it safe to apply during business hours?
If the device is in production use, apply during a scheduled maintenance window. Most procedures need 2-15 minutes of downtime. Capture pre-change state so you can roll back if needed.
How often should I run preventive checks?
Quarterly for most consumer devices; monthly for production / commercial devices. Set a calendar reminder so the device stays healthy between issues.
Why is this happening on a brand-new unit?
Out-of-box defects do occur. If you've owned the device under 30 days and the symptom persists after a factory reset, escalate to the seller for replacement under DOA terms before opening a manufacturer support case.
What if my model isn't exactly the same revision?
Cross-check the model code on the rating plate against the manufacturer support page. Major firmware generations sometimes shift the menu path; the option is usually under a similarly-named section.