Skip to main content

Hosts.allow - εντολή Linux

Writing 2D Games in C using SDL by Thomas Lively (Ιούνιος 2026)

Writing 2D Games in C using SDL by Thomas Lively (Ιούνιος 2026)
Anonim

Ονομα

hosts_access - μορφή αρχείων ελέγχου Linux για πρόσβαση σε κεντρικούς υπολογιστές.

Περιγραφή

Αυτή η σελίδα εγχειρίδιο περιγράφει το Linux ως μια απλή γλώσσα ελέγχου πρόσβασης που βασίζεται σε μοντέλα πελάτη (όνομα κεντρικού υπολογιστή / διεύθυνση, όνομα χρήστη) και διακομιστή (όνομα διαδικασίας, όνομα κεντρικού υπολογιστή / διεύθυνση). Παραδείγματα δίνονται στο τέλος. Ο ανυπόμονος αναγνώστης ενθαρρύνεται να μεταβεί στην ενότητα Παραδείγματα για μια γρήγορη εισαγωγή. Μια εκτεταμένη έκδοση της γλώσσας ελέγχου πρόσβασης περιγράφεται στο hosts_options (5) έγγραφο. Οι επεκτάσεις ενεργοποιούνται κατά το χρόνο δημιουργίας του προγράμματος δημιουργώντας με το -DPROCESS_OPTIONS.

Στο ακόλουθο κείμενο, δαίμονας είναι το όνομα της διαδικασίας μιας διαδικασίας δαίμονα δικτύου, και πελάτης είναι το όνομα ή / και η διεύθυνση μιας κεντρικής υπηρεσίας που ζητεί την υπηρεσία. Τα ονόματα διαδικασιών δαίμονα δικτύου καθορίζονται στο αρχείο ρυθμίσεων inetd.

Αρχεία ελέγχου πρόσβασης

Το λογισμικό ελέγχου πρόσβασης εξετάζει δύο αρχεία. Η αναζήτηση σταματά κατά τον πρώτο αγώνα.

Η πρόσβαση θα χορηγείται όταν ένα ζευγάρι (δαίμονας, πελάτης) αντιστοιχεί σε μια καταχώρηση στο /etc/hosts.allow αρχείο.

Διαφορετικά, η πρόσβαση θα απορριφθεί όταν ένα ζευγάρι (δαίμονα, πελάτης) αντιστοιχεί σε μια καταχώρηση στο /etc/hosts.deny αρχείο.

Διαφορετικά, η πρόσβαση θα παραχωρηθεί.

Ένα μη υπάρχον αρχείο ελέγχου πρόσβασης αντιμετωπίζεται σαν να ήταν ένα άδειο αρχείο. Έτσι, ο έλεγχος πρόσβασης μπορεί να απενεργοποιηθεί χωρίς την παροχή αρχείων ελέγχου πρόσβασης.

Κανόνες ελέγχου πρόσβασης

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

Ένας χαρακτήρας νέας γραμμής αγνοείται όταν προηγείται ένας χαρακτήρας προς τα πίσω. Αυτό σας επιτρέπει να διαχωρίζετε μεγάλες γραμμές έτσι ώστε να είναι ευκολότερη η επεξεργασία τους.

Οι κενές γραμμές ή γραμμές που ξεκινούν με ένα χαρακτήρα "#" αγνοούνται. Αυτό σας επιτρέπει να εισάγετε σχόλια και κενά, ώστε οι πίνακες να είναι ευκολότερο να διαβαστούν.

Όλες οι άλλες γραμμές θα πρέπει να ικανοποιούν την ακόλουθη μορφή, τα πράγματα μεταξύ να είναι προαιρετικά:

daemon_list: client_list : shell_command

daemon_list είναι μια λίστα με ένα ή περισσότερα ονόματα διεργασιών δαίμονα (argv 0) ή μπαλαντέρ (βλ. παρακάτω).

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

Οι πιο σύνθετες μορφές daemon @ host και user @ host εξηγούνται στις ενότητες στα πρότυπα τελικών σημείων του διακομιστή και στις αναζητήσεις ονόματος χρήστη του πελάτη, αντίστοιχα.

Τα στοιχεία της λίστας πρέπει να διαχωρίζονται με κενά και / ή κόμματα.

