ΚΕΦΑΛΑΙΟ 5


ΜΙΑ ΠΕΙΡΑΜΑΤΙΚΗ ΜΕΛΕΤΗ ΤΩΝ ΝΕΩΝ
ΔΙΚΤΥΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ.
ΤΟ Α.Τ.Μ. , ΤΟ ΙPv6 ΚΑΙ Η ΔΙΑΣΤΑΣΗ ΤΗΣ
ΑΣΦΑΛΕΙΑΣ.

 

 

Oρισμός Προβλήματος

Εισαγωγή

Κεφάλαια

Κεφάλαιo 1
Κεφάλαιo 2
Κεφάλαιo 3
Κεφάλαιo 4
Κεφάλαιo 5


Πηγές

Παραρτήματα

Βασικές Έννοιες

Παρατηρήσεις

Συγγραφέας

Καθοδήγηση

Nησίδα ΙΡν4


5.1 Γενικά εισαγωγικά

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

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

Στο ΑΤΜ επίπεδο παρατηρήθηκε ότι δε γίνεται η υλοποίηση ενός “firewall”. Η δημιουργία firewall απαιτεί την ύπαρξη κάποιου δρομολογητή ο οποίος και επεξεργάζεται πληροφορία που ανήκει σε επίπεδα ανώτερα του ΑΤΜ επιπέδου (επίπεδο 2 του OSI). Έτσι λοιπόν οι ΑΤΜ μεταγωγείς (επίπεδο2 ) δεν παρέχουν κανένα είδους ασφάλεια. Από τη στιγμή που γίνεται η σύνδεση περνάει χωρίς έλεγχο η πληροφορία με την μόνη δυνατότητα ελέγχου στο τελικό σημείο όπου μπορεί να υλοποιηθεί κάποιος “firewall” ή κάποιος άλλος μηχανισμός ασφάλειας. Υπάρχει έρευνα για τη δημιουργία μηχανισμών ασφάλειας στο ΑΤΜ κατά τη διάρκεια της διευθέτησης της σύνδεσης αλλά με τον εξοπλισμό του εργαστηρίου ο μόνος τρόπος δημιουργίας ασφάλειας σε ένα ΑΤΜ δίκτυο γίνεται με τη χρήση του δρομολογητή Cisco7000 ο οποίος και διαθέτει ΑΤΜ interfaces.

Αντίθετα με το ΑΤΜ το IPv6 διαθέτει μηχανισμούς ασφάλειας (αναφορά έγινε στο θεωρητικό μέρος) όμως επειδή η χρήση του είναι ακόμα πειραματική και επειδή οι ανάγκες του εργαστηρίου για παροχή υπηρεσιών και επικοινωνία με τον υπόλοιπο κόσμο-Internet γίνεται μέσω του IPv4, η υλοποίηση μέτρων ασφάλειας έγινε για τις πραγματικές απαιτήσεις του Ycorlab δηλαδή σε IPv4. Όμως οι βασικές αρχές και η φιλοσοφία πάνω στην ασφάλεια του IPv4 ακολουθούνται και από το IPv6.

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

Το πρώτο μοντέλο βασίζεται στο κοινό hardware ενός PC υπολογιστή και στο ανοικτό λειτουργικό Linux όπου παρέχεται χωρίς κόστος στο κόσμο, ενώ η δεύτερη λύση βασίζεται στο εξειδικευμένο hardware της Cisco και στο λειτουργικό Cisco IOS όπου το ιδιοκτησιακό καθεστώς ανεβάζει το κόστος υλοποίησης. Βέβαια το κόστος έχει άμεση σχέση με την απόδοση χωρίς αυτό να σημαίνει ότι δεν μπορούν να δοθούν φτηνές ικανοποιητικές λύσεις.

Μετά από μία εισαγωγή στα γενικά περί ασφάλειας θα παρουσιαστεί στο πρώτο μέρος η οικονομική υλοποίηση του φτηνό μοντέλο Linux-PC ενώ στο δεύτερο μέρος θα παρουσιαστεί το πιο ακριβό μοντέλο CiscoIOS-Cisco7000.

5.2 Γενικά περί ασφάλειας

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

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

Ένα ασφαλές δίκτυο σημαίνει ότι όλα τα συστήματα του δικτύου μπορούν να πραγματοποιήσουν τα εξής:

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

Μέρος λοιπόν των παραπάνω στόχων για ασφάλεια στο δίκτυο πραγματοποιείται μέσω μηχανισμών για τον έλεγχο της πρόσβασης στο δίκτυο. Tέτοιοι μηχανισμοί είναι, οι IP Filtering Firewalls, οι Application/Proxy Gateways και οι Access Lists(CiscoIOS). Αυτοί οι μηχανισμοί διαβαθμίζονται από πολύ απλούς σε αρκετά πολύπλοκους και οι βασικές αρχές λειτουργίας τους περιέχουν:

  • Περιορισμούς στη παροχή πρόσβασης προς τα έξω ή προς τα έσω.

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

  • Φιλτράρισμα Πακέτων

Στο φιλτράρισμα πακέτων εξετάζονται τα datagrams που προορίζονται για κάποιο σύστημα. Το φιλτράρισμα πακέτων πραγματοποιείται με βάση το host. Το σύστημα πετάει τα datagrams που έχουν απορριφθεί από τους περιορισμούς. Αυτή η λογισμικού τύπου τεχνική φιλτράρει τα datagrams σύμφωνα με το πρωτόκολλο (TCP,UDP,IP,ICMP) ,τη διεύθυνση της προέλευσης και του προορισμού και τις UDP ή TCP πόρτες προορισμού.

5.3 Η οικονομική υλοποίηση (Linux)

5.3.1 IP Filtering Firewalls

Τα IP filtering Firewalls είναι ένας ευρέως χρησιμοποιούμενος τρόπος προστασίας των δυκτίων. Ένα IP filtering firewall μπορεί να θεωρηθεί σαν ένας δρομολογητής με μια επιπλέον λειτουργία. Η επιπλέον λειτουργία που παρέχει είναι η δυνατότητα να φιλτράρει τα πακέτα που φτάνουν στο IP επίπεδο και να αποφασίζει σύμφωνα με ορισμένους κανόνες εάν θα προωθήσει(Forward) το πακέτο στον προορισμό του, ή θα το διαγράψει. Η λειτουργία του λοιπόν περιορίζεται στο IP επίπεδο της στοίβας πρωτοκόλλων του Internet, όπως φαίνεται και στο Σχήμα 5.3.

Σχήμα 5.1 Επίπεδο Λειτουργίας IP Filtering Firewalls

Οι κανόνες που χρησιμοποιούνται για το φιλτράρισμα των πακέτων ελέγχουν τις παραμέτρους που παρουσιάζονται στον Πίνακας 5.12.

Παράμετροι κανόνων filtering

Πρωτόκολλο Transport επιπέδου του πακέτου (TCP/UDP/ICMP)

IP διεύθυνση της αφετηρίας (source address)

Πόρτα αφετηρίας Transport πρωτοκόλλου (source port)

IP διεύθυνση προορισμού (destination address)

Πόρτα προορισμού Transport πρωτοκόλλου (destination port)

Interface άφιξης στο Filtering firewall

Πίνακας 5.12 Παράμετροι κανόνων φιλτραρίσματος πακέτων

Πρέπει να επισημάνουμε ότι ο τρόπος λειτουργίας των IP filtering firewalls προϋποθέτει ότι το προστατευόμενο δίκτυο χρησιμοποιεί επίσημες διευθύνσεις του Internet και όχι διευθύνσεις από τον χώρο διευθυνσιοδότησης των ιδιωτικών δικτύων.

  • Πλεονεκτήματα των IP Filtering Firewalls
 
 

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

2. Επίτευξη μεγάλων ταχυτήτων για περιπτώσεις απλών κανόνων φιλτραρίσματος.

3. Παρέχει προστασία χωρίς να δυσκολεύει την χρήση του δικτύου από τον χρήστη. (Transparent security)

Μειονεκτήματα των IP Filtering Firewalls

1. Επιτρέπουν την συλλογή χρήσιμης πληροφορίας για την μηχανή του χρήστη (π.χ. IP διεύθυνση), χρησιμοποιώντας packet sniffers.

2. Δεν είναι αρκετά ευέλικτα και γίνονται δύσχρηστα στις περιπτώσεις πολλών υποδικτύων (subnets) με διαφορετικά επίπεδα ασφάλειας

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

4. Δεν παρέχει πληροφορίες σχετικά με την χρήση της κάθε υπηρεσίας (application logging)

5.3.2 Application/Proxy GateWays

Τα application gateways παρουσιάζονται σαν μια λύση που παρέχει ακόμη μεγαλύτερη ασφάλεια. Το εσωτερικό δίκτυο ουσιαστικά δεν έχει διασύνδεση με το υπόλοιπο Internet αφού τα proxies για κανένα λόγο δεν μπορούν να προωθήσουν IP πακέτα.

