• Nenhum resultado encontrado

4.4 Άλλοι τύποι επίθεσης σε Ασύρματα Δίκτυα και απαραίτητα εργαλεία

4.4.3 Integrity attacks

Αυτές οι επιθέσεις (attacks) στέλνουν πλαστό έλεγχο, πλαίσια διαχείρισης ή δεδομένων πάνω σε ασύρματα δίκτυα με σκοπό να παραπλανήσει τον αποδέκτη ή επιπλέον για να προωθήσει κάποιο άλλο τύπο επίθεσης (attack) (π.χ., DoS).

Πίνακας 4.3: Integrity attacks

Τ ύ π ο ς

ε π ί θ ε σ η ς Π ε ρ ι γ ρ α φ ή Μ έ θ ο δ ο ι κ α ι 1 Ε |> γ α λ ε ν «

«02 11 F r a m e I n j e c t i o n

Δ η μ ι ο υ ρ γ ί α κ φ α π ο σ τ ο λ ή π λ α σ τ ώ ν π λ α ι σ ί ω ν ( F r a m e s ) 8 0 2 . 1 1

A i r p w n , F i i e 2 a i r , l i b r a d i a t c , v o i d ] 1 , W E P W e d g i e , w u e t d i n j e c t / r e i n j e c t S 0 2 . 1 1

D a t a R e p l a y

Α η μ υ ο ί ί ρ γ ι ί ϋ ν τ α ς π λ α ί σ ι α δ ε δ ο μ έ ν ω ν ( d a t a f r a m e s ) 8 0 2 . 1 1 γ ια . ( τ ρ ο π ο π ο ι η μ έ ν ε ς )

; ε π α ν α λ ή ψ ε ι ς π ο υ θ α α κ ο λ ο υ θ ή σ ο υ ν .

C a p t u r e + I n j e c t i o n Ε ρ γ α λ ε ί α

8 0 2 . 1 1 D a t a D e l e t i o n

Π α ρ ε μ β ο λ ή ε ν ό ς ε π ι δ ί ω κ α μ ε ν ο ω δ έ κ τ η γ ι α α π ο τ ρ ο π ή τ η ς π α ρ ά δ ο σ η ς κ ν ώ τ α υ τ ό χ ρ ο ν α γ ί ν ε τ α ι χ ρ ή σ η τ ο υ τ ό π ο υ π α ρ α π λ ά ν η σ η ς A C K s γ ι α δ ι α γ ρ α μ μ έ ν α π λ α ί σ ι α δ ε δ ο μ έ ν ω ν ( d a t a , f r a m e s ) .

J a m i ll i r i g -t- I n j e c t i o n Ε ρ γ α λ ε ί α

« 0 2 . 1 X Β Λ Ρ R e p l a y

Σ ύ λ λ η ψ η 8 0 2 . 1 X E x t e n s i b l e A u t h e n t i c a t i o n P r o t o c o l s ( π . χ , , Ε Α Ρ I d e n t i t y , S u c c e s s , F a i l u r e ) γ ι α ε π α ν ά λ η ψ η α ρ - ν ό τ ε ρ α .

W i r e l e s s C a p t u r e + I n j e c t i o n ε ρ γ α λ ε ί α μ ε τ α ξ ύ σ τ α θ μ ο ύ κ π ι A P 8 0 2 . I X

R A D I O S R e p l a y

Σ ύ λ λ η ψ η R A D T U S A c c e s s - A c c e p t ή R e j e c t μ η ν ύ μ α τ α γ ι α ε π α ν ά λ η ψ η .

E t h e r n e t C a p t u r e + I n j e c t i o n ε ρ γ α λ ε ί α μ ε τ α ξ ύ A P κ α ι a m h e n t i o a t i o n s e r v e r

Authentication attacks (Πίνακας 4.4)

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

Πίνακας 4.4: Authentication attacks

Τ ύ π ο ι Ι ΐίε ρ ιγ ρ α φ ή

Ε π ί θ ε σ η ς _____________________________ Η

ν ιέ θ ο δ ο ι κ α ι ΐρ γ α λ ε ία Π ρ ο σ π ά θ εια π ισ το π ο ίη σ η ς δ η μ ο σ ίο υ

κ λ ειδ ιο ύ (S h a re d K ey A u th e n tic a tio n ) S hared ey go2 11 μ ε μ ά ν τεμ α χρ η σ ιμ ο π ο ιώ ν τα ς

π ρ ο ε π ιλ ο γ ή π ρ ο μ η θ ευ τώ ν ή W E P k ey s π ο υ

έ χ ο υ μ ε σ π ά σ ει, |

W EP C ra c k in g fo o ls

Ε π α ν α φ ο ρ ά ε ν ό ς W P A P S K α π ό έ ν α P S K σ υ λ λ α μ β α ν ό μ εν υ κ λειδ ί h a n d sh a k e π λ α ισ ίω ν C ra c k in g χ ρ η σ ιμ ο π ο ιώ ν τα ς έν α ς α ρ χ είο μ ε π ο λ λ ές

λ έ ξ ε ις κ αι κ ω δ ικ ο ύ ς

co W P A tty , K isM A C , w p a_ crack , w pa- p sk -b f

