Μετάβαση στο περιεχόμενο

Παράρτημα 5: Αυξήστε την ασφάλεια σαςXOOPSεγκατάσταση

Μετά την εγκατάστασηXOOPS2.7.0, ακολουθήστε τα παρακάτω βήματα για να σκληρύνετε την τοποθεσία. Κάθε βήμα είναι προαιρετικό μεμονωμένα, αλλά μαζί αυξάνουν σημαντικά τη βασική ασφάλεια της εγκατάστασης.

1. Εγκαταστήστε και διαμορφώστε τη μονάδα Protector

Ενότητα με τίτλο «1. Εγκαταστήστε και διαμορφώστε τη μονάδα Protector»

Το πακέτο protector ενότητα είναι τοXOOPSτείχος προστασίας. Εάν δεν το εγκαταστήσατε κατά τον αρχικό οδηγό, εγκαταστήστε το από την οθόνη Διαχειριστής → Ενότητες τώρα.

Ανοίξτε τον πίνακα διαχείρισης του Protector και ελέγξτε τις προειδοποιήσεις που εμφανίζει. ΚληροδότημαPHP directives such as register_globals no longer exist (PHP 8.2+ has removed them), so you will not see those warnings anymore. Current warnings usually relate to directory permissions, session settings, and trust-path configuration.## 2. Κλείδωμα mainfile.php και secure.php Όταν τελειώσει το πρόγραμμα εγκατάστασης, προσπαθεί να επισημάνει και τα δύο αρχεία ως μόνο για ανάγνωση, αλλά ορισμένοι κεντρικοί υπολογιστές επαναφέρουν τα δικαιώματα. Επαληθεύστε και υποβάλετε ξανά αίτηση εάν χρειάζεται:

  • mainfile.php 0444(κάτοχος, ομάδα, άλλα μόνο για ανάγνωση)
  • xoops_data/data/secure.php 0444

mainfile.php ορίζει τις σταθερές διαδρομής (XOOPS_ROOT_PATH, XOOPS_PATH, XOOPS_VAR_PATH, XOOPS_URL, XOOPS_COOKIE_DOMAIN, XOOPS_COOKIE_DOMAIN_USE_PSL) και σημαίες παραγωγής. secure.php κρατά τα διαπιστευτήρια της βάσης δεδομένων:

  • Στο 2.5.x, χρησιμοποιούσαν τα διαπιστευτήρια της βάσης δεδομένων mainfile.php . Τώρα αποθηκεύονται σε xoops_data/data/secure.php, το οποίο φορτώνεται από mainfile.php κατά το χρόνο εκτέλεσης. Τήρηση secure.php μέσα xoops_data/— ένας κατάλογος που ενθαρρύνεστε να μετακινήσετε εκτός της ρίζας του εγγράφου — καθιστά πολύ πιο δύσκολο για έναν εισβολέα να αποκτήσει τα διαπιστευτήριαHTTP.

3. Μετακίνηση xoops_lib/ και xoops_data/ έξω από τη ρίζα του εγγράφου

Ενότητα με τίτλο «3. Μετακίνηση xoops_lib/ και xoops_data/ έξω από τη ρίζα του εγγράφου»

Εάν δεν το έχετε κάνει ήδη, μετακινήστε αυτούς τους δύο καταλόγους ένα επίπεδο πάνω από τη ρίζα ιστού σας και μετονομάστε τους. Στη συνέχεια, ενημερώστε τις αντίστοιχες σταθερές mainfile.php:

define('XOOPS_ROOT_PATH', '/home/you/www');
define('XOOPS_PATH', '/home/you/zubra_mylib');
define('XOOPS_VAR_PATH', '/home/you/zubra_mydata');
define('XOOPS_TRUST_PATH', XOOPS_PATH);

Η τοποθέτηση αυτών των καταλόγων εκτός της ρίζας του εγγράφου αποτρέπει την άμεση πρόσβαση στο Composer’s vendor/ δέντρο, αποθηκευμένα πρότυπα, αρχεία συνεδρίας, μεταφορτωμένα δεδομένα και τα διαπιστευτήρια της βάσης δεδομένων secure.php.