Με εξαίρεση τις αναζητήσεις netgroup NIS (YP), όλοι οι έλεγχοι ελέγχου πρόσβασης δεν είναι ευαίσθητοι σε περίπτωση.

Μοτίβα

Η γλώσσα ελέγχου πρόσβασης εφαρμόζει τα ακόλουθα πρότυπα:

Μια συμβολοσειρά που ξεκινάει με ένα. χαρακτήρας. Ένα όνομα κεντρικού υπολογιστή αντιστοιχεί εάν τα τελευταία στοιχεία του ονόματός του ταιριάζουν με το καθορισμένο μοτίβο. Για παράδειγμα, το μοτίβο `.tue.nl 'ταιριάζει με το όνομα του κεντρικού υπολογιστή` wzv.win.tue.nl'.

Μια συμβολοσειρά που τελειώνει με ένα σύμβολο `. ' χαρακτήρας. Μια διεύθυνση κεντρικού υπολογιστή αντιστοιχεί εάν τα πρώτα αριθμητικά πεδία της αντιστοιχούν με τη δεδομένη συμβολοσειρά. Για παράδειγμα, το μοτίβο `131.155. ' αντιστοιχεί στη διεύθυνση του (σχεδόν) κάθε οικοδεσπότη στο δίκτυο Πανεπιστημίου Eindhoven (131.155.x.x).

Μια συμβολοσειρά που ξεκινάει με χαρακτήρα `@ 'αντιμετωπίζεται ως όνομα δικτύου NIS (πρώην YP) netgroup. Ένα όνομα κεντρικού υπολογιστή αντιστοιχεί εάν είναι μέλος υποδοχής της καθορισμένης ομάδας netgroup. Οι αντιστοιχίσεις Netgroup δεν υποστηρίζονται για ονόματα διαδικασιών δαίμονα ή για ονόματα χρηστών-πελατών.

Μια έκφραση του τύπου n.n.n.n.m.m.m ερμηνεύεται ως ζεύγος `net / mask '. Μια διεύθυνση κεντρικού υπολογιστή IPv4 αντιστοιχεί όταν το `net 'είναι ίσο με το bitwise της διεύθυνσης και της` μάσκας'. Για παράδειγμα, το πρότυπο net / mask `131.155.72.0/255.255.254.0 'αντιστοιχεί σε κάθε διεύθυνση στην περιοχή` 131.155.72.0' μέσω `131.155.73.255 '.

Μια έκφραση του τύπου "n: n: n: n: n: n: n: n / m" ερμηνεύεται ως ζεύγος net / prefixlen. Μια διεύθυνση κεντρικού υπολογιστή IPv6 ταιριάζει όταν τα bits `prefixlen 'του` net' είναι ίσα με τα bits 'prefixlen' της διεύθυνσης. Για παράδειγμα, το πρότυπο 3ffe: 505: 2: 1 :: / 64 'αντιστοιχεί σε κάθε διεύθυνση στην περιοχή `3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '.

Μια συμβολοσειρά που αρχίζει με ένα χαρακτήρα `/ 'αντιμετωπίζεται ως όνομα αρχείου. Ένα όνομα ή διεύθυνση κεντρικού υπολογιστή αντιστοιχίζεται εάν αντιστοιχεί σε οποιοδήποτε όνομα κεντρικού υπολογιστή ή μοτίβο διεύθυνσης που αναφέρεται στο αρχείο με όνομα. Η μορφή αρχείου είναι μηδέν ή περισσότερες γραμμές με μηδέν ή περισσότερα ονόματα κεντρικών υπολογιστών ή μοτίβα διεύθυνσης χωρισμένα με κενό. Ένα μοτίβο ονόματος αρχείου μπορεί να χρησιμοποιηθεί οπουδήποτε μπορεί να χρησιμοποιηθεί ένα όνομα κεντρικού υπολογιστή ή ένα μοτίβο διεύθυνσης.

Οι χαρακτήρες "*" και "?" μπορεί να χρησιμοποιηθεί για την αντιστοίχιση ονομάτων κεντρικών υπολογιστών ή διευθύνσεων IP. Αυτή η μέθοδος αντιστοίχισης δεν μπορεί να χρησιμοποιηθεί σε συνδυασμό με την αντιστοίχιση `net / mask ', με την αντιστοίχιση του κεντρικού υπολογιστή να αρχίζει με`.' ή αντιστοίχιση διευθύνσεων IP που τελειώνει με το.