. . Κ α τα γρ α φ ή δια π ισ τ ευ τη ρ ίω ν χ ρ ή σ τη (π .χ,.

A p p licatio n §ιεβ0υ ν σ η Κ(„ Κ(1>δικός π ρ ό σ β α σ η ς) :L o g in c π|)αιτύκολλα εφ α ρ μ ο γ ή ς cle a rte x t

A ce P assw o rd S n iffer, D sn iff,

PH oss, W in S n iffer Α ν ά κ τ η σ η δια π ισ τ ευ τη ρ ίω ν χ ρ ή σ τη (π.χ.,

σ ύ ν δ εσ η με τα W in d o w s κ α ι κ ω δ ικ ό ς D o m ain π ρ ό σ β α σ η ς) σ π ά ζο ν τ α ς τ α N etB IO S

p a ss w o rd h a sh e s , κ α ι χ ρ η σ ιμ ο π ο ιώ ν τα ς rac in g τε χ ν ικ ή b ru te -fo rc e ή ερ γ α λ εία d ictio n ary

[attack.

Jo h n th e R ipper, LO phtCraek, C ain

V P N L ogin C ra c k in g

Ε π ανα φ ο ρ ά δ ια π ισ τ ε υ τη ρ ίω ν χρ ή σ τη (π .χ..

κ ω δ ικ ό ς π ρ ό σ β α σ η ς Ρ Ρ Τ Ρ ή IP sec P resh ared S e c re t K ey δ ο κ ιμ ά ζ ο ν τ α ς b ru te -fo rc e attack s σ ε π ρ ω τό κ ο λ λ α επ α λ ή θ ε υ σ η ς τα υ τό τη τα ς V PN .

Ike scan and i k c c r a c k (IP sec), a n g e r and T H C - p p tp -h ru le r (P P T P )

8 0 2 . IX Id en tity T h e ft

Δ η μ ιο υ ρ γ ώ ν τα ς τ α υ τ ό τ η τ ε ς χ ρ η σ τώ ν α π ό τ α π α κ έ τ α α π ό κ ρ ισ η ς τα υ τό τη τα ς cle a rte x t

8 0 2 . IX . _ _ _ _ _

C a p tu re ε ρ γ α λ εία

8 0 2 .IX P a ss w o rd G u e ssin g

Χ ρ η σ ιμ ο π ο ίη σ η μ ια ς σ υ λ λ η ψ θ είσ α ς τα υ τ ό τη τα ς ε π α ν ε ιλ η μ μ έ ν α π ρ ο σ π α θ ώ ν τα ς σ τ ο 802. IX ν α β ρ ο ύ μ ε τ ο κ ω δ ικ ό τ ο υ user.

P assw o rd D ictio n ary

8 0 2 .IX L E A P C rack in g

Α ν ά κ τ η σ η τω ν ευ α ίσ θ η τω ν σ τ ο ιχ ε ίω ν του χ ρ ή σ τη (u s e r c re d e n tia ls) από σ υ λ λ η φ θ έν τα 8 0 2 . IX L ig h tw e ig h t Ε Α Ρ π α κ έτ α (L E A P ), χ ρ η σ ιμ ο π ο ίη σ η εν ό ς ερ γ α λ είο υ επ ίθ εσ η ς

λ ε ξ ικ ώ ν γ ια ν α σ π ά σ ο υ μ ε το Ν Ι p assw o rd h ash .

A n w rap , A sleap , T H C -L E A P c ra c k e r

8 0 2 .1 X E A P D o w n g rad e

Π α ρ α β ία σ η εν ό ς 8 0 2 .1X serv er ο ύ τ ω ς «άστε ν α π ρ ο σ φ έρ ει έ ν α ν α σ θ ενή τ ύ π ο

π ισ το π ο ίη σ η ς τ α υ τ ό τ η τ α ς χ ρ η σ ιμ ο π ο ιώ ν τα ς π λ α σ τ ά π α κ έ τ α E A P -R csp o n se/N ak .

F ile2air, lib rad iate

4.4.5 Availability attacks (Πίνακας 4.5)

Αυτοί οι τύποι επιθέσεων (attacks) παρακωλύουν την παροχή ασύρματων υπηρεσιών (wireless services) που είναι απαραίτητες για τη νομιμοποίηση των χρηστών, είτε

απαγορεύοντας τους την πρόσβαση σε πόρους WLAN, είτε προκαλώντας σοβαρές ζημιές στους συγκεκριμένους πόρους.

Τ ύ π ο ι Ε π ίθ ε σ η ς ΙΙ ε ρ ιγ μ α φ ή Μ έ θ ιιά υ ι n u t ι ρ γ α λ ι ίιι Κ λο π ή (T h eft)

Α Ρ

'Ρ υ σ ικ ή α π ο μ ά κ ρ υ ν σ η ε ν ό ς Λ Ρ α π ό έν α δ η μ ό σ ιο δ ιά κ ε ν ο (p u b lic sp ace).

" l i v e Ιιιημα d is w u iil"

Π α ρ εμ β ο λ ή ( J a m m in g ) R F

Ε κ π έμ ιιο ν τα ς σ τ η ν ίδια σ υ χ ν ό τ η τ α όπηνς ο σ τ ό χ ο ς W L A N , δ ιιιβ κ ιυ ν τ ιις ίσ ω ς δ ύ ν α μ η π ο υ υ π ε ρ β α ίν ε ι τη ν π ρ ο β λ ε π ό μ ε ν η ιπ ο τ ο χ ικ ά

ιο ό τιμ η (E IR P ).

R F Jam m er, φ ο ύ ρ ν ο ς μ ικ ρ ο κ υ μ ά τ ω ν (M ie m w n w o v en ), Λ Ρ μ ε A lch em y /H y p c rW R T firm w are

Q u e e n sla n d D o S

Ε κ μ ε τ α λ λ ε υ τε ίτε τ ο μ η χ α ν ισ μ ό C S M A /C A C le a r C h an n el A sse ss m e n t (C C A ) γ ια ν α κ ά ν ε τε έ ν α κ α ν ά λ ι ν α ε μ φ α ν ίζ ε τ α ι α π α σ χ ο λ η μ έν ο .

Έ ν α ς α τ ά π τ ο ρ α ς (a d a p te r) ο ο π ο ίο ς υ π ο σ τ η ρ ίζε ι CWr Τ Χ m o d e , μ ε ένα β ο η θ η τικ ό π ρ ό γ ρ α μ μ α χαμ ηλοί) ε π ιπ έ δ ο υ γ ια ν α π ρ ο κ α λ εί σ υ ν ε χ ή μ ετά δο σ η .

802.11 B eaco n F lo o d

Π α ρ α γ ω γ ή χ ιλ ιά δ ω ν π λ α σ τ ώ ν b e a c o n s 802.11 π ο υ έ χ ο υ ν ω ς σ τ ό χ ο ν α π α ρ ε μ π ο δ ίζο υ ν ή να δ υ σ κ ο λ ε ύ ο υ ν τη ν α να ζή τη σ η ε ν ό ς ν ό μ ιμ ο υ Λ Ρ α π ό το υ ς σ τ α θ μ ο ύ ς.

Π λ α σ τ ό (F a k e ) Α Ρ

802.11 A sso c ia te ) A u th e n tic a te F lo o d

Σ τ έ λ ν ο ν τ α ς π λ α σ τ ές π ισ τ ο π ο ιή σ ε ις τ α υ τ ό τ η τ α ς ή σ υ ν δ έ σ ε ις α π ό τ υ χ α ίε ς M A C s γ ια ν α γ ε μ ίσ ο υ μ ε έν α π ίν α κ α σ υ σ χ έ τ ισ η ς ΑΡ.

A irja c k , F ile2 air, M acfld , v o id 11

802.11 T K IP M IC E x p lo it

Π α ρ α γ ω γ ή μη έ γ κ υ ρ ω ν δ ε δ ο μ έ ν ω ν T K JP π ο υ υ π ε ρ β α ίν ο υ ν το M IC e rro r th re sh o ld σ ε σ τ ό χ ο υ ς Α Ρ , α ν α σ τ ο λ ή υ π η ρ ε σ ιώ ν W L A N ,

F ile2 air, w n ct d in ject

802.11 D e au lh cn ticatc F lo o d

Σ τα θ μ ο ί F lo o d in g μ ε π λ α σ τ έ ς μη π ισ τ ο π ο ιή σ ε ις τ α υ τ ό τ η τ α ς ή μη σ υ ν δ έ σ ε ις π ο υ α π ο σ υ ν δ έ ο υ ν το υ ς χ ρ η σ τ έ ς α π ό έ ν α Λ Ρ.

A ilja c k . O m c rta . v o id 11

8 0 2 . IX EA P-

Υ πέρ τρ ο φ ο δ ο σ ία (F lo o d in g ) εν ό ς Λ Ρ μ ε μ η ν ύ μ α τα F.A P -S tart S ta rt Flood μ ε σ τ ό χ ο τη ν φ θ ο ρ ά τω ν π ό ρ ω ν

ή σ τ ο σ π ά σ ιμ ο το ύ σ τό χο υ .

Q A C a fe , F ile2 air, lib rad ialc

8 0 2 .1 X E A P - F ailu re

Π α ρ α τή ρ η σ η μ ια ς ν ό μ ιμ η ς α ν τ α λ λ α γ ή ς 802. IX Ε Α Ρ , και α π ο σ το λ ή π λ α σ τ ο ύ μ η ν ύ μ α το ς F .A P -F ailure σ τ ο σ τα θ μ ό .

Q A C a fc , F ile 2 a u , libradiatc

802 IX E A P -o f- D calh

Α π ο σ το λ ή μ ια ς m alfo rm ed α π ά ν τη σ η α π ό τ α υ τ ό τη τα 8 0 2 .1 X Ε Α Ρ γ ν ω σ τ ή γ ια τη ν π ρ ό κ λ η σ η κ ά π ο ια ς μ ο ρ φ ή ς δ υ σ λ ε ιτο υ ρ γ ία ς σ ε ορισμένιτ A Ps.

Q A C a fe , F ile2 air, libradiatc

8 0 2 .I X E A P L e n g th A ttack s

Α π ο σ το λ ή μ η ν υ μ ά τω ν Ε Α Ρ ty p e -sp e c ific με ε λ α ττω μ α τικ ά π ε δ ία μ ή κ ο υ ς γ ια ν α β ο η θ ή σ ο υ ν σ τ η ν α π ό π ε μ ιυ σ π α σ ίμ α το ς εν ό ς Λ Ρ ή ε ν ό ς R A D IU S s e rv e r

Q A C a fe , F ilc2 air, lib rad iate

Σημείωση: πολλά από τα εργαλεία που προαναφέρθηκαν, μπορεί κανείς να τα βρει στο Auditor Security Collection. Πρόκειται για μια εργαλειοθήκη (toolkit) KNOPPIX-based που προορίζεται για χρήση κατά τη διάρκεια δοκιμών διείσδυσης και αξιολόγησης τρωτών σημείων.

Κεφάλαιο 5°

Προστασία ασύρματου δικτύου από εισβολείς του διαδικτύου

5.1 Εισαγωγή

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

Υπάρχουν πολλές λύσεις για firewall: είτε hardware επαγγελματικές έτοιμες λύσεις ή software λύσεις οι οποίες εξαρτώνται και από το λειτουργικό σύστημα που θα επιλέξουμε, δηλ. αν θα είναι Microsoft Windows ή *ΝΙΧ, τις οποίες μπορούμε και μόνοι μας να υλοποιήσουμε έχοντας στη διάθεση μας ένα υπολογιστή και τα κατάλληλα προγράμματα. Το κόστος ορίζεται ανάλογα με το είδος της λύσης που θα επιλέξουμε για το δίκτυο μας.

Στην περίπτωση μας, θα χρησιμοποιήσουμε τη δεύτερη επιλογή δηλ. θα υλοποιήσουμε ένα firewall με την χρήση κατάλληλου λογισμικού και υπολογιστή σε *ΝΙΧ λειτουργικό σύστημα. Και αυτό γιατί (α) το κόστος των προγραμμάτων (software) είναι ελάχιστο έως ανύπαρκτο και (β) για τη μεγάλη γκάμα προγραμμάτων που έχουμε στη διάθεση μας. Το μόνο κόστος σε αυτή την περίπτωση είναι ένας υπολογιστής με κάποια χαρακτηριστικά που θα αναφέρουμε πιο κάτω.

Τα υλικά που θα χρειαστούμε είναι:

HARDWARE:

Ένα υπολογιστή με επεξεργαστή 500 MHz ή περισσότερο και μητρική, 128MB η περισσότερο RAM, 10 GB ή περισσότερο σκληρό δίσκο, 2 κάρτες δικτύου και CD ROM.

SOFTWARE:

Εδώ μπορούμε να επιλέξουμε αρκετά προγράμματα για την δουλεία αυτή. Μια εύκολη και πολύ γρήγορη λύση είναι η χρήση έτοιμων και δωρεάν firewall που υπάρχουν στο ίντερνετ όπως π.χ. το smoothwall (http://www.smoothwall.org) ή το monowall http://mOnO.ch/wall/

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

Υπάρχουν και άλλες δωρεάν λύσεις, στις οποίες δε θα αναφερθούμε (μπορείτε να βρείτε αρκετές ψάχνοντας σε μία μηχανή αναζήτησης όπως το Google, το yahoo κτλ). Επίσης για δωρεάν προγράμματα *ΝΙΧ Base συστημάτων μπορείτε να ανατρέξετε στις παρακάτω ηλεκτρονικές διευθύνσεις: http://freshmeat.net και http://sourceforge.net/.

Για τον δικό μας σκοπό θα χρησιμοποιήσουμε σαν λειτουργικό σύστημα το FreeBSD και κάποια προγράμματα που είναι στα ports του FreeBSD. To FreeBSD είναι μια δωρεάν έκδοση UNIX που διακρίνεται για την σταθερότητα του και την ευκολία του στην εγκατάσταση προγραμμάτων χάρη στην δυνατότητα των ports που έχουνε ενσωματωθεί. Τα ports είναι μια λίστα προγραμμάτων τα οποία έχουνε δοκιμαστεί ότι δουλεύουνε πάνω στο συγκεκριμένο λειτουργικό σύστημα και με απλές εντολές χωρίς να χρειάζεται να ψάξεις στο ίντερνετ για να βρεις τα προγράμματα σου κατεβάζει το πρόγραμμα που θέλεις και στο εγκαθιστά.

5.2 Διαδικασία Εγκατάστασης του FreeBSD

Κάθε βήμα — εντολή, ακολουθείται από μια ή περισσότερες εικόνες (screenshots), για να γίνει πιο κατανοητή η διαδικασία.

Κατεβάζουμε την έκδοση του FreeBSD που θέλουμε από

ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/

και την καίμε σε CD με κάποιο πρόγραμμα αντιγραφής CD.

Για το συγκεκριμένο firewall έχουμε χρησιμοποιήσει την τελευταία σταθερή έκδοση της σειράς 4 και συγκεκριμένα την 4.11. Υπάρχει σειρά 5 και 6 αυτή την στιγμή που γράφεται αυτή η εργασία, για οποίον θέλει να πειραματιστεί με καινούργια πράγματα.

Αφού ετοιμάσουμε τα CD μας ξεκινάμε την εγκατάσταση μας από το CD.

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

Verifying DMI Pool D a ta ...

Boot from ATAPI CD-ROM : 1. FD 2.88MB System Type-(OO) Uncompressing ... done

BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is diskO

BIOS drive B; is diskl BIOS drive C: is disk2 BIOS drive C: is disk3

BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text-0x277391 data-0x3268c+0x332a8 |

I

Hit [Enter] to boot immediately, or any other key for command prompt.

Booting [kernel] in 9 seconds... _

Πατάμε ENTER ή περιμένουμε 9 δευτερόλεπτα για να προχωρήσει η εγκατάσταση από μόνη της.

Όταν προχωρήσει η εγκατάσταση εμφανίζεται η επόμενη οθόνη.

Kernel Configuration Menu

Skin Kernel configuration and continue with installation

y u i i a · ! Jn«i-Ki j'i.'w v < t.i.· ι > ί a . >41»

Start kernel configuration in CLI made

Here you liauc the chance to go into kernel configuration mode, nuking any changes which may be necessary to properly adjust the kernel to notch your hardware configuration.

If you are Installing FreeBSD Tor the first tine, select Uisual Node (press Down-Arrow then ENTER).

If you need to do nore specialized kernel configuration and are an experienced FreeBSD user, select CLI node.

If you are 'HJilllf that you do not need to configure your kernel then sinply press EHTF.R or Q nou.

Επιλέγουμε το "Skip kernel configuration and continue with installation" και πατάμε ENTER.

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

Πρώτα απ' όλα επιλέξτε τη χώρα που σας ενδιαφέρει και μετά πατήστε enter.

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

Δημιουργία διαίρεσης δίσκου (Partition creation) με τη βοήθεια του fdisk (αυτά είναι επίσης γνωστά ως 'slices') - πατήστε ΟΚ για να συνεχίσετε. Ως αρχικό στάδιο θα πρέπει να επιλέξουμε τον (ή τους) drive(s) που θα χρησιμοποιήσουμε για την εγκατάσταση μας. Για το σκοπό μου αυτό θα χρειαστούμε μόνο ένα δίσκο. Χρησιμοποιήστε τα πλήκτρα μετακίνησης ανόδου (up) και καθόδου (down) για να επιλέξετε τη δική σας μονάδα δίσκου εκκίνησης (boot drive), έπειτα πατήστε το πλήκτρο διαστήματος (space bar) για να προχωρήσετε στον Partition Editor screen. Πάντοτε πατούμε Ά για την χρήση ολόκληρου του δίσκου, κατόπιν 'S' για την εναλλαγή του δείκτη εκκίνησης (boot flag), τέλος 'Q' για παύση. Για ταχείες εναλλαγές απλά πατήστε 'ASQ'. Πατώντας 'Q' θα μεταφερθείτε πίσω στο bootmanager screen. Επιλέξτε 'BootMgr', για να επιστρέψετε στην οθόνη επιλογής δίσκου (disk selection screen). Εάν διαθέτετε και δεύτερο δίσκο για εναρμόνιση διαιρέσεων δίσκου (configure partitions), σπρώξετε το πλήκτρο βέλους προς τα κάτω και πατήστε space. Η διαφορά σε αυτόν το δεύτερο δίσκο έγκειται στο γεγονός ότι δε χρειάζεται να πατήσετε το 'S', καθώς δεν είναι αναγκαία η εναλλαγή του δείκτη εκκίνησης (boot flag) σε αυτόν το δίσκο. Για το δεύτερο δίσκο απλά πατήστε διαδοχικά το 'AQ'

ID i sk naMe:

IniSK GeoMetry: 2088 cyls/255 heads/63 sectors = 33S43720 sectors (16378MB)

Offset Slze(ST) End NaMe PType Desc Subtype Flags

0 33554432 33554431 -

DISK Partition Editor

12 unused 0

[The following c o m a n d s are supported (In upper or lower case):

I

f) = Use Entire Disk G - set Drive GeoMotry U = Delete Slice 2 = Toggle Size Units T = Cliange Type U = Undo fill Changes

C = Create Slice S = Set Bootable Q = Finish

Jse FI or ? to get More help, arrow keys to select.

F = 'DD’ Mode

! = Wizard m.

Gance 1

78MB)

daHsl isk naMu

ISK GeoMetry: 20B8 cyls/255 heads/63 sectors = 33543720 s e c t o r s " 162

ffset Size(ST) End

0 63 62

63 33543657 33543719 33543720 10712 33554431

NaMe PType Desc Subtypo Flags unused

f reebsd unused

rhe following cnMMands are supported (in upper or luwor case):

~ nS? Dlsk G = set Dri<Je GeoMetry C = Create Slice F = ’D D ’ Mode J - Delete Slice Z = Toggle Size Units S = Set Bootable 1 = Wizard m

Γ - Change Type U = Undo 011 Changes Q a Finish

Jse FI or ? to get More help, arrow keys to select.

FreeBSD c o m b s with a boot selector that allows you to easily

S* 1®ct l,“ |Me0n FreeBSD and any other operating systeMS on your Machine at hoot t im b. If you have More than one drive and want to boot

froM the second one, the boot selector will also Make it passible to do so (liMitations in the PC BIOS usually prevent this otherwise) If you do not want a boot selector, or wish to replace an existinq one, select standard If you would prefer your Master Boot Jlecord to reMain untouched then select "None” .

40TE: PC-DOS users will alMnst certainly require "None"!

B n o t M q r M l n s t a l 1 the FreeBSD Boot Mana____ ττ^ π

Install a standard MBH (no hoot Manager) Leave the Master Boot Decord untouched

Τώρα θα πρέπει να δημιουργήσουμε partitions μέσα στα slices. Τα πλήκτρα μετακίνησης up/down θα σας βοηθήσουν να επιλέξετε τους διαφόρους δίσκους, εάν διαθέτετε περισσοτέρους από ένα. Πάντοτε να χρησιμοποιείτε τις προκαθορισμένες διαστάσεις (default size) τις οποίες επιλεγεί ο installer. Για τον δίσκο adO, απλά πατήστε Ά' για Auto Defaults.

"reeBSD Disk label Editor|

Disk: da0 Partition n«ne: daBsl Free: 33543657 blocks C1637BMB)

