OPEN SOURCE · GO github.com/chrismfz/cfm nftables · WAF · BPF LSM 5 LAYERS · 1 BINARY

cfm — configurable firewall manager

Το CFM είναι αυτό που προστατεύει κάθε server που λειτουργούμε. Πέντε layers άμυνας σε ένα Go daemon — HTTP challenge, in-path WAF, log-driven detectors, BPF LSM behavioural enforcement, KSPP-grade kernel hardening. Εμείς το γράψαμε, εμείς το τρέχουμε σε production, το ανοίξαμε όλο σε open source.

LANGUAGE Go · CGO_ENABLED=0
FIREWALL nftables · netlink
EDGE PROXY OpenResty or Angie
PLATFORMS Debian · EL · CloudLinux
DEBIAN INSTALL
# Debian
wget -qO - https://repo.nixpal.com/debian/nixpal-repo.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/nixpal-repo.gpg
wget https://repo.nixpal.com/debian/nixpal.list -O /etc/apt/sources.list.d/nixpal.list
apt update && apt install cfm
 
# EL · AlmaLinux · Rocky · CloudLinux
dnf install https://repo.nixpal.com/el/nixpal.rpm
dnf install cfm
 
# Boot the admin UI
cfm auth
# Visit http(s)://<server>:6061/cfm-admin
DEFENCE-IN-DEPTH

Πέντε ανεξάρτητα layers, ένα binary.

Κανένα layer δεν πιάνει τα πάντα. Το CFM στοιβάζει πέντε — καθένα κοιτάζει τον host από διαφορετική γωνία. Μια πραγματική επίθεση περνά και τα πέντε· κάθε layer πιάνει αυτό που τα άλλα δομικά δεν βλέπουν.

01

Challenge engine

Interactive proof-of-work και browser fingerprint check. Το πρώτο checkpoint για soft signals — ύποπτη χώρα, υψηλό request rate, missing fingerprint. Χωρίς κόστος για πραγματικούς χρήστες· μπλοκάρει scripts άμεσα.

L7 · EDGE
02

WAF

In-path Lua rule pipeline μέσω OpenResty ή Angie. 66 detectors σε 9 rule-ID groups: SQLi, XSS, RCE, PHP wrappers, Log4Shell με evasion variants, Java deserialization, polyglot uploads. Per-rule modes: disabled / logonly / challenge / block.

L7 · IN-PATH
03

Detectors + WebDetector

Log-driven, per-protocol detection — SSH, Exim, Dovecot, FTP, MySQL, cPanel, ModSecurity, web traffic. Πιάνει τις καμπάνιες που το WAF βλέπει μόνο ένα request τη φορά. Τροφοδοτεί την autoblock engine με timed bans.

POST-FACT
04

cfm-lsm (BPF LSM)

Kernel-side userspace behaviour enforcement. Πιάνει το post-exploit cash-in: PHP-FPM workers που ξεκινούν από memfd payloads (fileless malware), processes με stdio dup-αρισμένο σε remote sockets (reverse shells). Τα programs pin-άρονται στο bpffs — επιβιώνει σε daemon restarts.

KERNEL · BPF
05

kernsec

Preemptive μείωση της kernel επιφάνειας. KSPP-derived sysctls, boot-arg policies, module blacklists, mount-option audits για /tmp /var/tmp /dev/shm /home. Tier 1 safe-everywhere, Tier 2 opt-in stricter. Πλήρως αναστρέψιμο με safety preview.

KERNEL · BOOT
WAF DETAIL

Μέσα στο WAF rule pipeline.

66 detectors σε 9 rule-ID groups. Per-rule modes (disabled / logonly / challenge / block). Severity aggregation — όλοι οι κανόνες τρέχουν, η ισχυρότερη action κερδίζει, order-independent. Per-vhost exclusions, hit-rate analytics για tuning.

1XX · PATH

Path traversal

../etc/passwd, double-encoded LFI, oversized URL segments, encoded variations.