Ο χρήστης για να χρησιμοποιήσει κάποια υπηρεσία του δικτύου θα πρέπει να συνδεθεί πρώτα με το proxy. To proxy στην συνέχεια θα πραγματοποιήσει εξακρίβωση της ταυτότητας τους (authentication) και εάν επιτρέπεται η χρήση της υπηρεσίας από τον χρήστη, θα πραγματοποιήσει την σύνδεση με την υπηρεσία και τον εξυπηρέτη που ζητήθηκε και θα προωθεί την πληροφορία από και προς τις δυο κατευθύνσεις. Όπως φαίνεται και στο Σφάλμα! Το αρχείο προέλευσης της αναφοράς δεν βρέθηκε. η πληροφορία που μεταφέρει ένα proxy δεν έχει την μορφή IP πακέτων, αλλά πακέτα μιας ροής δεδομένων ανάμεσα στην εφαρμογή του χρήστη και τον απομακρυσμένο εξυπηρέτη.

Η λειτουργία του proxy σε επίπεδο εφαρμογής(Application), απαιτεί να γνωρίζει το πρωτόκολλο κάθε υπηρεσίας (ftp,http,finger,κ.λ.π.) που πρέπει να παρέχει για να συνομιλεί με την εφαρμογή του χρήστη και του εξυπηρέτη. Η έλλειψη της απευθείας σύνδεσης με το Internet κάνει δυνατή την χρήση διευθύνσεων από τον χώρο διευθύνσεων για ιδιωτικά δίκτυα.

 

Πλεονεκτήματα των Application Gateways

1. H έλλειψη της απευθείας σύνδεσης του προστατευόμενου δικτύου από το Internet, αποκρύπτει πληροφορίες για την δομή το δικτύου που θα μπορούσαν να φανούν χρήσιμες σε ένα επίδοξο εισβολέα.

2. Λόγο της πλήρης κατανόησης του πρωτοκόλλου μιας εφαρμογής που πρέπει να έχει ένας proxy μπορεί να παρέχει ασφάλεια σε επίπεδο εφαρμογής, ελέγχοντας το είδος των δεδομένων που μεταφέρονται.

3. Είναι δυνατή η συλλογή πληροφοριών μεγάλης λεπτομέρειας, σχετικά με την χρήση των επιμέρους εφαρμογών.

 

Μειονεκτήματα των Application Gateways

1. Απαιτούν ειδική ρύθμιση από την πλευρά των εφαρμογών του χρήστη, ώστε να χρησιμοποιούν το proxy.

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

3. Παρουσιάζει έλλειψη ευελιξίας προσαρμογής στις νέες υπηρεσίες που παρουσιάζονται. Για κάθε νέα υπηρεσία πρέπει να γραφεί το λογισμικό που θα την υποστηρίξει στο proxy, διαφορετικά δεν είναι δυνατή η χρησιμοποίηση της.

5.3.3 Πολιτικές ασφάλειας

 

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

  • Ότι δεν απαγορεύεται ρητά, επιτρέπεται
  • Ότι δεν επιτρέπεται, απαγορεύεται.

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

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

5.3.4 Δημιουργία ενός Firewall με το λειτουργικό Linux 2.0

Μια φτηνή λύση που μπορεί να αναβαθμιστεί (αναβαθμίζοντας το Hardware) ανάλογα με τις ανάγκες κάθε (μικρού/μεσαίου) δικτύου αποτελεί η δημιουργία ενός firewall χρησιμοποιώντας το λειτουργικό Linux. Για την δημιουργία ενός απλού IP filtering firewall αρκεί μόνο το λειτουργικό και το πρόγραμμα (ipfwadm) πρόσθεσης και αφαίρεσης κανόνων φιλτραρίσματος που έρχεται μαζί με όλες τις εκδόσεις του λειτουργικού. Για την δημιουργία ενός Application Gateway χρειάζεται κάποιο ειδικό πρόγραμμα που παρέχει αυτή την δυνατότητα.

Η έκδοση του λειτουργικού που χρησιμοποιήσαμε είναι της εταιρίας RedHat με όνομα προϊόντος RedHat 4.2 (Biltmore). Το πρόγραμμα proxy είναι της εταιρίας tis με όνομα Firewall toolkit.

5.3.5 Η Προετοιμασία του πυρήνα για τη δημιουργία Firewall

Η ρύθμιση του πυρήνα είναι κοινή και για τους δύο τύπους Firewall και παρουσιάζει μόνο μια μικρή διαφοροποίηση. Ο πυρήνας που χρησιμοποιoύμε είναι η έκδοση 2.0.30 που περιέχεται και στην έκδοση της RedHat.

Η διαδικασία της ρύθμισης ξεκινάει με την εντολή:

 
 

make menuconfig

Στην Εικόνα 5.2 φαίνονται οι ομάδες επιλογών του πυρήνα. Οι απαραίτητες επιλογές για την χρήση του πυρήνα με εφαρμογές firewall παρουσιάζονται στον Πίνακας 5.2.

Εικόνα 5.2 Ομάδες επιλογών πυρήνα Linux 2.0.30

Κατηγορία Επιλογές
Code maturity level options Prompt for development and/or incomplete code/drivers (Ναι)
Loadable module support Όλες τις επιλογές για πλήρες πυρήνα.
General setup Networking support (ναι)
Νetworking options Network firewalls (Ναι)

TCP/IP networking (Ναι)

IP forwarding/gatewaying (Ναι για IP filtering μόνο)

IP firewalling (Ναι)

IP firewall packet loggin (Ναι)

IP masquerading (Οχι)

IP accounting (Ναι)

IP tuuneling (Οχι)

IP aliasing (Οχι)

IP aliasing (Οχι)

IP PC/TCP compatibility mode (Οχι)

IP Reverse ARP (Οχι)

Drop source routed frames (Ναι)

Network Device support Network Device support (Ναι)

Dummy net driver support (Ναι)

Ethernet (10 or 100Mbit) (Ναι)

Επιλέξτε τις κάρτες δικτύου που διαθέτετε.

Πίνακας 5.2 Επιλογές πυρήνα απαραίτητες για χρήση ως Firewall

Προσοχή: Οι οδηγοί των καρτών δικτύου είναι προτιμότερο να επιλεγούν για να περιληφθούν μέσα στον πυρήνα και όχι σαν modules. Μερικές φορές η ανίχνευση πολλαπλών καρτών δεν μπορεί να γίνει όταν ο οδηγός έχει γίνει compile σαν module.

Αφού σωθούν οι επιλογές, ακολουθεί η δημιουργία (compile) του πυρήνα με τις εντολές:

 
 

make dep ; make clean

make zImage

Εγκατάσταση του πυρήνα

Στη συγκεκριμένη παράγραφο θα περιοριστούμε στα συστήματα που χρησιμοποιούν το linux loader (lilo) για την εκκίνηση του συστήματος.

Στο αρχείο /etc/lilo.conf πρέπει να προστεθούν οι παρακάτω γραμμές:

image=/boot/vmlin-2.0.30-firewall

