IDS/IPS kost je 45% van je download en greep in dertig dagen 58 keer in, ongeveer twee keer per dag. Van die 58 waren er negen uitgaand vanaf je eigen machines, en die heb ik stuk voor stuk nagetrokken: allemaal legitiem verkeer. GitHub, je eigen Mac mini via Tailscale, je eigen servers. De enige melding met de hoogste urgentie was je eigen pentest van 8 juli.
Er is bovendien geen tussenweg. Alleen detectie, inspectie beperken tot één VLAN, DPI uitzetten, of de geheugenvlag omzetten: alle vier gemeten, alle vier leveren ze nul op. Het is aan of uit.
Alles vanaf dezelfde machine (M5 Max, 2.500Base-T op de kabel), tegen dezelfde server (KPN Amstelveen, Ookla 61186), één machine tegelijk, met 45 tot 50 seconden tussen elke wijziging zodat de UDM zijn configuratie kon uitrollen.
| Configuratie | Download per run (Mbps) | Gemiddeld | Winst |
|---|---|---|---|
| IPS aan + DPI aan (huidig) | 688 · 1.074 | 881 | basislijn |
| IDS alleen detectie | 967 · 839 · 692 | 833 | geen |
| IPS alleen op IoT-VLAN | 913 · 955 · 860 | 909 | geen |
| IPS aan + DPI uit | 785 · 574 · 886 | 748 | geen |
IPS aan + memory_optimized uit | 816 · 869 · 597 | 761 | geen |
| IPS volledig uit | 1.192 · 1.746 · 1.689 | 1.542 | +75% |
Upload lag in alle zes de gevallen tussen 1,4 en 2,0 Gbps en wordt niet geraakt. De rem zit uitsluitend op binnenkomend verkeer.
De oorzaak staat in de Ubiquiti Community Wiki: "IPS/IDS features disable hardware offload", en daarbij wordt expliciet vermeld dat ook het routeren tussen interne netwerken eronder lijdt (bron). De versnelling gaat dus globaal uit, niet per netwerk.
Op het apparaat zelf is voor elk van de vier mislukte tussenvormen de mechanische verklaring terug te vinden. Dit is geen theorie, dit staat in de configuratie en in het logboek van de gateway:
Eén meting bewijst dat, en het is de scherpste van de dag. Bij het VLAN-scenario heb ik het hoofdnetwerk uit de inspectie gehaald en alleen het IoT-VLAN laten inspecteren. Dat is aantoonbaar goed doorgekomen: het bestand waarin staat wat suricata afluistert ging van br0 plus br200 naar alleen br200, en na herstel weer terug.
Suricata keek dus werkelijk niet naar het verkeer van je pc's. En toch bleef de download op 909 Mbps steken in plaats van richting de 1.542 te lopen.
Als het rekenwerk van suricata de rem was, dan had je verkeer aan die inspectie onttrekken de snelheid terug moeten geven. Dat gebeurde niet. De prijs zit dus niet in wat er geïnspecteerd wordt, maar in het feit dat de functie aanstaat: zodra IPS aan gaat verlaat al het verkeer het snelle pad van het apparaat, ongeacht welk netwerk je aanvinkt.
Dat verklaart alle vier de nulmetingen in één keer, en het sluit aan bij wat Ubiquiti zelf schrijft over het uitschakelen van hardwareversnelling. "Er is geen tussenweg" is daarmee geen waarneming meer maar een verklaring.
| Waarom het niet werkte | Wat er op het apparaat staat |
|---|---|
| IoT-VLAN scopen | De instelling kwam correct aan bij suricata (geverifieerd), maar de versnelling staat apparaatbreed uit. Er valt niets te winnen door minder te laten inspecteren. |
| Alleen detectie | De draaimodus is pcap-l3-blocking-high. Overschakelen naar detectie verandert alleen het werkwoord op de regels, van drop naar alert. Dezelfde pakketten, dezelfde inspectie. |
| DPI uitzetten | DPI is een aparte teller, niet de inspectie zelf. Suricata blijft ongewijzigd draaien. |
memory_optimized uit | Er ligt een ongebruikte afpacket.tmpl met zero-copy-instellingen naast de actieve iface.tmpl, wat hoop gaf. Getest: de modus blijft pcap-l3-blocking-high. De vlag doet hier niets. |
Het logboek meldt daarnaast "Going to use 1 thread(s)" per bridge: één enkele thread inspecteert al je verkeer op een processor met vier kernen. Dat verklaart niet de 660 Mbps die je kwijtraakt, maar wel het pakketverlies in hoofdstuk 4.
Onafhankelijke bevestiging dat er niets te finetunen valt komt van een meetreeks op een UDM Pro aan een 8 Gbit-lijn: uit ~8 Gbps, aan ~3,5 Gbps, en dat cijfer bleef gelijk bij 3, 16, 32 en 45 signature-categorieën (meting van Ethan Word). Categorieën uitzetten vermindert dus alleen de ruis, niet de rekenlast.
Dit was de kernvraag, en hij is lastiger te beantwoorden dan hij lijkt. De alerts staan niet in de collectie ipsalert waar je ze zou verwachten, die is leeg. Ze staan in de collectie alert onder de sleutel THREAT_BLOCKED_V3. Daar staan er 58, van 22 juni tot vandaag.
Negen daarvan zijn uitgaand, vanaf je eigen machines naar buiten. Ik heb elk doeladres opgezocht met whois en reverse-DNS in plaats van het te gokken:
| Datum | Wat IPS blokkeerde | Wat het werkelijk was |
|---|---|---|
| 22 jun | .205 → 140.82.121.4 | GitHub |
| 24 jun | .17 → 140.82.121.3 | GitHub (lb-140-82-121-3-fra.github.com) |
| 28 jun | .17 → 85.10.157.251 | TeamBlue hosting |
| 7 jul | .17 → 174.138.105.41 (2x) | DigitalOcean |
| 7 jul | .17 → 167.235.220.62 | BetterUptime statuspagina |
| 8 jul 14:54 | .17 → 37.97.253.41 VERY_HIGH | TransIP VPS server.getright.nl, de dag van je motoinside-pentest |
| 9 en 10 jul | .17 → 100.112.197.62 (2x) | Je eigen Mac mini (mac-mini-van-michel.hound-snake.ts.net) |
| 15 jul | .17 → 37.97.202.216 | TransIP |
Negen van de negen zijn onterecht. Je eigen Mac mini benaderen over je eigen Tailscale-netwerk wordt weggeschreven als dreiging met urgentie HIGH.
Die zijn inkomend, van externe IP-adressen naar interne machines. Maar er staat geen enkele poort open en UPnP draait niet, dus ongevraagd inkomend verkeer kán een LAN-machine helemaal niet bereiken. Het moet dus retourverkeer zijn op verbindingen die je eigen machines zelf hebben geopend. Ook dat zijn dan geen indringers die buiten de deur zijn gehouden.
Dit is een gevolgtrekking, geen meting. UniFi bewaart de signature niet bij de alert, dus ik kan niet nakijken wáár precies op is afgegaan. De redenering volgt uit de netwerkconfiguratie, die hieronder wel geverifieerd is.
Aanvankelijk dacht ik dat er vóór 22 juni simpelweg geen dreigingen waren. Dat klopt niet, en het is netjes te bewijzen. De meldingen worden opgeruimd na ongeveer 30 dagen.
Het sluitende bewijs zit in een gewone inloggebeurtenis. In de meldingentabel staan 834 ADMIN_ACCESS-records, en het oudste is van 20 juni. Maar exact diezelfde inlogs staan óók in een tweede tabel, en dáár lopen ze door tot 12 mei. Er waren dus aantoonbaar inlogs vóór 20 juni, ze zijn alleen uit de meldingentabel verwijderd. Drie totaal verschillende soorten meldingen, met 2, 9 en 27 records per dag, houden allemaal op rond 20 tot 22 juni. Bij een limiet op aantal zouden die data ver uiteenlopen. Bij een limiet op tijd vallen ze samen, en ze vallen samen.
Mijn eerdere vermoeden dat de meldingsvorm bij een software-update was gewijzigd, is daarmee ook van tafel: de laatste update was 27 mei, bijna vier weken eerder, en onder oudere benamingen staan nul records.
Dat verandert de betekenis van het getal. 58 is geen totaal maar een tempo: ongeveer twee per dag. Het verandert de verhouding niet, want negen van de negen controleerbare zijn nog steeds onterecht, maar het is eerlijker gesteld.
De markering van het laatst gelezen alarm staat overigens nog op 29 mei 2025. Dat is een dode verwijzing uit de oude meldingenpijplijn, geen bewijs dat er niets gebeurde. Wat wel blijft staan: er is in de praktijk niemand die deze lijst bekijkt, en detectie werkt alleen als iemand kijkt.
Voordat je iets uitzet is het eerlijk om te kijken wat er dan overblijft. Alles hieronder is nagetrokken op het apparaat zelf, niet aangenomen.
| Laag | Status | Kosten |
|---|---|---|
| Geen open poorten | 1 port forward, en die staat uit. Geen enkele firewallregel die verkeer vanaf External toestaat. miniupnpd draait niet, dus niets opent zichzelf. | niets |
| VLAN-segmentatie | Je eigen regel "Block IoT to Default" greep in dezelfde periode 291 keer in, bijvoorbeeld toen "Lamp Michel" vanaf het IoT-VLAN het hoofdnetwerk op wilde. | niets |
| NextDNS | Actief op de UDM met twee profielen, filtert op DNS-niveau dus vóórdat er een pakket gaat lopen. | niets |
| IDS/IPS | 58 ingrepen, waarvan de negen controleerbare allemaal onterecht. | 45% download |
Je firewall doet vijf keer zo vaak iets nuttigs als je IPS, en kost je geen enkele megabit.
Tot nu toe ging dit rapport over de kosten. Dit hoofdstuk gaat over wat er aan de andere kant van de weegschaal ligt, en dat is minder dan je zou denken. Alle drie de punten hieronder komen uit bestanden en logboeken op de gateway zelf.
Suricata houdt bij hoeveel pakketten hij niet heeft kunnen bekijken. Bij een rustig netwerk is dat 1,67%, reproduceerbaar over twee metingen. Tijdens de meetsessie van vanmiddag liep dat op naar 5,3%: van 7.137.135 pakketten gingen er 375.152 ongezien langs.
Je betaalt dus 45% van je download voor inspectie die onder belasting één op de twintig pakketten overslaat. En je kunt dat nergens zien: in de configuratie staat stats: enabled: no, dus het cijfer verschijnt niet in de interface. Het is alleen op te vragen via de commandosocket op de gateway.
Op het apparaat staat een lijst met twee groepen: 37 categorieën die gratis zijn, en 54 die bij CyberSecure horen. Achttien daarvan zijn alleen met abonnement te activeren, en dat zijn uitgerekend de categorieën die bij een netwerk zonder open poorten nog iets zouden kunnen betekenen:
PHISHING · EXPLOIT_KIT · CURRENT_EVENTS · COINMINER · ADWARE_PUP · THREATVIEW_CS_C2 · BOTCC.PORTGROUPED · JA3 · HUNTING en negen andere
Er staan 51.100 regels op de schijf, waarvan er met jouw 18 ingeschakelde categorieën 25.046 geladen worden. Phishing en exploit kits zitten daar niet bij. CyberSecure kost 99 dollar per jaar en de UDM-Pro wordt ondersteund, maar bedenk dat je dan betaalt om een functie uit te breiden die 45% van je bandbreedte kost.
In de configuratie staat HTTP_PORTS: "80". De regels die in de inhoud van webverkeer kijken, gelden dus alleen voor onversleuteld HTTP. In 2026 loopt vrijwel alles over HTTPS, en daar kan geen enkele inspectie in kijken zonder het verkeer open te breken. Dat is geen fout van Ubiquiti, het is de reden waarom dit soort inspectie de laatste jaren structureel minder oplevert. De maker van de Suricata-koppeling voor pfSense noemt precies dit als reden om het thuis af te raden: "An IDS/IPS cannot see into encrypted traffic."
Van de 25.047 regels faalt er één bij het inladen: een signature voor een SNMP-kwetsbaarheid in Cisco IOS. De reden staat in het logboek: Ubiquiti's eigen configuratie zet de SNMP-ontleder uit, terwijl de regelset wel SNMP-regels bevat. Klein detail, maar het typeert de staat van de koppeling.
Ik heb dit niet alleen op eigen metingen willen baseren. Twee dingen vallen op in het bronnenmateriaal.
Dat is precies jouw situatie, maar dan omgekeerd. Een gebruiker beschrijft het patroon van beide kanten:
"I was getting multiple hits a day from IDS/IPS to the machine hosting those services. I've since migrated those services and closed the ports and haven't had a single IDS/IPS event since then. If you're not exposing ports, you may never see it give you an alert."
In de grootste discussie over deze vraag is het best gewaardeerde antwoord (score 40, van iemand die zegt firewall-engineer te zijn) onomwonden: "Unless you have externally facing servers... there is absolutely no need for one" (r/HomeNetworking).
Iemand in r/cybersecurity kreeg 90 alerts in drie dagen op puur intern verkeer en reproduceerde het: een lege map aanmaken op een NFS-share leverde meldingen op voor "lateral movement" en "shellcode" (bron). De structurele verklaring staat in het best gewaardeerde antwoord daaronder:
"Modern IPS/IDS uses network discovery to fingerprint hosts on your network and tune rules so they are relevant. Unifi is limited and won't let you tune what rules apply to what hosts, so yay false positives!"
De onderhouder van de Suricata-package voor pfSense, dus iemand die deze software zelf bouwt, schrijft: "I don't typically recommend an IDS/IPS for a home network", met als redenen te veel valse meldingen en het feit dat inspectie niet in versleuteld verkeer kan kijken. Zijn alternatief is DNS-filtering (Netgate-forum).
Eerlijk erbij: in het gevonden materiaal staat geen enkel goed onderbouwd geval waarin UniFi's IPS aantoonbaar een echte aanval heeft tegengehouden. Dat betekent niet dat het nooit gebeurt, het betekent dat niemand het heeft kunnen laten zien.
Twee pogingen liepen dood. Ik noem ze omdat een rapport dat alleen de geslaagde metingen toont, niet te vertrouwen is.
Daarin schreef ik dat de alarmenlijst leeg was en dat de laatste melding van mei 2025 dateerde. Dat was onjuist. Ik had gekeken naar rest/alarm via de API en naar het veld last_alert_id, en dat waren allebei de verkeerde plek. Het getal uit mei 2025 is de markering van het laatst gelezen alarm, niet van het laatste alarm. De werkelijke meldingen stonden gewoon in de database.
Het gaat om de kern van dit onderzoek, dus het hoort hier te staan en niet weggewerkt te worden. Dat de conclusie dezelfde kant op blijft wijzen, maakt de fout niet minder een fout.
Uitzetten. Je hebt drie lagen die aantoonbaar werken en niets kosten: nul open poorten, segmentatie die 291 keer per maand ingrijpt, en DNS-filtering die eerder in de keten zit. De vierde laag kost 45% van je download en heeft in een maand niets tegengehouden wat je tegengehouden wilde hebben.
Eén scenario blijft over waarin dit voor jouw huis zinvol is: een besmet IoT-apparaat dat naar buiten belt. Je hebt er zestig-plus, en daar is de categorie botcc voor bedoeld. NextDNS dekt dat grotendeels af, want zulk verkeer verloopt meestal via een hostnaam, maar niet als het rechtstreeks naar een IP-adres gaat.
Dat restrisico is reëel. Alleen: het is detectie, en detectie werkt alleen als iemand kijkt. In dertig dagen kwamen er 58 meldingen binnen en is er geen enkele geopend.
Een nieuwe UDM-Pro verandert niets, dat is dezelfde processor en hetzelfde geheugen. De UDM-Pro-Max kost €654,80 inclusief btw en heeft 8 GB in plaats van 4 GB, wat het echte knelpunt is: je huidige UDM heeft nog 173 MB vrij en gebruikt 646 MB swap, en UniFi draait daarom met een uitgeklede regelset. Reken op 1,2 tot 1,5 Gbps met inspectie aan, niet op 4 Gbit. Wil je allebei volledig, dan zit je in de klasse van de EFG of UXG-Enterprise, rond de $1.999.
Maar de eerlijke vraag blijft: je overweegt dan €655 tot €2.000 uit te geven om een functie sneller te maken die in een maand negen keer je eigen GitHub-verkeer heeft geblokkeerd en nul keer iets anders.
ips op beide netwerken met alle 18 categorieën, DPI aan inclusief fingerprintingbackups/2026-07-21_pre-ipstest_setting-ips.json