Part Mount Size Newfs Part Mount Size Newfs

The following cnMimnds are oalid here (upper or lower case):

C = Create D = Delete M = Mount pt.

H = Newfs Opts Q = Finish S = Toggle SoftUpdates Z = CustoM Newfs Γ = Toggle Newfs U = Undo fl = ftuto Defaults R = Delete*Murge Jse Fl or ? to get nore help, arrow keys to select.

! _ ______________________________________________________________

■Fre e B S D Disklahnl E d i t o r ·

Disk: daB Partition u s m b: daBsl Free: 0 blocks (BMB)

Part Mount Size Newfs Part Mount Size Newfs

daftsla / 512MB UFS Ϋ

daBslb swap 998MB SUAP

dads Id /var 1523MB UFS»S Ϋ

ilaBsle /tMp 512MB UFS»S Y

flaBslf 2usr 12032MB IJFS*S Y

The following c o M M a n d s are valid here (upper or lower case):

C = Create D = Delete M = Haunt pi.

M = Hewfs Upts 0 = Finish S = Toggle SoftUpdates 2 = CustoM Newfs

Γ = Toggle Newfs U = Undo A = Auto Defaults H = Delete*Merge j

r

F1 °r 7 - -

arrow keys to select.

Εν συνεχεία επιλέγουμε τον τρόπο διανομής. Πάντοτε χρησιμοποιούμε το Kern-Developer install. To Kern-Developer install χρειάζεται ελάχιστο συνολικό χρόνο και διασφαλίζει την εγκατάσταση των πιο αναγκαίων δεδομένων καθώς και του source του πυρήνα που θα το χρειαστούμε στη συνέχεια. Για οτιδήποτε άλλο χρειαστείτε θα το βρείτε από τη συλλογή θυρών (ports collection). Οδηγηθείτε με τα πλήκτρα μετακίνησης στην επιλογή Kern- Developer και πατήστε enter. Πατήστε enter ξανά για να επιβεβαιώσετε την προκαθορισμένη επιλογή και να την φορτώσετε από το CDROM, και ακόμα μια φορά για να το επαληθεύσετε (YES') και να συνεχίσετε. Ο installer θα αρχίσει να προσθέτει τα συστήματα αρχείων και να αντιγράφει τη βάση εγκατάστασης (base installation). Όταν ολοκληρωθεί η διαδικασία θα εμφανιστεί μια congratulations screen. Κάντε κλικ πάνω στο ΟΚ για να συνεχίσετε

'canned" distribution sets

If you would prefer to and choose the

Choose an iteM by pressing [SPACE] or IENTEH1. When finished, choose the

C a n c e 1 As a convenience, wo provide several

These select what we consider to be the Most reasonable defaults for the type of systeM in question.

list of distributions yourself, siwply select "CustoM". You can also pick a canned distribution set and then fine-tune it with the CustoM iteM

Exit iteM or m o v b to the OK button with ITAB 1.

Fill sources, binaries and doc but no gaMes SaMu as above X Uindow SysteM

Full binaries and doc, kernel sources SaMe as abuve X Uindow SysteM Overage user - binaries and doc only SaMe as above Uindow SysteM

he SMdllest configuration possible M i in μ λ 1

Specify your own distribution set

Η σύνθεση Ethernet είναι αρκετά απλή, και μπορείτε να την αρχίσετε κάνοντας κλικ στο εικονίδιο ΝΑΙ (yes) ή ΟΧΙ (no). Εάν κάνετε κλικ στο yes, θα προχωρήσετε στην επιλογή διασυνδετικής διάταξης (interface selection). Η κάρτα Ethernet σας συνήθως καταγράφεται στο πάνω μέρος. Στο παράδειγμα που παραθέτω, η κάρτα Ethernet είναι γνωστή με την ονομασία IncO. Πατήστε ΟΚ για να συνεχίσετε. Έπειτα θα ερωτηθείτε εάν επιθυμείτε να χρησιμοποιήσετε το DHCP ή όχι. Εάν η επιλογή σας είναι θετική (yes), η σύνθεση Ethernet θα περατωθεί και θα προχωρήσετε στο επόμενο κεφάλαιο, εάν πάλι η επιλογή σας είναι αρνητική, θα εμφανιστεί στην οθόνη σας το Network Configuration dialog. Εισάγετε την ονομασία του υπολογιστή σας, το όνομα περιοχής, το router, το dns server, και την ip address/netmask, και μεταφερθείτε με τη βοήθεια του πλήκτρου tab στο κάτω μέρος όπου αναγράφεται η ένδειξη ok. Μόλις πατήσετε το κουμπί enter, θα ερωτηθείτε εάν επιθυμείτε να φέρετε το interface τώρα σε κατακόρυφη θέση. Πάντα να κάνετε κλικ στην επιλογή ΝΑΙ (yes).

If yuu are using PPP over a serial device, as oppusud to a direct ethernet connection, then you May first need to dial your Internet

the ppp utility we provide for that purpose.

Service Provider using

If y o u ’re using SLIP over a serial device then the expectation is that you have a HARDWIRED connection.

lapli nk' You can also install over a parallel port using a special

cable to another Machine running FreeBSD.

ancc/PCnet (Isolan^Hovel1 NE21BB/NE32-UU ethernet (FLIP) peer connection

Parallel Port

SLIP interface on device /dev/cundfl CCOMl) PPP interface on device /dov/cuad0 CCOMl) SLIP interface on device /dev/cuadl (COM2) PPP interface on device /dev/cuadl (CUM?)

