Hellug Policy Τελευταία ανανέωση: 1 Οκτωβρίου 2002 ******************* Αντίγραφο της πολιτικής του συστήματος υπάρχει στο /etc/hellug/POLICY στα συστήματα του συλλόγου, καθώς και στο site του συλλόγου (www.hellug.gr). ******************* Ι. Πολιτική για τη χρήση του σύστηματος 1.1. Καθε μη τετριμένη αλλαγή στο σύστημα σημειώνεται στο /etc/hellug/CHANGELOG, μαζί με το ονομα του υπευθυνου των αλλαγών. 1.2. Το σύστημα τακτικά (αναλογα με τις υπάρχουσες δυνατότητες), και πριν απο μεγάλες αλλαγές, αντιγράφεται στο υπάρχον μέσο για backup 1.2.1. Αν το μηχανημα διαθέτει δευτερο δίσκο για backup, τότε αυτός είναι unmounted, και με επιλογή να κλείνει (spin down), αν δεν χρησιμοποιείται. Γίνεται mount μόνο κατα τη διάρκεια του backup. 1.2.2. Τα αντιγραφα ασφαλείας πρεπει να γίνονται τουλάχιστον μια φορα ανα εξαμηνο. 1.2.3. Ειδικοί καταλογοι, όπως της υπηρεσία ταχυδρομιου, και οι κατάλογοι των χρηστών, αντιγράφονται μια φορά την εβδομάδα (απο το crontab). 1.2.4. Προσοχή πρέπει να δωθεί έτσι ώστε τα αντίγραφα ασφαλείας να μην είναι προσβάσιμα απο αλλους, εκτός απο τους εκάστοτε διαχειριστές. 1.3. Κρατείται αρχείο με το HMAC-MD5 digest των αρχείων των καταλόγων */bin /etc και όποιων αλλων θεωρησει ο διαχειρηστής συμαντικά, για τον εντοπισμό των τροποποιημένων αρχείων. To αρχείο αυτό υπάρχει στο /etc/hellug/CHECKSUMS, ενω το πρόγραμμα που χρησιμοποιείται γι'αυτό το σκοπό είναι το 'shash' 1.3.1. Το digest πρεπει να ελεγχεται και να ανανεώνεται πριν και μετά απο κάθε προσθήκη νεων προγραμμάτων στο σύστημα. 1.3.2. Τα scripts γι'αυτό το σκοπό βρίσκονται στο /usr/src/scripts/hmac-* 1.3.3. Επειδή το HMAC-MD5 είναι keyed-mac, το κλειδί γι'αυτό καθορίζεται απο τους διαχειριστές και είναι διαθέσιμο μόνο στους ιδιους. 1.3.4. Μια επίθεση κατά αυτού του συστήματος είναι η διαγραφή των αρχείων στο CHECKSUMS, γι'αυτό καλό είναι να τηρείται τακτική αντιγραφή του συγκεκριμένου αρχείου σε κάποιο υπολογιστή μη συνδεδεμένο στο δίκτυο. 1.4. Ολα τα set-uid 0 αρχεία είναι εκτελέσιμα μόνο απο ορισμένους που είναι μέλη της ομάδας των διαχειριστών. Αρχεία που δεν χρειάζονται να είναι set-uid, ή είναι περιττά απεγκαθίστανται. 1.5. Η εγκατάσταση των προγραμμάτων γίνεται μονο απο το σύστημα που παρέχει η διανομή γι'αυτό το σκοπό, ενω οι αλλαγές πρεπει να σημειώνονται στο /etc/hellug/CHANGELOG. Η διανομή που επιλέχθηκε είναι η Debian, και η εγκατάσταση γίνεται μέσω του APT. Για παράδειγμα η εγκατάσταση του προγράμματος apache: # apt-get update [...] # apt-get install apache 1.5.1. Σε περιπτώσεις που είναι αναγκαια η διορθωση κάποιου προγράμματος που δεν παρεχεται απο τη διανομή, αυτό γίνεται παλι μεσω των μηχανισμών της διανομής. Στο Debian χρησιμοποιείται το APT-SOURCE. Για παράδειγμα το patch στο πρόγραμμα apache γίνεται: # apt-get update [...] # apt-get source apache # cd apache [apply any patches] # make [...] # dpkg-buildpackage [...] # dpkg --install xxx.deb 1.5.2. Αναβάθμιση software επιβάλλεται σε περιπτώσεις προβλημάτων ασφαλείας, σταθερότητας και γενικότερα όταν δημιουργείται πρόβλημα στην παροχή της υπηρεσίας που προσφέρει το συγκεκριμένο software. 1.5.3. Αναβάθμιση για προσθήκη επιπλέον δυνατοτήτων πρέπει να γίνεται μόνο μετά από ενδελεχή έλεγχο της σταθερότητας και της ασφάλειας της συγκεκριμένης έκδοσης και ομόφωνη συμφωνία του ΔΣ. Η σύμφωνη γνώμη του Δ.Σ. δεν απαιτείται σε περιπτώσεις όπου η αναβάθμιση γίνεται για λόγους ασφάλειας, σταθερότητας κλπ. Επίσης, σε αναβαθμίσεις για λόγους συντήρησης (βλ. 1.5.4), πρέπει να γίνεται προγραμματισμός του συνόλου των αναβαθμίσεων σε τακτά χρονικά διαστήματα (κατά την κρίση των διαχειριστών) και η έγκριση του Δ.Σ. να αφορά το σύνολο της αναβάθμισης. Δοκιμαστικές (alpha, beta) εκδόσεις πρέπει να αποφεύγονται αν αυτό είναι εφικτό. 1.5.4. Τα παραπάνω δεν αποκλείουν τις αναβαθμίσεις με στόχο την διατήρηση της επικαιρότητας του λογισμικού του συστήματος. Θα πρέπει να αποφεύγεται η "παλαίωση" του συστήματος που μπορεί να οδηγήσει σε αδυναμία αναβάθμισης του συστήματος λόγω ξεπερασμένου λογισμικού που έχει "ξεμείνει". 1.5.5. Εισαγωγή νέων υπηρεσιών στο σύστημα γίνεται μετά από πρόταση μέλους του συλλόγου και κατόπιν επικύρωσης με ομόφωνη απόφαση του ΔΣ. Σε περίπτωση αδυναμίας συμφωνίας, τον τελικό λόγο τον έχει ο σύλλογος καλώντας γενική συνέλευση με τις μορφές που ορίζει το καταστατικό. 1.5.6. Διαγραφή υπηρεσιών από το σύστημα γίνεται με τα εξής επιμέρους βήματα: - Πρόταση μέλους του συλλόγου. - Ομόφωνη απόφαση του ΔΣ. - Ανακοίνωση σε όλα τα μέλη του συλλόγου. - Αναμονή εύλογου χρονικού διαστήματος (όπως ένας μήνας) για υποβολή τυχόν διαφωνιών ή προτάσεων από μέλη του συλλόγου. - Ψηφοφορία και απόφαση διαγραφής ή όχι, ανάλογα με τηn πλειοψηφία των προτεινόμενων περιπτώσεων. 1.6. Οι διαχειριστές του συστήματος χρησιμοποιούν την υπηρεσία ssh για είσοδο στο σύστημα. Η χρήση αυτής γίνεται με δήμόσιο κλειδί και όχι με συνθηματικό. 1.6.1. Η υπηρεσία telnet είναι απενεργοποιημένη και δε χρησιμοποιείται για είσοδο στο σύστημα. 1.6.2. Η υπηρεσία ssh είναι εγκατεστημένη στο σύστημα εις διπλούν, σε διαφορετικό κατάλογο. Στο default port (22) τρέχει standalone η μία εγκατάσταση, ενώ σε άλλη, non-standard port τρέχει η δεύτερη εγκατάσταση μέσω του (x)inetd με περιορισμό στον αριθμό των ταυτόχρονων connections. Η δεύτερη εγκατάσταση πρέπει να είναι statically linked ώστε να μην επηρεάζεται από πρόβλημα στην εγκατάσταση των βιβλιοθηκών. Οι δύο εγκαταστάσεις δεν αναβαθμίζονται ποτέ ταυτόχρονα. 1.7. Οι διαχειριστές πρέπει να έχουν OpenPGP κλειδιά, διαθέσιμα στο .pgpkeys αρχειο, στον κατάλογό τους, ωστε να είναι διαθέσιμα με την υπηρεσία finger. 1.8. Οτιδήποτε έχει εγκατασταθεί χωρίς την συνήθη διαδικασία που οριζεται παραπάνω, ο πηγαίος κώδικας της εφαρμογής πρέπει να βρίσκεται σε κατάλογο στο /usr/src. Αυτό συμβαίνει ΜΟΝΟ όταν η επιλεγμένη διανομή δε διαθέτει κάποια απαραίτητη εφαρμογή. 1.8.1. Αυτή η εγκατάσταση γίνεται σε ξεχωριστό κατάλογο, κάτω από versioned κατάλογο π.χ. /usr/local/{software-with-version}/{bin,lib,man}. Link στο /usr/local/{software} και από εκεί links στο /usr/local/{bin,lib,man}. Λίγο περίπλοκο, αλλά βοηθάει στις δοκιμές πριν την αναβάθμιση. 1.9. Τα καταγεγραμένα μηνυματα του συστήματος, στέλνονται ανα τακτικα χρονικά διαστήματα στους διαχειριστές. Αυτό γίνεται μεσω του logrotate προγράμματος. Αλλα προγράμματα που εκτελούνται περιοδικα γι'αυτό το σκοπό βρίσκονται στο /usr/src/system-check 1.10. Για να καλυφθουν οι αναγκες ορισμένων υπηρεσιων στο σύστημα υπάρχουν δημόσια και μυστικα κλειδιά μιας Certificate Authority που χρησιμοποιείται για να υπογράφει Certificates για τις διαφορες υπηρεσίες. Για παράδειγμα το https://mail.hellug.gr κάνει χρήση αυτού. Τα παραπάνω κλειδιά βρίσκονται στον κατάλογο /etc/hellug/CA και είναι διαθέσιμα μόνο στους διαχειριστές του συστήματος. 1.10.1. Το μυστικό κλειδί της CA είναι κρυπτογραφημένο, ενώ πρέπει να τηρούνται off-line αντίγραφα. 1.11. O λογαριασμός του superuser (root), δεν είναι διαθεσιμος για απ'ευθειας σύνδεση (πχ μέσω ssh). Για τη διαχείριση του συστήματος, οι εκαστοτε διαχειριστές συνδέονται χρησιμοποιώντας τον προσωπικό λογαριασμό τους, και χρησιμοποιούν την υπηρεσία su ή sudo για τις ανάγκες της διαχείρησης. 1.11.1. Το συνθηματικό του superuser (root), είναι γνωστό μόνο στους διαχειριστές του συστήματος και δεν είναι αποθηκευμένο πουθενά στο σύστημα. 1.11.2. Οι διαχειριστές παρακαλούνται να προσπαθήσουν να μην επεμβαίνουν ο ένας στις αρμοδιότητες του άλλου (είτε αυτές αφορούν συγκεκριμένες υπηρεσίες, είτε ολόκληρα συστήματα), παρά μόνο αν αυτό είναι απολύτως απαραίτητο για την συνέχιση της σωστής λειτουργίας των συστημάτων και μόνο αφού έχουν βεβαιωθεί ότι δεν θα δημιουργήσουν μεγαλύτερο πρόβλημα. 1.12. Τα συνθηματικά για δευτερευοντες υπηρεσίες - όπως πχ για τη διαχείρηση της βάσης δεδομένων mysql - βρίσκονται στο /etc/hellug/PASSWORDS. 1.12.1. Τα συνθηματικα πρεπει να αποθηκευονται σε κρυπτογραφημένη μορφή. Αυτό πρέπει να γίνεται με τα προγραμματα gnupg (gpg -c) ή mcrypt (mcrypt --openpgp). To συνθηματικο που χρησιμοποιήθηκε για την κρυπτογράφηση είναι γνωστό μονο στους διαχειριστές. 1.13. Οι καταχωρησεις στα αρχεία του /etc/hellug γίνονται απο τους διαχειριστές του συστήματος. 1.13.1. Τα αρχεία στο /etc/hellug ανανεώνονται μέσω CVS. ******************* II. Πολιτική για τις υπηρεσίες του συλλόγου και για τα φιλοξενούμενα project 2.1. Η κάθε υπηρεσία του συλλόγου στο σύστημα έχει έναν υπέυθυνο που ορίζεται απο το ΔΣ ή τη ΓΣ του συλλόγου. Οι υπέυθυνοι των υπηρεσίων σημειώνονται στο /etc/hellug/SERVICES αρχείο. 2.1.1. Τα φιλοξενούμενα project καταχωρούνται μαζί με τους υπευθυνους στο αρχείο /etc/hellug/PROJECTS. 2.2. Τα φιλοξενούμενα project καθώς και οι υπηρεσίες του συλλόγου μπορούν να έχουν περισσότερα απο ένα μέλη, αρα και λογαριασμούς στο σύστημα. Αυτα τα μέλη πρέπει να αναφέρονται στο /etc/hellug/PROJECTS ή στο /etc/hellug/SERVICES κατα περίπτωση. 2.3. Οι υπηρεσίες είναι όσο το δυνατόν κατανεμημένες και οι υπευθυνοι έχουν τα μικρότερα δυνατά δικαίωματα στο μηχάνημα, χωρίς να περιορίζεται η λειτουργικότητα της υπηρεσίας. 2.4. Τα φιλοξενούμενα project διαθέτουν cvs (over ssh), anonymous cvs, ssh, ftp, mail, dns, και http υπηρεσίες τουλάχιστον. 2.4.1. H υπηρεσία anonymous cvs (pserver), εκτελείται σε περιβάλλον chroot. Ο πηγαίος κώδικας αυτού του προγράμματος (run-cvs) βρίσκεται στον καταλογο /usr/src/run-cvs. 2.4.2. Οπου είναι δυνατόν οι υπηρεσίες του συλλόγου χρησιμοποιούν cvs για τον καλύτερο συντονισμό τους. 2.5 Ένα project για να μπορεί να φιλοξενηθεί από το σύλλογο είναι απαραίτητο να έχει ελεύθερη άδεια χρήσης. 2.5.1 Η φιλοξενία projecs είναι προνόμιο, όχι δικαίωμα ή υποχρέωση του συλλόγου. 2.5.2 Projects χωρίς καμμία άδεια χρήσης δεν μπορούν να γίνουν δεκτά. 2.5.3 Ως «ελεύθερη» ορίζεται η άδεια η οποία επιτρέπει στον χρήστη την ελεύθερη διανομή τόσο των τμημάτων του project όσο και του κώδικά του καθ'ολοκληρίαν. Ελεύθερες άδειες θεωρούνται εκείνες που ως "free" έχουν γίνει δεκτές από οργανισμούς όπως το Free Software Foundation ή το Debian. Παραδείγματα τέτοιων αδειών είναι η GPL, LGPL, Artistic, Apache κλπ. 2.5.4 Εάν ένα project, ενώ ήδη φιλοξενείται, αλλάξει άδεια χρήσης ή αποδεδειγμένα καταγγελθεί πως δεν έχει ελεύθερη άδεια χρήσης, τότε οι υπεύθυνοι του project είναι υποχρεωμένοι να υιοθετήσουν ελεύθερη άδεια χρήσης εντός εύλογου χρονικού διαστήματος. Αν δεν συμμορφωθούν τότε το ΔΣ έχει το δικαίωμα να ζητήσει να αφαιρεθεί το συγκεκριμένο project από τους διακομιστές του συλλόγου. 2.5.5 Κάτω από ειδικές συνθήκες και μόνο με ομόφωνη απόφαση του ΔΣ υπάρχει η δυνατότητα φιλοξενίας projects τα οποία αντιτείθενται στους ανωτέρω περιορισμούς. Τέτοιες περιπτώσεις αφορούν θέματα που σαφώς προάγουν τους σκοπούς του συλλόγου και τη διάδοση του ελεύθερου λειτουργικού Linux γενικότερα. 2.6 Η χρήση πόρων του συλλόγου για εμπορικούς σκοπούς γενικά απαγορεύεται. Αφήνεται πάντως στην κρίση του εκάστοτε ΔΣ η δυνατότητα να αποφασίζει κατά περίπτωση και καθ'εξαίρεση για διάθεση ή άρση υπηρεσιών, ακόμα και για εμπορικούς σκοπούς, εφ' όσον προάγουν τους στόχους του συλλόγου. Σε περίπτωση διαφωνίας, η τελική απόφαση παίρνεται με την διαδικασία της ψηφοφορίας από την γενική συνέλευση του συλλόγου. Η παράγραφος αυτή έχει ισχύ και για υπηρεσίες που προσφέρονται σε μέλη, όπως αναφέρονται στο τμήμα «Πολιτική για τα μέλη». 2.7 Οι χορηγοί παρουσιάζονται στην σελίδα του συλλόγου ως εξής: - Κατηγορία "Hosting": Όσοι χορηγοί προσφέρουν υπηρεσίες hosting αυτή τη στιγμή στο σύλλογο, είτε αυτό αφορά φυσική παρουσία συστήματος είτε υπηρεσίες που μπορούν να χαρακτηριστούν hosting. - Κατηγορία "Hardware": Όσοι χορηγοί έχουν χορηγήσει hardware το οποίο χρησιμοποιείται αυτή τη στιγμή από τον σύλλογο. - Κατηγορία "Διάφοροι": Όσοι χορηγοί έχουν χορηγήσει άλλου είδους υπηρεσίες ή υλικό, τα οποία συνεχίζουν να ωφελούν τον σύλλογο. - Κατηγορία "Παλαιότεροι": Οι χορηγοί των οποίων οι χορηγίες είτε αφορούσαν αναλώσιμα τα οποία έχουν εξαντληθεί (π.χ. έντυπα, CD-ROM) είτε η χορηγία τους δεν χρησιμοποιείται πια. ******************* III. Πολιτική για τα μέλη 3.1. Τα μέλη έχουν λογαριασμούς με πρόσβαση στις υπηρεσίες ftp, imap και pop3 του σύστηματος, ενώ υπάρχουν φορμες αλλαγής συνθηματικού και ορισμένων ρυθμίσεων, απο το http://members.hellug.gr 3.1.1 Κάθε μέλος δικαιούται μόνο έναν λογαριασμό. 3.1.2 Ο λογαριασμός αυτός είναι προσωπικός και δεν μεταφέρεται ούτε μεταβιβάζεται σε οποιονδήποτε άλλο με οποιονδήποτε τρόπο. Την ευθύνη και το αποκλειστικό δικαίωμα χρήσης την έχει το μέλος που ζήτησε την ενεργοποίηση αυτών των υπηρεσιών. 3.1.3 Τα μέλη έχουν τη δυνατότητα, με τη μορφή προνομίου, να έχουν προσωπική σελίδα στους διακομιστές του Hellug. Η σελίδα αυτή θα είναι εντελώς προσωπική και το περιεχόμενό της ΔΕΝ κατοπτρίζει τη θέση του συλλόγου. 3.2. Οι λογαριασμοί των μελών δημιουργούνται απο τους εκάστοτε υπευθυνους του ΔΣ του συλλόγου, και πρέπει να εισαγονται παράλληλα το όνομα του χρήστη, καθώς και κάποιο e-mail επικοινωνίας (πέραν αυτού του συλλόγου), ή και τηλέφωνο. 3.3. Σε περιπτωση οποιουδήποτε σοβαρού προβλήματος λόγω κάποιου λογαριασμού μέλους (παράνομο ή προσβλητικό για τον σύλλογο περιεχόμενο ή αντίθετο προς τους σκοπούς του συλλόγου), αυτός απενεργοποιείται, και προωθείται στο εκάστοτε ΔΣ κοινοποίηση της πράξης αυτής. Το ΔΣ έχει την ευθυνη της επανενεργοποίησης του λογαριασμού ή του οριστικού τερματισμού της. 3.3.1. Σε περίπτωση αποχώρησης ή διαγραφής μέλους, ο λογαριασμός του διαγράφεται οριστικά το συντομότερο δυνατόν. Ο διαχειριστής έχει την δυνατότητα (αλλά όχι την υποχρέωση) να κρατήσει backup των αρχείων του χρήστη κατά την κρίση του και για όσο διάστημα εκείνος κρίνει, με την υποχρέωση να τα παραδώσει στο πρώην μέλος αν του ζητηθεί. 3.4. Οι λογαριασμοί των μελών έχουν περιορισμένη αποθηκευτική δυνατότητα (quota), ανάλογη με τις δυνατότητες του συστήματος. Στις 20 Αυγούστου 2002, ο παρεχόμενος χώρος ήταν 10 MB ανα χρήστη. ******************* IV. Εφαρμογή της Πολιτικής 4.1. Η παρούσα πολιτική τελεί υπό συνεχή ανανέωση. 4.2. Η ισχύ της παρούσας πολιτικής αρχίζει από σήμερα και έχει αναδρομική ισχύ. 4.2. Υπεύθυνο για την κοινοποίηση και επισημοποίηση νέων εκδόσεων αυτής της πολιτικής είναι το Δ.Σ. του συλλόγου. 4.3. Υπεύθυνοι για την τήρηση αυτής της πολιτικής είναι οι εκάστοτε διαχειριστές των συστημάτων του συλλόγου. Δεδομένου ότι δεν υπάρχει μηχανισμός επιβολής της πολιτικής, συνίσταται στους διαχειριστές να κάνουν κάθε δυνατή προσπάθεια τήρησης της πολιτικής, ή αλλαγής της αν πιστεύουν ότι υπάρχει κάποιο σοβαρό πρόβλημα. 4.4. Αλλαγή που βρίσκει απόλυτα σύμφωνους όλους τους διαχειριστές και αφορά τεχνικά θέματα, εφαρμόζεται άμεσα από το Δ.Σ., καθώς και διορθώσεις τυχόν οφθαλμοφανών λαθών. 4.5. Σε περίπτωση αμφιβολίας ή περίπτωσης που δεν καλύπτεται από την πολιτική και μόνον εφόσον υπάρχει άμεση ανάγκη (π.χ. λόγω προβλημάτων στο λογισμικό που ήδη χρησιμοποιείται, όπως για θέματα ασφαλείας), οι διαχειριστές μπορούν να πάρουν άμεσα πρωτοβουλία και να προτείνουν μετά αλλαγή στην πολιτική εφ' όσον κρίνουν ότι υπάρχει άμεση ανάγκη. Σε κάθε άλλη περίπτωση είναι απαραίτητη η ομόφωνη γνώμη του ΔΣ και σε περίπτωση ασυμφωνίας η ΓΣ του συλλόγου με τις μορφές που ορίζει το καταστατικό. 4.6. Οι διαχειριστές παρακαλούνται να θυμούνται τα παρακάτω: - Κανένας δεν είναι αλάνθαστος. - Οι εντάσεις δημιουργούν προβλήματα και καλό είναι να αποφεύγονται. - Η προσφορά εθελοντικής εργασίας πρέπει να προσφέρει ευχαρίστηση σε αυτόν που την προσφέρει.