Χαρακτηριστικά

Η γλώσσα ελέγχου πρόσβασης υποστηρίζει ρητά μπαλαντέρ, συμπεριλαμβανομένων:

'ΟΛΑ'

Το γενικό μπαλαντέρ αντιστοιχεί πάντα.

'ΤΟΠΙΚΟΣ'

Αντιστοιχεί σε κάθε κεντρικό υπολογιστή του οποίου το όνομα δεν περιέχει χαρακτήρα τελεία.

'ΑΓΝΩΣΤΟΣ'

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

'ΓΝΩΣΤΟΣ'

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

'ΠΑΡΑΝΟΪΚΟΣ'

Αντιστοιχεί σε κάθε κεντρικό υπολογιστή του οποίου το όνομα δεν αντιστοιχεί στη διεύθυνσή του. Όταν το tcpd είναι χτισμένο με -DPARANOID (προεπιλεγμένη λειτουργία), αφαιρεί αιτήματα από αυτούς τους πελάτες, ακόμη και πριν κοιτάξει τους πίνακες ελέγχου πρόσβασης. Δημιουργήστε χωρίς -PARANOID όταν θέλετε περισσότερο έλεγχο αυτών των αιτημάτων.

«ΕΠΙΧΕΙΡΗΣΕΙΣ»

'ΕΚΤΟΣ'

Σκοπός χρήσης είναι της μορφής: `list_1 EXCEPT list_2 '; αυτή η κατασκευή συμφωνεί με οτιδήποτε αντιστοιχεί list_1 εκτός αν ταιριάζει list_2 . Ο χειριστής EXCEPT μπορεί να χρησιμοποιηθεί σε daemon_lists και σε client_lists. Ο χειριστής EXCEPT μπορεί να είναι ένθετος: εάν η γλώσσα ελέγχου θα επέτρεπε τη χρήση παρενθέσεων, `a EXCEPT b EXCEPT c 'θα μπορούσε να αναλυθεί ως` (ΕΚΤΟΣ ΤΗΣ (b ΕΚΤΙΜ.

Shell Εντολές

Εάν ο κανόνας ελέγχου πρόσβασης πρώτης αντιστοίχισης περιέχει μια εντολή κελύφους, η εντολή αυτή υποβάλλεται σε% αντικαταστάσεις (βλ. Επόμενη ενότητα). Το αποτέλεσμα εκτελείται από a / bin / sh διαδικασία παιδιού με τυποποιημένη είσοδο, έξοδο και σφάλμα συνδεδεμένο με / dev / null . Καθορίστε μια ένδειξη `& 'στο τέλος της εντολής τερματικού αν δεν θέλετε να περιμένετε μέχρι να ολοκληρωθεί.

Οι εντολές Shell δεν πρέπει να βασίζονται στη ρύθμιση PATH του inetd. Αντ 'αυτού, θα πρέπει να χρησιμοποιούν απόλυτα ονόματα διαδρομών ή θα πρέπει να ξεκινούν με μια ρητή PATH = όποια δήλωση.

ο hosts_options (5) περιγράφει μια εναλλακτική γλώσσα που χρησιμοποιεί το πεδίο εντολών κελύφους με διαφορετικό και ασύμβατο τρόπο.

% Επέκτασης

Οι ακόλουθες επεκτάσεις είναι διαθέσιμες στις εντολές του κελύφους:

% α (% Α) - Η διεύθυνση κεντρικού υπολογιστή πελάτη (διακομιστή).

%ντο - Πληροφορίες για τον πελάτη: user @ host, user @ address, όνομα κεντρικού υπολογιστή ή απλά μια διεύθυνση, ανάλογα με το πόση πληροφορία είναι διαθέσιμη.

%ρε - Το όνομα της διαδικασίας δαίμονα (argv 0).

% h (% Η) - Το όνομα ή διεύθυνση του κεντρικού υπολογιστή πελάτη (διακομιστή), εάν το όνομα του κεντρικού υπολογιστή δεν είναι διαθέσιμο.

% n (% N) - Το όνομα κεντρικού υπολογιστή πελάτη (διακομιστή) (ή "άγνωστο" ή "παρανοϊκό").

- Η ταυτότητα της διαδικασίας daemon.

%μικρό - Πληροφορίες διακομιστή: daemon @ host, daemon @ address, ή απλά όνομα δαίμονα, ανάλογα με το πόση πληροφορία είναι διαθέσιμη.

% u - Το όνομα χρήστη του πελάτη (ή "άγνωστο").

%% - Επέκταση σε ένα μόνο χαρακτήρα `% '.

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

