Ασφάλεια στο Joomla! 2ο Μέρος :Δικαιώματα αρχείων και φακέλων

Μια εξίσου σημαντική ενέργεια που θα έπρεπε να ασχοληθούμε θα έπρεπε να είναι ο καθορισμός των δικαιωμάτων σε αρχεία και φακέλους . Αυτό σημαίνει κατά πόσο θα μπορεί ο οποιοσδήποτε να αλλάξει ή να παραμετροποιήσει αυτούς τους φάκελους ή τα αρχεία.

Για καλύτερη κατανόηση πρέπει να καταλάβουμε πως λειτουργεί ο linuxserver. Ο server έχει τρία flags όσον αφορά τα δικαιώματα . Ανάγνωσης (r), εγγραφής (w) και εκτέλεσης (x)

Επιπλέον για τη χρήση αυτών των ενεργειών υπάρχουν και 3 ομάδες που αφορούν τους χρήστες. Δηλαδή η ομάδα (u) που αφορά έναν χρήστη η ομάδα (g) που αφορά μια ομάδα χρηστών και τέλος οι υπόλοιποι που συμβολίζονται με (s) . Κάθε ομάδα εμπεριέχει αυτά τα τρία flags . Τα δικαιώματα των αρχείων μπορείτε να τα βρείτε σε αριθμούς . Αυτό που είναι πολύ σημαντικό είναι η σωστή χρήση του flagw που επιτρέπει στους χρήστες να προσθέσουν αρχεία στο σύστημα αρχείων

Ένα παράδειγμα θα μπορούσε να είναι η προσθήκη εικόνων και άλλων αρχείων στο περιεχόμενο. Το joomla έχει κάποια directories όπου χρειάζονται να δοθούν δικαιώματα εγγραφής όπως η cache directory όπου χρησιμοποιείται (που χρησιμοποιείται για την προσωρινή αποθήκευση σελίδων). Ως εκ τούτου θα πρέπει συγκεκριμένοι κατάλογοι να είναι εγγράψιμοι και όλοι οι άλλοι να μην είναι.

Κίνδυνοι:

  • Φάκελοι με δικαιώματα υψηλότερα από 755 αφήνουν "πόρτες" ανοικτές για επίδοξους εισβολείς.
  • Φάκελοι με δικαιώματα υψηλότερα από 755 είναι δυνατόν να αξιοποιηθούν για:
  • Τη δημιουργία και τη μεταφόρτωση αρχείων που θα μπορούσαν να καταστήσουν ευάλωτη την ιστοσελίδα σας
  • Την τροποποίηση αρχείων


Άρα θα πρέπει:

  • Tα δικαιώματα (permissions) των (PHP και μη) αρχείων πρέπει να είναι 644 και τα Config αρχεία να είναι στο 666 .
  • Όλοι οι φάκελοι πρέπει να έχουν δικαιώματα 755.
  • Αρχεία και φάκελοι θα πρέπει να έχουν permissions 777, μόνο όταν κάποιο script απαιτεί δικαιώματα εγγραφής πάνω στο αρχείο ή στο φάκελο.


Για ακόμα μεγαλύτερη ασφάλεια προτείνονται οι παρακάτω παραμετροποιήσεις δικαιωμάτων σε συγκεκριμένα αρχεία:

  • Καθόρισε τα δικαιώματα στο /index.phpκαι το /configuration.php στο 444
  • Καθόρισε τα δικαιώματα στο /templates/*yourtemplate*/index.php στο 444
  • Καθόρισε τα δικαιώματα φακέλου στο /templates/*yourtemplate*/ στο 555


Μια επιπλέον συμβουλή σε περίπτωση που αναγκαστικά πρέπει να κάνουμε κάποια directories writable (σε προσθήκη σχολίων, αξιολογήσεων κτλ) είναι μην αφήσουμε την δυνατότητα να τρέχει scripts. Για να γίνει αυτό προσθέτουμε στην .htaccess του joomla τις παρακάτω εντολές :

Options-ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

Με αυτόν τον τρόπο θα μπορούμε να εμποδίζουμε τα scripts μέσω του .htaccess γιατί όταν o apache διαβάζει το joomla siteπρώτα καλεί το αρχείο .htaccess και μετά όλα τα άλλα php αρχεία

Παρατηρήσεις:

  • Μπορείτε να βρείτε στο διαδίκτυο τη μετατροπή των flags σε αριθμούς .
  • Μπορείτε να αλλάξετε εύκολα τα δικαιώματα των φακέλων με ένα πρόγραμμα FTP ή μέσω του cpanel ή του plesk.
ΕΣΠΑ