Next Previous Contents

8. Ο SOCKS Διακομιστής Εξουσιοδότησης

8.1 Στήνοντας το Διακομιστή Εξουσιοδότησης

Ο SOCKS διακομιστής εξουσιοδότησης είναι διαθέσιμος από το ftp://sunsite.unc.edu/pub/Linux/system/Network/misc/socks-linux- src.tgz. Εκεί είναι και ένα παράδειγμα του αρχείου ρυθμίσεων (config file) που καλείται "socks-conf". Αποσυμπιέστε τα αρχεία μέσα σε κατάλογο του συστήματός σας, και ακολουθήστε τις οδηγίες πάνω στο πώς θα το φτιάξετε. Είχα μερικά προβλήματα όταν το έφτιαξα αυτό. Σιγουρευτήτε ότι τα Makefile αρχεία σας είναι εντάξει.

Ένα συμαντικό πράγμα για να σημειώσουμε είναι ότι ο διακομιστής εξουσιοδότησης χρειάζεται να προστεθεί στο αρχείο /etc/inetd.conf. Πρέπει να προσθέσετε τη γραμμή :

  socks  stream  tcp  nowait  nobody  /usr/local/etc/sockd  sockd

για να πείτε στο διακομιστή να τρέξει όταν του ζητηθεί. to tell the server to run when requested.

8.2 Ρυθμίζοντας το Διακομιστή Εξουσιοδότησης.

Το πρόγραμμα SOCKS χρειάζεται δύο χωριστά αρχεία ρυθμίσεων. Ένα να λέει την επιτρεπόμενη πρόσβαση, και ένα για να δρομολογεί τις αιτήσεις στο κατάλληλο διακομιστή εξουσιοδότησης. Το αρχείο πρόσβασης πρέπει να βρίσκεται στο διακομιστή. Το αρχείο δρομολόγησης οφείλεται να βρίσκεται σε κάθε Un*x μηχάνημα. Οι DOS και, υποτιθέμενοι, Macintosh Υ/Η θα κάνουν δικές τους δρομολογήσεις.

Το Αρχείο Πρόσβασης

Με το socks4.2 Beta, το αρχείο πρόσβασης καλείται "sockd.conf". Αυτό οφείλει να περιέχει 2 γραμμές, μία γραμμή αδεία και μία αρνήσεως. Κάθε γραμμή θα έχει τρία πεδία:

Ο εξακριβωτής είναι ή αδείας ή αρνήσεως. Οφείλετε να έχετε αμφότερα μία γραμμή αδείας και μία αρνήσεως.

Η ΙΡ διεύθυνση κρατά μία τεσσάρων byte διεύθυνση σε τυπική ΙΡ σημείωση κουκίδας. π.χ. 192.168.2.0.

Ο τροποποιητής διευθύνσεων είναι επίσης μία τυπική ΙΡ διεύθυνση τεσσάρων byte. Αυτό δουλεύει σαν μάσκα δικτύου (netmask). Οραματιστήτε αυτό τον αριθμό να είναι 32 bit (1 ή 0). Εάν το bit είναι 1, το αντίστοιχο bit από τη διεύθυνση που ελέγχετε πρέπει να είναι ίδιο με το αντίστοιχο bit μέσα στο πεδίο των ΙΡ διευθύνσεων. π.χ. εάν η γραμμή είναι:

    permit 192.168.2.23 255.255.255.255

αυτό θα δίνει άδεια μόνο σε ΙΡ διευθύνσεις που ταιριάζουν σε κάθε bit μέσα 192.168.2.23, π.χ. μόνο 192.168.2.3. Η γραμμή:

    permit 192.168.2.0 255.255.255.0

θα δώσει άδεια σε κάθε αριθμό μέσα στην ομάδα 192.168.2.0 έως 192.168.2.255, όλη η C κλάση περιοχή. Δεν πρέπει να έχετε τη γραμμή:

    permit 192.168.2.0 0.0.0.0

επειδή αυτή δίνει άδεια σε κάθε διεύθυνση, αδιάφορο.

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

    permit 192.168.2.0 255.255.255.0
    deny 0.0.0.0 0.0.0.0

θα δουλέψουν καλά. Σημειώστε ότι το πρώτο "0.0.0.0" είναι η γραμμή αρνήσεως. Με έναν ένα τροποποιητή από 0.0.0.0, το πεδίο ΙΡ διεύθυνσης δεν πειράζει. Όλα τα 0 είναι κανόνας επειδή είναι εύκολα στη πληκτρολόγηση.

Περισσότερες από μία καταγραφές από το καθένα επιτρέπονται.