Cttiice 1

n9 PPP interface on device xri evTcnatlf

Έπειτα ακολουθεί μια σειρά με ερωτήσεις του στυλ ΝΑΙ/ΟΧΙ (yes/no), που μπορεί αρχικά να προκαλέσουν κάποιου είδους σύγχυση. Δεδομένου ότι κάθε εικόνα θα πραγματεύεται και ένα διαφορετικό θέμα, είναι επιβεβλημένο να απαριθμήσουμε τα ερωτήματα:

1) Θέλετε το μηχάνημα να λειτουργεί ως μια πύλη δικτύου (network gateway); ΟΧΙ.

2) Θέλετε να ρυθμίσετε το inetd και τις υπηρεσίες δικτύου (network services); ΟΧΙ

3) Θα θέλατε σύνδεση με ssh; ΝΑΙ (δεν πρόκειται για default... αλλάξετε το σε ΝΑΙ!)

4) Θέλετε ένα άγνωστο FTP σε αυτή τη μηχανή; ΟΧΙ.

5) Θέλετε να ρυθμίσετε αυτή τη μηχανή ως NFS server; ΟΧΙ.

6) Θέλετε να ρυθμίσετε αυτή τη μηχανή ως NFS client; ΟΧΙ.

7) Θα θέλατε τώρα να ρυθμίσετε τη Ζώνη ώρας της μηχανής; ΝΑΙ.

