15.3 Ασφαλίζοτας το FreeBSD

Εντολές vs. Πρωτόκολλα: Σε αυτό το κείμενο, θα χρησιμοποιούμε bold γράμματα όταν αναφερόμαστε σε μια εφαρμογή, και monospaced font για να αναφερθούμε σε συγκεκριμένη εντολή. Για τα πρωτόκολλα θα χρησιμοποιούμε κανονικά font. Αυτή η τυπογραφική διαφορά είναι χρήσιμη για περιπτώσεις όπως το ssh, αφού είναι ένα πρωτόκολλο αλλά και μια εντολή.

Τα τμήματα που ακολουθούν θα καλύψουν τις μεθόδους για να ασφαλίσετε το FreeBSD σύστημά σας που αναφερθήκανε στο προηγούμενο τμήμα αυτού του κεφαλαίου.

15.3.1 Ασφάλεια του Λογαριασμού root και των Λογαριασμών Προσωπικού

Πρώτα από όλα, μην μπείτε στον κόπο να ασφαλίσετε τους λογαριασμούς του προσωπικού αν δεν έχετε ασφαλίσει τον λογαριασμό του root. Τα περισσότερα συστήματα έχουν έναν κωδικό που εκχωρούν στον λογαριασμό του root. Το πρώτο πράγμα που κάνετε είναι να θεωρείτε ότι ο κωδικός είναι πάντα σε κίνδυνο. Αυτό δεν σημαίνει ότι πρέπει να αφαιρέσετε τον κωδικό. Ο κωδικός είναι σχεδόν πάντα απαραίτητος για την πρόσβαση στο σύστημα μέσω κονσόλας. Αυτό που σημαίνει είναι ότι δεν πρέπει να κάνετε δυνατή την χρήση του κωδικού εκτός κονσόλας ή και πιθανόν ακόμη με την εντολή su(1). Για παράδειγμα, βεβαιωθείτε ότι τα ptys σας είναι καθορισμένα ώς ανασφαλή στο αρχείο /etc/ttys έτσι ώστε άμεσες συνδέσεις ως root μέσω της εντολής telnet ή της rlogin να είναι μη επιτρεπτές. Αν χρησιμοποιείτε άλλες υπηρεσίες σύνδεσης όπως το sshd, βεβαιωθείτε ότι άμεσες συνδέσεις ως root είναι επίσης μη επιτρεπτές. Μπορείτε να το κάνετε επεξεργάζοντας το αρχείο /etc/ssh/sshd_config, και βεβαιώνοντας ότι στο PermitRootLogin έχει τεθεί η τιμή NO. Λάβετε υπόψη σας κάθε μέθοδο πρόσβασης -- υπηρεσίες όπως το FTP συχνά αποτυνχάνουν στα σπαστήρια. Άμεσες συνδέσεις ως root θα πρέπει να επιτρέπονται μόνο μέσω της κονσόλας του συστήματος.

Φυσικά, ως sysadmin θα πρέπει να μπορείτε να μπαίνετε στον λογαριασμό του root, έτσι ανοίγουμε μερικές τρύπες. Αλλά βεβαιωνόμαστε ότι αυτές οι τρύπες απαιτούν πρόσθετη επιβεβαίωση κωδικών για να λειτουργήσουν. Ένας τρόπος να κάνετε τον root προσπελάσιμο είναι να προσθέσετε κατάλληλους λογαριασμούς προσωπικού στο γκρουπ wheel στο αρχείο ( /etc/group). Τα μέλη του προσωπικού που ανήκουν στο γκρουπ wheel επιτρέπεται να εκτελούν εντολές su αντί ως root. Δεν θα πρέπει να δίνετε στα μέλη του προσωπικού φυσική wheel πρόσβαση βάζοντας τους στο γκρουπ wheel στην εγγραφή του κωδικού τους. Οι λογαριασμοί του προσωπικού θα πρέπει να τοποθετούνται σε ένα γκρουπ staff και μετά να προστίθενται στο γκρουπ wheel μέσω του αρχείου /etc/group. Μόνο εκείνο το προσωπικό που πραγματικά χρειάζεται να έχει root πρόσβαση θα πρέπει να τοποθετείται στο γκρουπ wheel. Είναι επίσης δυνατό, όταν χρησιμοποιείται μια μέθοδο αυθεντικοπόιησης όπως η Kerberos, να χρησιμοποιείται το αρχείο .k5login της Kerberos στον λογαριασμό του root ώστε να επιτρέπεται σε έναν ksu(1) αντί του root χωρίς να χρειάζεται να τοποθετηθεί κανείς στο γκρουπ wheel. Αυτή είναι μάλλον η καλύτερη λύση αφού ο μηχανισμός του wheel επιτρέπει ακόμη σε έναν εισβολέα να σπάσει τον λογαριασμό του root αν ο εισβολέας έχει πάρει το αρχείο κωδικών και μπορεί να σπάσει έναν λογαριασμό προσωπικού. Ενώ έχοντας τον μηχανισμό του wheel είναι καλύτερα απο το να μήν έχετε τίποτα, δεν είναι απαραίτητα η ασφαλέστερη λύση.

Για να κλειδώσετε έναν λογαριασμό εντελώς, η εντολή pw(8) θα πρέπει να χρησιμοποιηθεί:

#pw lock staff

Αυτό θα αποτρέψει τον χρήστη να συνδεθεί χρησιμοποιώντας οποιοδήποτε μηχανισμό, περιλαμβάνοντας και το ssh(1).

Μια άλλη μέθοδος για να εμποδίσετε την πρόσβαση σε λογαριασμούς θα ήταν αν αντικαταστήσετε τον κρυπτογραφημένο κωδικό με ένα απλό «*» χαρακτήρα. Αυτός ο χαρακτήρας δεν θα ταιριάζει ποτέ με τον κρυπτογραφημένο κωδικό και έτσι εμποδίζεται η πρόσβαση χρηστών. Για παράδειγμα, ο παρακάτω λογαριασμός προσωπικού:

foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

Θα πρέπει να αλλαχθεί σε αυτόν:

foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

