====== Εισαγωγή ====== Σ' αυτό το άρθρο θα δούμε πως μπορούμε να εγκαταστήσουμε ένα πολύ δυνατό, //δωρεάν// firewall το οποίο μπορεί να βελτιώσει την ασφάλεια και το έλεγχο του δικτύου μας.Το [[http://www.smoothwall.org/ | SmoothWall]] βασίζεται σε διανομή linux και χρησιμοποιεί web-based ui για τη χρήση του. Το πιο δυνατό χαρακτηριστικό του είναι ότι προσφέρει δυνατότητες firewall που τις περισσότερες φορές τις βρίσκουμε σε ακριβά μόνο routers. Μπορούμε, λοιπόν, να χρησιμοποιήσουμε οικονομικά router και να αυξήσουμε το επίπεδο προστασίας του δικτύου μας σημαντικά. Δείτε και την [[http://www.smoothwall.org/about/express-feature-list/ | λίστα με τα χαρακτηριστικά του]]. Τέλος, όπως φαίνεται και στη λίστα με τα χαρακτηριστικά, οι απαιτήσεις τους σε hardware είναι πολύ μικρές, πράγμα που το κάνει ιδανικό να στηθεί σε κάποιον παλιό Η/Υ ο οποίος μπορεί να πήγαινε και για ανακύκλωση. Συγκεκριμένα, μπορούμε να χρησιμοποιήσουμε **Pentium με 128ΜΒ μνήμη και 1GB δίσκο**! Στο άρθρο αυτό θα παραθέσω πως μπορούμε να εγκαταστήσουμε το SmoothWall σε virtual machine (vm) το οποίο θα ελέγχει ένα δίκτυο από vm. Φυσικά η χρήση του είναι σε κανονικό pc. Αυτό θα γίνει γιατί μπορεί να μην έχουμε διαθέσιμο άλλο pc ή γιατί θέλουμε απλά να δούμε τις δυνατότητές του πριν αποφασίσουμε να το εγκαταστήσουμε. ====== Ορολογία ====== Το SmoothWall χωρίζει το δίκτυο σε //επίπεδα//, από δύο έως και τέσσερα χρησιμοποιώντας ισάριθμα network interfaces (NIC), ενσύρματα ή/και ασύρματα. Αυτά τα interfaces χαρακτηρίζονται από χρώματα. Συγκεκριμένα έχουμε το RED, GREEN, PURPLE και ORANGE, με τα RED και GREEN να είναι υποχρεωτικά σε **κάθε** εγκατάσταση. Αναλυτικότερα: * RED. Το επίπεδο ((κάθε επίπεδο αντιστοιχεί σε ένα NIC)) αυτό έρχεται σε άμεση επαφή με το internet, δηλαδή με το ADSL Router μας. * GREEN. Το επίπεδο αυτό χειρίζεται όλες τις **ενσύρματες** συνδέσεις τις οποίες προστατεύει το SmoothWall. * PURPLE. Μας δίνει τη δυνατότητα να προσθέσουμε στο δίκτυό μας **ασύρματους** πελάτες, π.χ. laptop. Η PURPLE κάρτα δικτύου λειτουργεί ως wireless access point. Οι υπολογιστές που συνδέονται στο PURPLE interface δεν βλέπουν εκείνους του GREEN interface εκτός και αν χρησιμοποιήσουμε συνδέσεις VPN (virtual private networking). * ORANGE. Επιτρέπει σε υπολογιστές εκτός του δικτύου μας την πρόσβαση σε web, email, ftp κλπ servers του δικτύου μας. Οι υπολογιστές των GREEN & PURPLE interfaces δεν μπορούν να έρθουν άμεσα σε επαφή με εκείνους του ORANGE. Για να γίνει αυτό θα πρέπει να φτιάξουμε DMZs (DeMilitarized Zones). ====== Εγκατάσταση με Δύο Επίπεδα ====== Η εγκατάσταση και η ρύθμιση που θα περιγράψω εδώ αφορά τα απαραίτητα **RED + GREEN** interfaces. Επίσης, τα vm που περιγράφω είναι σε Virtual Box. Το δίκτυο, λοιπόν, που δημιουργούμε είναι ως εξής: {{:el:users:firewall:smoothwall_red_green.png?500x410}} [[http://www.smoothwall.org/get/ | Κατεβάστε]] την τελευταία έκδοση και κάψτε την σε ένα CD. Αν χρησιμοποιήσετε vm δεν χρειάζεται το κάψιμο. Φτιάξτε ένα με τα εξής χαρακτηριστικά: * Base memory: **128MB** * Storage: **1GB** * Video memory: **12MB** * Audio: **disabled** * Θα χρειαστούμε δύο κάρτες, η μία για σύνδεση στο Internet (RED) και μία για το εσωτερικό δίκτυο (GREEN). * Adapter 1 * Attached to: **Bridged Adapter** (μπορούμε να αφήσουμε και NAT, η διαφορά είναι ότι με bridged adapter θα φαίνεται σαν νέο pc στο δίκτυό μας παράλληλα με το host pc και θα έχει δική του ip). * Adapter Type (είναι κάτω από το Advanced): **PCnet-FAST III (Am79C973)** * Adapter 2 * Attached to: **Internal Network** * Name: **green-net** (ή όπως αλλιώς θέλετε, θα πρέπει όμως να χρησιμοποιήσετε το ίδιο όνομα και στο άλλο vm που θα φτιάξουμε) * Adapter Type: **Inter PRO/1000 MT Desktop (82540EM)** Θα μπορούσαμε να χρησιμοποιήσουμε τον ίδιο adapter type και για τις δύο κάρτες αλλά έτσι θα ήταν πιο δύσκολο αργότερα και αντιστοιχήσουμε τη σωστή κάρτα στο σωστό interface (RED or GREEN). Σε περίπτωση που θέλετε να χρησιμοποιήσετε την ίδια κάρτα θα πρέπει να σημειώσετε τις MAC addresses για την αντιστοίχηση. Βάλτε το CD στο pc ή κάντε mount το iso στο vm και ξεκινήστε το. Σημεία προσοχής κατά την εγκατάσταση: - Το **W A R N I N G !** στην 1η οθόνη. Στο pc που θα εγκαταστήσετε το SmoothWall δεν πρέπει να υπάρχει τίποτε άλλο. Δεν μπορούμε, δηλαδή, να το βάλουμε σε κάποιο partition για να έχουμε multi boot. Έτσι, ότι υπάρχει στο δίσκο θα διαγραφεί. - Στο σημείο που μας ζητάει να κάνουμε restore κάποιο παλιό configuration του SmoothWall πατάμε NO. Τώρα, αν το είχατε χρησιμοποιήσει και αλλάζετε pc εγκατάστασης, τότε σ' αυτό το σημείο μπορείτε να βάλετε το configuration του παλιού και να έχετε ό,τι ρυθμίσεις είχατε κάνει. - Στο **keyboard mapping** αφήστε **uk** - Στο **hostname** δώστε ό,τι όνομα θέλετε, εγώ άφησα το //smoothwall// - Στο **default security policy** αφήστε την προεπιλογή **half-open**. - Στο **network configuration menu** - Επιλέξτε **network configuration type** και επιλέξτε **GREEN + RED** - Επιλέξτε **drivers and card assignments**. Θα δείτε ότι δεν έχει αντιστοιχίσει κάρτες σε interfaces. Επιλέξτε **ΟΚ** και στη συνέχει **Probe**. Θα κάνει αναζήτηση για τις κάρτες. - Αντιστοιχήστε την **Intel** στον **GREEN** interface - και την **PCnet** στο **RED** (κάνουμε probe ξανά για να βρει τη δεύτερη κάρτα) - Επιλέξτε **address settings** - Επιλέξτε το **GREEN** interface και πατήστε ΟΚ στο Warning. Βάλτε IP address **192.168.0.1** και Network mask **255.255.255.0** - Επιλέξτε το **RED** interface και διαλέξτε **DHCP**. Το RED interface θα παίρνει ip από το ADSL Router μας. - Επιλέξτε Done και ξανά Done - Στο **section menu** επιλέξτε **DHCP server configuration**. Στο δίκτυο, όπως φαίνεται παραπάνω, δεν υπάρχει server και οι πελάτες δεν μπορούν να πάρουν ip από το ADSL Router αφού παρεμβάλλεται το SmoothWall. Έτσι, το ορίζουμε ως DHCP server. - Επιλέξτε το **Enabled** και αφήστε τις default ρυθμίσεις. Επιλέξτε **ΟΚ** και **Finished** - Στη συνέχεια μας ζητάει να βάλουμε ένα password για τον admin. Αυτός είναι ο χρήστης με τον οποίο συνδεόμαστε από τον browser. - Επόμενος χρήστης για password είναι ο root. Ως root συνδεόμαστε από το ίδιο το pc ή με ssh για εντολές κονσόλας. Καλό είναι τα δύο αυτά password να είναι //διαφορετικά// μεταξύ τους. Συγχαρητήρια! Η εγκατάσταση ολοκληρώθηκε. Το σύστημα μας ζητάει να κάνουμε reboot. Μετά από λίγο θα δείτε το smoothwall login (ή όπως αλλιώς το ονομάσατε). Αν ξεχάσατε ή κάνατε λάθος σε κάποια από τις παραπάνω ρυθμίσεις ή θέλετε να παίξετε με αυτές, τότε κάντε login ως root και γράψτε **setup**. Για να δούμε και να ρυθμίσουμε το firewall από το web interface του, τότε σε ένα //άλλο// pc ανοίγουμε έναν browser και στη διεύθυνση γράφουμε: **https://192.168.0.1:441**\\ Την πρώτη φορά θα δείτε ότι υπάρχει προειδοποίηση για το πιστοποιητικό. Αυτό είναι λογικό γιατί ζητήσαμε ασφαλή σύνδεση και το πιστοποιητικό του SmoothWall δεν είναι υπογεγραμμένο από κάποια αρχή πιστοποίησης που να γνωρίζει ο browser. Αποδεχτείτε το, βάλτε το στις εξαιρέσεις και δώστε το password του admin. Μπορείτε να συνδεθείτε και με //μη ασφαλή// σύνδεση στη διεύθυνση **http://192.168.0.1:81**\\ Εννοείται ότι αν έχετε βάλει άλλη διεύθυνση στο GREEN interface βάζετε αυτή στις παραπάνω διευθύνσεις. Τέλος, καλό είναι να γνωρίζετε ότι το SmoothWall αντιστοιχεί τις δύο κάρτες του ως εξής: * eth0 - GREEN * eth1 - RED Μη τα μπερδεύεται με το eth0 και eth1 του host machine αν κάνατε εγκατάσταση σε vm! ====== Δικτύωση με Άλλο VM ====== Αν έχετε ακολουθήσει την επιλογή εγκατάστασης σε vm, τότε χρειάζεστε τουλάχιστον ένα ακόμη για να φτιάξετε το δίκτυό σας. Δημιουργήστε λοιπόν ένα, κατά προτίμηση κάποια διανομή ubuntu ή debian. Η δοκιμή που έκανα εγώ ήταν με //xubuntu// ως πιο ελαφριά αφού και τα vm χρειάζονται αρκετή από τη μνήμη του host machine και από το δίσκο του. Τα σημεία προσοχή είναι τα εξής: * Κατά τη δημιουργία του vm, στο Network και στον Adapter 1 επιλέξτε **Internal Network** και στο Name επιλέξτε ή γράψτε **green-net**. Αν βάλετε όνομα διαφορετικό από εκείνο που δώσατε στη 2η κάρτα του SmoothWall **δεν** θα είναι στο ίδιο εικονικό δίκτυο τα vm! * Το vm με το SmoothWall πρέπει να τρέχει κατά την εγκατάσταση του νέου vm. * Kατά την εγκατάσταση του νέου vm, κάποια στιγμή θα πρέπει να αναζητήσει δίκτυο. Θα βρει το dhcp server του SmoothWall και θα πάρει IP από εκεί. Αν για οποιοδήποτε λόγο αυτό δε γίνει, επιλέγουμε ότι θα δώσουμε εμείς IP και βάζουμε **192.168.0.100**. Ξεκινάτε το νέο vm (με το vm του SmoothWall να τρέχει) και ανοίξτε τον browser για να συνδεθείτε στο SmoothWall όπως περιγράφετε παραπάνω. Αν δε βρέθηκε δίκτυο κατά την εγκατάσταση, τότε κάντε τα εξής βήματα: {{ :el:users:firewall:edit_connections_menu.png?150x113|Edit Connections}} * Βεβαιωθείτε ότι στο Adapter 1 του vm έχετε **Internal Network** και στο Name **green-net** * Αν το παραπάνω ισχύει και εξακολουθείτε να έχετε πρόβλημα, ξεκινήστε το vm * Πηγαίνετε στο στο Network Manager και επιλέξτε **Edit connections** * Στην καρτέλα **Wired** επιλέξτε το δίκτυο (ένα θα υπάρχει) και πατήστε **Edit...** * Στην καρτέλα **IPv4 Settings**, στο **Method** επιλέξτε **Automatic (DHCP)** και πατήστε **Save...** * Στο Network control πατήστε **Disconnect** και μετά, στο ίδιο, επιλέξτε το όνομα του δικτύου. Αυτή τη φορά θα προσπαθήσει να συνδεθεί στον DHCP server του SmoothWall. {{:el:users:firewall:xubuntu_running_-_oracle_vm_virtualbox_001.png?400x300|Η σελίδα μετά το login}} {{:el:users:firewall:xubuntu_running_-_oracle_vm_virtualbox_002.png?400x300|Οι ενεργοποιημένες υπηρεσίες}}