8) Μήπως τα CMOS αυτής της μηχανής ρυθμίζετε σε UTC; ΟΧΙ.

Η επιλογή της Ζώνης ώρας πρέπει να είναι ακριβής και απλή. Διαλέξτε την περιοχή σας και πατήστε enter. Έπειτα επιλέξτε τη χώρα σας και πατήστε enter ξανά. Τέλος, διαλέξτε τη ζώνη σας και πατήστε και πάλι enter .

Select a region

Cancel MDrica — North and South Hntdrctled

Arctic Ocean Asia

Atlantic Ocean Australia Europe

Indian Ocean Pacific Ocean

Central Tinn Central Tine Central Tine ■ Central Tine Central Tine Mountain Tine

which observes the saMe tine as pour locality.

Select zone Eastern Tine

- Must locations Michigan

Eastern TiMe -

- Louisville area Kentucky

Eastern Tine -

Uayne County Kentucky

Eastern TiMe

Most locations Indiana -

Eastern TiMe -

Crawford County Indiana

Eastern Tine

Starke County Indiana

Eastern Ti m r

Switzerland County Indiana -

Eastern TiMe - entral TiMe

D a v i e s s , Dubois, Knox, Martin. Perry S Pula Indiana

Indiana - Pike County

Michigan D i c k i n s o n , Gogebic, Iron X MennMinBB Count Oliver County

North Dakota

North Dakota - Morton County (except Mandan area) south Idaho X east Oregon

Mountain Ti m c

Cance1

Select a zone which observes the sane tine as your locality Eastern Tine

Eastern Tine - Michigan - Most locations Louisville area Eastern TiHe - Kentucky

Kentucky - Uayne County Eastern TiHe

Most locations Eastern TiMe - Indiana

Crawford County Eastern TiMe - Indiana

Does the abbreviation 'CST’ look reasonable?

® '3 M ]

Oliver County Central TiMe - North Dakota

Central TiMe - North Dakota - Morton County (except Mandan area) Mountain TiMe

east Urogon south Idaho

Mountain TiMe

Cance1

Μερικές ακόμη ερωτήσεις τύπου ΝΑΙ/ΟΧΙ:

9) Πρέπει να ενεργοποιηθεί η υποστήριξη του δυαδικού λειτουργικού συστήματος Linux;

ΟΧΙ (εάν η διάταξη συστήματος του υπολογιστή σας επιβάλλει να γίνει αυτό αργότερα, αυτό θα προστεθεί αυτομάτως, οπότε μπορείτε να το παραλείψετε για την ώρα).

10) PS2, Serial or bus mouse; Εάν διαθέτετε ποντίκι (mouse) USB, πατήστε στην επιλογή όχι, εάν όμως έχετε ένα από τα τρία αντικείμενα που αναφέρονται πιο πάνω τότε κάντε κλικ στην επιλογή ΝΑΙ. Εάν η επιλογή σας είναι θετική, η οθόνη που ακολουθεί θα σας επιτρέψει να δοκιμάσετε τις ρυθμίσεις, αλλά ακόμα και όταν εγκαθιστάτε ένα PS2 mouse system, μπορεί αυτό να παραβλεφθεί. Κάντε κλικ για να το δοκιμάσετε εάν θέλετε.

Αυτό που ακολουθεί είναι σημαντικό. Τα packages system είναι εφαρμογές οι οποίες είναι προμεταγλωτισμένες και έτοιμες να εκτελεστούν πάνω σε FreeBSD. Μερικές φορές όμως, μπορεί να είναι απαρχαιωμένες, και ακόμη χειρότερα, μπορεί να δέχονται μόνο παλαιότερες εκδόσεις πραγμάτων, όπως είναι το apache. Θα σας συνιστούσα να μην τα προτιμάτε αυτά, και αργότερα, όταν θα μιλήσουμε για τη ρύθμιση παραμέτρων Desktop or Server, θα εξηγήσω τους λόγους.

Συνεπώς στην ερώτηση εάν επιθυμείτε να:

11) Αναζητήσετε (browse) τη συλλογή πακέτων (packages collection); ΟΧΙ.

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

Ως εκ τούτου:

12) Θα θέλατε να προσθέσετε λογαριασμούς χρήστη (user accounts); ΟΧΙ.

Αφού πατήσετε enter για την εντολή "no to users", εμφανίζεται μια οθόνη με οδηγίες για ρύθμιση του κωδικού πρόσβασης του συστήματος διαχειριστή (system managers password).

Αυτό αφορά τον βασικό λογαριασμό (root account). Πατήστε enter για να ρυθμίσετε τώρα τον κωδικό πρόσβασης.

Αφού ρυθμίσετε το root password, εμφανίζεται στην επόμενη οθόνη η ακόλουθη ερώτηση:

"Visit the general configuration menu for a chance to set any last options?"

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

5.3 Ρυθμίσεις στο FreeBSD για να δουλεύει σαν Firewall

To FreeBSD firewall και το natd daemon φορτώνονται με την προσθήκη της ακόλουθης γραμμής εντολής στο /etc/rc.conf:

firewall_enable="YES"

firewall_quiet="NO"

firewall_type="/etc/firewall.conf firewall_flags="-p /usr/bin/cpp"

gateway_enable="YES"

natd_enable="YES"

natd_interface="xl 1"

natd_flags=""

