Το 2025 η Way to the Web Ltd έκλεισε, και μαζί της σταμάτησε να υποστηρίζεται και το cxs (ConfigServer eXploit Scanner) – ένα εργαλείο που χρησιμοποιούσα χρόνια στους servers που διαχειρίζομαι. Το cxs συνδύαζε heuristic ανίχνευση exploits, virus scanning μέσω ClamAV, και ένα hook στο CSF firewall που έμπαζε αυτόματο ban σε IPs πίσω από κακόβουλα uploads. Ήταν proprietary και obfuscated, και πλέον χωρίς καν το licensing server του να λειτουργεί.
Αντί να ψάξω για κάποιον commercial αντικαταστάτη, αποφάσισα να φτιάξω κάτι δικό μου, ανοιχτού κώδικα. Έτσι ξεκίνησε το OpenXS.
Τι είναι
Η βασική ιδέα του OpenXS δεν είναι να φτιάξει από το μηδέν έναν ακόμα scanner, αλλά να λειτουργήσει σαν ένα harness γύρω από ήδη υπάρχοντα, ενεργά συντηρούμενα open-source projects – YARA (μέσω ενός fork του php-malware-finder), ClamAV, maldet, CSF – δίνοντάς τους ένα κοινό UX, ενιαίο reporting, quarantine και management, αντί να ζει το καθένα ξεχωριστά με το δικό του interface. Ένα Python daemon κρατάει compiled στη μνήμη το YARA ruleset και απαντάει σε scan requests μέσω ενός Unix socket, ώστε ένα upload να μην πληρώνει το κόστος αναμεταγλώττισης σε κάθε request.
Τι κάνει
- YARA-based ανίχνευση obfuscated PHP, webshells και known exploit patterns
- ClamAV και maldet (Linux Malware Detect) σαν επιπλέον, ανεξάρτητοι detectors
- version checks (WordPress core, Composer packages, pending apt security updates)
- file integrity monitoring με SHA-256 baseline σε configurable λίστα σημαντικών αρχείων
- ανίχνευση “unknown core file” – ένα αρχείο κάτω από
wp-admin/wp-includesπου δεν ανήκει καθόλου στην επίσημη διανομή της εγκατεστημένης WordPress έκδοσης, ξεχωρίζοντας ένα απλό leftover από ένα upgrade που δεν ολοκληρώθηκε καθαρά από κάτι πραγματικά απροσδόκητο - “repair” ενέργεια που αντικαθιστά ένα modified γνωστό αρχείο (WordPress core/plugin, Composer package, Drupal core) με το official pristine περιεχόμενό του, με backup πρώτα στο quarantine
- database content scan – σαρώνει το ίδιο το περιεχόμενο της βάσης (WordPress, Joomla/Mambo, Drupal 7) με το ίδιο YARA ruleset, για compromises που ζουν εξ ολοκλήρου μέσα στη βάση χωρίς να αγγίζουν ποτέ ένα αρχείο
- real-time upload blocking μέσω mod_security, πριν καν αποδεχτεί ο web server το αρχείο
- αυτόματο CSF ban σε IPs πίσω από confirmed κακόβουλα uploads
- Webmin module για dashboard, scan history, quarantine management και εγκατάσταση με ένα κλικ
Που βρίσκεται τώρα
Το project είναι ακόμα σε πρώιμο στάδιο, αλλά τρέχει ήδη σε παραγωγή σε αρκετούς από τους servers που διαχειρίζομαι. Ο κώδικας είναι MIT licensed και δημόσιος στο GitHub:
https://github.com/mrpc/OpenXS
Αν διαχειρίζεστε κι εσείς Linux web hosting servers και ψάχνατε αντικαταστάτη για το cxs (ή απλά σας ενδιαφέρει το θέμα), ρίξτε μια ματιά – issues, feedback και pull requests είναι πάντα καλοδεχούμενα.