Συγκεκριμένοι χρήστες μπορούν επίσης να κερδίσουν ή να τους απαγορευτούν προσβάσεις. Αυτό γίνεται μέσω διαμόρφωσης της διαδικασίας επικύρωσης. Δεν το υποστηρίζουν όλα τα συστήματα τη διαμόρφωση, περιλαμβανόμενου του Trumpet Winsock, έτσι δεν θα αναφερθώ σε αυτό εδώ. Η τεκμηρίωση που περιέχει το socks είναι εντελώς επαρκής γι' αυτό το αντικείμενο.

Το αρχείο Δρομολόγησης.

Το αρχείο δρομολόγησης είναι φτωχά ονομασμένο στο SOCKS "socks.conf". Είπα "φτωχά ονομασμένο" επειδή είναι τόσο κοντά στο όνομα του αρχείο πρόσβασης που είναι εύκολο να τα μπερδέψετε.

Το αρχείο δρομολόγησης είναι εκεί για να λέει στους SOCKS πελάτες πότε να χρησιμοποιούν το socks και πότε όχι. π.χ. Στο δίκτυό μας, το 192.168.2.3 δεν θα χρειαστεί μα χρησιμοποιήσει το socks για να επικοινωνήσει με το 192.168.2.1, το firewall. Έχει άμεση σύνδεση μέσω του Ethernet. Αυτό καθορίζει το 127.0.0.1, τον επιστρεφόμενο βρόγχο (loopback), αυτόματα. Βεβαίως δεν χρειάζεστε το SOCKS για να επικοινωνήσετε με τον εαυτό σας. Υπάρχουν τρεις εισαγωγές:

Η άρνηση (deny) λέει στο SOCKS πότε να απορρίπτει μία αίτηση. Αυτή η εισαγωγή έχει τα ίδια τρία πεδία όπως το sockd.conf, τον εξακριβωτή (identifier), διεύθυνση και τροποποιητή (modifier). Γενικά, επειδή αυτό χειρίζεται επίσης από το sockd.conf, το αρχείο πρόσβασης, το πεδίο του τροποποιητή είναι ορισμένο στο 0.0.0.0. Εάν θέλετε να προλογήσετε τον εαυτό σας στο να καλείτε από παντού, μπορείτε να το κάνετε εδώ.

Η direct εισαγωγή λέει για ποιές διευθύνσεις να μην χρησιμοποιήται το socks. Αυτές είναι όλες οι διευθύνσεις που μπορούν να προσεγγισθούν χωρίς το διακομιστή εξουσιοδότησης. Ξανά έχουμε τρία πεδία, εξακριβωτή, διεύθυνση και τροποποιητή. Το παράδειγμά μας θα έχει

    direct 192.168.2.0 255.255.255.0

Έτσι μεταβαίνει άμεσα ο καθένας πάνω στο προστατευόμενο δίκτυο.

Η sockd εισαγωγή λέει στον Η/Υ ποιος host έχει τον socks διακομιστή δαίμονα πάνω του. Η σύνταξη είναι:

  sockd @=<serverlist> <IP address> <modifier>

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

Τα πεδία ΙΡ διεύθυνση και τροποποιητής δουλεύουν σαν όλα τα άλλα παραδείγματα. Να καθορίζετε ποιές διευθύνσεις πηγαίνουν που μέσω από αυτά. The IP address and modifier fields work just like in the other examples. You specify which addresses go where through these.

DNS πίσω από το firewall.Στήνοντας την Όνομα Περιοχής Υπηρεσία (Domain Name Service) πίσω από firewallείναι ομολογουμένος εύκολο θέμα. Χρειάζεστε απλά και μόνο να στήσετε το DNSπάνω στο μηχάνημα που είναι ο firewall. Μετά, ορίστε σε κάθε μηχάνημα πίσωαπό το firewall να χρησιμοποιούν αυτή τo DNS.

8.3 Δουλεύοντας με Διακομιστή Εξουσιοδότησης.

Uniχ

Για να έχετε τις εφαρμογές σας να δουλεύουν με το διακομιστή εξουσιοδότησης, χρειάζονται να γίνουν "sockified". Θα χρειαστήτε δύο διαφορετικά telnet, ένα για άμεση επικοινωνία και ένα για επικοινωνία μέσω του διακομιστή εξουσιοδότησης. Το SOCS έρχεται με οδηγίες πάνω στο πώς να κάνετε SOCKify ένα πρόγραμμα, τόσο όσο και μερικά pre-SOCKified προγράμματα. Εάν χρησιμοποιήτε μία SOCKified έκδοση για να πάτε κάπου άμεσα, το SOCS αυτόματα θα αλλάξει στην άμεση έκδοση για εσάς. Επειδή γίνεται αυτό, θέλουμε να μετονομάσουμε όλα τα προγράμματα στο προσωπικό μας δίκτυο και να τα αντικαταστήσουμε με SOCKified προγράμματα. π.χ το "Finger" γίνεται "finger.orig", το "telnet" γίνεται "telnet.orig", κ.ο. Πρέπει να πείτε στο SOCKS σχετικά με αυτά μέσω του include/socks.h αρχείου.