Η ρύθμιση των παραμέτρων αποτελείται από τρία αρχεία, τα οποία μπορείτε να κατεβάσετε και να τα χρησιμοποιήσετε. Το βασικό αρχείο firewall.conf χρησιμοποιεί τις καθορισμένες μεταβλητές σε εγκατάσταση τοίχους προστασίας (firewall.setup) (επιβάλλεται να τροποποιηθεί), για να επιτραπεί σε παρόμοιο αρχείο διευθέτησης να χρησιμοποιηθεί σε πολλαπλές θέσεις. Έπειτα, καλεί το user firewall config (καθίσταται και πάλι αναγκαίο να τροποποιηθεί, εάν επιθυμείτε να αλλάξετε τον αριθμό των χρηστών) το οποίο με τη σειρά του καλεί ipfw κανόνες που εμπερικλείει. Αυτά τα αρχεία κόμβων (tree files) πρέπει να αντιγραφούν στο /etc/ directory σας. Τέλος, ένας καινούργιος πυρήνας (kernel) δημιουργείται. Αυτό προσδίδει μερικά προαιρετικά χαρακτηριστικά (όπως παραδείγματος χάριν το diagnostic login) τα οποία δεν είναι διαθέσιμα εκ προεπιλογής. Επιπλέον, συνθέτει σταδιακά επιμέρους δομικά στοιχεία μέσα στον πυρήνα, * ο οποίος προσφέρει μια αρκετά καλύτερη απόκριση. Αυτό βέβαια επιτυγχάνεται αρχικά με την προσθήκη των ακόλουθων γραμμών μετάδοσης στο αρχείο /usr/src/sys/i386/conf/GENERIC.

options IPFIREWALL

options IPFIREWALLDEFAULTTOACCEPT

options IPFIREWALLFORWARD options IPFIREWALL VERBOSE

options IPFIREWALL_VERBOSE_LIMIT =100 options DUMMYNET

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

cd /usr/src

make buildkernel KERNCONF=GENERIC make installkernel KERNCONF=GENERIC reboot

5.3.1 Φόρτωση των κανόνων τοίχους προστασίας (firewall) FreeBSD.

Το πρώτο βήμα αφορά την φόρτωση των κανόνων του τοίχους προστασίας FreeBSD. To FreeBSD φορτώνει τους κανόνες τοίχους προστασίας (firewall) ipfw κατά τη διάρκεια διαδικασίας εκκίνησης. Απαιτεί όμως κάποιες πληροφορίες για να προβεί στη διαδικασία φορτώσεις των κανόνων του τοίχους προστασίας ipfw. Αυτές τις πληροφορίες μπορεί να τις αναζητήσει στο /etc/rc.conf. Ανοίξετε το και προσθέστε τις γραμμές μετάδοσης που ακολουθούν.

flrewan_enable-'YES”

firewall_quiet="NO"

firewall_type=7etc/firewan.conf' firewall_flags="-p /usr/bin/cpp"

Η εγκατάσταση του τοίχους προστασίας FreeBSD ολοκληρώνεται κατά τη διάρκεια της επόμενης διαδικασίας εκκίνησης μέσω της φόρτωση των κανόνων του τοίχους προστασίας ipfw με τους παρεχόμενους ενδείκτες. Αυτοί οι συγκεκριμένοι ενδείκτες (flags) μας πληροφορούν ότι τα αρχεία επιβάλλεται να τεθούν σε μια διαδικασία προεπεξεργασίας με τη βοήθεια του προεπεξεργαστή (pre-processor) C. Ο προεπεξεργαστής C, παρόλο που αναφέρεται σε γλώσσα υπολογιστή, θα δώσει τη δυνατότητα στο χρήστη να διαλέγει εύκολα διαμορφωμένους κανόνες τοίχους προστασίας FreeBSD.

gateway_enable="YES"

natd_enable="YES"

natd_interface="ed 1"

natd_flags=,m

Οι παραπάνω γραμμές μετάδοσης πρέπει επίσης να προστεθούν, εάν το FreeBSD firewall protection χρησιμοποιείται σαν πύλη δικτύων (gateway). Εάν αυτές οι γραμμές μετάδοσης απουσιάζουν, δε θα είστε σε θέση να συνδεθείτε με το διαδίκτυο

(internet), καθώς είναι απαραίτητες για τη σύνθεση και ρύθμιση της πύλης δικτύων σας μέσα σε ένα δρομολογητή (router) μετάφρασης διεύθυνσης δικτύου (NAT). Από αυτές τις γραμμές μετάδοσης, η πρώτη μας πληροφορεί για τη δυνατότητα των πακέτων να βρίσκουν πέρασμα ανάμεσα σε πολλαπλά περιβάλλοντα εργασίας. Οι ακόλουθες τρεις επιφέρουν τη φόρτωση και ρύθμιση του NAT daemon πάνω στον εξωτερικό ελεγκτή προσαρμογής δικτύου (NIC).

Τα C directives συνιστούν ένα σύνολο οδηγιών προγραμματισμού ηλεκτρονικού υπολογιστή που ελέγχει το αρχείο (ή τα αρχεία) προτού περάσει στο IPFW. Τα αρχεία ρυθμίσεων του τοίχους προστασίας FreeBSD χρησιμοποιεί τις εξής πέντε οδηγίες: (a)include, (β) define, (γ) ifdef, (δ) else and (ε) endif . Η οδηγία include αντιγράφει το πλαίσιο εφαρμογής του αρχείου στη θέση της οδηγίας. Το θεματικό πλαίσιο εμφανίζεται στο αρχείο που αναφέρεται (στην περίπτωση μας fire wall, conf) στην άποψη του επισκέπτη. Η επόμενη οδηγία καθορίζει μια σταθερά, η οποία αντικαθίσταται από την τιμή της, οπουδήποτε χρησιμοποιείται. Εξαίρεση βέβαια αποτελεί η χρήση τους σε οδηγίες όπως παραδείγματος χάριν το ifdef . Η κύρια λειτουργία αυτής της οδηγίας αφορά τον έλεγχο του καθορισμού ή όχι της σταθεράς. Το κείμενο μεταξύ του ifdef και του else προστίθεται στην έξοδο δεδομένων εάν καθοριστεί η σταθερά όπως επίσης και το κείμενο μεταξύ του else και του endif.

5.3.2 Ρυθμίζοντας τους κανόνες του τοίχους προστασίας FreeBSD.

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

Μερικοί κανόνες ipfw firewall φορτώνονται με την επίσκεψη των χρηστών του τοίχους προστασίας (firewall.user). Μολαταύτα επεξήγηση του τρόπου λειτουργίας των δυο συγκεκριμένων αρχείων εντολών δεν αποτελεί αρμοδιότητα του. Επιπλέον χρησιμοποιεί εγκατάσταση firewall για να μπορεί να ρυθμίζει με μεγαλύτερη ευκολία το τοίχος προστασίας. Έτσι, όταν δεν παρατηρείτε κανένα άλλο πρόβλημα στους προεπιλεγμένους κανόνες του FreeBSD firewall, επιβάλλεται απλά να ρυθμιστούν οι κανόνες του αυτοί. Αυτά τα δενδροειδή αρχεία πρέπει να διαβιβαστούν σε /etc/. Αυτό επιτυγχάνεται με τις εξής εντολές:

cd /etc/

fetch http://pericles.ee.duth.gr/files/FreeBSD/firewall.conf fetch http://

pericles.ee.duth.gr/files/FreeBSD/firewall.users config fetch http://

pericles.ee.duth.gr /files/FreeBSD/firewall.user fetch http://pericles.ee.duth.gr /files/FreeBSD/firewall.setup

Εντούτοις αυτά τα αρχεία διευθέτησης FreeBSD firewall δεν είναι ιδιαίτερα χρήσιμα εκτός και αν γεμίσουν με πληροφορίες δικτύου, οι οποίες πρέπει να καταχωρηθούν στην εγκατάσταση του τοίχους προστασίας (firewall.setup) με τη βοήθεια του προγράμματος επεξεργασίας κείμενου που χρησιμοποιείτε (editor). Οι απαραίτητες αυτές πληροφορίες μας ενημερώνουν για τις τοπικές υπηρεσίες που διαθέτουν ή προσφέρουν οι υπολογιστές όπως επίσης και πόσο υψηλού βαθμού είναι τα διαθέσιμα bandwidth. Η διεύθυνση IP στο αρχείο διευθέτησης φέρουν τον ακόλουθο μορφότυπο: IP address/netmask. Όπου netmask = 1 bits.

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

