Skip to main content
This guide assumes you installed Zylon using either Ubuntu 22.04 or Ubuntu 24.04 as the base OS. For other setups, you must install UFW (Uncomplicated Firewall) and adapt the commands accordingly.
If due to security or compliance requirements your Zylon server must operate in an airgapped environment (no internet access), you can do so by configuring UFW (Uncomplicated Firewall) that comes preinstalled in your OS. Almost all outgoing network traffic can be blocked and most Zylon features will continue to work as usual. Examples of features that won’t be available without internet access are (list might grow in the future):
  • AI Web search
  • MCP connections
  • Database integrations that require internet access (e.g.: Google BigQuery, Snowflake, etc)
Enabling airgap mode implies from this point onwards the update process needs to be adapted via two approaches:
  • Temporarily disable the firewall, run the update, re-enable the firewall
  • Move to a completely airgap install procedure as described here

Configuring UFW

After any change don’t forget to enable the firewall!

Logging

Note: UFW logging captures firewall activity and is required for most security compliance frameworks (SOC 2, ISO 27001, NIS2). The low level logs all blocked packets and policy violations — this is sufficient for audit and incident response without generating excessive noise from routine allowed traffic. Logs are written by the kernel and typically appear in one or more of the following locations depending on your system configuration:
  • /var/log/ufw.log — when rsyslog is active (default on Ubuntu)
  • /var/log/syslog — fallback or alongside ufw.log on some configurations
  • Accessible via sudo journalctl -k | grep UFW on systemd-based systems
We recommend verifying which location is active on your system after enabling logging.

Generic rules

These are the most restrictive rules that should be applied to your Zylon server. Generally, you shouldn’t need to modify them, unless you have specific networking requirements.
Additionally, it’s highly recommended to allow DNS resolution through UFW; otherwise, the optional features listed below won’t work properly. Running the following bash script will add the necessary rules from /etc/resolv.conf:

Google Single Sign-On (SSO) rules

If you are using Google SSO for authentication, you need to allow outgoing traffic to Google’s OAuth servers. The following script will fetch the current list of Google IP ranges and add the necessary UFW rules:

Microsoft Entra rules

If you are using Microsoft Entra (Azure AD) for authentication, you need to allow outgoing traffic to Microsoft’s OAuth servers. The steps to allow Microsoft Entra are as follows:
  • Download the current list of Microsoft IP ranges from here
  • Copy the file ServiceTags_Public_YYYYMMDD.json to your server
  • Run the following script to generate and apply the necessary UFW rules:

Generic rules for other services:

If you are using other services that require internet access, like MCP servers, you will need to allow outgoing traffic to those services as well by their IP addresses. To figure out the IP addresses, you can use the nslookup or dig commands, for example: