6.3 Ασφάλεια στα X Windows
6.3.1 Εισαγωγή
Τα
X Windows είναι πολύ διαδεδομένα ανάμεσα στους χρήστες διαφορετικών λειτουργικών συστημάτων. Το client/server μοντέλο διαχείρισης εφαρμογών που χρησιμοποιούν επιτρέπει τη δυναμική και ευέλικτη χρήση των ηλεκτρονικών υπολογιστών. Εάν ωστόσο τα X Windows δεν τύχουν σωστής διαχείρισης μπορούν να δημιουργήσουν σοβαρά προβλήματα ασφάλειας.6.3.2 Λειτουργία των
X WindowsΊσως να φαίνεται λίγο παράξενο το ότι ένα γραφικό περιβάλλον αλληλεπίδρασης μπορεί να δημιουργήσει κάποιο σοβαρό πρόβλημα στην ασφάλεια
. Για να κατανοήσουμε πώς αυτό γίνεται ας δούμε πώς ακριβώς δουλεύουν τα X Windows.Τα
X Windows είναι στην πραγματικότητα και στο χαμηλότερο επίπεδό τους ένα πρωτόκολλο επικοινωνίας το οποίο λέγεται "X" πρωτόκολλο. Αυτό το πρωτόκολλο χρησιμοποιείται σε έναν υπολογιστή ή σε ένα δίκτυο υπολογιστών. Δεν είναι "δεμένο" στο λειτουργικό σύστημα και για αυτό είναι διαθέσιμο σε πολλές διαφορετικές πλατφόρμες. Τα X Windows ενεργοποιούν ένα client/server δικτυακό μοντέλο επικοινωνίας. Αυτό το μοντέλο επιτρέπει σε ένα χρήστη να τρέχει ένα πρόγραμμα σε μια τοποθεσία αλλά να το ελέγχει από κάποια άλλη.Αντίθετα προς τη κλασσική σύμβαση λειτουργίας των
client/server εφαρμογών, ο χρήστης δουλεύει άμεσα στον X server ο οποίος του προσφέρει την οθόνη, το πληκτρολόγιο και το mouse. Αναφερόμαστε σε αυτό σαν τον server διότι αυτό γεννάει τις εισόδους και διαχειρίζεται τις εξόδους των clients. Oι X clients είναι εφαρμογές όπως οι xterm, emacs και xclock (λαμβάνουν και επεξεργάζονται εισόδους και παράγουν εξόδους).Τις περισσότερες φορές οι ο
server και clients τρέχουν στον ίδιο υπολογιστή (host). Ωστόσο το X πρωτόκολλο είναι πολύ ευέλικτο και επιτρέπει πολλές διαφορετικές διαμορφώσεις. Στην πραγματικότητα ένα "X" τερματικό είναι μια οθόνη χωρίς καμιά υπολογιστική δυνατότητα. Το μόνο πράγμα που μπορεί να κάνει είναι να επεξεργάζεται μηνύματα του "X" πρωτοκόλλου τα οποία έρχονται από clients που τρέχουν σε άλλα συστήματα. Ακόμα και αν ο server τρέχει σε κάποιον υπολογιστή-host ένας client μπορεί να θελήσει να τρέξει σε κάποιον απομακρυσμένο host ακόμα και αν αυτός βρίσκεται σε κάποια άλλη χώρα.Το ερώτημα βέβαια είναι ποια η σχέση όλων αυτών με την ασφάλεια
. Από τη στιγμή που πολλαπλοί clients τρέχουν σε στον ίδιο server θα πρέπει να παρακολουθείται η μεταξύ τους επικοινωνία διότι εάν κάποιος client είναι σε θέση να στείλει πληροφορία σε κάποιον άλλο ή να αιχμαλωτίσει άλλη που προορίζεται για κάποιον άλλο, τότε το σύστημα μπορεί να έχει πρόβλημα.6.3.3 Απροστάτευτα
X WindowsΜερικά παραδείγματα επικοινωνίας μεταξύ του
X server και του X client περιλαμβάνουν τα ακόλουθα:Κάθε
client που έχει πρόσβαση στον server μπορεί να αποκτήσει πρόσβαση στις X επικοινωνίες και να τις τροποποιήσει. Αυτό μπορεί να περιλαμβάνει τα ακόλουθα:Όπως φαίνεται από τα παραπάνω παραδείγματα οι
X servers είναι πολύ επίφοβοι και ειδικά γιατί η αρχική τους ρύθμιση τους κάνει προσβάσιμους από παντού.6.3.4 Λύσεις Ασφάλειας
Υπάρχουν δύο διαφορετικές προσεγγίσεις όσον αφορά την ασφάλιση των
X servers.Το πρόγραμμα xhost έχει μεγαλύτερη προτεραιότητα από το token authentication. |