5.3.3 Ταξινόμηση των στοιχείων του τοίχους προστασίας μέσα σε πυρήνα

Το τελικό βήμα αφορά την κατασκευή ενός εξειδικευμένου πυρήνα. Αυτή η διαδικασία βέβαια είναι δυνατόν να παραβλεφθεί εάν δεν απαιτείται. Εάν αποφανθείτε να παραλείψετε αυτό το στάδιο πρέπει πρώτα να βεβαιωθείτε ότι δεν καθορίζεται κανένας TRAFFIC- SHAPER στην εγκατάσταση firewall. Προτού επεκταθούμε περισσότερο, θα πρέπει να

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

Το αρχικό στάδιο απαιτεί (α) το άνοιγμα του αρχείου διευθέτησης πυρήνα (η προεπιλογή για το i386 architect είναι /usr/src/sys/i386/conf/GENERIC) και (β) την προσθήκη των ακόλουθων γραμμών μετάδοσης σε αυτό. Απώτερος σκοπός μας είναι η λεπτομερής παρουσίαση τους, εκτός ίσως από το DUMMYNET, το οποίο αναφέρεται σε εντολές προγράμματος, απαραίτητες για τις λειτουργίες του traffic shaper.

options IPFIREWALL

options IPFIREWALLDEFAULTTOACCEPT options IPFIREWALLJORWARD

options IPFIREWALL VERBOSE

options IPFIREWALL_VERBOSE_LIMIT=l00 options DUMMYNET

Έχουμε προσθέσει την επιλογή IPFIREWALLDEFAULTTOACCEPT. Και αυτό επειδή μειώνει τον κίνδυνο να κλειδωθούμε έξω, καθώς πειραματιζόμαστε με το λογισμικό firewall.

Αυτό βέβαια δε σας απομακρύνει από την κονσόλα (console) και έτσι βοηθάει στην αύξηση της ασφάλειας του FreeBSD firewall. Όταν ολοκληρωθεί αυτή η διαδικασία, επιβάλλεται ο καινούργιος πυρήνας του συστήματος να γίνει compiled και να εγκατασταθεί. Ο κατάλογος εργασίας σας πρέπει να είναι /usr/src. Πρέπει επίσης να αναζητείτε τυχόν σφάλματα που πιθανώς θα προκύψουν κατά τη διάρκεια εκτέλεσης οποιασδήποτε εντολής. Αν παρουσιαστεί οποιοδήποτε πρόβλημα στην διαδικασία, τότε διακόψετε την διαδικασία και ελέγξτε τη ρύθμιση του πυρήνα, ούτως ώστε να διαπιστώσετε εάν έχετε μετατρέψει σε σχόλιο κάποια απαιτούμενη γραμμή κώδικα. Εάν δεν υπάρχουν οποιαδήποτε μηνύματα σφάλματος, τότε μπορείτε να επανεκκινήσετε τον υπολογιστή σας.

cd /usr/src

make buildkernel KERNCONF=GENERIC make installkernel KERNCONF=GENERIC reboot

Ο νέος πυρήνας μπορεί να υποβληθεί σε δοκιμή, με μια απλή εφαρμογή των εντολών που παρατίθενται πιο κάτω, πράγμα που μπορεί να προσφέρει είτε μια γραμμή προσαρμογής είτε στη χειρότερη περίπτωση καμιάς μορφής γραμμή μετάδοσης. Από την άλλη πλευρά, εάν η εγκατάσταση του πυρήνα σας δεν ολοκληρώθηκε με επιτυχία, τότε εμφανίζεται στην οθόνη σας ένα μήνυμα σφάλματος του τύπου: "ipfw: setsockopt (IPDUMM YNETCONFIGURE):

Protocol not available". Παρακαλώ προχωρήστε στην εκτέλεση των απαριθμημένων εντολών που ακολουθούν:

/sbin/ipfw add divert natd ip from any to any /sbin/ipfw add 1 count log ip from any to any

(Σημείωση: Αυτή η εντολή δε θα παρουσίαση σφάλμα. Αντί αυτού ελέγξτε το αρχείο /var/log/security που περιέχει τα αρχεία log του ipfw.)

/sbin/ipfw pipe 1 config bw lOOKbit/s

/sbin/ipfw queue 1 config queue 96KByte weight 100 pipe 1 mask-all

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

Ανακεφαλαιώνοντας λοιπόν, δώσαμε μια αδρομερή περιγραφή της εγκατάσταση του FreeBSD firewall, το οποίο πιθανώς να μην ανταποκρίνεται πλήρως στις προτιμήσεις σας.

Μολαταύτα ελπίζω να προσέφερα ικανοποιητικές πληροφορίες που θα σας βοηθήσουν να κατανοήσετε καλύτερα τις λειτουργίες του FreeBSD firewall.

5.3.4 Τελικές σημειώσεις

5.3.5Λίστα αρχείων που χρησιμοποιούμε

Τα αρχεία που παραθέτουμε ποιο κάτω ίσως χρειαστούν να τα τροποποιήσετε σύμφωνα με το δικό σας σύστημα ώστε να δουλέψουνε. Για περισσότερες πληροφορίες σχετικά με το Firewall του Freebsd θα βρείτε στην διεύθυνση

http://www.freebsd.org/doc/en US .IS08859-l/books/handbook/firewalls.html

5.3.5.1 Αρχείο firewall, conf

#include "/etc/firewall.setup"

Count traffic Count global traffic for stats

* ****** **********************************************,1,****.**.*******

*/

#ifdef GATEWAY

add 110 count ip from any to any via EXTERNAL NIC in add 120 count ip from any to any via e x t e r n a l"NIC out add 130 count ip from any to any via i n t e r n a l"_NIC out add 140 count ip from any to any via INTERNAL^~NIC in

#else /* GATEWAY */

add 110 count ip from any to any via INTERNAL J'TIC in add 120 count ip from any to any via INTERNAL "n iC out

#endif /* GATEWAY */

add 150 allow ip from any to any via loO out add 160 allow ip from any to any via loO in

/* * * * * * * * * * * * * * * * * * - k * * * * + + -k**-lc-k**** + * * * * * l,* lt1 r 1 r1 tll* 1 ,* 1 r * * * * * * * * * * * * ifk * *

*

Allow STATEFUL Check packages on the dynamic firewall rules.

If one maches then this usaly means the ip package is allowed though. In this case it also added to a user counter for stats.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Λ * * * * * * * * * » * * * * * * » « * *

*/

add 190 check-state /* 1000 early allow

* 2000 early deny / reject

* 3000 natd + traffic shaper

* 4000 selecting for skipto 50xxx

*/

/* ************************************ A*******************»***,*****

Allow local traffic All local traffic is allowed and doesn't need to go though the rest of the firewall rules.

* ******************************************************************

*/

#ifdef GATEWAY add 1000 skipto INTERNAL_NIC

1100 ip add 1000 skipto

INTERNAL NIC

1100 ip

add 1020 allow EXTERNAL_NIC

iP add 1030 allow.

1080

ip add 1030 allow 1080

ip

#endif /* GATEWAY */

add 1010 allow INTERNAL NIC

iP

from fiXTERNAL_NET to EXTERNAL_NET via

from EXTERNAL_IP to any via EXTERNAL_NIC uid from any to EXTERNAL IP via EXTERNAL_NIC uid

from INTERNAL_NET to INTERNAL_NET via

/* Allow local services and deny alternatives. */

via via via via tifdef GATEWAY

add 1310 skipto 59000 udp from EXTERNAL_IP to any domain EXTERNAL_NIC out

add 1310 skipto 59000 udp from any domain to EXTERNAL_IP EXTERNAL_NIC in

add 1310 skipto 59000 udp from any to LXTEKNAL_IP domain EXTERNALNIC in

add 1310 skipto 59000 udp from EXTERNAL_IP domain to any F.XTERNAL_NIC out