Αυτό θα αποτρέψει τον χρήστη foobar να συνδεθεί χρησιμοποιώντας συμβατικές μεθόδους. Αυτή η μέθοδος για περιορισμό πρόσβασης είναι ατελής σε sites που χρησιμοποιούν Kerberos ή σε περιπτώσεις όπου ο χρήστης έχει σετάρει κλειδιά με την ssh(1).

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

Χρησιμοποιώντας κάτι σαν το Kerberos σας δίνει επίσης την δυνατότητα να απενεργοποιήσετε ή να αλλάξετε τον κωδικό για έναν λογαριασμό προσωπικού σε ένα μέρος, και αμέσως να επηρεάσει όλα τα μηχανήματα στα οποία μπορεί το μέλος του προσωπικού να έχει λογαριασμό. Αν ένας λογαριασμός προσωπικού εκτεθεί σε κίνδυνο, η δυνατότητα της άμεσης αλλαγής του κωδικού σε όλα τα μηχανήματα δεν θα πρέπει να υποτιμείται. Με διακριτούς κωδικούς, η αλλαγή του κωδικού σε N μηχανήματα μπορεί να είναι χαόδης. Μπορείτε ακόμα να επιβάλλετε περιορισμούς επανακαθορισμού των κωδικών με το Kerberos, όχι μόνο μπορεί ένα Kerberos κουπόνι να λήξει μετά από λίγο, αλλά το Kerberos σύστημα μπορεί να απαιτήσει ο χρήστης να διαλέξει ένα νέο κωδικό μετά από ένα συγκεκριμένο χρονικό διάστημα (ας πούμε, ένα μήνα).

15.3.2 Ασφαλίζοντας Υπηρεσίες που τρέχουν ως Root και SUID/SGID δυαδικά αρχεία

Ο συνετός sysadmin τρέχει μόνο τις υπηρεσίες που χρειάζεται, όχι περισσότερες, όχι λιγότερες. Προσοχή ότι οι υπηρεσίες τρίτων είναι συχνά οι πίο επιρρεπής σε σφάλματα (bugs). Για παράδειγμα, τρέχοντας μια παλιά έκδοση του imapd ή του popper είναι σαν να δίνετε ένα καθολικό root εισιτήριο σε ολόκληρο τον κόσμο. Ποτέ μην τρέχετε μια υπηρεσία που δεν έχετε ελέγξει προσεκτικά. Πολλές υπηρεσίες δεν χρειάζεται να τρέχουν ως root. Για παράδειγμα, οι ntalk, comsat, και finger δαίμονες μπορούν να τρέχουν σε ειδικά sandboxes χρήστη. Ένα sandbox δεν είναι τέλειο, εκτός αν υπομείνετε ένα μεγάλο ποσό κόπου, αλλά η προσέγγιση του κρεμμυδιού για την ασφάλεια εξακολουθεί να υφίσταται, αν κάποιος μπορεί να εισέλθει μεσω μιας υπηρεσίας που τρέχει σε ένα sandbox, θα πρέπει επίσης να μπορεί να εξέλθει απο το sandbox. Όσο περισσότερα επίπεδα πρέπει ο επιτιθέμενος να σπάσει, τόσο μικρότερη η πιθανότητα επιτυχίας του. Οι τρύπες στον root έχουν ιστορικά βρεθεί σε σχεδόν κάθε υπηρεσία που κάποτε έτρεξε ως root, περιλαμβάνοντας και υπηρεσίες του βασικού συστήματος. Αν τρέχετε ένα μηχάνημα όπου οι άνθρωποι συνδέονται μόνο μέσω sshd και ποτέ μέσω telnetd ή rshd ή rlogind, τότε κλείστε αυτές τις υπηρεσίες!

Το FreeBSD εξ ορισμού τρέχει τα ntalkd, comsat, και finger σε ένα sandbox. Ένα άλλο πρόγραμμα που μπορεί να είναι υποψήφιο για να τρέχει σε ένα sandbox είναι το named(8). Το αρχείο /etc/defaults/rc.conf περιλαμβάνει τα ορίσματα που είναι απαραίτητα για να τρέξει η named σε ένα sandbox σε μορφή σχολίων. Ανάλογα αν εγκαθιστάτε ένα νέο σύστημα ή αν αναβαθμίζετε ένα υπάρχον σύστημα, οι ειδικοί λογαριασμοί που χρησιμοποιούνται από αυτά τα sandboxes μπορεί να μην εγκατασταθούν. Ο συνετός sysadmin θα ψάξει και θα εφαρμόσει sandboxes για υπηρεσίες όποτε είναι δυνατόν.

Υπάρχει ένας αριθμός άλλων υπηρεσιών που δεν τρέχουν τυπικά, σε sandboxes:sendmail, imapd, ftpd, και άλλες. Υπάρχουν εναλλακτικές μέθοδοι για κάποιες από αυτές, αλλά εγκαθιστώντας τις μπορεί να απαιτούν περισσότερη δουλειά από αυτή που είστε διατεθημένοι να κάνετε (ο παράγοντας της άνεσης χτυπάει πάλι). Μπορεί να χρειαστεί να τρέξετε αυτές τις υπηρεσίες ως root και να βασιστείτε σε άλλους μηχανισμούς για την εντόπιση εισόδων που μπορεί να συμβούν μέσω αυτών των υπηρεσιών.