Ενότητα με τίτλο «4. Διαμόρφωση τομέα cookieXOOPSΤο 2.7.0 εισάγει δύο σταθερές τομέα cookie mainfile.php:»
// Use the Public Suffix List (PSL) to derive the registrable domain.
define('XOOPS_COOKIE_DOMAIN_USE_PSL', true);
// Explicit cookie domain; may be blank, the full host, or the registrable domain.
define('XOOPS_COOKIE_DOMAIN', '');

Οδηγίες:

  • Φύγε XOOPS_COOKIE_DOMAIN κενό αν σερβίρετεXOOPSαπό ένα μόνο όνομα κεντρικού υπολογιστή ή από μια IP.
  • Χρησιμοποιήστε τον πλήρη κεντρικό υπολογιστή (π.χ.www.example.com) για να καλύψετε τα cookie μόνο σε αυτό το όνομα κεντρικού υπολογιστή.
  • Χρησιμοποιήστε τον καταχωρήσιμο τομέα (π.χ.example.com ) όταν θέλετε να μοιράζονται τα cookies www.example.com, blog.example.com κ.λπ.
  • XOOPS_COOKIE_DOMAIN_USE_PSL = true αφήνειXOOPSσωστά διαχωρίστε τα σύνθετα TLD (co.uk, com.au,…) αντί να ρυθμίσετε κατά λάθος ένα cookie στο ενεργόTLD.

mainfile.dist.php πλοία με αυτές τις δύο σημαίες ρυθμισμένες να false για παραγωγή:

define('XOOPS_DB_LEGACY_LOG', false); // disable legacy SQL usage logging
define('XOOPS_DEBUG', false); // disable debug notices

Αφήστε τα στην παραγωγή. Ενεργοποιήστε τα προσωρινά σε ένα περιβάλλον ανάπτυξης ή εγκατάστασης όταν θέλετε:

  • κυνηγήστε τις παρατεταμένες κλήσεις βάσης δεδομένων παλαιού τύπου (XOOPS_DB_LEGACY_LOG = true)
  • επιφάνεια E_USER_DEPRECATED ειδοποιήσεις και άλλα αποτελέσματα εντοπισμού σφαλμάτων ( XOOPS_DEBUG = true).

6. Διαγράψτε το πρόγραμμα εγκατάστασης

Ενότητα με τίτλο «6. Διαγράψτε το πρόγραμμα εγκατάστασης»

Αφού ολοκληρωθεί η εγκατάσταση:

  1. Διαγράψτε τυχόν μετονομαστεί install_remove_* κατάλογο από τη ρίζα του web.
  2. Διαγράψτε οποιαδήποτε install_cleanup_*.php script που δημιούργησε ο οδηγός κατά την εκκαθάριση.
  3. Επιβεβαιώστε το install/ Ο κατάλογος δεν είναι πλέον προσβάσιμοςHTTP.

Η εγκατάλειψη ενός απενεργοποιημένου αλλά υπάρχοντος καταλόγου προγράμματος εγκατάστασης είναι ένας κίνδυνος χαμηλής σοβαρότητας αλλά που μπορεί να αποφευχθεί.

7. ΚρατήστεXOOPSκαι ενημερωμένες ενότητεςXOOPSακολουθεί έναν κανονικό ρυθμό patch. Εγγραφείτε στο αποθετήριο XoopsCore27 GitHub για ειδοποιήσεις έκδοσης και ενημερώστε τον ιστότοπό σας και τυχόν λειτουργικές μονάδες τρίτων όποτε αποστέλλεται μια νέα έκδοση. Οι ενημερώσεις ασφαλείας για το 2.7.x δημοσιεύονται μέσω της σελίδας Εκδόσεις του αποθετηρίου.

Ενότητα με τίτλο «7. ΚρατήστεXOOPSκαι ενημερωμένες ενότητεςXOOPSακολουθεί έναν κανονικό ρυθμό patch. Εγγραφείτε στο αποθετήριο XoopsCore27 GitHub για ειδοποιήσεις έκδοσης και ενημερώστε τον ιστότοπό σας και τυχόν λειτουργικές μονάδες τρίτων όποτε αποστέλλεται μια νέα έκδοση. Οι ενημερώσεις ασφαλείας για το 2.7.x δημοσιεύονται μέσω της σελίδας Εκδόσεις του αποθετηρίου.»