Δομές τελικού σημείου διακομιστή

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

process_name @ host_pattern: client_list …

Τα μοτίβα όπως αυτά μπορούν να χρησιμοποιηθούν όταν το μηχάνημα έχει διαφορετικές διευθύνσεις διαδικτύου με διαφορετικά ονόματα διαδικτύου. Οι πάροχοι υπηρεσιών μπορούν να χρησιμοποιήσουν αυτή τη δυνατότητα για να προσφέρουν αρχεία FTP, GOPHER ή WWW με ονόματα διαδικτύου που μπορεί ακόμη και να ανήκουν σε διαφορετικούς οργανισμούς. Δείτε επίσης την επιλογή `twist 'στο έγγραφο hosts_options (5). Ορισμένα συστήματα (Solaris, FreeBSD) μπορούν να έχουν περισσότερες από μία διευθύνσεις Διαδικτύου σε μία φυσική διεπαφή. με άλλα συστήματα ίσως χρειαστεί να καταφύγετε σε ψευδο-διασυνδέσεις SLIP ή PPP που ζουν σε έναν ειδικό χώρο διεύθυνσης δικτύου.

Το host_pattern ακολουθεί τους ίδιους κανόνες σύνταξης με τα ονόματα και τις διευθύνσεις των κεντρικών υπολογιστών στο πλαίσιο client_list. Συνήθως, οι πληροφορίες τελικού σημείου διακομιστή είναι διαθέσιμες μόνο με υπηρεσίες προσανατολισμένες στις συνδέσεις.

Αναζήτηση ονόματος χρηστών

Όταν ο υπολογιστής-πελάτης υποστηρίζει το πρωτόκολλο RFC 931 ή έναν από τους απογόνους του (TAP, IDENT, RFC 1413), τα προγράμματα περιτύλιξης μπορούν να ανακτήσουν επιπλέον πληροφορίες σχετικά με τον κάτοχο μιας σύνδεσης. Οι πληροφορίες ονόματος χρήστη του πελάτη, όταν είναι διαθέσιμες, καταγράφονται μαζί με το όνομα κεντρικού υπολογιστή πελάτη και μπορούν να χρησιμοποιηθούν για να ταιριάζουν με τα πρότυπα όπως:

daemon_list: … user_pattern @ host_pattern …

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

Ένα πρότυπο χρήστη έχει την ίδια σύνταξη με ένα πρότυπο διεργασίας δαίμονα, έτσι ισχύουν τα ίδια μπαλαντέρ (δεν υποστηρίζεται η ιδιότητα μέλους του netgroup). Δεν πρέπει κανείς να παρασυρθεί με τις αναζητήσεις ονόματος χρήστη.

Δεν είναι δυνατή η εμπιστοσύνη των πληροφοριών ονόματος χρήστη του πελάτη όταν είναι περισσότερο απαραίτητη, δηλ. Όταν έχει παραβιαστεί το σύστημα πελάτη. Σε γενικές γραμμές, τα ALL και (UN) KNOWN είναι τα μόνα μοτίβα ονόματος χρήστη που έχουν νόημα.

Οι αναζητήσεις ονόματος χρήστη είναι δυνατές μόνο με υπηρεσίες που βασίζονται στο TCP και μόνο όταν ο υπολογιστής-πελάτης διαθέτει έναν κατάλληλο δαίμονα. σε όλες τις άλλες περιπτώσεις το αποτέλεσμα είναι "άγνωστο".

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

Οι αναζητήσεις ονόματος χρήστη ενδέχεται να προκαλέσουν εμφανείς καθυστερήσεις για χρήστες που δεν είναι χρήστες UNIX. Το προεπιλεγμένο χρονικό όριο για τις αναζητήσεις ονόματος χρήστη είναι 10 δευτερόλεπτα: είναι πολύ μικρό για να αντιμετωπίσει τα αργά δίκτυα, αλλά αρκετά μεγάλο χρονικό διάστημα για να ερεθίσει τους χρήστες υπολογιστών.

Οι επιλεκτικές αναζητήσεις ονόματος χρήστη μπορούν να μετριάσουν το τελευταίο πρόβλημα. Για παράδειγμα, ένας κανόνας όπως:daemon_list: @pcnetgroup ALL @ ALL

θα ταιριάζει με τα μέλη του pc netgroup χωρίς να κάνει αναζητήσεις ονόματος χρήστη, αλλά θα εκτελέσει αναζητήσεις ονόματος χρήστη με όλα τα άλλα συστήματα.

Ανίχνευση επιθέσεων απόσπασης διευθύνσεων

Ένα ελάττωμα στη γεννήτρια του αριθμού ακολουθίας πολλών υλοποιήσεων TCP / IP επιτρέπει στους εισβολείς να διαψεύσουν εύκολα τους αξιόπιστους κεντρικούς υπολογιστές και να σπάσουν μέσω, για παράδειγμα, της υπηρεσίας απομακρυσμένου κελύφους.Η υπηρεσία IDENT (RFC931 κ.λπ.) μπορεί να χρησιμοποιηθεί για την ανίχνευση τέτοιων και άλλων επιθέσεων spoofing διευθύνσεων κεντρικού υπολογιστή.

Πριν από την αποδοχή ενός αιτήματος πελάτη, τα περιτυλίγματα μπορούν να χρησιμοποιήσουν την υπηρεσία IDENT για να διαπιστώσουν ότι ο πελάτης δεν έστειλε το αίτημα καθόλου. Όταν ο κεντρικός υπολογιστής-πελάτης παρέχει την υπηρεσία IDENT, ένα αρνητικό αποτέλεσμα αναζήτησης IDENT (ο πελάτης ταιριάζει με το `UNKNOWN @ host ') αποτελεί ισχυρή ένδειξη μιας επίθεσης φιλοξενίας.