Οι άλλες πιο σημαντικές τρύπες του root σε ένα σύστημα είναι τα δυαδικά αρχεία suid-root και sgid που είναι εγκαταστημένα στο σύστημα. Τα περισσότερα από αυτά τα δυαδικά αρχεία, όπως το rlogin, βρίσκονται στο /bin, /sbin, /usr/bin, ή στο /usr/sbin. Ενώ τίποτα δεν είναι 100% ασφαλές, τα εξ' ορισμού δυαδικά suid και sgid του συστήματος μπορούν να θεωρηθούν αρκετά ασφαλή. Ακόμα, τρύπες στον root βρίσκονται που και που, σε αυτά τα δυαδικά αρχεία. Μια τρύπα στον root είχε βρεθεί στην Xlib το 1998 που έκανε την εφαρμογή xterm (η οποία τυπικά είναι ένα suid) ευπρόσβλητη. Είναι καλύτερα να είσαστε ασφαλείς παρά λυπημένοι και ο συνετός sysadmin θα περιορίσει τα suid δυαδικά, που μόνο το προσωπικό θα τρέξει, σε ένα γκρουπ που μόνο το προσωπικό θα έχει πρόσβαση και θα ξεφορτωθεί (chmod 000) τα όποια suid δυαδικά που δεν χρησιμοποιεί κανείς. Ένας εξυπηρέτης χωρίς οθόνη γενικά δεν χρειάζεται το xterm δυαδικό αρχείο. Τα sgid δυαδικά αρχεία μπορεί να είναι το ίδιο επικίνδυνα. Αν ένας εισβολέας μπορεί να σπάσει ένα sgid-kmem δυαδικό, ο εισβολέας μπορεί να διαβάσει το αρχείο /dev/kmem και έτσι να διαβάσει το κρυπτογραφημένο αρχείο κωδικών, θέτοντας πιθανώς σε κίνδυνο κάθε λογαριασμό με κωδικό. Εναλλακτικά ένας εισβολέας που σπάει το γκρουπ kmem μπορεί να παρακολουθεί τα πατήματα πλήκτρων που στέλνονται μέσω των ptys, περιλαμβάνοντας τα ptys που χρησιμοποιούνται από τους χρήστες που συνδέονται μέσω ασφαλών μεθόδων. Ένας εισβολέας που σπάει το γκρουπ tty μπορεί να γράψει σε σχεδόν κάθε χρήστη το tty. Αν ένας χρήστης τρέχει ένα πρόγραμμα σε τερματικό ή εξομοιωτή με ένα χαρακτηριστικό προσωμοίωσης πληκτρολογίου, ο εισβολέας μπορεί πιθανώς να δημιουργήσει ένα stream δεδομένων που κάνει στο τερματικό του χρήστη να ηχήσει μια εντολή, η οποία στη συνέχεια τρέχει ως εκείνος ο χρήστης.

15.3.3 Ασφαλίζοντας Λογαριασμούς Χρηστών

Οι λογαριασμοί των χρηστών είναι συνήθως δυσκολότερο να ασφαλιστούν. Ενώ μπορείτε να εφαρμόσετε δρακόντειους περιορισμούς πρόσβασης στο προσωπικό και να έχετε «αστερακια» στους κωδικούς τους, δεν θα μπορείτε ίσως να κάνετε το ίδιο με τους λογαριασμούς χρηστών που μπορεί να έχετε. Αν έχετε επαρκή έλεγχο, τότε μπορεί να κερδίσετε και να είστε σε θέση να ασφαλίσετε τους λογαριασμούς των χρηστών όπως πρέπει. Αν όχι, θα πρέπει απλά να είστε πιο ξάγρυπνοι στην παρακολούθηση αυτών των λογαριασμών. Η χρήση των ssh και Kerberos για λογαριασμούς χρηστών είναι ακόμη πιο προβληματική, επείδη απαιτείται επιπλέον διαχειριστική και τεχνική υποστήριξη, αλλά είναι μια πολύ καλή λύση συγκρινόμενη με ένα κρυπτογραφημένο αρχείο κωδικών.

15.3.4 Ασφαλίζοντας το Αρχείο Κωδικών

Ο μόνος ασφαλής τρόπος είναι να έχετε αστεράκια σε όσους περισσότερους κωδικούς μπορείτε και να χρησιμοποιείτε ssh και Kerberos για την πρόσβαση σε αυτούς τους λογαριασμούς. Αν και το κρυπτογραφημένο αρχείο κωδικών (/etc/spwd.db) μπορεί να διαβαστεί μόνο από τον root, μπορεί να είναι δυνατόν για έναν εισβολέα να πάρει πρόσβαση για ανάγνωση σε αυτό το αρχείο ακόμα και αν ο επιτιθέμενος δεν μπορεί να αποκτήσει πρόσβαση εγγραφής root.

Τα αρχεία εντολών σας για την ασφάλεια θα πρέπει συνέχεια να ελέγχουν και να αναφέρουν αλλαγές στο αρχείο κωδικών (βλέπε το Ελέγχοντας την ακεραιότητα των αρχείων τμήμα παρακάτω).

15.3.5 Ασφαλίζοντας τον Πυρήνα, των Ακατέργαστών Συσκευές, και των Αρχείων Συστήματος

Αν ένας επιτιθέμενος σπάσει τον root μπορεί να κάνει σχεδόν τα πάντα, αλλά υπάρχουν συγκεκριμένες ανέσεις. Για παράδειγμα, οι περισσότεροι μοντέρνοι πυρήνες έχουν έναν οδηγό συσκευής για ανιχνευσή πακέτων ενσωματωμένο. Στο FreeBSD καλείται η bpf συσκευή. Ένας εισβολέας θα προσπαθήσει να τρέξει έναν ανιχνευτή πακέτων σε ένα επικίνδυνο μηχάνημα. Δεν χρειάζεται να δώσετε την δυνατότητα στον εισβολέα και τα περισσότερα δεν έχουν την ανάγκη η bpf συσκευή να είναι μεταγλωτισμένη στον πυρήνα.

Αλλά ακόμα και αν κλείσετε την bpf συσκεύη, έχετε τα αρχεία /dev/mem και /dev/kmem για να ανησυχείτε. Για αυτό το θέμα, ο εισβολέας μπορεί ακόμη να γράψει σε ακατέργαστες συσκευές δίσκων. Επίσης, υπάρχει και άλλο χαρακτηριστικό του πυρήνα που λέγεται φορτωτής αρθρωμάτων, kldload(8). Ένας δραστήριος εισβολέας μπορεί να χρησιμοποιήσει ένα KLD άρθρωμα για να εγκαταστήσει την δική του bpf συσκεύη, ή άλλη συσκεύη ανίχνευσης, σε έναν πυρήνα που τρέχει. Για να αποφύγετε τέτοια προβλήματα πρέπει να τρέχετε τον πυρήνα σε ένα υψηλό επίπεδο ασφαλείας, τουλάχιστον στο ασφαλές επίπεδο 1.

