Αρχείο ετικέτας wordpress

OpenXS: ένα open-source exploit scanner για τους servers μου

Το 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 είναι πάντα καλοδεχούμενα.

PHP Tutorial: Αυτόματες αλλαγές του σχήματος της βάσης δεδομένων

Είχα πολύ καιρό να γράψω tutorial για το Freestuff, βρήκα όμως επιτέλους λίγο χρόνο το Σ/Κ που πέρασε και ετοίμασα μερικά. Ανέβασα ήδη το ένα από αυτά. Πρόκειται για έναν απλό τρόπο ενημέρωσης αλλαγών στη βάση δεδομένων κάθε φορά που κάνουμε upgrade της εφαρμογής μας, περίπου στη λογική του wordpress.

Μπορείτε να το διαβάσετε από εδώ: Freestuff.gr – Αυτόματες αλλαγές του σχήματος της βάσης δεδομένων.

CaptainBook.gr

Το τελευταίο project που ανέβασα είναι ένα ηλεκτρονικό κατάστημα το οποίο έστησα για λογαριασμό τριών φίλων, σε συνεργασία με τον εξαιρετικό γραφίστα Γιάννη Αγάθο.

Το Logo
Το Logo

Αν και ακόμα δουλεύουμε και κάνουμε διαρκώς αλλαγές, το site λειτουργεί ήδη σε beta μορφή και μπορείτε να κάνετε κανονικά τις αγορές σας από αυτό.  Ήδη έχω κάνει μια πολύ μεγάλη παραγγελία την οποία και παρέλαβα σήμερα.

Μια ιδιαιτερότητα του site σε σχέση με άλλα ηλεκτρονικά καταστήματα με βιβλία, είναι ότι πέρα από κατάστημα, είναι ένα πλήρες portal γύρω από το βιβλίο. Θα έχει αρκετά πλούσια αρθρογραφία, πληροφορίες όπως βιογραφικά συγγραφέων, αλλά και διάφορες λειτουργίες με σκοπό να το μετατρέψουν σε μια δυνατή κοινότητα γύρω από το βιβλίο.

Η υλοποίηση έγινε με τη βοήθεια δύο πολύ δυνατών open source projects. Το ένα είναι το Zen Cart για τις λειτουργίες του cart, το άλλο είναι το wordpress για τις λειτουργίες της κοινότητας.

Φυσικά για να τα παντρέψω χρειάστηκε αρκετές τροποποιήσεις, ενώ για τις ιδιαίτερες ανάγκες του καταστήματος χρειαστήκαμε πάρα πολλά custom modules και plugins, ενώ αναπτύσσουμε σταδιακά και άλλα.

Για να είμαι και σωστός απέναντι στην κοινότητα, κάποια στιγμή που θα είναι 100% ολοκληρωμένο το site, θα δημοσιεύσω κάποιο από τα modules ως open source.

Όσοι λοιπόν ψάχνετε για κάποιο βιβλίο… ρίξτε και μια ματιά από το CaptainBook.gr. Εννοείται ότι κάθε σχόλιο είναι ευπρόσδεκτο!

WordPress plugins

Σήμερα ασχολήθηκα λίγο με το blog μου και εγκατέστησα μερικά plugins για το wordpress. Αυτά είναι:

  • Align RSS Images
    IMG_0587Δυστυχώς το rss feed που παράγει το wordpress είναι λίγο προβληματικό στο θέμα του σωστού alignment των φωτογραφιών, με αποτέλεσμα ένα άρθρο που έχει π.χ. 3 φωτογραφίες και το έχετε κάνει έτσι ώστε οι φωτογραφίες να εμφανίζονται ωραία δίπλα στο κείμενο, όταν δείτε το feed, οι φωτογραφίες έχουν χάσει το alignment και διακόπτουν το κείμενο. Με αυτό το plugin το πρόβλημα διορθώνεται.
  • FFDirect (Friendfeed Direct Post)
    Ένα πολύ καλό plugin από τον Παναγιώτη Βρυώνη όπου με το οποίο τα Post σας εμφανίζονται στο FriendFeed μόλις τα δημοσιεύσετε, μαζί με απόσπασμα από το κείμενό τους, ενώ επιστρέφει στο αρχικό κείμενο τον αριθμό των likes. Αν το εγκαταστήσετε θα πρέπει να αφαιρέσετε το feed σας από το FriendFeed.
  • WP-Slimbox2
    Ένας πολύ ωραίος τρόπος εμφάνισης των φωτογραφιών που εισάγετε στα posts.  Κάντε κλικ στη φωτογραφία αυτού του post για παράδειγμα. Το είχα εγκαταστήσει αρχικά για το beautymakeup.gr και μου άρεσε, οπότε το έβαλα και στο δικό μου. Και μάλλον αυτό το jquery εφέ θα το χρησιμοποιήσω και σε άλλα μου site.

Beauty and Make up Blog

Η κοπέλα μου είναι make up artist και αισθητικός και εδώ και κάποιο διάστημα ήθελε να δημιουργήσει ένα blog σχετικά με το επάγγελμα της. Με λίγη βοήθεια από εμένα, χθες στήθηκε το beautymakeup.gr.

Βασισμένο σε wordpress, με ένα τροποποιημένο template για τις ανάγκες της, νομίζω ότι είναι καλό για αρχή. Σιγά – σιγά βέβαια θα βελτιώνεται. Η Χριστίνα έχει αρκετό υλικό έτοιμο για να ανεβάζει σχεδόν καθημερινά.

Στην ύλη θα βρείτε σταδιακά πολλές συμβουλές για ομορφιά, παρουσιάσεις προϊόντων, ανταποκρίσεις από σχετικές εκθέσεις, αλλά και σχόλια για ταινίες που έχουν κάποιο ενδιαφέρον από άποψη αναλογικών εφφέ.

Καλή αρχή λοιπόν!

Νέο theme στο blog

Σήμερα αποφάσισα να ανανεώσω λίγο το blog. Κατέβασα και εγκατέστησα ένα νέο theme, το Pixeled. Η αλήθεια είναι ότι δεν το έψαξα και πάρα πολύ, μπήκα στο wordpress.org και αυτό ήταν στα πιο δημοφιλή, μου άρεσε και το πέρασα.

Ήδη έκανα και κάποιες μικροαλλαγές για να το φέρω στα μέτρα μου. Και επειδή οι κατηγορίες του blog ήταν ένα ψιλοχάος (thanks to blogger), τις συμμάζεψα λίγο για να μην χαλάνε το header. Θέλει λίγη δουλειά ακόμα το blog για να οργανωθεί και πρέπει επίσης να περάσω και τον απαραίτητο κώδικα για το adsense.

Τέλος, μετέφερα το blogroll στο κάτω μέρος και έφυγε από το πλάι. Γενικά παίζω λίγο με τις λεπτομέρειες.

Ελπίζω να σας αρέσει.