Τι είναι τo tcp wrapper;
Το tcp wrapper είναι ένα εργαλείο το οποίο χρησιμοποιήται σε λειτουργικά συστήματα Linux και BSD. Σε μοντέρνες διανομές αυτό το εργαλείο είναι προεγκατεστημένο και δεν χρειάζετε να το εγκαταστήσουμε.
Μπορεί να χρησιμοποιηθεί σαν φίλτρο για το φιλτράρισμα της πρόσβασης σε διάφορες υπηρεσίες οι οποίες χρησιμοποιύν το πρωτόκολλο IP. Τέτοιες υπηρεσίες ή δαίμονες(deamons) μπορούν να είναι οι : ssh daemon, ftp daemon, portmap daemon, xinetd κ.τ.λ.
Η διαδικασία φιλτραρίσματος ξεκινά όταν γίνει κάποιο request σε κάποια υπηρεσία. Υποθέτουμε το ακόλουθο σενάριο:
Ο υπολογιστής 1 pc_1 προσπαθεί να ενωθεί στον υπολογιστή pc_2 μέσω της υπηρεσίας SSH. Κατα την διαδικασία αυτή η σύνδεση αποτελείται απο δύο βασικά στοιχεία, και αυτά είναι μια ip διεύθυνση του υπολογιστή pc_1 και ένα port(θύρα). Σε αυτή τη περίπτωση, το inetd στον υπολογιστή pc_2 διασταυρώνει το port στο οποίο προσπαθεί να γίνει η σύνδεση με την αντίστοιχη υπηρεσία στο αρχείο /etc/services και μετά στο αρχείο /etc/inetd.conf και μετά επιτρέπει ο υπολογιστής μας την σύνδεση στην
την υπηρεσία.
Χρησιμοποιώντας το εργαλείο tcp wrapper, μπορούμε να αλλάζουμε την πιο πάνω διαδικασία, και να τρέχουμε την υπηρεσία tcpd αντί για την υπηρεσία την οποία καλεί κάποια σύνδεση. Έτσι θα γίνει έλεγχος στα 2 βασικά στοιχεία της σύνδεσης με βάση τους κανόνες της αντίστοιχης υπηρεσίας.
Οι κανόνες οι οποίοι ελέγχονται σε αυτή την περίπτωση βρίσκονται γραμμένοι στα αρχεία
/etc/hosts.allow και
/etc/hosts.deny. Έτσι ανάλογα με τους κανόνες των δύο αυτών αρχείων, επιτρέπεται η απορρίπτεει η προς έλεγχο σύνδεση στην υπηρεσία.
Προσοχή: οι κανόνες σε αυτά τα δύο αρχεία ισχύουν για υπηρεσίες οι οποίες ξεκινούν απο το inetd. Εξερούνται οι υπηρεσίες Sendmail, apache και named.
Διαδικασία ελέγχου:Ας υποθέσουμε πάλι το πιο πάνω πράδειγμα. Η διαδικασία ελέγχου ακολουθεί τα ακόλουθα 2 βήματα:
Βήμα 1:Ο υπολογιστής pc_2, δηλαδή ο υπολογιστής στον οποίο γίνετε το request θα κάνει έλεγχο στο αρχείο /etc/hosts.allow και θα εφαρμόσει τον πρώτο κανόνα που θα βρεί σχετικά με την συγκεκριμένη υπηρεσία στην οποία γίνεται το request (σε αυτή την περίπτωση SSH) Αν βρεί κάποιο κανόνα ο οποίος επιτρέπει την σύνδεση στην υπηρεσία τότε θα την επιτρέψει, αλλίως θα ακολουθήσει στο βήμα 2
Βήμα 2:Σε αυτό το βήμα, και αφού δεν βρέθηκε κάποιος κανόνας για κάποια υπηρεσία στο προηγούμενο βήμα, θα γίνει έλεγχος στο αρχείο /etc/hosts.deny. Και σε αυτή την περίπτωση θα ισχύσει ο πρώτος κανόνας που θα βρεθεί.
Τι θα πρέπει να θυμόμαστε:1.Οι κανόνες στο αρχείο /etc/hosts.allow
υπερισχύουν σε σχέση με τους κανόνες στο αρχείο /etc/hosts.deny. Έτσι ελέγχονται πρώτοι οι κανόνες στο αρχείο /etc/hosts.allow και μετά αφού δεν βρεθεί κάποιος κανόνας γίνετε έλεγχος στο αρχείο /etc/hosts.deny
2. Αφού οι κανόνες και στα δύο αρχεία ελέγχονται σειριακά, αυτό σημαίνει ότι
δεν μπορούμε να έχουμε περισσότερους απο 1 κανόνες για κάθε υπηρεσία σε κάθε αρχείο.3. Στην περίπτωση που δεν υπάρχει κάποιος κανόνας για κάποια υπηρεσία σε κανένα απο τα δύο αρχεία, τότε η σύνδεση στη υπηρεσία
επιτρέπετε στον υπολογιστή που κάνει το request.
4.Αφού τα 2 αρχεία διαβάζονται σε κάθε request, αυτό σημαίνει ότι οποιεσδήποτε αλλαγές γίνουν στα αρχεία αυτά,
θα ισχύσουν αμέσως.
5. Και στα 2 αυτά αρχεία μπορούμε να έχουμε κανόνες ALLOW ή DENY. Τα ονόματα των αρχείων δεν έχουν καμιά σημασία σε αυτό.
Συντακτικό που χρησιμοποιήται στα αρχεία αυτά:
daemon : client [:option1:option2:...]
όπου:
daemon - οι διαθέσιμες υπηρεσίες στις οποίες μπορούν να εφαρμοστούν tcp wrappers (ssh daemon, ftp daemon, portmap daemon
κ.τ.λ.)
client - σε ποιούς ισχύουν οι κανόνες αυτοί. Μπορεί να πάρει την μορφή hostname, host ip address, special wildcards και special patterns
options - Προαιρετικές επιλογές. Εδώ μπορεί να χρησιμοποιηθούν ενέργειες για αποστολή email η για καταγραφή των κανόνων σε log αρχείο.
Παραδείγματα χρήσης και συντακτικού κανόνων tcp wrapper.(Θα ακολουθήσουν σύντομα σχετικά tutorials)
nice
nice
Borse Designer,Gucci Sito Ufficiale http://www.guccioutletsito2012....
Borse Designer,Gucci Sito Ufficiale conosciuto per essere il miglio...