Το επίπεδο ασφαλείας του πυρήνα μπορεί να τεθεί με πολλούς τρόπους. Ο πιο απλός τρόπος αύξησης του επιπέδου ασφαλείας σε έναν τρέχοντα πυρήνα είναι μέσω της εντολής sysctl στην μεταβλητή kern.securelevel:

# sysctl kern.securelevel=1

Εξ' ορισμού, ο FreeBSD πυρήνας ξεκινά με ένα επίπεδο ασφαλείας -1. Το επίπεδο ασφαλείας παραμένει στο -1 εκτός αν αλλάξει, είτε από τον διαχειριστή είτε από την init(8) εξαιτίας μιας ρύθμισης στα αρχεία εκκίνησης. Το επίπεδο ασφαλείας μπορεί να αυξηθεί κατά την διάρκεια της εκκίνησης θέτοντας την μεταβλητή kern_securelevel_enable σε YES στο αρχείο /etc/rc.conf, και την τιμή της μεταβλητής kern_securelevel στο επιθυμητό επίπεδο ασφαλείας.

Το εξ' ορισμού επίπεδο ασφαλείας ενός συστήματος FreeBSD αμέσως μετά τα σενάρια εκκίνησης είναι -1. Αυτό καλείται «insecure mode» επείδη αμετάβλητες σημαίες αρχείων μπορεί να τεθούν, όλες οι συσκεύες μπορούν να διαβαστούν ή να γραφούν, κλπ.

Αφού έχετε θέσει το επίπεδο ασφαλείας στο 1 ή σε υψηλότερη τιμή, η προσθήκη-μόνο και αμετάβλητα αρχεία λαμβάνονται υπόψη, αυτά δεν μπορούν να τεθούν, και η πρόσβαση σε ακατέργαστες συσκεύες θα απαγορεύεται. Υψηλότερα επίπεδα περιορίζουν περισσότερες λειτουργίες. Για μια πλήρη περιγραφή των διαφόρων επιπέδων ασφαλείας, παρακαλώ διαβάστε την σελίδα εγχειριδίου security(7) (ή την σελίδα εγχειριδίου init(8) σε εκδόσεις παλιότερες του FreeBSD 7.0).

Σημείωση: Θέτοντας το επίπεδο ασφαλείας σε 1 ή υψηλότερα μπορεί να προκαλέσει κάποια προβλήματα στο X11 (η πρόσβαση στο αρχείο /dev/io θα μπλοκαριστεί), ή στην εγκατάσταση του FreeBSD με χτίσημο από τον πηγαίο κώδικα (το τμήμα installworld της διαδικασίας χρειάζεται προσωρινά να ξαναθέσει την προσθήκη-μόνο και τις αμετάβλητες σημαίες κάποιων αρχείων), και σε μερικές άλλες περιπτώσεις. Μερικές φορές, όπως στην περίπτωση του X11, μπορεί να είναι δυνατό να το αποφύγουμε ξεκινώντας το xdm(1) αρκετά νωρίς στην διαδικασία εκκίνησης, όταν το επίπεδο ασφαλείας είναι ακόμα χαμηλό. Τρόποι αποφυγής σαν αυτόν μπορεί να μην είναι δυνατοί για όλα τα επίπεδα ασφαλείας ή για όλους τους πιθανούς περιορισμούς που επιβάλλονται. Λίγος προσχεδιασμός είναι μια καλή ιδέα. Η κατανόηση των περιορισμών που επιβάλλονται από κάθε επίπεδο ασφαλείας είναι σημαντική καθώς μειώνουν σοβαρά την ευκολία χρήσης του συστήματος. Επίσης θα κάνει την επιλογή μιας εξ' ορισμού ρύθμισης πιο εύκολη εμποδίζοντας τυχόν εκπλήξεις.

Αν το επίπεδο ασφαλείας του πυρήνα αυξηθεί σε 1 ή σε υψηλότερη τιμή, μπορεί να είναι χρήσιμο να τεθεί η σημαία schg σε κρίσιμα δυαδικά, καταλόγους και αρχεία σεναρίων (δηλαδή ότι τρέχει έως το επίπεδο ασφαλείας που έχει τεθεί). Εδώ μπορεί να το παρακάνουμε, και η αναβάθμιση του συστήματος να είναι πολύ πιο δύσκολη όταν λειτουργεί σε ένα υψηλό επίπεδο ασφαλείας. Ένα λιγότερο αυστηρό είναι να τρέχει το σύστημα σε υψηλό επίπεδο ασφάλειας αλλά να μην τεθεί η σημαία schg για κάθε αρχείο και κατάλογο του συστήματος. Μια άλλη πιθανότητα είναι απλά να μοντάρετε τους καταλόγους / και /usr μόνο για ανάγνωση. Πρέπει να σημειωθεί το να είστε πολύ δρακόντειοι σχετικά με το τί επιτρέπεται μπορεί να εμποδίσει την μεγάλης σημασίας ανίχνευση μιας εισβολής.

15.3.6 Ελέγχοντας την Ακεραιότητα των Αρχείων: Δυαδικά, Αρχεία Διευθέτησης, Κλπ.

Όταν φτάσετε εδώ, μπορείτε μόνο να προστατεύσετε τα κρίσιμα αρχεία διευθέτησης του συστήματος και τα αρχεία ελέγχου τόσο ώστε ο βαθμός άνεσης φθάσει στο όριο του. Για παράδειγμα, χρησιμοποιώντας την εντολή chflags για να θέσετε το schg bit στα περισσότερα αρχεία του καταλόγου / και /usr είναι πιθανόν αντιπαραγωγικό, επειδή ενώ μπορεί να προστατεύει τα αρχεία, κλείνει επίσης ένα παράθυρο ανίχνευσης. Το τελευταίο επίπεδο στο κρεμμύδι της ασφάλειάς σας είναι μάλλον η πιο σημαντική -- ανίχνευση. Τα υπόλοιπα της ασφάλειάς σας είναι λίγο πολύ άχρηστα (ή, χειρότερα, σας δίνουν μια εσφαλμένη αίσθηση ασφάλειας) εάν δεν μπορείτε να ανιχνεύσετε πιθανές εισβολές. Η μισή δουλειά του κρεμμυδιού είναι να καθυστερήσει τον επιτιθέμενο, παρα να τον σταματήσει, ώστε να είστε σε θέση να τον πιάσετε επ΄αυτοφόρω.

