Servers are often exposed not by a clever exploit but by a small oversight: a database port left open to the whole internet, SSH reachable from anywhere, a firewall rule meant to be tightened “later.”
Writing the right rules is not hard. Writing the right rules every time, for every service, without locking yourself out, is. That is the gap NeuroWall’s App Protection wizard closes: you say what you want to protect and who may use it, and NeuroWall works out the firewall rules, shows them to you, and only then applies them.
This post walks through the whole wizard, screen by screen.
App Protection lives in the NeuroWall web UI. Sign in with your administrator account, then open System → App Protection. Viewer accounts can look but cannot change anything; the wizard fails closed for read-only users.

The first screen asks one question: What do you want to protect?

There are two families, each shown with the traffic path NeuroWall puts in front of the service:


Pick one and the Next button lights up.
Now choose the exact service. Each target comes with its own ready-made rule set, so you do not have to remember which ports it uses or what should stay closed.

| Target | Ports | How NeuroWall protects it |
|---|---|---|
| Caddy web server | tcp/80, tcp/443, udp/443 | HTTP/HTTPS (and HTTP/3) open to clients; SSH limited to management |
| PostgreSQL | tcp/5432 | Port 5432 only from the trusted application network; SSH limited to management |
| ClickHouse | tcp/9000, tcp/8123, tcp/9009 | Native, HTTP, and interserver ports only from trusted hosts; SSH limited to management |
The little diagram on each card (Clients → tcp/9000 → NeuroWall → ClickHouse) is a good mental model for the whole feature: NeuroWall sits in front of the service and decides who gets through.
Choosing a game server adds two optional extras:

This is the only step where you type anything, and the form is short. Here it is for ClickHouse:
Everything is entered as pills: type an address or CIDR, press +, and it becomes a removable tag. Bad or duplicate entries are rejected on the spot.

For a game server the form is the same, with two differences: allowed clients are optional (“leave empty to let anyone connect,” which is what you want for a public game server), and there is a traffic shaping section for QoS.
Here the server IP is auto-filled (and still editable), and you enter your uplink and downlink in Mbit. If the interface has no QoS profile yet, one is created with those numbers. If one already exists, its bandwidth is left alone and the game rules are simply added to it.

This is the screen we are proudest of. Before NeuroWall changes a single rule, it shows you exactly what it is about to do.
The header reads “Review: 7 rules for clickhouse.” Underneath, NeuroWall spells out the guarantee:
Nothing is applied yet. Single-host sources go to eBPF (XDP) when it is attached; CIDR or any-source rules go to nftables. If any rule fails, the ones created in this attempt are removed again.

Look at the table. For each ClickHouse port (9000, 8123, 9009) there is a pair of rules:
Below them, under Shared SSH access, is one more rule: allow SSH from the single admin address 203.0.113.12. Because that source is a single host, it goes to the eBPF (XDP) layer. The CIDR-based rules go to nftables, which is why the summary chips read 1 eBPF · 6 nftables.
You get the layer, source, destination, protocol, and action of every rule, with names like profile-clickhouse_01-trusted-9000 so you can recognise them later. If anything looks wrong, press Back and fix it. Nothing has happened yet.
The game server review is just as plain: two rules—allow TCP 25565 to the game server from anyone, and the shared SSH rule restricting management access to one admin address. A line above the table confirms the QoS plan: “QoS (gameplay priority) on enp7s0: minecraft_01 25565/tcp.” Press Apply 2 rules and you are done.

When you apply, NeuroWall creates the rules through the same rules engine as everything else in the product, so they show up in the normal rule lists (the result page links you straight to the eBPF and nftables views). A few details make this safe to live with:
clickhouse_01, the next one clickhouse_02, and so on. Removing a protection deletes only its rules.Because the hard part of firewalling is not syntax, it is consistency:
It also means the person who sets up the database does not have to be the person who knows nftables syntax by heart.
App Protection is a guided way to generate and apply a sensible rule set for a known service. It is not a replacement for thinking about your network. You still decide who is trusted and which addresses are blocked, and the wizard is only as good as those answers. The review screen exists so that you check them.
App Protection is part of NeuroWall, CloudArmour’s Linux-native firewall, built for people who run real servers: ISPs, hosting providers, game communities, and teams that run their own databases.
Learn more about NeuroWall and CloudArmour at cloudarmour.io.
NeuroWall is built by CloudArmour.