*/ αντικαταστήστε με το όνομα που δώσατε στον πυρήνα /*

label=firewall
root=/dev/hda2 */ εδώ αντικαταστήστε το δικό σας root parttion/*
append=”ether=10,0x300,eth0 ether=5,0x200,eth1” */αντικαταστήστε με τις κατάλληλες τιμές για τις δικές σας κάρτες/*
read-only

Αφού γίνουν οι προσθήκες στο αρχείο /etc/lilo.conf, οι αλλαγές ενεργοποιούνται με την εντολή:

 
 

lilo

Εάν δεν παρουσιασθεί πρόβλημα, στην επόμενη επανεκκίνηση του συστήματος πρέπει στην προτροπή του lilo να δοθεί firewall<enter>, για να χρησιμοποιηθεί ο καινούργιος πυρήνας.

5.3.4.2 Ρύθμιση των διευθύνσεων των interface του firewall

Η ρύθμιση των interfaces γίνεται κατά την εκκίνηση του συστήματος. Σε αυτή την παράγραφο περιγράφονται περιληπτικά μόνο οι διαδικασίες ρύθμισης της έκδοσης του λειτουργικού που χρησιμοποιήσαμε (RedHat). Οι πληροφορίες για τις διευθύνσεις βρίσκονται στον κατάλογο /etc/sysconfig/network-scripts/ στα αρχεία με όνομα :
ifcfg-ethN , όπου Ν ο αριθμός του interface. Παράδειγμα του περιεχομένου του αρχείου θα βρείτε στο Παράρτημα Β.

Στον ίδιο κατάλογο υπάρχουν μεταξύ άλλων δύο προγράμματα (shell scripts) για την ενεργοποίηση/απενεργοποίηση κάποιου interface. Αφού συμπληρώσετε τις επιθυμητές τιμές στα αντίστοιχα αρχεία μπορείτε να ενεργοποιήσετε τις νέες ρυθμίσεις (χωρίς επανεκκίνηση) απενεργοποιώντας και ενεργοποιώντας ξανά τα interfaces με τις ακόλουθες εντολές:

 
 

./ifdown ifcfg-ethN

./ifup ifcfg-ethN

Πιστοποιήστε ότι οι αλλαγές έγιναν, με την εντολή :

 
 

ifconfig

Η διαδικασία φαίνεται στην Σχήμα 5.3.

 

[root@mantis /root]# cd /etc/sysconfig/network-scripts/

[root@mantis network-scripts]# ls

ifcfg-eth0 ifcfg-lo ifdown-ppp ifup-plip ifup-routes

ifcfg-eth1 ifdhcpc-done ifdown-sl ifup-post ifup-sl

ifcfg-eth1~ ifdown ifup ifup-ppp

[root@mantis network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@mantis network-scripts]# ./ifdown ifcfg-eth1

[root@mantis network-scripts]# ./ifup ifcfg-eth1

[root@mantis network-scripts]# ifconfig

lo Link encap:Local Loopback

inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0

UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1

RX packets:12 errors:0 dropped:0 overruns:0

TX packets:12 errors:0 dropped:0 overruns:0

eth0 Link encap:10Mbps Ethernet HWaddr 00:60:97:A8:08:F8

inet addr:143.233.241.1 Bcast:143.233.241.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:272 errors:0 dropped:0 overruns:0

TX packets:190 errors:0 dropped:0 overruns:0

Interrupt:10 Base address:0x300

eth1 Link encap:10Mbps Ethernet HWaddr 00:60:97:A9:1D:73

inet addr:143.233.34.14 Bcast:143.233.34.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0

TX packets:0 errors:0 dropped:0 overruns:0

Interrupt:5 Base address:0x200

[root@mantis network-scripts]#

Σχήμα 5.3 Διαδικασία Ενεργοποίησης/Απενεργοποίησης του Interface

Στην συνέχεια και μέχρι το τέλους του κεφαλαίου θα θεωρούμε ότι το interface eth0 είναι συνδεμένο με το εσωτερικό δίκτυο και το interface eth1 με το εξωτερικό(Internet).

5.3.4.3 Η ρύθμιση του πίνακα δρομολόγησης του πυρήνα

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

  • Τις περισσότερες φορές αρκούν οι διαδρομές στα δίκτυα που είναι συνδεμένα απευθείας στα interfaces του firewall και μια διαδρομή σε έναν δρομολογητή που γνωρίζει τις διαδρομές προς όλα τα υπόλοιπα δίκτυα. Σε αυτή την περίπτωση αρκεί να συμπληρωθεί η διεύθυνση αυτού του δρομολογητή στην μεταβλητή GATEWAY στο αρχείο ρύθμισης του interface που βρίσκεται στο κοινό δίκτυο firewall-δρομολογητή. Μια τέτοια περίπτωση φαίνεται στην εικόνα 5.4 .

Εικόνα 5.4 Παράδειγμα 1 προστατευμένου L.A.N.

Ο πίνακας δρομολόγησης για την παραπάνω περίπτωση φαίνεται στην

[root@mantis network-scripts]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

143.233.241.1 0.0.0.0 255.255.255.0 U 0 0 4 eth

143.233.34.14 0.0.0.0 255.255.255.0 U 0 0 1 eth1

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 1 lo

0.0.0.0 143.233.34.1 0.0.0.0 UG 0 0 1 eth1

[root@mantis network-scripts]#

Εικόνα 5.5 Πίνακας δρομολόγησης παραδείγματος 1

  • Εάν χρειαστούν και άλλες διαδρομές πρέπει να προστεθούν στο αρχείο /etc/sysconfig/static-routes (Παράρτημα Β).

5.3.4.4 Προστασία του Firewall

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

Για παράδειγμα εάν είναι δυνατό να συνδεθεί ο οποιοσδήποτε στο firewall με την υπηρεσία telnet τότε το δίκτυο που προστατεύει δεν είναι καθόλου ασφαλές. Για αυτό τον λόγο πρέπει να περιορίζονται στο ελάχιστο οι υπηρεσίες που παρέχει στο δίκτυο το ίδιο το firewall. Φυσικά η βέλτιστη επιλογή είναι να μην είναι ενεργή καμία υπηρεσία στο firewall. To αρχείο που ελέγχει τους δαίμονες των υπηρεσιών, είναι το /etc/inetd.conf .

Προσοχή :Υπάρχουν υπηρεσίες που δεν ελέγχονται από το /etc/inetd.conf (π.χ. NFS,DNS,WWW,samba) και πρέπει να απενεργοποιηθούν από τα αρχεία εκκίνησης (rc.local κ.λ.π)

Τέλος το Firewall δεν πρέπει να διασυνδέεται με το Internet πριν ολοκληρωθεί η ρύθμιση του, διότι είναι πιθανό να δεχτεί μια επίθεση πριν ολοκληρωθεί η ρύθμιση του.

5.3.5 Δημιουργία ενός IP Filtering Firewall με το Linux 2.0

Στην περιγραφή μας θα παρουσιάσουμε σαν παράδειγμα ένα δίκτυο με τις εξής απαιτήσεις :

  1. 1. Η πολιτική που θα ακολουθηθεί είναι της άρνησης των υπηρεσιών που δεν επιτρέπονται.
  2. 2. Στους χρήστες του δικτύου θα παρέχονται οι εξής υπηρεσίες:
    • WWW
    • E-Mail
 
 

1. Στο εξωτερικό δίκτυο θα επιτρέπετε πρόσβαση στον WWW εξυπηρέτη του δικτύου.
2. Θα υποστηρίζονται τα πρωτόκολλα :

  • Domain Name Service (DNS)
  • Simple Mail Transfer Protocol

Η διεύθυνση του εσωτερικού δικτύου είναι : 143.233.241.0/24

Η διεύθυνση του δικτύου μέσω του οποίο υπάρχει διασύνδεση με το Internet είναι: 143.233.34.0/24

5.3.5.1 Οι ρυθμίσεις του IP Filtering Firewall

Απαραίτητη προϋπόθεση για τη δημιουργία IP filtering, όπως έχει προαναφερθεί, είναι η ενεργοποίηση της επιλογής IP Forwarding κατά την δημιουργία του πυρήνα του λειτουργικού Linux.

Στο σύστημα στο οποίο και πραγματοποιήθηκε το IP Filtering Firewall δημιουργήσαμε κάποια scripts για τις ρυθμίσεις πάνω στη πολιτική επιλογής πακέτων (φιλτράρισμα) καθώς και για λόγους υπολογισμού της διακίνησης πακέτων μέσω του firewall. Τα scripts βρίσκονται στο /etc/rc.d έτσι ώστε να πραγματοποιούνται οι ρυθμίσεις στο σύστημα κάθε φορά που το σύστημα περνάει από τη διαδικασία επαναλειτουργίας (boot time).

Από μόνος του ο πυρήνας του linux έχοντας IP Forwarding προωθεί όλα τα πακέτα. Γι αυτό το λόγο το πρώτο script που φτιάχνουμε απαγορεύει την πρόσβαση σε οτιδήποτε και αναιρεί οποιοδήποτε κανόνα ipfw που υπήρχε από προηγούμενη λειτουργία του συστήματος.

# setup IP packet Accounting and Forwarding

#

# Forwarding

# By default DENY all services

ipfwadm -F -p deny

# Flush all commands

ipfwadm -F -f

ipfwadm -I -f

ipfwadm -O -f

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

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

# Forward email to your servera Προωθεί email στον εξυπηρέτη μας

ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 143.233.241.10 25

# Forward email connections to outside email serversa Προωθεί email διασύνδεση με εξωτερικούς email εξυπηρέτες

ipfwadm -F -a accept -b -P tcp -S 143.233.241.10 25 -D 0.0.0.0/0 1024:65535

# Forward Web connections to your Web Servera Προωθεί WWW συνδέσεις στον WEB εξυπηρέτη μας

ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 143.233.241.10 80.

# Forward Web connections to outside Web serversa Προωθεί WEB συνδέσεις σε

εξωτερικούς WEB εξυπηρέτες.

ipfwadm -F -a accept -b -P tcp -S 143.233.241.* 80 -D 0.0.0.0/0 1024:65535

# Forward DNS traffic a Προωθεί DNS πληροφορία

ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D 143.233.241.0/24

Με το παρακάτω script μπορούμε να υπολογίσουμε το ποσό της διακίνησης των πακέτων που πέρασαν από το firewall.

# Flush the current accounting rules

ipfwadm -A -f

#Accounting

ipfwadm -A -f

ipfwadm -A out -I -S 143.233.241.0/24 -D 0.0.0.0/0

ipfwadm -A out -i -S 0.0.0.0/0 -D 143.233.241.0/24

ipfwadm -A in -i -S 143.233.241.0/24 -D 0.0.0.0/0

ipfwadm -A in -i -S 0.0.0.0/0 -D 143.233.241.0/24

5.3.5.2 Η λογική λειτουργίας του κώδικα Filtering του πυρήνα.

Ο πυρήνας του linux περνάει κάθε πακέτο που φτάνει σε ένα από τα interface του από την διαδικασία που φαίνεται στo Σχήμα 5.4. Στον Πίνακας 5.14 υπάρχει μια σύντομη περιγραφή κάθε φάσης.

Σχήμα 5.6 Πορεία IP πακέτου στον πυρήνα του Linux

Επεξεργασία πακέτου Περιγραφή λειτουργίας
Input Device Accounting Καταμέτρηση εισερχομένων πακέτων
Input Rules Έλεγχος εάν επιτρέπετε στο πακέτο να εισέρθει στο Firewall.
Forwarding Rules Έλεγχος εάν επιτρέπεται στο πακέτο να προωθηθεί στον προορισμό του.
Output Rules Έλεγχος εάν επιτρέπετε στο πακέτο να εξέρθει από το Firewall.
Output Device Accounting Καταμέτρηση εξερχόμενων πακέτων

Πίνακας 5.3 Στάδια φιλτραρίσματος εισερχόμενου IP πακέτου

Κάθε ένας από τους κανόνες μπορεί να επιτρέπει ή όχι την διέλευση του πακέτου.
Τέλος σε κάθε ένα από τα στάδια φιλτραρίσματος υπάρχει μια προκαθορισμένη (default policy) πολιτική (αποδοχής ή απόρριψης) για τα πακέτα που δεν εμπίπτουν σε κανένα από τους υπόλοιπους κανόνες.

5.3.6 Δημιουργία ενός Application Gateway

Στην περιγραφή μας θα παρουσιάσουμε σαν παράδειγμα ένα δίκτυο με τις εξής απαιτήσεις :

1. Η πολιτική που θα ακολουθηθεί είναι της άρνησης των υπηρεσιών που δεν επιτρέπονται.

2. Στους χρήστες του δικτύου θα παρέχονται οι εξής υπηρεσίες:

  • FTP
  • TELNET
  • RLOGIN

Η διεύθυνση του εσωτερικού δικτύου είναι : 192.168.2.0/24 Η διεύθυνση του δικτύου μέσω του οποίο υπάρχει διασύνδεση με το Internet είναι: 143.233.34.0/24

5.3.6.1 Η Λογική λειτουργίας του firewall toolkit από την tis

Το firewall toolkit αποτελείται από αυτόνομους δαίμονες για κάθε υπηρεσία που υποστηρίζει. Οι υπηρεσίες αυτές φαίνονται στον Πίνακας 5.15

Δαίμονας

Λειτουργία

rlogin

Proxy για το πρωτόκολλο rlogin

telnet

Proxy για το πρωτόκολλο telnet

ftp

Proxy για το πρωτόκολλο ftp

netacl

Το πρόγραμμα αυτό μπορούμε να το καλούμε μέσα από το inetd.conf πριν από κάθε υπηρεσία για την οποία δεν υπάρχει proxy, ώστε να αποφασίσει εάν θα πρέπει να την παρέχει.

smap

Proxy για το πρωτόκολλο SMTP

X forwarder

Proxy για το πρωτόκολλο X windows

authserv

Δαίμονας εξακρίβωσης στοιχείων χρήστη.

Πίνακας 5.4 Υπηρεσίες που παρέχει το Firewall Toolkit

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

Τα βασικά βήματα για την ρύθμιση του proxy είναι :

  • Ρύθμιση των επιμέρους Application Proxies

Η όλη ρύθμιση της λειτουργίας του κάθε ενός από τα application proxies ρυθμίζεται από το αρχείο /usr/local/etc/netperm-table. Κάθε proxy έχει τις δικές του ρυθμίσεις αλλά όλα χρησιμοποιούν κοινές λέξεις κλειδιά. Οι σημαντικότερες από αυτές φαίνονται στον ακόλουθο πίνακα.

Λέξη κλειδί

Λειτουργία

permit-hosts

Καθορίζει τις μηχανές που έχουν πρόσβαση στο proxy και εάν χρειάζεται εξακρίβωση στοιχείων του χρήστη για να χρησιμοποιηθεί η υπηρεσία. Μπορεί να καθοριστεί μέχρι και ποιες ενέργειες μπορούν να πραγματοποιηθούν (δες ftp).

denial-msg

καθορίζει το αρχείο που περιέχει το μήνυμα άρνησης της υπηρεσίας,

welcome-msg

καθορίζει το αρχείο που περιέχει το μήνυμα παροχής της υπηρεσίας,

help-msg

καθορίζει το αρχείο που περιέχει το μήνυμα βοήθειας της υπηρεσίας

timeout

Καθορίζει το χρόνο που μπορεί να μείνει αδρανής μια υπηρεσία πριν αποσυνδεθεί

Πίνακας 5.5 Λέξεις κλειδιά για τις ρυθμίσεις των Application Proxies

 

Ενημέρωση του καταλόγου των υπαρχόντων υπηρεσιών

Ο κατάλογος των υπηρεσιών καθώς και οι πόρτες που χρησιμοποιούν περιέχονται στο αρχείο /etc/services. Σε αυτό το αρχείο πρέπει να προστεθούν / αλλάξουν τα ονόματα των υπηρεσιών που παρέχει το proxy.

  • Ενεργοποίηση των υπηρεσιών

Η ενεργοποίηση των Application gateways γίνεται από τον υπερ-δαίμονα inetd και για αυτό πρέπει να ενημερωθεί το αρχείο ρυθμίσεων του /etc/inetd.conf.

5.3.6.2 Οι ρυθμίσεις των Application Gateways

Ουσιαστικά εδώ θα γίνει η παρουσίαση των τριών αρχείων /usr/local/etc/netperm-table, /etc/inetd.conf και /etc/service στα οποία βασίζεται η λειτουργία των Application Gateways TIS FWTK.

Το αρχείο netperm-table

Μέσω αυτού του αρχείου γίνεται ο έλεγχος για το ποιος μπορεί να έχει πρόσβαση στις υπηρεσίες του TIS FWTK. Για τους χρήστες που βρίσκονται έξω από το προστατευόμενο δίκτυο υπάρχει μια διαδικασία αναγνώρισης τους πριν αποκτήσουν πρόσβαση στις υπηρεσίες του δικτύου ενώ οι χρήστες εντός του δικτύου έχουν ελεύθερη πρόσβαση. Για την αναγνώριση των χρηστών υπάρχει το πρόγραμμα authsrv το οποίο κρατάει μια βάση δεδομένων με την ταυτότητα και τα passwords των χρηστών.

Παρακάτω ακολουθεί το μέρος του netperm-table αρχείου που ασχολείται με τη διαδικασία αναγνώρισης.

#
# Proxy configuration table
#
# Authentication server and client rules
authsrv: database /usr/local/etc/fw-authdb
authsrv: permit-hosts * #localhost
authsrv: badsleep 1200
authsrv: nobogus true
# Client Applications using the Authentication server
*: authserver 127.0.0.1 114

Οι ρυθμίσεις για την υπηρεσία TELNET (tn-gw) ακολουθούν στο επόμενο μέρος όπου οι χρήστες εντός του προστατευόμενου δικτύου κάνουν χρήση της υπηρεσίας χωρίς να περάσουν από τη διαδικασία αναγνώρισης ( permit-hosts 192.168.2.* -passok) ενώ οι χρήστες που βρίσκονται εκτός υποχρεούνται στη διαδικασία αναγνώρισης (permit-hosts * -auth).

Επίσης επιτρέπουμε σε ένα σύστημα (192.168.2.33) να έχει άμεση πρόσβαση στο firewall σύστημα χωρίς να εμπλέκεται στις διαδικασίες του firewall. Αυτό γίνεται μέσω της γραμμής netacl-in.telnetd.

# telnet gateway rules:
tn-gw: denial-msg /usr/local/etc/tn-deny.txt
tn-gw: welcome-msg /usr/local/etc/tn-welcome.txt
tn-gw: help-msg /usr/local/etc/tn-help.txt
tn-gw: timeout 90
tn-gw: permit-hosts 196.168.2.* -passok -xok
tn-gw: permit-hosts * -auth -xok
#Only the Administrator can telnet directly to the firewall via Port 24
netacl -in.telnetd: permit-hosts 192.168.2.33 -exec /usr/sbin/in.telnetd

Όλες οι r-εντολές λειτουργούν με τον τρόπο του telnet οπότε για την rlogin έχουμε:

# rlogin gateway rules:
rlogin-gw: denial-msg /usr/local/etc/rlogin-deny.txt
rlogin-gw: welcome-msg /usr/local/etc/ rlogin -welcome.txt
rlogin-gw: help-msg /usr/local/etc/ rlogin-help.txt
rlogin-gw: timeout 90
rlogin-gw: permit-hosts 196.168.2.* -passok -xok
rlogin-gw: permit-hosts * -auth -xok
#Only the Administrator can telnet directly to the firewall via Port 24
netacl - rlogin: permit-hosts 192.168.2.33 -exec /usr/sbin/rlogind-a

Με τον ίδιο τρόπο γίνονται και οι ρυθμίσεις για την ftp υπηρεσία μόνο που εδώ αυξάνεται ο χρόνος (timeout) που χρειάζεται ή για να κλείσει μια κακή σύνδεση ή για να παραμείνει ανοικτή μία σύνδεση χωρίς να υπάρχει δραστηριότητα. Στις ρυθμίσεις καταγράφονται τα αρχεία που στέλνονται ή λαμβάνονται μέσω του firewall (-log{retr stor}).

# ftp gateway rules:
ftp-gw: denial-msg /usr/local/etc/ ftp -deny.txt
ftp -gw: welcome-msg /usr/local/etc/ ftp -welcome.txt
ftp -gw: help-msg /usr/local/etc/ ftp -help.txt
ftp -gw: timeout 300
ftp -gw: permit-hosts 196.168.2.* -log {retr stor}
ftp -gw: permit-hosts * - log {retr stor}

Το αρχείο inetd.conf

Παραθέτουμε ολόκληρο το αρχείο /etc/inetd.conf ώστε να δειχθεί η ρύθμιση των καινούργιων υπηρεσιών του firewall καθώς και απενεργοποίηση υπηρεσιών που δεν χρειάζονται. (Οτιδήποτε ακολουθεί μετά από # θεωρείται σχόλιο.)

#
# inetd.conf This file describes the services that will be available
# through the INETD TCP/IP super server. To re-configure
# the running INETD process, edit this file, then send the
# INETD process a SIGHUP signal.
#
# Version: @(#)/etc/inetd.conf 3.10 05/27/93
#
# Authors: Original taken from BSD UNIX 4.3/TAHOE.
# Fred N. van Kempen, waltje@uwalt.nl.mugnet.org
#
# Modified for Debian Linux by Ian A. Murdock imurdock@shell.portal.com
#
# Modified for RHS Linux by Marc Ewing marc@redhat.com
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# Echo, discard, daytime, and chargen are used primarily for testing.
#
# To re-read this file after changes, just do a 'killall -HUP inetd'
#
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
#
# These are standard services.
#
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#gopher stream tcp nowait root /usr/sbin/tcpd gn
# do not uncomment smtp unless you *really* know what you are doing.
# smtp is handled by the sendmail daemon now, not smtpd.
It does NOT
# run from here, it is started at boot time from /etc/rc.d/rc#.d.#smtp stream tcp nowait
root /usr/bin/smtpd smtpd
#nntp stream tcp nowait root /usr/sbin/tcpd in.nntpd
#
# Shell, login, exec and talk are BSD protocols.
#
#shell stream tcp nowait root /usr/sbin/tcpd in.rshd
login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd in.rexecd
#talk dgram udp wait root /usr/sbin/tcpd in.talkd
#ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd
#dtalk stream tcp waut nobody /usr/sbin/tcpd in.dtalkd
#
# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
#imap stream tcp nowait root /usr/sbin/tcpd imapd
#
# The Internet UUCP service.
#
#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers." Do not uncomment
# this unless you *need* it.
#
#tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
#bootps dgram udp wait root /usr/sbin/tcpd bootpd
#
# Finger, systat and netstat give out user information which may be
# valuable to potential "system crackers." Many sites choose to disable
# some or all of these services to improve security.
#
# cfinger is for GNU finger, which is currently not in use in RHS Linux
#
#finger stream tcp nowait root /usr/sbin/tcpd in.fingerd
#cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd
#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet
#
# Time service is used for clock syncronization.
#
#time stream tcp nowait nobody /usr/sbin/tcpd in.timed
#time dgram udp wait nobody /usr/sbin/tcpd in.timed
#
# Authentication
#
auth stream tcp wait root /usr/sbin/tcpd in.identd -w -t120
authrsv stream tcp nowait root /usr/local/etc/authrsv authrsv
#
# End of inetd.conf

Το αρχείο /etc/service

Όταν κάποιος χρήστης συνδέεται με το firewall συνδέεται σε μία από τις γνωστές πόρτες, για παράδειγμα η σύνδεση με την υπηρεσία telnet γίνεται στη πόρτα 23. Ο δαίμονας inetd παρακολουθεί αυτές τις συνδέσεις και ψάχνει το όνομα της υπηρεσίας στο αρχείο /etc/service. Κατόπιν καλεί το πρόγραμμα που αντιστοιχεί στο όνομα από το αρχείο /etc/inetd.conf.

telnet-a 24/tcp

ftp-gw 21/tcp

auth 113/tcp

5.4 Μέρος Δεύτερο - Η ακριβή υλοποίηση (Cisco IOS)

5.4.1 Περιληπτική αναφορά στις access-lists και το πρακτικό μέρος

Στη προσπάθεια ελέγχου της πρόσβασης το CiscoIOS(Internetworking Operating System) δημιούργησε τις access-lists με τις οποίες φιλτράρεται η πληροφορία πάνω στο δρομολογητή. Συνήθως η θέση αυτού του δρομολογητή βρίσκεται μεταξύ του εσωτερικού και εξωτερικού δικτύου (όπως το Internet) και με τη σωστή ρύθμιση των access-lists πάνω στα interfaces του δρομολογητή μπορεί να ελεγχθεί , να φιλτραριστεί η πληροφορία που κυκλοφορεί από έξω προς τα μέσα προφυλάσσοντας έτσι το εσωτερικό δίκτυο. Το φιλτράρισμα της πληροφορίας γενικά χρησιμοποιείται στους λεγόμενους “firewalls” έτσι λοιπόν η οικοδόμηση ενός firewall πάνω σε ένα δρομολογητή ο οποίος διαθέτει Cisco IOS πραγματοποιείται με τη χρήση των access-lists. Η χρήση των access-lists στο φιλτράρισμα της IP πληροφορίας έχει συγκεκριμένους στόχους:

  • Αποσκoπεί στον έλεγχο της μετάδοσης πακέτων πάνω σε ένα interface.
  • Αποσκoπεί στον έλεγχο της πρόσβασης μίας γραμμής virtual terminal.
  • Αποσκoπεί στο περιορισμό του περιεχομένου της ενημέρωσης πάνω στη δρομολόγηση πακέτων.(routing updates)

Οι access-lists χωρίζονται στις standard και στις extended και υπάρχουν και οι Dynamic Access Lists ή αλλιώς Lock-and-Key Security που είναι μία τεχνική ασφάλειας που βασίζεται στη φιλοσοφία των access-lists.

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

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

Ο εξοπλισμός του εργαστηρίου ο οποίος αποτελεί και τη βάση για την δημιουργία ενός είδους “firewall” μέσω των access-lists είναι ο δρομολογητής Cisco 7000. Αυτός διαθέτει λειτουργικό CiscoIOS 10.3 και παρακάτω ακολουθεί περιγραφή του εξοπλισμού, των εντολών για την δημιουργία access-lists καθώς και η περιγραφή ενός παραδείγματος καθορισμού της access-lists 101.

 5.4.2 Εξοπλισμός

5.4.2.1 Δρομολογητής Cisco-7000

Η σειρά της 7000 της Cisco περιέχει δρομολογητές που υποστηρίζουν πολλά πρωτόκολλα. Ένας δρομολογητής (Cisco-7000) αυτής της σειράς υπάρχει και στο χώρο του Ycorlab, η αρχιτεκτονική του οποίου υποστηρίζει δικτυακά interfaces με ενσωματωμένους επεξεργαστές τα οποία και παρέχουν άμεση σύνδεση μεταξύ του CyBUS (το εσωτερικό bus) με το εξωτερικό δίκτυο. Επίσης η διεργασία της δρομολόγησης και της μεταγωγής πραγματοποιείται μέσω των επεξεργαστών RP(Route Processor), SP(Switch Processor) και SSP(Silicon Switch Processor).

Το λογισμικό του Cisco-7000 είναι το Cisco IOS για το οποίο θα γίνει αναφορά παρακάτω.

 

Πίνακας χαρακτηριστικών του Cisco-7000

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ Cisco-7000
Υποστηριζόμενα δικτυακά interfaces Ethernet 10BaseT, AUI1, and 10BaseFL

Fast Ethernet (100BaseT and MII)

Token Ring

FDDI (half and full duplex)

HSSI

Synchronous serial

ATM

Multichannel on T1 or E1 lines, ISDN PRI

Channelized T3

Packet OC-3

IBM channel

Τροφοδοτικά 2
Υποδοχείς για interface επεξεργαστών 5
Υποδοχείς για επεξεργαστές συστήματος 2
Τύπος Cisco IOS 10.3
Ενσωματωμένη(Onboard) μνήμη Flash RP: 4 MB standard
PCMCIA Flash memory card RP: Optional 8 or 16 MB
τύπος επεξεργαστή RP: 25-MHz 68040 CPU, 16-MB RAM, 64-MB option
Διαστάσεις (H x W x D) 19.25 x 17.5 x 24.1 in.

(48.9 x 44.45 x 61.34 cm)

Βάρος 149 lbs (~67.6 kg) πλήρης

Τα προτερήματα του Cisco-7000 που του προσδίδουν αξιοπιστία και ευκολοχρησία στο τρόπο λειτουργίας είναι τα εξής:

  • Άμεση(online) επαναρύθμιση στο λογισμικό: Είναι επιτρεπτό να γίνουν ρυθμίσεις στο λογισμικό χωρίς να σταματήσουν οι εφαρμογές ή οι υπηρεσίες και χωρίς να γίνει επανεκκίνηση του συστήματος.
  • Άμεση εισαγωγή και αφαίρεση: Μπορεί να γίνει αναβάθμιση με νέα interface επεξεργαστών χωρίς να γίνει επανεκκίνηση ή να βγει το σύστημα εκτός λειτουργίας. Μειώνει και του χειριστή τη παρέμβαση γιατί τα interface επεξεργαστών αυτορυθμίζονται.
  • Γρήγορη Εκκίνηση: Μπορεί να έρθει σε λειτουργία μέσα σε 35sec μετά από μία αναβάθμιση λογισμικού γεγονός που μειώνει τον αντίκτυπο της μη λειτουργίας του δρομολογητή στο δίκτυο.
  • Παρακολούθηση περιβάλλοντος λειτουργίας: Προειδοποιεί για τυχόν μη επιτρεπτές συνθήκες λειτουργίας όπως για λόγους υπερθέρμανσης.
  • Εργαλεία για αυτοδίαγνωση: Μπορεί να διαγνώσει εάν οι μονάδες είναι λειτουργικές πριν τεθούν σε λειτουργία.
  • Flash memory και EPROM: Λόγω των μνημών αυτών παρέχεται γρήγορη και αξιόπιστη αναβάθμιση λογισμικού.

Το εμπρός και πίσω μέρος του Cisco-7000

5.4.2.2 CISCO IOS SOFTWARE

Οι δρομολογητές και οι access servers CISCO λειτουργούν με το Cisco Internetworking Operating System (Cisco IOS) software. Αυτό το software υποστηρίζει πρωτόκολλα στο χώρο των LAN και WAN δικτύων, ελέγχει τη πρόσβαση στο δικτυακό περιβάλλον και προσπαθεί στη βελτίωση των υπηρεσιών στα WAN δίκτυα.

Υποστηρίζει όλες τις κύριες στοίβες πρωτοκόλλων όπως TCP/IP, Novell Net Ware, Apple Aplle Talk, Banyan Vines, Digital DECNet, OSI, XNS και Apollo Domain.

Το Cisco IOS έχει σχεδιαστεί για να παρέχει στο χώρο των δικτύων:

 

1. Αξιόπιστη και προσαρμοστική δρομολόγηση δεδομένων

 

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

Interior Gateway Routing Protocol(IGRP)

  • Enhanced Interior Gateway Routing Protocol(EIGRP)
  • Protocol Independed Multicast(PIM)
  • Net Ware Link Service Protocol (NLSP)
  • Simple Multicast Routing Protocol(SMRP)
  • Next Hop Resolution Protocol(NHRP)
  • Generic Routing Encapsulation(GRE)
  • Hot Standby Routing Protocol(HSRP)
  • Resource Reservation Protocol(RSVP)
  • Private Network-Network Interface(PNNI)
  • Open Shortest Path First (OSPF)
  • Intermediate System to Intermediate System (IS-IS)
  • Routing Information Protocol(RIP)
  • Apple Talk Update-Based Routing Protocol (AURP)

2. Βελτιστοποίηση του εύρους ζώνης και έλεγχος στη κατανομή των πόρων

 

Η αρχιτεκτονική του Cisco IOS βελτιστοποιεί τη χρήση του εύρους ζώνης ελαττώνοντας τη μετάδοση μη απαραίτητης πληροφορίας από συνδέσεις wide area και επιλέγοντας τις πιο οικονομικές WAN συνδέσεις. Για να βελτιώσει την απόδοση ενός δικτύου το Cisco IOS παρέχει δυνατότητες όπως υποθετική κράτηση εύρους ζώνης (virtual bandwidth reservation) και αποθήκευση σε σειρά αναμονής με προτεραιότητες (priority queuing). Με αυτές τις δυνατότητες ένας διαχειριστής ενός δικτύου μπορεί να διατηρεί εύρος ζώνης και να δίνει προτεραιότητα σε πληροφορία ανάλογα με το τύπο της εφαρμογής, τη πηγή και το προορισμό. Οι τεχνολογίες που χρησιμοποιεί το Cisco IOS για τη βελτιστοποίηση του εύρους ζώνης είναι οι εξής:

Dial on Demand Routing (DDR)

  • Bandwidth on Demand (BOD)
  • Snapshot Routing
  • Virtual Bandwidth reservation/priority queuing
  • Remote Access
  • SNA integration
  • Protocol Indepented Multicast(PIM)
  • Weighted Fair Queuing (WFQ)
  • Private Network-Network Interface (PNNI)
  • Available Bit Rate (ABR)
  • Resource Reservation Protocol(RSVP)

3. Διαχείριση και ασφάλεια

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

Στην ασφάλεια το Cisco IOS παρέχει πολυδιάστατα φίλτρα που εμποδίζουν ένα χρήστη από το να γνωρίζει άλλους χρήστες ή ευαίσθητες πηγές του δικτύου. Κρυπτογραφημένα συνθήματα (passwords), dial-in επικύρωση, πολυεπίπεδες ρυθμιστικές εγκρίσεις και μηχανισμοί αρχειοθέτησης παρέχουν προστασία και πληροφορία για τις παράτυπες προσπάθειες πρόσβασης. Ισχυροί firewall και remote access ασφάλεια είναι λοιπόν οι λύσεις προστασίας οι οποίες και καταφέρνονται διαμέσου το Cisco IOS χρησιμοποιώντας τις τεχνολογίες:

 

TACACS+

  • Route Authentication OSPF
  • Image Authentication
  • Lock and Key

4. Κλιμακωτή τεχνολογία

 

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

  • Hot Standby Routing Protocol
  • vLAN
  • IGMP switching
  • NHRP
  • GRE tunneling

5.4.3 Δημιουργία Access-Lists

5.4.3.1 Αναλυτική Παρουσίαση των Εντολών Δημιουργίας ACCESS-LISTS

A) access-list (standard)

Για να καθοριστεί μία κανονική IP accesss-list χρησιμοποιείται η εντολή access-list (σε global configuration). Για να τεθεί εκτός μια κανονική access-list χρησιμοποιείται η εντολή noaccess-list.

access-list access-list-number {deny | permit} source [source-wildcard]

no access-list access-list-number

Περιγραφή της σύνταξης της εντολής:

access-list-number


deny


permit

source

Ο αριθμός της access-list. Είναι δεκαδικό αριθμός από 1 έως 99

Άρνηση στη πρόσβαση εάν οι συνθήκες ταιριάζουν(συμφωνούν).

Επιτρέπει τη πρόσβαση εάν οι συνθήκες ταιριάζουν.

Ο αριθμός του δικτύου ή του χρήστη (host) από όπου έρχεται το πακέτο. Υπάρχουν δύο εναλλακτικοί τρόποι για να καθοριστεί η πηγή (source):

       
       

       

  • Χρησιμοποιώντας ένα αριθμό σε δεκαδική μορφή χωρισμένο σε τέσσερα μέρη από τελείες και ο οποίος αναλογεί σε ποσότητα 32-bit.
  • Χρησιμοποιώντας τη λέξη κλειδί any σαν συντομογραφία για τη source(πηγή) και για το source-wildcard που είναι 0.0.0.0 255.255.255.255.

source-wildcard (Προαιρετικά) Τα wildcard bits συμπληρώνουν το source. Υπάρχουν δύο τρόποι καθορισμού του source-wildcard πεδίου:

  • Χρησιμοποιώντας ένα αριθμό σε δεκαδική μορφή χωρισμένο σε τέσσερα μέρη από τελείες και ο οποίος αναλογεί σε ποσότητα 32-bit. Τοποθετώντας μονάδες στα bit που χρειάζεται να αγνοηθούν.
  • Χρησιμοποιώντας τη λέξη κλειδί any σαν συντομογραφία για τη source(πηγή) και για το source-wildcard που είναι 0.0.0.0 255.255.255.255.

Παρατηρήσεις

       
       

       

  • Προκαθορισμένη κατάσταση (Default)

Σε μία κανονική access-list η προκαθορισμένη κατάσταση είναι η άρνηση όλων (deny) των καταστάσεων. Η access-list τελειώνει πάντα υπονοώντας αρνητική δήλωση για οτιδήποτε άλλο.

  • Τρόπος πραγματοποίησης των εντολών(Command Mode)

Ολική ρύθμιση (Global Configuration)

  • Χρήσιμες Οδηγίες

Οι access-lists χρησιμοποιούνται για τον έλεγχο στη μετάδοση πακέτων σε ένα interface ή σε γραμμή πρόσβασης virtual terminal καθώς και στο περιορισμό της ανανεωμένης πληροφορίας δρομολόγησης που έρχεται από το δίκτυο.H εντολή show access-list παρουσιάζει τα περιεχόμενα όλων των access-lists.

Παράδειγμα

Στο ακόλουθο παράδειγμα χρησιμοποιείται το δίκτυο 143.233.0.0 όπου η τρίτη οκτάδα μπορεί να καθορίσει ένα υποδίκτυο με μάσκα 255.255.0.0 . Χρησιμοποιώντας την access-list 5 θα επιτραπεί μία διεύθυνση στο 241 υποδίκτυο (subnet) και θα απορριφθούν όλες οι άλλες του 241 υποδικτύου. Η επόμενη γραμμή επιτρέπει σε όλες τις διευθύνσεις από τα υπόλοιπα υποδίκτυα του 143.233.0.0. Οποιαδήποτε άλλη πρόσβαση εκτός από αυτές που έχουν δηλωθεί υπονοείται ότι απορρίπτεται.

Στις τελευταίες δύο γραμμές καταχωρείται η access-list 5 στο interface ethernet 0 μέσω της εντολής ip access-group.

access-list 5 permit 143.233.241.5
access-list 5 deny 143.233.241.0 0.0.0.255
access-list 5 permit 143.233.0.0 0.0.255.255
interface ethernet 0
ip access-group 5 in

Β) access-list (extended)

Γενικά αυτή η εντολή χρησιμοποιείται για το IP πρωτόκολλο. Για να καθορίσεις μία εκτεταμένη access-list γίνεται μέσω της παρακάτω εντολής(σε global configuration). Για να θέσεις εκτός την access-list χρησιμοποιείς την εντολή που αρχίζει με no.

 
 

access-list access-list-number {deny | permit} protocol source

source-wildcard destination
destination-wildcard [precedence precedence] [tos tos] [log]

 
 

no access-list access-list-number

Για το πρωτόκολλο ICMP χρησιμοποιείται και η εξής σύνταξη:

 
 

access-list access-list-number {deny | permit} icmp source

source-wildcard destination
destination-wildcard [icmp-type [icmp-code] | icmp-message] [precedence

 
 

precedence] [tos tos] [log]

Για το πρωτόκολλο TCP χρησιμοποιείται και η εξής σύνταξη:

 
 

access-list access-list-number {deny | permit} tcp source

source-wildcard
[operator port [port]] destination destination-wildcard
[operator port [port]] [established] [precedence precedence] [tos tos] [log]

Για το πρωτόκολλο UDP χρησιμοποιείται και η εξής σύνταξη:

 
 

access-list access-list-number {deny | permit} udp source

source-wildcard
[operator port [port]] destination destination-wildcard
[operator port [port]] [precedence precedence] [tos tos] [log]

Περιγραφή της σύνταξης της εντολής:

access-list-number:



deny


permit


protocol

 

 

 

 

source

 

 

 

 

 

 

 

 

 

 

source-wildcard

 

 

 

 

 

 

 

 

 

 

 


destination

 

 

 

 

 

 

 

 

 

 

 

Ο αριθμός της access-list. Είναι δεκαδικός αριθμός μεταξύ 100 και199.

Αρνείται τη πρόσβαση εάν οι συνθήκες ταιριάζουν.

Επιτρέπει τη πρόσβαση εάν οι συνθήκες ταιριάζουν.

Όνομα ή αριθμός ενός Internet πρωτοκόλλου. Μπορεί να αναφέρονται με λέξεις κλειδιά ως egrp, gre, igrp, ip, ipinip, nos, ospf, tcp, udp, ή να αναφέρονται μέσω των ακεραίων αριθμών 0 έως 255. Για τα πρωτόκολλα ICMP, UDP και TCP χρησιμοποιείται η λέξη κλειδί ip. Μερικά πρωτόκολλα έχουν και άλλα χαρακτηριστικά που περιγράφονται παρακάτω.

Ο αριθμός του δικτύου ή του χρήστη (host) από όπου έρχεται το πακέτο. Υπάρχουν τρεις εναλλακτικοί τρόποι για να καθοριστεί η πηγή (source):

  • Χρησιμοποιώντας ένα αριθμό σε δεκαδική μορφή χωρισμένο σε τέσσερα μέρη από τελείες και ο οποίος αναλογεί σε ποσότητα 32-bit.
  • Χρησιμοποιώντας τη λέξη κλειδί any σαν συντομογραφία για τη source(πηγή) και για το source-wildcard που είναι 0.0.0.0 255.255.255.255.
  • Χρησιμοποιώντας τη λέξη host source σαν συντομογραφία για τo source και για το source-wildcard που είναι 0.0.0.0.

Τα wildcard bits συμπληρώνουν το source. Υπάρχουν τρεις τρόποι καθορισμού του source-wildcard πεδίου:

  • Χρησιμοποιώντας ένα αριθμό σε δεκαδική μορφή χωρισμένο σε τέσσερα μέρη από τελείες και ο οποίος αναλογεί σε ποσότητα 32-bit. Τοποθετώντας μονάδες στα bit που χρειάζεται να αγνοηθούν.
  • Χρησιμοποιώντας τη λέξη κλειδί any σαν συντομογραφία για τη source(πηγή) και για το source-wildcard που είναι 0.0.0.0 255.255.255.255.
  • Χρησιμοποιώντας τη λέξη host source σαν συντομογραφία για τo source και για το source-wildcard που είναι 0.0.0.0.

Ο αριθμός ή ο host στον οποίο στέλνεται το πακέτο. Υπάρχουν τρεις τρόποι καθορισμού του destination πεδίου:

  • Χρησιμοποιώντας ένα αριθμό σε δεκαδική μορφή χωρισμένο σε τέσσερα μέρη από τελείες και ο οποίος αναλογεί σε ποσότητα 32-bit. Τοποθετώντας μονάδες στα bit που χρειάζεται να αγνοηθούν.
  • Χρησιμοποιώντας τη λέξη κλειδί any σαν συντομογραφία για το destination και για το destination-wildcard που είναι 0.0.0.0 255.255.255.255.
  • Χρησιμοποιώντας τη λέξη host source σαν συντομογραφία για τo destination και για το destination-wildcard που είναι 0.0.0.0.

precedence (Προαιρετικό) Τα πακέτα μπορεί να “φιλτραριστούν” από ένα επίπεδο προτεραιότητας, το οποίο καθορίζεται από τους αριθμούς 0 έως 7.

tos tos (Προαιρετικό) Τα πακέτα μπορεί να “φιλτραριστούν” σύμφωνα με ένα επίπεδο υπηρεσίας , το οποίο καθορίζεται από τους αριθμούς 0 έως 15.

icmp-type (Προαιρετικό) Τα ICMP πακέτα μπορεί να “φιλτραριστούν” σύμφωνα με τους τύπους των ICMP μηνυμάτων. Οι τύποι καθορίζονται από τους αριθμούς 0 έως 255.

icmp-code (Προαιρετικό) Τα ICMP πακέτα μπορεί να “φιλτραριστούν” σύμφωνα με τους τύπους των ICMP μηνυμάτων αλλά μπορούν να φιλτραριστούν σύμφωνα με μηνύματα ICMP κώδικα. Ο κώδικας καθορίζεται από τους αριθμούς 0 έως 255.

Icmp-message (Προαιρετικό) Τα ICMP πακέτα μπορεί να “φιλτραριστούν” σύμφωνα με το όνομα των τύπων των ICMP μηνυμάτων ή τον τύπο και το κωδικό όνομα των ICMP μηνυμάτων.

operator (Προαιρετικό) Συγκρίνει τις πόρτες της προέλευσης ή του προορισμού (source, destination). Πιθανές τιμές που μπορεί να πάρει το πεδίο αυτό είναι lt (less than), gt(greater than), eq(equal), neq(not equal) και range(inclusive range). Εάν το πεδίο operator βρίσκεται μετά το πεδίο source και source-wildcard αναφέρεται στη πόρτα του source.
Εάν το πεδίο operator βρίσκεται μετά το πεδίο destination και destination-wildcard αναφέρεται στη πόρτα του destination.
Η τιμή range απαιτεί δύο αριθμούς πορτών ενώ όλες οι άλλες τιμές μονάχα ένα αριθμό πόρτας.

established (Προαιρετικό)Είναι για το TCP πρωτόκολλο μόνο. Δείχνει μία εγκατεστημένη σύνδεση και σχετίζεται με το εάν το TCP datagram έχει σε ισχύ τα ACK και RST bits.

log (Προαιρετικό)Κρατάει ένα αρχείο με πληροφορία γύρω από τα πακέτα. Περιέχει τον αριθμό της access-list, εάν το πακέτο επιτράπηκε ή απορρίφθηκε, το πρωτόκολλο (TCP, UDP, ICMP) τη διεύθυνση προέλευσης και προορισμού και τη πόρτα.

 

Παρατηρήσεις

 

Προκαθορισμένη κατάσταση (Default)

Σε μία εκτεταμένη access-list η προκαθορισμένη κατάσταση είναι η άρνηση όλων (deny) των καταστάσεων. Η access-list τελειώνει πάντα υπονοώντας αρνητική δήλωση για οτιδήποτε άλλο.

 

Τρόπος πραγματοποίησης των εντολών (Command Mode)

Ολική ρύθμιση (Global Configuration)

  • Χρήσιμες Οδηγίες

Οι access-lists χρησιμοποιούνται για τον έλεγχο στη μετάδοση πακέτων σε ένα interface ή σε γραμμή πρόσβασης virtual terminal καθώς και στο περιορισμό της ανανεωμένης πληροφορίας δρομολόγησης που έρχεται από το δίκτυο. Ο έλεγχος (από το δρομολογητή ή το μεταγωγέα) σταματάει αμέσως μετά την συμφωνία με κάποια συνθήκη.

Παράδειγμα
Στο παράδειγμα που ακολουθεί η πρώτη γραμμή επιτρέπει κάθε εισερχόμενες TCP συνδέσεις με πόρτα προορισμού μεγαλύτερη από 1023. Η δεύτερη γραμμή επιτρέπει εισερχόμενες TCP συνδέσεις στην SMTP πόρτα του host 143.233.241.4. Η τρίτη επιτρέπει εισερχόμενα ICMP μηνύματα .

Στις τελευταίες δύο γραμμές καταχωρείται η access-list 103 στο interface ethernet1 μέσω της εντολής ip access-group.

access-list 103 permit tcp 0.0.0.0 255.255.255.255 143.233.241.0 0.0.0.255 gt 1023
access-list 103 permit tcp 0.0.0.0 255.255.255.255 143.233.241.4 0.0.0.0 eq 25
access-list 103 permit icmp 0.0.0.0 255.255.255.255 143.233.241.0 0.0.0.255
interface ethernet 1
ip access-group 103

5.4.3.2 Καθορισμός Access List

Οι κατάλογοι πρόσβασης (access-lists) καθορίζουν την επιτρεπόμενη ή τη μη αποδεκτή πληροφορία ενώ τα access groups εφαρμόζουν τους περιορισμούς των access-lists σε ένα interface. Τα access-lists χρησιμοποιούνται για να αποτρέψουν τις συνδέσεις που εμπεριέχουν κινδύνους ασφάλειας και να επιτρέψουν όλες τις άλλες συνδέσεις ή να επιτρέψουν εκείνες τις συνδέσεις που θεωρούνται αποδεκτές και να αποτρέψουν όλες τις άλλες. Ο δεύτερος τρόπος είναι και πιο σίγουρος για την πραγματοποίηση ενός firewall.

Στη περίπτωση που θα περιγραφεί, εισερχόμενο e-mail και news επιτρέπεται για μερικούς χρήστες (hosts) ενώ FTP ,Telnet και rlogin υπηρεσίες επιτρέπονται μόνο για τους χρήστες που βρίσκονται στο εσωτερικό δίκτυο εντός του Firewall (firewall subnet). Για το “φιλτράρισμα” της πληροφορίας χρησιμοποιούνται IP extended access-lists (100-199) και οι TCP,UDP αριθμοί πορτών. Όταν μια σύνδεση προσπαθεί να γίνει π.χ για e-mail ,Telnet, FTP η σύνδεση προσπαθεί να ανοίξει την υπηρεσία στις συγκεκριμένες πόρτες. Μπορεί λοιπόν να απομονωθεί οποιαδήποτε προσπάθεια χρήσης συγκεκριμένων υπηρεσιών και να μην γίνουν δεκτά πακέτα που απευθύνονται σε κάποια σύνδεση συγκεκριμένης υπηρεσίας.

Παρακάτω ακολουθεί πίνακας που περιέχει τις γνωστές υπηρεσίες με τις αντίστοιχες πόρτες.

Υπηρεσίες Τύπος Πόρτας Αριθμός Πόρτας
File Transfer Protocol (FTP)—Data TCP 20
FTP---Εντολές TCP 21
Telnet TCP 23
Simple Mail Transfer Protocol(SMTP)---E-Mail TCP 25
Terminal Access Controller Access Control System(TACACS) UDP 49
Domain Name System (DNS ) TCP και UDP 53
Trivial File Transfer Protocol(TFTP) UDP 69
finger TCP 79
SUN Remote Procedure Call (RPC) UDP 111
Network News Transfer Protocol (NNTP) TCP 119
Network Time Protocol (NTP) TCP και UDP 123
NeWS TCP 144
Simple Management Network Protocol (SNMP) UDP 161
SNMP (Traps) UDP 162
Border Gateway Protocol (BGP) TCP 179
rlogin TCP 513
rexec TCP 514
talk TCP και UDP 517
ntalk TCP και UDP 518
Open Windows TCP και UDP 2000
Network File System (NFS) UDP 2049
X11 TCP και UDP 6000
DNS zone transfer TCP 53

TFTP daemon (tftpd)

UDP 69
link—συνήθως χρησιμοποιείται από εισβολείς TCP 87
SUN RPC TCP και UDP 111
line printer daemon (lpd) TCP 515
UNIX-to-UNIX copy program daemon (uucpd) TCP 540

Η access-list καλείται αφού έχει ληφθεί η απόφαση της δρομολόγησης αλλά πριν σταλεί το πακέτο στο interface για μετάδοση.

5.4.3.3 Πρακτικά βήματα δημιουργίας μιας Access-list

Πρώτα γίνεται η διαμόρφωση μιας access-list είναι σε ένα εύχρηστο text editor. Κατόπιν δημιουργείται ένας φάκελος (file) που περιέχει τις εντολές της access-list (ουσιαστικά περιέχει το κείμενο από τον text editor) ο οποίος τοποθετείται στο καθορισμένο TFTP κατάλογο ενός server. Έχοντας σε λειτουργία το TFTP δαίμονα στο server και διατηρώντας μια TCP σύνδεση με το firewall δρομολογητή, μπορεί μέσω δικτύου να φορτώνεται η access-list στο δρομολογητή. Μπορεί η δημιουργία της access-list να γίνει απ’ευθείας πάνω στο δρομολογητή, τρόπος καθόλου πρακτικός, ενώ με την προηγούμενη διαδικασία μπορούν εύκολα να γίνουν αλλαγές αρκεί κάθε φορά που φορτώνεται η καινούργια παραλλαγή της access-list να απομακρύνεται η παλιά με την εντολή : no access-list number

 

Α) Περιγραφή της Access-list 105

Η παρακάτω εντολή access-list επιτρέπει την επιστροφή πακέτων από τις ήδη εγκατεστημένες συνδέσεις. Με τη λέξη κλειδί established συμφωνία συμβαίνει όταν το TCP datagram έχει σε ισχύ τα bits ACK και RST.

access-list 105 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 established

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

access-list 101 permit ip 143.233.105.1 0.0.0.0 0.0.0.0 255.255.255.255

Η ακόλουθη εντολή δεν αποδέχεται πληροφορία που προέρχεται από κάποιο χρήστη εκτός του εσωτερικού δικτύου, ο οποίος προσπαθεί να “οικειοποιηθεί” μια εκ των διευθύνσεων που ανήκουν στο εσωτερικό δικτυακό χώρο

access-list 101 deny ip 143.233.241.0 0.0.0.255 0.0.0.0 255.255.255.255

Η ακόλουθη εντολή επιτρέπει αιτήσεις και απαντήσεις των πρωτοκόλλων DNS και NTP.

access-list 101 permit udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 53
access-list 101 permit udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 123

Η ακόλουθη εντολή αποτρέπει τη πληροφορία την NFS πληροφορία.

access-list 101 deny udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 2049

Οι παρακάτω εντολές αρνούνται πληροφορία OpenWindows στις πόρτες 2001 και 2002 καθώς X11 στις πόρτες 6001 και 6002.

access-list 101 deny tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 6001
access-list 101 deny tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 6002
access-list 101 deny tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 2001
access-list 101 deny tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 2002

Η ακόλουθη εντολή επιτρέπει το Telnet στο χρήστη (143.233.241.2):

access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.2 0.0.0.0 eq 23

Η ακόλουθη εντολή επιτρέπει το FTP στο host (143.233.241.10):

access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.10 0.0.0.0 eq 21
access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.10 0.0.0.0 eq 20

Οι ακόλουθες εντολές επιτρέπουν TCP και UDP συνδέσεις για πόρτες με αριθμούς μεγαλύτερους του 1023, σε ορισμένους μόνο hosts.

access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.10 0.0.0.0 gt 1023
access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.2 0.0.0.0 gt 1023
access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.4 0.0.0.0 gt 1023
access-list 101 permit udp 0.0.0.0 255.255.255.255 143.233.241.10 0.0.0.0 gt 1023
access-list 101 permit udp 0.0.0.0 255.255.255.255 143.233.241.2 0.0.0.0 gt 1023
access-list 101 permit udp 0.0.0.0 255.255.255.255 143.233.241.4 0.0.0.0 gt 1023

Οι παρακάτω εντολές επιτρέπουν εισερχόμενη πληροφορία από το Simple Mail Transfer Protocol (SMTP) e-mail μόνο σε δύο μηχανές

access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.10 0.0.0.0 eq 25
access-list 101 permit tcp 0.0.0.0 255.255.255.255 143.233.241.2 0.0.0.0 eq 25

Η ακόλουθη εντολή επιτρέπει στο Internet Control Message Protocol (ICMP) να ανατροφοδοτεί με μηνύματα ένδειξης κάποιου λάθους.

access-list 101 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255

Με το τέλος της access-list υπονοείται άρνηση σε οτιδήποτε άλλο διασφαλίζοντας έτσι την αποτροπή σε καταστάσεις που δεν έχουν επιτραπεί ρητά και κατηγορηματικά προηγούμενα.

Β) Eφαρμογή της Access List στο interface

Αφού φορτωθεί η access-list στο δρομολογητή και αποθηκευτεί στη NVRAM μνήμη του, πρέπει να καταχωρηθεί σε ένα interface. Αυτό πραγματοποιείται μέσω της εντολής access-group.

ip access-group access-list-number {in | out}
no ip access-group access-list-number {in | out}

Επειδή μια access-list δημιουργείται με το στόχο να φιλτράρει τη πληροφορία αλλά δίνεται η δυνατότητα με την επιλογή {in | out} στην εντολή access-group να προσδιορίσουμε το που θα γίνει ο έλεγχος της πληροφορίας κατά την είσοδο ή κατά την έξοδο από το δρομολογητή. Τις πιο πολλές φορές και ο έλεγχος στην είσοδο (input access lists) αλλά και ο έλεγχος στην έξοδο (output access lists) παρέχουν το ίδιο αποτέλεσμα σε μερικές περιπτώσεις όπως σε “spoofing” IP διευθύνσεων ο έλεγχος στην είσοδο είναι πιο αποτελεσματικός.

Στο τέλος λοιπόν της access-list 105 υπάρχουν οι δύο επόμενες γραμμές.

interface ethernet 0
ip access-group 101 out

 

Κεντρική Σελίδα