Ο καλύτερος τρόπος για να εντοπίσετε μια εισβολή είναι να ψάξετε για τροποποιημένα, εξαφανισμένα, ή αναπάντεχα αρχεία. Ο καλύτερος τρόπος για να εντοπίσετε τροποποιημένα αρχεία είναι από άλλο (συχνά κεντρικό) σύστημα περιορισμένης πρόσβασης. Γράφοντας τα αρχεία εντολών ασφαλείας στο σύστημα με επιπλέον ασφάλεια και περιορισμένης πρόσβασης τα κάνει κατά το πλείστο αόρατα σε πιθανούς επιτιθέμενους, και αυτό είναι σημαντικό. Για να έχετε μέγιστη αξιοποίηση αυτού θα πρέπει γενικά να δώσετε στο περιορισμένης πρόσβασης κουτί σημαντική πρόσβαση προς τα άλλα μηχανήματα του οργανισμού, συνήθως είτε κάνοντας ένα μόνο για ανάγνωση NFS export των άλλων μηχανημάτων στο περιορισμένης πρόσβασης μηχάνημα, είτε θέτοντας ζευγάρια κλειδιών ssh ώστε να επιτρέπεται στο περιορισμένης πρόσβασης κουτί να έχει πρόσβαση με ssh στα άλλα μηχανήματα. Εκτός από την κίνηση δικτύου που έχει, το NFS είναι η λιγότερο εμφανής μέθοδος -- επιτρέποντας σε εσάς να παρακολουθείτε τα συστήματα αρχείων σε άλλα μηχανήματα σχεδόν χωρίς να ανιχνεύεται. Αν ο περιορισμένης πρόσβασης εξυπηρέτης είναι συνδεδεμένος με τα άλλα κουτιά μέσω ενός μεταγωγέα (switch), η NFS μέθοδος είναι συχνά η καλύτερη επιλογή. Αν ο περιορισμένης πρόσβασης εξυπηρέτης είναι συνδεδεμένος με τα άλλα κουτιά μέσω ενός μεταγωγέα (hub), ή μέσω αρκετών επιπέδων δρομολογήσεων, η NFS μέθοδος ίσως είναι πολύ επισφαλής (από άποψη δικτύου) και η χρήση του ssh είναι ίσως η καλύτερη επιλογή ακόμα και με τις επιλογές για ανίχνευση που έχει.

Αφού έχετε δώσει στο περιορισμένης πρόσβασης κουτί τουλάχιστον πρόσβαση για ανάγνωση στα συστήματα-πελάτες που υποτίθετε ότι θα παρακολουθεί, πρέπει να γράψετε τα αρχεία εντολών που θα κάνουν την παρακολούθηση. Δεδομένου μιας NFS προσάρτησης, μπορείτε να γράψετε αρχεία εντολών με απλές λειτουργίες του συστήματος όπως η find(1) και η md5(1). Είναι καλύτερα να ελέγχετε φυσικά με το md5 τα αρχεία του πελάτη-μηχανήματος τουλάχιστον μια φορά την μέρα, και να κάνετε έλεγχο στα κύρια αρχεία όπως αυτά που βρίσκονται στο /etc και στο /usr/local/etc ακόμα πιο συχνά. Όταν βρεθούν διαφορές, σε σχέση με το βασικό md5 που το περιορισμένης πρόσβασης μηχάνημα ξέρει ως έγκυρο, θα πρέπει να φωνάξει σε έναν sysadmin να πάει να το ελέγξει. Ένα καλό αρχείο εντολών για την ασφάλεια θα ελέγχει επίσης για ακατάλληλα suid δυαδικά αρχεία και για νέα ή διεγραμμένα αρχεία σε τομείς του συστήματος όπως ο / και ο /usr.

Όταν χρησιμοποιείτε το ssh αντί του MFS, το γράψιμο αρχείων εντολών είναι πιο δύσκολο. Ουσιαστικά θα πρέπει να κάνετε scp τα αρχεία εντολών στο μηχάνημα πελάτη ώστε να τα τρέξετε, κάνοντας τα ορατά και επίσης θα πρέπει να κάνετε scp τα δυαδικά (όπως το find) τα οποία χρησιμοποιούνται από τα αρχεία εντολών. Ο πελάτης ssh στο μηχάνημα πελάτη ίσως να έχει τεθεί σε κίνδυνο ήδη. Εν τέλει, χρησιμοποιώντας το ssh μπορεί να είναι απαραίτητο όταν τρέχετε πάνω από μη ασφαλείς γραμμές, όμως είναι επίσης πολύ πιο δύσκολο να δουλέψετε με αυτό.

Ένα καλό αρχείο εντολών ασφάλειας θα πρέπει επίσης να ελέγχει για αλλαγές στα αρχεία ρυθμίσεων πρόσβασης των χρηστών και των μελών του προσωπικού:.rhosts, .shosts, .ssh/authorized_keys και λοιπά, και σε αρχεία που μπορεί να είναι εκτός αρμοδιότητας του ελέγχου από το MD5.

Αν έχετε πολύ μεγάλο χώρο στον δίσκο για χρήστη, μπορεί να πάρει πολύ χρόνο ο έλεγχος κάθε αρχείου σε αυτά τα τμήματα δίσκου. Σε αυτήν την περίπτωση, μια καλή ιδέα είναι να θέσετε σημαίες προσάρτησης ώστε να μην επιτρέπετε suid δυαδικά αρχεία. Η επιλογή nosuid (βλέπε mount(8)) είναι που πρέπει να κοιτάξετε. Ενδεχομένως να χρειάζεται να τα σκανάρετε έτσι κι αλλιώς, τουλάχιστον μια φορά την εβδομάδα, αφού το αντικείμενο αυτού του επιπέδου είναι να εντοπίσετε μια προσπάθεια εισβολής, είτε αυτή πέτυχε είτε όχι.

