ServerAvatarDocs
Server management

Firewall

Control which ports the internet can reach, with one-click tiles for the common ones and custom rules for everything else.

The firewall decides what the outside world can reach on this server. OSS Panel drives ufw, so the rules you make here are the rules ufw status shows if you log in over SSH.

The model is simple: incoming traffic is blocked by default, and a rule is a hole you open deliberately.

The Firewall screen: a green banner saying the server is protected with the default policy, a Quick add row of tiles for HTTP, HTTPS, SSH, MySQL and the web server set, and a Rules table listing HTTPS, HTTP and SSH

The status banner

The banner at the top is the honest answer to "am I protected?".

  • Your server is protected — the firewall is on and the default incoming policy is Blocked. Turn off firewall is there if you need it; your rules are kept either way.
  • Your server is not protected — the firewall is off. Rules you have saved are listed below but are not being enforced.
  • Your firewall is on, but it isn't blocking anything — the firewall runs, yet the default incoming policy was changed to allow outside the panel. Block incoming by default puts it back.

Quick add

The tiles cover the ports almost every server needs. One click creates the rule; clicking an Added tile removes it again.

TileWhat it opens
HTTPIncoming TCP on port 80
HTTPSIncoming TCP on port 443
SSHIncoming TCP on port 22
Web server setHTTP + HTTPS + SSH in one go

The database tiles behave differently on purpose. MySQL is shown in amber with the warning "MySQL would be open to the whole internet — use Custom rule and pick 'Only my IP'", and clicking it asks you to confirm before it opens the port to everyone.

Add a custom rule

Click Custom rule. The dialog leads with a plain-English summary that rewrites itself as you fill the form in.

The Create a rule dialog, with the summary sentence Allow incoming TCP on port — from anywhere, Allow and Block buttons, a port field, a protocol dropdown, a row of known-service chips, an IP field with an Only my IP button, and a name field

Pick Allow or Block. Allow opens the port; Block drops traffic that matches even if something else would have let it through.

Enter the port, or click one of the service chips — SSH, HTTP, HTTPS, MySQL, PostgreSQL, Redis, FTP, SMTP, DNS — to fill it in. A range like 8000-8090 works too.

Choose the protocol. TCP, UDP, or both.

A port range needs one protocol

For a range, pick TCP or UDP. ufw cannot express a range for both at once — add a second rule if you need it.

Restrict the source, which is the field that matters most. Leave it blank and the rule applies to every address on the internet. Enter one address (203.0.113.5) or a range (203.0.113.0/24) to scope it, or click Only my IP to fill in the address you are connecting from.

Name it, so the rules table reads like a decision instead of a port number. "Allow 8443 from office" beats "8443".

Click Add rule. It appears at the top of the Rules table.

The Rules table after adding the rule, with Allow 8443 from office listed first — action ALLOW, protocol TCP, port 8443, from 203.0.113.5 — above the HTTPS, HTTP and SSH rules

The Rules table

Each row has a toggle, a pencil and a bin. The toggle switches a rule off without deleting it — useful for "turn this on only during the migration".

Rules the panel added to keep you connected carry a padlock and the note "Added automatically so you cannot be locked out of this server". You can still remove them, but the confirmation spells out what will break.

Filters above the table narrow by state (enabled/disabled), action (allow/block), and who added the rule — Custom, System default or Database user — plus sorting by port or action.

If a port is in use by a program but blocked by the firewall, the panel says so above the table, naming the ports. That is usually the explanation for "my app is running but nothing can reach it".

History

History lists every firewall change on this server, newest first, with who made it and when. Open Activity Log takes you to the server-wide record of every change, not just firewall ones.

The Firewall history dialog showing one entry — Added a firewall rule (8443/tcp) by @admin, 28 seconds ago — with a link to open the Activity Log

Limits and caveats

  • This is ufw, so it is the host firewall only. It does not filter traffic between containers, and it is not a web application firewall — for that see the per-application web firewall.
  • Turning the firewall off keeps your rules. They come back, in order, when you turn it back on.
  • Database ports are opened for you when a database user needs them. Those rules show up as Database user in the Added-by filter; removing one by hand will break whatever was connecting.

On this page