Sophos XGS 116: How to deploy with a Python script (paramiko / netmiko / native API)
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. |
Automation pipelines targeting Sophos share a common shape: render desired config, validate against SFOS (Sophos Firewall OS) syntax, stage, push, verify, persist. The XGS 87 platform follows that shape too. it is the credential and authorization story that varies.
Persisting changes via (auto-saves in Web UI; CLI changes persist) is the step engineers forget when they are used to vendors that auto-commit. On SFOS (Sophos Firewall OS) you get one chance per reload to make changes survive; miss it and your pipeline silently produces ephemeral state.
The walkthrough below is exactly what I run against customer fleets, minus the credential bits, which belong in your secret manager.
What this guide covers
How to deploy with a Python script (paramiko / netmiko / native API) for Sophos XGS 116 (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 a Python script (paramiko / netmiko / native API)
- Sophos XGS 87: How to deploy with a Python script (paramiko / netmiko / native API)
- Sophos XGS 116: How to deploy with Ansible
- Sophos XGS 116: How to deploy with Terraform (provider where available)
- Sophos XGS 116: How to deploy with the vendor's controller / manager
- Sophos XGS 107: How to deploy with Ansible
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.
What changed recently?
Fault diagnosis on a Sophos device goes faster when you map the symptom to a recent change:
- Did firmware update in the last 7 days?
- Did the network (router, ISP, VPN) change?
- Was the device moved physically?
- Did paired devices (phone, hub, app) update?
- Were any accessories swapped in or out?
The answer narrows the root cause to a manageable subset.
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.
Escalation guide
For a Sophos device, the right escalation depends on impact:
- Cosmetic / minor: log a ticket via the Sophos app or web portal. Response 1-3 business days.
- Mid-impact: phone support. Have your serial number ready.
- Critical (production down, safety issue): in-person dealer / TAC visit. Bring proof of purchase.
- Out of warranty: third-party repair shop with manufacturer-certified technicians.
More frequently asked questions
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.
Can I roll this back if something breaks?
Yes for software-level changes (firmware rollback, config rollback). Hardware changes are usually one-way. Always back up settings before starting.
Will this void my warranty?
Applying official firmware updates and following the user manual will not affect warranty. Opening sealed components, jumping safety circuits, or using third-party parts can void warranty in most jurisdictions.
Should I update firmware first or last?
Update firmware first if a release note specifically mentions your symptom. Otherwise, finish the troubleshooting flow first, then update; that way you can isolate whether the update or the underlying fix solved it.
How long does this fix usually take?
Most users complete the steps in 20-45 minutes the first time, and 5-10 minutes on subsequent runs once the menu paths are familiar.