Η παρακολούθηση διεργασιών (βλέπε accton(8)) είναι ένα σχετικά μικρής επιβάρυνσης χαρακτηριστικό του λειτουργικού συστήματος που μπορεί να βοηθήσει σαν ένας μηχανισμός αξιολόγησης μετά-εισβολής. Είναι ιδιαίτερα χρήσιμο για να βρίσκετε πως ακριβώς ο εισβολέας μπήκε σε ένα σύστημα, θεωρόντας ότι το αρχείο είναι ανέπαφο μετά την εισβολή που έγινε.

Τέλος, τα αρχεία εντολών ασφάλειας θα πρέπει να επεξεργάζονται τα αρχεία καταγραφής, και τα αρχεία καταγραφής θα πρέπει να δημιουργούνται με ένα το δυνατό ασφαλή τρόπο -- απομακρυσμένα αρχεία καταγραφής συστήματος μπορεί να είναι πολύ χρήσιμα. Ένας εισβολέας θα προσπαθήσει να καλύψει τα ίχνη του, και τα αρχεία καταγραφής είναι κρίσιμα για έναν διαχειριστή συστήματος που προσπαθεί αν εντοπίσει τον χρόνο και την μέθοδο της αρχικής εισβολής. Ένας τρόποςνα κρατάτε μόνιμες εγγραφές των αρχείων καταγραφής είναι να τρέχετε την κονσόλα του συστήματος σε μια σειριακή θύρα και να μαζέυετε τις πληροφορίες σε ένα ασφαλές μηχάνημα που παρακολουθεί τις κονσόλες.

15.3.7 Παράνοια

Λίγη παράνοια δεν βλάπτει ποτέ. Ως έναν κανόνα, ένας διαχειριστής συστήματος μπορεί να προσθέσει οποιοδήποτε αριθμό χαρακτηριστικών ασφαλείας, αρκεί να μην επιρεάζουν την άνεση, και μπορεί να προσθέσει χαρακτηριστικά ασφαλείας που επηρεάζουν την άνεση με κάποιο πρόσθετο σκεπτικό. Ακόμα πιο σημαντικό, ένας διαχειριστής ασφαλείας θα πρέπει να τα μπερδέψει λίγο -- αν χρησιμοποιείτε προτάσεις όπως αυτές που δίνονται από αυτό το κείμενο αυτολεξή, τότε προδίδετε τις μεθόδους σας στον πιθανό επιτιθέμενο που επίσης έχει πρόσβαση σε αυτό το κείμενο.

15.3.8 Επιθέσεις Αρνησης Υπηρεσιών

Το τμήμα αυτό καλύπτει τις επιθέσεις Αρνησης Υπηρεσίας(DoS). Μία DoS επίθεση είναι τυπικά μία επίθεση πακέτου. Ενώ δεν υπάρχουν και πολλά που μπορείτε να κάνετε σχετικά με τις μοντέρνες παραπλανητικές επιθέσεις πακέτων που επιφέρουν κορεσμό στο δίκτυό σας, μπορείτε γενικά να περιορίσετε την ζημιά εξασφαλίζοντας ότι οι επιθέσεις δεν θα ρίξουν τους εξυπηρετητές σας με:

  1. Περιορισμό της δημιουργίας νέων διεργασιών από αντιγραφή άλλων(forks).

  2. Περιορίζοντας τις επιθέσεις υπερχείλισης (επιθέσεις ICMP, εκπομπές ping, κλπ.).

  3. Υπερφορτώνοντας την Μνήμη Δρομολογήσεων του Πυρήνα.

Ένα κοινό DoS σενάριο επίθεσης είναι να επιτείθεσαι σε έναν εξυπηρετητή δικράνου κάνοντάς τον να γεννήσει τόσες πολλές διεργασίες παιδιά ώστε στο σύστημα που τον φιλοξενεί τελικά να εξαντληθεί η μνήμη του, οι περιγραφείς αρχείων, κλπ, οπότε να προκληθεί σταμάτημα. Η εφαρμογή inetd (βλέπε inetd(8)) έχει αρκετές επιλογές για να περιορίσει αυτού του είδους τις επιθέσεις. Πρέπει να σημειωθεί ότι ενώ είναι δυνατό να αποτρέψετε την κατάρευση ενός μηχανήματος, δεν είναι γενικά δυνατό να αποτρέψετε την διακοπή μιας υπηρεσίας από την επίθεση. Διαβάστε την σελίδα βοήθειας της εφαρμογής inetd προσεκτικά και δώστε ιδιαίτερη προσοχή στις επιλογές -c, -C και -R. Σημειώστε ότι επιθέσεις παραπλάνησης της IP (spoofed-IP) θα παρακάμψουν την επιλογή -C της εφαρμογής inetd, έτσι τυπικά ένας συνδυασμός επιλογών πρέπει να χρησιμοποιηθεί. Κάποιοι εξυπηρετητές έχουν παράμετρους περιορισμού της αυτογέννησης διεργασιών.

Η εφαρμογή Sendmail έχει την επιλογή -OMaxDaemonChildren, η οποία τείνει να λειτουργεί καλύτερα από την χρήση των επιλογών περιορισμού φόρτου της εφαρμογής Sendmail εξαιτίας της καθυστέρησης του φόρτου. Θα πρέπει να καθορίσετε την παράμετρο MaxDaemonChildren, όταν ξεκινάτε την εφαρμογή sendmail, αρκετά υψηλά για να χειριστεί τον αναμενόμενο φόρτο, αλλά όχι τόσο ψηλά ώστε ο υπολογιστής να μην μπορεί να χειριστεί τον τον αριθμό των παρουσιών της εφαρμογής sendmail χωρίς να φάει τα μόύτρα του. Είναι επίσης σωστό να τρέχει η εφαρμογή sendmail σε μέθοδο ουράς (-ODeliveryMode=queued) και να τρέχει ο δαίμονας (sendmail -bd) ξεχωριστά από τις τρέχουσες ουρές (sendmail -q15m). Αν θέλετε ακόμα παράδοση σε πραγματικό χρόνο μπορείτε να τρέχετε την ουρά σε μικρότερο διάστημα, όπως η επιλογή -q1m, αλλά βεβαιωθείτε ότι έχετε καθορίσει μια λογική MaxDaemonChildren επιλογή αυτήν την εφαρμογή Sendmail ώστε να αποτρέψετε συνεχείς αποτυχίες.