Συγκεκριμένα προγράμματα θα χειρίζονται ρουτίνες και θα κάνουν sockify τον εαυτό τους. Το Netscape είναι ένα από αυτά. Μπορείτε να χρησιμοποιήτε διακομιστή εξουσιοδότησης κάτω από το Netscape εισάγοντας τη διεύθυνση του διακομιστή (192.168.2.1 στη περίπτωσή μας) μέσα στο πεδίο SOKCs κάτω από τα Proxies. Η κάθε εφαρμογή θα χρειαστεί λίγη τροφοδότηση, άσχετα από το πώς της χειρίζεται ο διακομιστή εξουσιοδότησης.

MS Windows με Trumpet Winsock

Το Trumpet Winsock έρχεται με ενσωματωμένες διακομιστή εξουσιοδότησης δυνατότητες. Μέσα στο μενού "εγκατάστασης (setup)", εισάγετε την ΙΡ διεύθυνση από το διακομιστή, και τις διευθύνσεις από όλους του Η/Υ που είναι συνδεδεμένοι άμεσα. Το Trumpet τότε θα χειριστεί όλα τα εξερχόμενα πακέτα.

Κάνοντας το Διακομιστή Εξουσιοδότησης να δουλεύει με UDP Πακέτα

Το πακέτο SOCKS δουλεύει μόνο με πακέτα TCP, και όχι UDP. Αυτό το κάνει λιγότερο χρήσιμο. Πολλά χρήσιμα προγράμματα, όπως το talk και το Archie, χρησιμοποιούν UDP. Υπάρχει ένα πακέτο σχεδιασμένο για να χρησιμοποιηθεί σαν διακομιστής εξουσιοδότησης για πακέτα UDP και καλείται UDPrelay, από τον Tom Fitzgerald <fitz@wang.com>. Δυστυχώς, τη στιγμή που γράφετε αυτό το HOWTO, δεν είναι συμβατό με το Linux.

8.4 Μειονεκτήματα με τους Διακομιστές Εξουσιοδότησης

Ο διακομιστής εξουσιοδότησης είναι, πάνω απ' όλα, μία ασφαλής συσκευή. Χρησιμοποιώντας τον για να αυξήσετε την πρόσβαση στο Internet με περιορισμένες ΙΡ διευθύνσεις θα έχετε πολλά μειονεκτήματα. Ένας διακομιστής εξουσιοδότησης θα επιτρέπει καλλίτερη πρόσβαση από το εσωτερικό του προστατευόμενου δικτύου προς τα έξω, αλλά θα κρατά το εσωτερικό απολύτως απρόσβαστο απ' έξω. Αυτό σημαίνει όχι διακομιστές, talk ή archie συνδέσεις, ή άμεσο ταχυδρομείο στους εσωτερικούς υπολογιστές. Αυτά τα μειονεκτήματα μπορεί να φαίνονται ασήμαντα, αλλά σκεφτήτε με αυτό το τρόπο:

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

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

Βασικά, εάν έχετε τις ΙΡ διευθύνσεις, και δεν ανησυχήτε σχετικά με την ασφάλεια, μην χρησιμοποιείτε firewall και/ή διακομιστές εξουσιοδότησης. Εάν δεν έχετε τις ΙΡ διευθύνσεις, και επίσης δεν έχετε να ανησυχήτε για την ασφάλεια, μπορείτε επίσης να ρίξετε μία ματιά για να χρησιμοποιήσετε ένα εξομοιωτή ΙΡ, σαν τα Term, Slirp ή TIA. Το Term είναι διαθέσιμο από το ftp://sunsite.unc.edu, το Slirp είναι διαθέσιμο από το ftp://blitzen.canberra.edu.au/pub/slirp, και το TIA είναι διαθέσιμο από το marketplace.com. Αυτά τα πακέτα θα τρέχουν ταχύτερα, επιτρέπουν καλλίτερες συνδέσεις, και παρέχουν μεγάλου επιπέδου από πρόσβαση για το εσωτερικό του δικτύου από το Internet. Οι διακομιστές εξουσιοδότησης είναι καλοί για τα δίκτυα αυτά που έχουν πολλούς host που θα θέλουν να συνδέονται στο Internet "on the fly", με μία εγκατάσταση και λίγη δουλειά μετά.


Next Previous Contents