UFW limit — public-but-protected rate-limit policy#
ufw limit <port>/tcp egy köztes védelem allow és deny között: 6 connection / 30 sec / source IP — utána DROP. Védelem brute-force / port-scan ellen, miközben a port publikusan elérhető marad.
Mikor használd#
- Dev-szerver dev-server-portjai publikus IP-n, de nincs alkalmazás-szintű auth (vite, FastAPI, etc.)
- SSH-n ha még password-auth-os (de inkább rakd
key-only-ra) - Bármilyen "publikus de NEM bot-magnet" port
Alkalmazás#
# régi allow rule törlése (ha van)
ufw delete allow 5173/tcp
# limit alkalmazás
ufw limit 5173/tcp comment 'robbantott-kereso vite (rate-limited)'
# verify
ufw status | grep 5173
# 5173/tcp LIMIT Anywhere
Miben különbözik az allow-tól#
| Action | Kerál |
|---|---|
allow | Korlátlan connection accept |
limit | 6 conn / 30 sec / source IP, fölött DROP + log |
deny | Minden DROP |
reject | DROP + ICMP unreachable (informativabb az attacker-nek, ezért ritka) |
Tesztelés (csak local!)#
# 10 gyors connection ugyanarra a portra
for i in {1..10}; do
curl -s -m 2 -o /dev/null -w "$i: %{http_code} (%{time_total}s)\n" http://localhost:5173 &
done
wait
# 7-8 connection után már timeout — UFW limit drop
Iptables alatt mit csinál#
ufw limit az iptables -m recent modult használja:
-A ufw-user-limit -m recent --update --seconds 30 --hitcount 6 --name DEFAULT --rsource -j ufw-user-limit-accept
-A ufw-user-limit-accept -m limit --limit 3/min -j LOG
-A ufw-user-limit-accept -j DROP
Caveat: NEM auth helyettesítő#
A limit csak rate-limit. Bot detection ellen védi az appot, de autentikációt nem ad. Ha az alkalmazás default-credential-es admin paneles WP/Tomcat etc, és valaki tudja a credentials-t, a 6 conn/30s nem véd. Auth-réteg + limit = teljes.
Hol jelent meg#
2026-05-15 dev VPS hardening — 5173 (robbantott-kereso vite) + 8000 (uvicorn) publikus portokat limit-re cseréltük, mert a user „egyelőre publikusak de védettek legyenek" mondta. Részletes log: 08-Sessions/2026-05-15-szerver-update