2XX · IDENTITY

Client identity

Bad-UA scoring (sqlmap, zgrab, fake legacy IE), empty-UA + sensitive-URI combos.

3XX · INJECTION

Injection family

SQLi, XSS, RCE, PHP wrappers (php:// phar:// data://), base64 payloads, XXE, Shellshock, Java deserialization, Log4Shell + evasion variants.

4XX · UPLOAD

Upload / malware

Filename + content rules, PHP webshell scoring, eval/atob/chr-storm/hex2bin obfuscation, polyglot uploads, known webshell paths.

5XX · ABUSE

Persistence / C2

C2 paste tunnels, coinminer URLs, reverse shell patterns, persistence markers.

9XX · OPS

Operator workflow

Το cfm webtop waf hit-rates αναδεικνύει detector noise. Per-vhost exclusions στο config. Tuning από production traffic, όχι από generic CRS lists.

KERNEL LAYERS

Τα δύο layers που τα περισσότερα stacks δεν φτάνουν.

Ξέφυγε κάτι από το Application layer; Kernel Security (kernsec) και CFM-LMS (Kernel Security Module) θα το πιάσει.

cfm CLI
# Kernel hardening (preemptive)
cfm kernsec status # audit
cfm kernsec preview # what apply would change
cfm kernsec apply # write sysctls + boot args
cfm kernsec monitor enable
 
# BPF LSM (runtime)
cfm lsm status # kernel preflight
cfm lsm probe # verify attach
cfm lsm enable # load + pin to bpffs
systemctl restart cfm
AUDIENCE

Ποιοι τρέχουν το CFM σε production.

Τρία είδη πελατών όπου ταιριάζει καθαρά. Αν είστε ένας από αυτούς, τα docs θα φαίνεται ότι γράφτηκαν για εσάς.

AUDIENCE

Shared / reseller hosting

Όπου η καθημερινή attack surface είναι brute-force, web shells, mail abuse από παραβιασμένους πελάτες, και η περιστασιακή Log4j έκπληξη. Το detector + WAF + autoblock stack του CFM είναι φτιαγμένο ακριβώς για αυτό το workload.

AUDIENCE

Dedicated / VPS operators

Όταν ελέγχετε το box αλλά όχι την εφαρμογή. Το nftables backend + kernsec hardening + BPF LSM behavioural enforcement του CFM δίνει τα layers που δεν μπορείτε να προσθέσετε σε επίπεδο εφαρμογής.

AUDIENCE

Self-hosting + privacy

Ένα binary, χωρίς telemetry, χωρίς licence server, χωρίς SaaS dependency. Διαβάστε κάθε γραμμή κώδικα στο GitHub. Τρέξτε το σε server που δεν έχουμε σχέση — ίδιο software είτε έτσι είτε αλλιώς.

FOUNDATIONS

Τρία πράγματα που κρατήσαμε ειλικρινή.

5 layers
DEFENCE-IN-DEPTH

Κάθε layer πιάνει αυτό που τα άλλα δομικά δεν μπορούν. Τα πρώτα layers αποβάλλουν τις εύκολες επιθέσεις· τα επόμενα στηρίζουν τις διαρροές. Ένα Go binary τα καλύπτει όλα.

66 rules
WAF DETECTORS

Σε 9 rule-ID groups με stable IDs και severity aggregation. FP-tested σε πραγματικό production hosting traffic, όχι σε curated lab samples.

nftables
BACKEND

Direct netlink backend (zero-fork option), χωρίς iptables. ALLOW/BLOCK sets, automatic table creation, hook priority control. Συνεργάζεται με CSF/Imunify όταν χρειάζεται.

SCREENSHOTS

Από production, όχι από sandbox.

Admin Screenshots από τη λειτουργία του CFM.

CFM admin web UI
ADMIN UI /cfm-admin · embedded web panel
CFM WAF reports
WAF REPORTS Per-vhost hit-rates, severity, mode
CFM challenge engine browser challenge
CHALLENGE Browser proof-of-work checkpoint
CFM live integration with WHM
WHM Live per-vhost view inside WHM/cPanel
QUESTIONS

Αυτά που ρωτάνε για το CFM.

Το CSF είναι μόνο iptables, χωρίς WAF, χωρίς LSM. Το Imunify είναι closed source, με δικές του γνώμες, SaaS-backed. Το BitNinja παρόμοιο. Το CFM είναι open source, nftables-native, ενσωματώνει WAF (OpenResty / Angie) in-path, συν BPF LSM + kernsec — πέντε ανεξάρτητα layers σε ένα binary. Τα closed-source προϊόντα είναι έγκυρες επιλογές· το CFM είναι η επιλογή για operators που θέλουν να διαβάσουν τον κώδικα.
Ναι, μέσω NFT_INPUT_PRIORITY. Ρυθμίζετε το priority του nftables hook του CFM να τρέχει πριν ή μετά το άλλο stack. Συνηθισμένο σε μεταφορές — τρέξτε και τα δύο για μία εβδομάδα, δείτε τα logs, μετά κλείστε αυτό που πιάνει λιγότερα.
Τα layers 1-3 (Challenge, WAF, Detectors) δουλεύουν πλήρως. Το layer 5 (kernsec) δουλεύει. Το layer 4 (BPF LSM / cfm-lsm) ΟΧΙ — οι stock kernels του RHEL 9 έρχονται χωρίς CONFIG_BPF_LSM=y. EL10, Debian 12+, Ubuntu 22.04+ υποστηρίζονται πλήρως και στα πέντε layers. Το cfm lsm status αναφέρει συγκεκριμένα όταν ο kernel δεν δέχεται τα BPF programs.
Όχι — ανεξάρτητοι Lua κανόνες, δοκιμασμένοι για false positives σε πραγματικό production hosting traffic. Η κληρονομιά του CRS παράγει πολλά false positives σε shared-hosting workloads. Το CFM παρέχει ενσωμάτωση ModSecurity ως feed για τη μηχανή detector, αλλά το in-path enforcement είναι δικό του pipeline.
Processlist monitor για MySQL/MariaDB που σκοτώνει runaway queries και επιβάλλει per-user όρια connections. Χρήσιμο σε shared hosting όπου ένα WordPress plugin μιας σελίδας μπορεί να κορεστεί τη database για όλους. Παραμετροποιήσιμοι κανόνες kill, ξεχωριστό log channel, sleep reaper, lock fan-out kill.
Ναι — το L3/L4 firewall, οι detectors, το autoblock, το kernsec και το cfm-lsm τρέχουν όλα χωρίς edge proxy. Το WAF και η in-path challenge engine χρειάζονται OpenResty ή Angie. Παρέχονται install scripts και για τα δύο — `scripts/install-openresty.sh` ή `scripts/install-angie.sh`.
Το CFM είναι open source και δωρεάν. Self-host όσο θέλετε. Το managed CFM (το στήνουμε, το tunάρουμε, το παρακολουθούμε) είναι υπηρεσία επί πληρωμή — κοστολόγηση βάσει αριθμού boxes και traffic patterns. Επικοινωνήστε για νούμερο.
Το Argus προστατεύει το δίκτυο (NetFlow + BGP blackhole, edge-of-AS). Το CFM προστατεύει τον server (nftables, WAF, BPF LSM, on-box). Συνδυάζονται καλά — το Argus πιάνει πράγματα στο edge προτού φτάσουν σε μεμονωμένους servers· το CFM πιάνει ό,τι περνά, σε κάθε server.

Διαβάστε τον κώδικα, μετά αποφασίστε.

Open source σημαίνει ότι μπορείτε να κάνετε audit κάθε γραμμή πριν αγγίξει production box. Μόλις πειστείτε, install σε πέντε λεπτά και tuning από production traffic — αυτό είναι το design point.