Η εφαρμογή Syslogd μπορεί να δεχθεί επίθεση απευθείας και προτείνετε έντονα να χρησιμοποιείτε την επιλογή -s όποτε είναι δυνατόν, και την επιλογή -a διαφορετικά.

Θα πρέπει να είστε εξαιρετικά προσεκτικοί με τις υπηρεσίες ανάστροφης-σύνδεσης όπως η ανάστροφη-identd της εφαρμογής TCP Wrapper που μπορεί να δεχθεί επίθεση απευθείας. Γενικά δεν θέλετε να χρησιμοποιήσετε το χαρακτηριστικό αυτό της εφαρμογής TCP Wrapper για τον παραπάνω λόγο.

Είναι μια πολύ καλή ιδέα να προστατεύεται εσωτερικές υπηρεσίες από εξωτερική πρόσβαση θέτοντας ένα τείχος προστασίας στους συνοριακούς δρομολογητές. Η ιδέα εδώ είναι να αποτρέψετε επιθέσεις κορεσμού προερχόμενες εκτός του δικτύου σας, και όχι τόσο να προστατεύσεται εσωτερικές υπηρεσίες από την έκθεση σε κίνδυνο από το δίκτυο του χρήστη root. Πάντοτε να διαμορφώνετε ένα αποκλειστικό τείχος προστασίας, π.χ.,« προστατέψτε όλα εκτός από τις πόρτες Α, Β, Γ, Δ και Μ-Ψ». Με αυτόν τον τρόπο μπορείτε να προστατέψετε όλες τις χαμηλές πόρτες εκτός από συγκεκριμένες για κάποιες υπηρεσίες όπως named (αν είστε πρω΄τεύων σε μια ζώνη), ntalkd, sendmail, και άλλες υπηρεσίες προσβάσιμες μέσω Ιντερνέτ. Αν προσπαθήσετε να διαμορφώσετε το τείχος προστασίας αλλιώς -- σαν ένα περιλαμβάνων ή ανεκτικό τείχος προστασίας, υπάρχει μεγάλη πιθανότητα να ξεχάσετε να «κλείσετε» κάποιες υπηρεσίες, ή να προσθέσετε μια νέα υπηρεσία και να ξεχάσετε να ενημερώσετε το τείχος προστασίας. Μπορείτε ακόμα να ανοίξετε τις υψηλά-αριθμημένες πόρτες στο τείχος προστασίας, για να επιτρέψετε λειτουργίες ανεκτικές, χωρίς να θέτετε σε κίνδυνο τις χαμηλές σας πόρτες. Επίσης σημειώστε ότι το FreeBSD σας επιτρέπει να ελέγχετε το διάστημα των αριθμών πορτών που χρησιμοποιούνται για δυναμική δέσμευση, μέσω των διαφόρων μεταβλητών net.inet.ip.portrange της εντολής sysctl (sysctl -a | fgrep portrange), που επίσης μπορεί να διευκολύνει την πολυπλοκότητα της διαμόρφωσης του τείχους προστασίας. Για παράδειγμα, μπορεί να χρησιμοποιείτε μια κανονική περιοχή πορτών από 4000 έως 5000, και μια υψηλή περιοχή από 49152 έως 65535, τότε μπλοκάρετε οτιδήποτε κάτω από την πόρτα 4000 στο τείχος προστασίας (εκτός από συγκεκριμένες πόρτες προσβάσιμες μέσω Ιντερνετ, φυσικά).

Μια άλλη κοινή επίθεση DoS λέγεται επίθεση εφαλτηρίου (springboard attack) -- επίθεση σε έναν εξυπηρετητή με τρόπο πού προκαλεί τον εξυπηρετητή να δημιουργεί απαντήσεις οι οποίες υπερφορτίζουν τον εξυπηρετητή, το τοπικό δίκτυο, ή κάποιο άλλο μηχάνημα. Η πιο κοινή επίθεση αυτής της φύσης είναι η επίθεση εκπομπής ICMP πακέτων. Ο επιτιθέμενος 'πειράζει' πακέτα ping που στέλνονται στην διεύθυνση εκπομπής του τοπικού σας δικτύου θέτοντας την διεύθυνση προέλευσης του πακέτου σε αυτήν του μηχανήματος που πραγματικά θέλουν να επιτεθούν. Αν οι συνοριακοί σας δρομολογητές δεν είναι ρυθμισμένοι ώστε να εμποδίζουν πακέτα ping σε διευθύνσεις εκπομπής, το τοπικό σας δίκτυο καταλήγει να δημιουργεί αρκετές απαντήσεις στην 'πειραγμένη' διεύθυνση ώστε το θύμα να κορέζεται, ειδικά όταν ο επιτιθέμενος χρησιμοποιεί το ίδιο κόλπο σε αρκετές δεκάδες διευθύνσεις εκπομπής προς αρκετά διαφορετικά δίκτυα με τη μία. Επιθέσεις εκπομπών πάνω από εκατόν είκοσι μεγαμπιτ έχουν μετρηθεί. Μια δεύτερη κοινή επίθεση εφαλτηριού είναι εναντίον του συστήματος αναφοράς λαθών του ICMP. Κατασκευάζοντας πακέτα που δημιουργούν ICMP απαντήσεις σφαλμάτων, ένας επιτιθέμενος μπορεί να κορέσει το εισερχόμενο δίκτυο ενός εξυπηρετητή και να προκαλέσει τον εξυπηρετητή να κορέσει το εξερχόμενο δίκτυο με ICMP απαντήσεις. Αυτού του τύπου η επίθεση μπορεί να κρασάρει τον εξυπηρετητή προκαλόντας εξάντληση της μνήμης, ειδικά αν ο εξυπηρετητής δεν μπορεί να διοχετεύση τις ICMP απαντήσεις που δημιουργεί αρκετά γρήγορα. Χρησιμοποιείστε την μεταβλητη net.inet.icmp.icmplim της εφαρμογής sysctl για να περιορίσετε αυτές τις επιθέσεις. Η τελευταία μεγάλη τάξη επιθέσεων εφαλτηρίου σχετίζεται με συγκεκριμένες εσωτερικές υπηρεσίες της εφαρμογής inetd όπως η υπηρεσία udp echo. Ένας επιτιθέμενος απλά 'πειράζει' ένα πακέτο UDP με την διεύθυνση προέλευσης να εξυπηρετείται από μια πόρτα του Α εξυπηρετητή, ενώ η διεύθυνση προορισμού από μια πόρτα του Β εξυπηρετητή, όπου και οι δύο εξυπηρετητές είναι στο τοπικό σας δίκτυο. Οι δύο εξυπηρετητές τότε στέλνουν αυτό το πακέτο μπρος - πίσω μεταξύ τους. Ο επιτιθέμενος μπορεί να υπερφορτώσει και τους δύο εξυπηρετητές και τα τοπικά τους δίκτυα απλά εγχέοντας μερικά τέτοια πακέτα με αυτόν τον τρόπο. Παρόμοια προβλήματα υπάρχουν με την εσωτερική πόρτα της εφαρμογής chargen. Ένας ικανός διαχειριστής θα κλείσει όλες αυτές τις εσωτερικές υπηρεσίες ελέγχου