Ένα θετικό αποτέλεσμα αναζήτησης IDENT (ο πελάτης αντιστοιχεί στο `KNOWN @ host ') είναι λιγότερο αξιόπιστο. Είναι πιθανό για έναν εισβολέα να αλλοιώνει τόσο τη σύνδεση πελάτη όσο και την αναζήτηση IDENT, αν και αυτό είναι πολύ πιο δύσκολο από το spoofing μόνο μια σύνδεση πελάτη. Μπορεί επίσης να είναι ότι ο διακομιστής IDENT του πελάτη βρίσκεται.

Σημείωση: Οι αναζητήσεις IDENT δεν λειτουργούν με τις υπηρεσίες UDP.

Παραδείγματα

Η γλώσσα είναι αρκετά ευέλικτη ώστε να μπορούν να εκφράζονται διαφορετικοί τύποι πολιτικής ελέγχου πρόσβασης με ελάχιστη αναστάτωση. Παρόλο που η γλώσσα χρησιμοποιεί δύο πίνακες ελέγχου πρόσβασης, οι πιο κοινές πολιτικές μπορούν να εφαρμοστούν με έναν από τους πίνακες να είναι ασήμαντος ή και κενός.

Κατά την ανάγνωση των παρακάτω παραδειγμάτων, είναι σημαντικό να συνειδητοποιήσουμε ότι ο πίνακας επιτρεπόμενων δεδομένων σαρώθηκε πριν από τον πίνακα απορρίψεων, ότι η αναζήτηση τερματίζεται όταν εντοπιστεί μια αντιστοίχιση και ότι η πρόσβαση παρέχεται όταν δεν υπάρχει καμία αντιστοιχία.

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

Κυρίως κλειστό

Σε αυτήν την περίπτωση, η πρόσβαση απορρίπτεται από προεπιλογή. Επιτρέπονται μόνο οι εξουσιοδοτημένοι κεντρικοί υπολογιστές.

Η προεπιλεγμένη πολιτική (χωρίς πρόσβαση) υλοποιείται με ένα αρχείο trivial deny:

/etc/hosts.deny: ALL: ALL

Αυτό αποκλείει όλες τις υπηρεσίες σε όλους τους κεντρικούς υπολογιστές, εκτός αν επιτρέπεται η πρόσβαση από καταχωρήσεις στο αρχείο επιτρέπεται.

Οι εξουσιοδοτημένοι κεντρικοί κεντρικοί υπολογιστές παρατίθενται στο αρχείο επιτρέπεται. Για παράδειγμα:

/etc/hosts.allow: ΟΛΑ: LOCAL @some_netgroupALL: .foobar.edu ΕΞΑΙΡΕΤΙΚΑ terminalserver.foobar.edu

Ο πρώτος κανόνας επιτρέπει την πρόσβαση από τους κεντρικούς υπολογιστές στον τοπικό τομέα (όχι "." Στο όνομα του κεντρικού υπολογιστή) και από τα μέλη του some_netgroup netgroup. Ο δεύτερος κανόνας επιτρέπει την πρόσβαση από όλους τους κεντρικούς υπολογιστές στο foobar.edu domain (σημειώστε την κορυφαία κουκκίδα), με εξαίρεση την terminalserver.foobar.edu .

Κυρίως ανοιχτό

Εδώ, η πρόσβαση παρέχεται εξ ορισμού. μόνο οι διακομιστές που έχουν οριστεί σαφώς απαγορεύονται.

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

/etc/hosts.deny: ΟΛΑ: μερικοίΟΛΑ ΕΚΤΑΚΤΑ in.fingerd: other.host.name, .other.domain

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

Παγίδες

Το επόμενο παράδειγμα επιτρέπει τα αιτήματα tftp από τους κεντρικούς υπολογιστές στον τοπικό τομέα (παρατηρήστε την κορυφαία κουκκίδα). Απαγορεύονται αιτήσεις από οποιονδήποτε άλλο κεντρικό υπολογιστή. Αντί του ζητούμενου αρχείου, ένας ανιχνευτής δακτύλων αποστέλλεται στον παραβατικό οικοδεσπότη. Το αποτέλεσμα στέλνεται μέσω ταχυδρομείου στον υπερ-χρήστη.

/etc/hosts.allow:

in.tftpd: LOCAL, .mydomain/etc/hosts.deny:in.tftpd: ΟΛΑ: spawn (/ some / where / safe_finger -l @% h | / usr / ucb / mail -s% d-% h root) &

Η εντολή safe_finger συνοδεύεται από το περιτύλιγμα tcpd και θα πρέπει να εγκατασταθεί σε κατάλληλο μέρος. Περιορίζει πιθανή ζημιά από τα δεδομένα που αποστέλλονται από το απομακρυσμένο διακομιστή δάχτυλων Παρέχει καλύτερη προστασία από την τυπική εντολή δάχτυλων.

Η επέκταση των ακολουθιών% h (host host) και% d (όνομα υπηρεσίας) περιγράφεται στην ενότητα σχετικά με τις εντολές κελύφους.

Προειδοποίηση: Μην παγιδεύετε τον δαίμονα των δακτύλων σας, εκτός αν είστε προετοιμασμένοι για άπειρους βρόχους δακτύλων.

Στα συστήματα τείχους προστασίας δικτύου αυτό το τέχνασμα μπορεί να μεταφερθεί ακόμη περισσότερο. Το τυπικό τείχος προστασίας δικτύου παρέχει μόνο ένα περιορισμένο σύνολο υπηρεσιών προς τον εξωτερικό κόσμο. Όλες οι άλλες υπηρεσίες μπορούν να "διορθωθούν" όπως και το παραπάνω παράδειγμα tftp. Το αποτέλεσμα είναι ένα εξαιρετικό σύστημα έγκαιρης προειδοποίησης.

Δείτε επίσης

tcpd (8) tcp / ip πρόγραμμα περιτύλιξης δαίμονα.tcpdchk (8), tcpdmatch (8), προγράμματα δοκιμών.

Σπουδαίος: Χρησιμοποιήστε το άνδρας εντολή ( % άνδρας ) για να δείτε πώς χρησιμοποιείται μια εντολή στον υπολογιστή σας.