add 1310 reject udp from any to any domain EXTERNAL_NIC out

add 1320 skipto 59000 udp from EXTERNAL_IP ntp to any ntp via EXTERNAL_NIC out

add 1320 skipto 59000 udp from any ntp to EXTERNAL_IP ntp via EXTERNAL_NIC in

add 1320 reject udp from any to any ntp via EXTERNALNIC out

ttendif /* GATWAY */

via

add 1330 reject

♦ Λ**************************’*************

udp from any bootpc to any bootps

jit ******** *****************

*

Deny Spoofing Filther out packages with an private ip-adress excluding those of our own.

* ******************************************************************

*/

#ifdef GATEWAY

add 2000 skipto 2100 ip add 2000 skipto 2100 ip out

add 2000 skipto 2100 ip add 2000 skipto 2100 ip in

add 2000 skipto 2100 ip out

#else /* GATEWAY */

add 2000 skipto 2100 ip in

add 2000 skipto 2100 ip out

fendif

add 2010 deny ip add 2010 deny ip add 2010 deny ip add 2010 deny ip add 2010 deny ip add 2020 reject ip add 2020 reject ip add 2020 reject ip add 2020 reject ip add 2020 reject ip /* Portsentry */

from any to any via INTERNALNIC

from INTERNAL_NET to any via EXTERNAL_NIC from any to INTERNAL_NET via EXTERNAL_NIC from EXTERNAL NET to any via EXTERNALNIC from any to EXTERNA1_NET via EXTERNAL_NIC from INTERNAL NET to any via INTERNAL_NIC from any to INTERNAL_NET via INTERNAL_NIC from 10.0.0.0/8 to any in

from 127.0.0.0/8 to any in from 172.0.0.0/12 to any in from 192.0.2.0/24 to any in from 192.168.0.0/16 to any in from any to i o.o.o.0/8 out from a n y to 127.0.0 .0/8

from any to 172.0.0 .0/12 out

out from any to 192.0.2.0/24 out from any to 192.168.0.0/16 out

add 2100 skipto 2200 add 2100 skipto 2200

tfifdef GATEWAY

add 2100 skipto 2200

#endif /* GATEWAY * /

ip from any to any via INTERNAL NIC

ip from INTERNALNET to any via EXTERNAL_NIC ip from EXTERNALNET to any via EXTERNAL NIC /* ***************** ***********************************************ΛΑ

*

Blocklist Filther out packages with n ip-adress that exist on an blacklist formulated by a external blocklist program.

* ******************************************************************

*/

/* reserve 2200 for the whitelist */

add 2290 skipto 2500 ip from INTERNAL NET to INTERNAL NET via INTERNAL NIC

add 2291 skipto 2500 ip from 192.168.31.128/25 to any add 2292 skipto 2500 ip from any to 192.168.31.128/25 /* blocklist */

add 2300 skipto 2400 ip from any to any out add 2400 skipto 2500 ip from any to any in

/* Tempory Pay Block * /

#ifdef TEMP_BLOCK tifdef GATEWAY add 2900 reject log add 2900 deny log

#else /* GATEWAY */

add 2900 skipto 59000 state

add 2900 reject log add 2900 deny log

#endif f * GATEWAY */

♦endif /* TEMP BLOCK */

/* socks via skip */

ip from ip from ip from ip from ip from

from me to any via INTERNAL_NIC out keep-

/* Selecting traffic shaping and natd traffic */

lifdef GATEWAY

add 3000 skipto 3400 add 3000 skipto 3400 EXTERNALNIC

add 3000 skipto 3400

#endif /* GATEWAY */

ip from any to any via INTERNALNIC ip from EXTERNAL_NET to EXTERNAL NET via ip from PUBLIC_IP to any via EXTERNAL_NIC /* Traffic shaping up */

#ifdef TRAFFICSHAPER

pipe 1 config queue QUEUE_UP bw BANDWIDTH_UP

queue 1 config queue QUEUE_UP pipe 1 mask src-ip Oxffffffff weight 1 mask all

queue 2 config queue QUEUE_UP pipe 1 mask src-ip Oxffffffff weight 1 0 0

add 3100 skipto 3110 ip from any to any out via EXTERNAL_NIC add 3100 skipto 3200 ip from any to any

add 3110 skipto 3120 tcp from any to any tcpflags ack iplen 0-80 add 3110 skipto 3120 tcp from any to any tcpflags rst

add 3110 skipto 3120 tcp from any to any tcpflags urg

add 3110 skipto 3120 tcp from any to any 22,80,1080 iplen 0-1024 add 3110 skipto 3120 tcp from any 22,80,1080 to any iplen 0-1024 add 3110 queue 1 ip from any to any

add 3110 skipto 3190 ip from any to any add 3120 queue 2 ip from any to any add 3120 skipto 3190 ip from any to any

#endif /* TRAFFIC_SHAPER */

/ * Passing though natd */

#ifdef GATEWAY

add 3200 skipto 3210 add 3200 skipto 3210 add 3200 skipto 3290 add 3210 divert natd add 3220 skipto 3400

#endif /* GATEWAY */

ip from not E X T E R N A L ! P to any ip from any to not PUBLIC_IP ip from any to any

ip from any to any

ip from any to PUBLIC_IP /* Traffic shaping down (for natd traffic) */

#ifdef TRAFFIC_SHAPER

pipe 2 config queue QUEUE DOWN i>w BANDWIDTH_DOWN

queue 3 config queue QUEUE_DOWN pipe 2 mask dst-ip Oxffffffff weight 1 mask all

queue 4 config queue QUEUE_DOWN pipe 2 mask dst-ip Oxffffffff weight 1QQ

add 3300 skipto 3310 ip from any to any in via EXTERNAL_NIC add 3300 skipto 3390 ip from any to any

add 3310 skipto 3320 tcp from any to any tcpflags ack iplen 0-80 add 3310 skipto 3320 tcp from any to any tcpflags rst

add 3310 skipto 3320 tcp from any to any tcpflags urg

add 3310 skipto 3320 tcp from any to any 80,22,1080 iplen 0-1024 add 3310 skipto 3320 tcp from any 80,22,1080 to any iplen 0-1024 add 3310 queue 3 ip from any to any

add 3310 skipto 3390 ip from any to any add 3320 queue 4 ip from any to any add 3320 skipto 3390 ip from any to any

#endif /* TRAFFIC_SHAPER */

/* Allow traffic going though natd */

#ifdef GATEWAY

add 3390 allow ip from any to any iendif /* GATEWAY */

/* Traffic shaping down (for non natd traffic) * /

#ifdef TRAFFIC_SHAPER

add 3400 skipto 3410 ip from any to any in via EXTERNAL_NIC add 3400 skipto 3450 ip from any to any

add 3410 add 3410 add 3410 add 3410 add 3410 add 3410 add 3410 add 3420 add 3420

skipto 3420 tcp from any- to- any tcpflags ack iplen 0-80 skipto 3420 tcp from any to any tcpflags rst

skipto 3420 tcp from any to any tcpflags urg

skipto 3420 tcp from any to any 80,22,1080 iplen 0-1024 skipto 3420 tcp from any 80,22,1080 to any iplen 0-1024 queue 3 ip from any to any

skipto 3490 ip from any to any queue 4 ip from any to any skipto 3490 ip from any to any iendif /* TRAFFIC SHAPER * f

/* IP Rules */

♦ifdef GATEWAY

add 4000 skipto 4100 ip from any to any via E X T E R N A L N I C

#endif /* GATEWAY */

/* User Rules */

♦ifdef GATEWAY

add 4100 skipto 4200 ip from any to any via INTERNAL_NIC fendif /* GATEWAY */

/ * STATEFUL Firewall */

add 4600 deny tcp from any to any in tcpflags syn,fin

#ifdef GATEWAY

add 4610 skipto 1900 ip from any to any via INTERNAL_NIC ttendif /* GATEWAY */

Documentos relacionados