Επιθέσεις με 'πειραγμένα' πακέτα μπορούν επίσης να χρησιμοποιηθούν για να υπερφορτώσουν την προσωρινή μνήμη δρομολόγησης του πυρήνα. Ανατρέξτε στις παραμέτρους net.inet.ip.rtexpire, rtminexpire, και rtmaxcache της εντολής sysctl. Μια επίθεση με 'πειραγμένα' πακέτα που χρησιμοποιεί τυχαία διεύθυνση IP θα προκαλέσει τον πυρήνα να δημιουργήσει μια προσωρινή μνήμη δρομολόγησης στον πίνακα δρομολόγησης, που βλέπετε με την εντολή netstat -rna | fgrep W3. Αυτές οι δρομολογήσεις τυπικά λήγουν σε 1600 δεπτερόλεπτα περίπου. Αν ο πυρήνας ανιχνέυση ότι ο πίνακας δρομολόγησης έγινε πολύ μεγάλος τότε δυναμικά θα μειώσει την παράμετρο rtexpire αλλά ποτέ δεν θα μειώσει λιγότερο από την παράμετρο rtminexpire. Υπάρχουν δύο προβλήματα:

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

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

Αν οι εξυπηρετητές σας είναι συνδεδεμένοι στο Internet μέσω μιας Τ3 ή καλύτερης σύνδεσης, είναι ίσως συνετό να αλλάξετε με το χέρι και τις δυο παραμέτρους rtexpire και rtminexpire μέσω της sysctl(8). Μην θέτετε ποτέ καποιά από τις παραμέτρους στο μηδέν (εκτός αν θέλετε να κρασάρετε το μηχάνημα). Θέτοντας και τις δυο παραμέτρους στα 2 δευτερόλεπτα θα πρέπει να είναι αρκετό για να προστατεύσει τον πίνακα δρομολόγησης από επιθέσεις.

15.3.9 Θέματα Πρόσβασης με τον Kerberos και το SSH

Υπάρχουν μερικά θέματα και με τα δυο Kerberos και ssh που πρέπει να απαντηθούν αν σκοπεύετε να τα χρησιμοποιήσετε. Το Kerberos 5 είναι ένα εξαιρετικό πρωτόκολλο αυθεντικοποίησης, αλλά υπάρχουν σφάλματα στην kerberized εφαρμογές telnet και στην rlogin που τις κάνουν μη κατάλληλες για να αντιμετωπίσουν δυαδικά ρεύματα. Επίσης, εξ 'ορισμού το Kerberos δεν κρυπτογραφεί μια σύνοδο εκτός αν χρησιμοποιείσετε την επιλογή -x. Η εφαρμογή ssh κρυπτογραφεί τα πάντα εξ 'ορισμού.

Το ssh λειτουργεί αρκετά καλά σε κάθε περίπτωση εκτός του ότι προωθεί τα κλειδιά κρυπτογράφησης εξ 'ορισμού. Αυτό σημαίνει ότι αν έχεις έναν ασφαλές σταθμό εργασίας που κρατά τα κλειδιά τα οποία σου δίνουν πρόσβαση στο υπόλοιπο σύστημα, και συνδέεσε μέσω ssh σε ένα μη ασφαλές μηχάνημα, τα κλειδιά είναι χρησιμοποιήσιμα. Τα πραγματικά κλειδιά δεν είναι εκτεθειμένα, αλλά το ssh εγκαθιστά μια πόρτα προώθησης για την διάρκεια της σύνδεσή σας, και αν ο επιτιθέμενος έχει σπάσει τον λογαριασμό του root στο μη ασφαλές μηχάνημα μπορεί να αξιοποιήσει αυτήν την πόρτα για να χρησιμοποιήσει τα κλειδιά σας και να κερδίσει πρόσβαση σε κάθε άλλο μηχάνημα που τα κλειδιά σας ξεκλειδώνουν.

Προτείνουμε να χρησιμοποιείται το ssh σε συνδυασμό με το Kerberos όποτε είναι δυνατόν για συνδέσεις προσωπικού. Η εφαρμογή ssh μπορεί να μεταγλωτιστελι με υποστήριξη Kerberos. Αυτό μειώνει την εξάρτηση σας σε πιθανώς εκτεθειμένα ssh κλειδιά ενώ την ίδια στιγμή προστατεύει τους κωδικούς σας μέσω του Kerberos. Τα κλειδιά του ssh θα πρέπει να χρησιμοποιούνται μόνο για αυτοματοποιημένες διαδικασίες από ασφαλή μηχανήματα (κάτι που το Kerberos είναι ακατάλληλο να κάνει). Επίσης προτείνουμε είτε να κλείσετε την προώθηση κλειδιών στις ρυθμίσεις του ssh, είτε να χρησιμοποιήσετε την επιλογή from=IP/DOMAIN που το ssh επιτρέπει στο αρχείο του authorized_keys για να κάνετε τα κλειδιά αξιοποιήσιμα μόνο από συγκεκριμένα μηχανήματα.

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.