Πώς να στήσετε ένα firewall με το ufw στο Debian 8

set-up-firewall-with-ufw

Το iptables είναι το firewall που παρέχεται μαζί με το Debian Distribution .

Επειδή το iptables είναι δύσκολο στη χρήση , τα Debian μας παρέχουν με ένα άλλο εργαλείο , το UFW (uncomplicated firewall) , το οποίο είναι ένα περιβάλλον για την εύκολη ρύθμιση του iptables .

Για να προχωρήσουμε με όλες τις ρυθμίσεις στο UFW , πρέπει να έχουμε έναν non-root-sudo λογαριασμό χρήστη .

Το UFW περιλαμβάνεται πάντα με τα Debian Distributions , αν για κάποιο λόγο όμως το έχουμε κάνει uninstall , μπορούμε να το ξανακάνουμε install με τη εντολή : sudo apt -get install ufw .

 

Βήμα 1 Χρήση του IPv6 με το UFW (προαιρετικό)

Τα παρακάτω βήματα έχουν γραφτεί με βάση το πρωτόκωλλο IPV4 . Αν ο Debian Server μας έχει ενεργοποιημένο και το πρωτόκωλλο IPV6 πρέπει να τσεκάρουμε αν είναι ενεργοποιημένο και στο UFW .  Για να το ελέγξουμε θα ανοίξουμε το configuration file του UFW με έναν text editor :

Sudo vi etc/default/ufw

Ψάχνουμε την γραμμή IPV6 και την ρυθμίζουμε στο YES

….

IPV6=Yes

…..

Κάνουμε αποθήκευση . Τώρα το UFW έχει ρυθμιστεί και για τα 2 πρωτόκολλα .

 

Βήμα 2 Ρύθμιση των Default Policies

Τα Default Policies είναι οι αρχικόι κανόνες που πρέπει να δώσουμε στο firewall . Αυτοί είναι οι κανόνες που εφαρμόζονται όταν δεν υπάρχει κάποια συγκεκριμένη οδηγία για το πως να χειριστεί μια σύνδεση .

Γενικά θέλουμε να απαγορεύονται όλες οι εισερχόμενες συνδέσεις προς τον server (εκτός από αυτές που θα επιτρέψουμε αργότερα ) , και να επιτρέπονται όλες οι εξερχόμενες . Για αυτό θα χρησιμοποιήσουμε τις εντολές :

sudo ufw default deny incoming

sudo ufw default allow outgoing

 

Βήμα 3 Επιτρέποντας Συνδέσεις SSH

Στο προηγούμενο βήμα , απαγορέψαμε όλες τις εισερχόμενες συνδέσεις προς τον server μας . Τώρα θα φτιάξουμε έναν κανόνα να επιτρέπονται οι εισερχόμενες SSH συνδέσεις :

sudo ufw allow ssh

Δεν αρκεί όμως αυτό . Πρέπει να φτιάξουμε έναν κανόνα και για το port 22 , δηλαδή το default port που ακούει το SSH Daemon . Το port 22 είναι το default port , αν το έχουμε αλλάξει , προφανώς θα βάλουμε το νεο port στην εντολή :

sudo ufw allow 22

 

Βήμα 4 Ενεργοποίηση του UFW

Για να ενεργοποιήσουμε το UFW , χρησιμοποιούμε την εντολή :

sudo ufw enable

Θα εμφανιστεί μια προειδοποίηση ότι η ενεργοποίηση του UFW μπορεί να διακόψει τις ήδη υπάρχουσες SSH συνδέσεις . Εμείς όμως ρυθμίσαμε το firewall πριν και δεν θα έχουμε θέμα . Πατάμε Y για να συνεχίσουμε , και τώρα το UFW έχει ενεργοποιηθεί !

 

Βήμα 5 Επιτρέποντας άλλες συνδέσεις

Υπάρχουν αρκετοί τρόποι για να φτιάξουμε νέους κανόνες για το firewall . Ας δούμε αναλυτικά τους διάφορους τρόπους :

Με Port Ranges :

Μερικές εφαρμογές χρησιμοποιούν περισσότερα απο ένα port . Για παράδειγμα , οι συνδέσεις χ11 χρησιμοποιούν τα port 6000-6007. Οπότε αν φτιάχναμε έναν κανόνα θα έπρεπει να γράψουμε :

sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

Με συγκεκριμένες IP :

Αν θέλουμε να επιτρέπουμε συνδέσεις απο μια συγκεκριμένη IP γράφουμε :

sudo ufw allow from 15.15.15.51

Επίσης , μπορούμε να επιτρέπουμε σε μια IP να συνδέεται μόνο σε ένα συγκεκριμένο Port . Αυτό γίνεται με την παρκάτω εντολή :

udo ufw allow from 15.15.15.51

Με χρήση Subnet

Αν θέλουμε να επιτρέψουμε όλες τις IP που είναι στο ίδιο subnet τότε αυτό γίνεται έτσι :

sudo ufw allow from 15.15.15.0/24

‘Οπως και πριν μπορούμε να επιτρέψουμε τις παραπάνω συνδέσεις σε συγκεκριμένα ports :

sudo ufw allow from 15.15.15.0/24 to any port

Με συγκεκριμένα Interfaces :

Για να δούμε τα network interfaces γράφουμε :

ip addr

Output Excerpt:

...
2: eth0: mtu 1500 qdisc pfifo_fast state
...
3: eth1: mtu 1500 qdisc noop state DOWN group default
...

Τα πεδία στα κόκκινα προσδιορίζουν τα interfaces . Οπότε αν για παράδειγμα το δίκτυο μας έχει ένα public interface eth0 , μπορούμε να επιτρέπουμε HTTP traffic προς αυτό με :

sudo ufw allow in on eth0 to any port 80

 

Βήμα 6 Απαγόρευση Σύνδεσης

Ως τώρα έχουμε φτιάξει γενικόυς κανόνες . Ας δούμε ένα άλλο σενάριο: Υποθέτουμε ότι δεχόμαστε ‘επίθεση’ απο μια συγκεκριμένη IP , και θέλουμε να την μπλοκάρουμε από το firewall . Αυτό θα γίνει έτσι :

sudo ufw deny from 15.15.15.51

Τώρα μπλοκάραμε την απο πάνω IP . To deny μπορούμε να το χρησιμοποιούμε και για να μπλοκάρουμε συνδέσεις http ή ssh πχ :

sudo ufw deny http

Ή

sudo ufw deny ssh

 

Βήμα 7 Διαγραφή Κανόνων

H διαγραφή κάποιου κανόνα από το firewall , γίνεται με 2 τρόπους . Είτε από τον αριθμό του κανόνα , είτε απο τον ίδιο τον κανόνα .Ας δούμε τις 2 περιπτώσεις :

Διαγραφή απο τον αριθμό κανόνα :

Γράφουμε την παρακάτω εντολή για να δούμε όλους τους κανόνες αριθμημένους :

sudo ufw status numbered

Numbered Output:

Status: active

    To                         Action      From
    --                         ------      ----

[ 1] 22                         ALLOW IN    15.15.15.0/24

[ 2] 80                         ALLOW IN    Anywhere

Αν για παράδειγμα θέλουμε να διαγράψουμε τον δεύτερο κανόνα , απλά εκτελούμε την :

sudo ufw delete 2

Διαγραφή απο τον ίδιο τον κανόνα

Σε αυτή την περίπτωση πρέπει να προσδιορίσουμε ακριβώς τον κανόνα που θέλουμε να διαγράψουμε . Για παράδειγμα αν θέλουμε να διαγράψουμε τον κανόνα allo http :

sudo ufw delete allow http 

Ενώ αν θέλουμε να διαγράψουμε τον allow 80

sudo ufw delete allow 80

 

Βήμα 8 Ελέγχοντας την Κατάσταση του UFW

Οποιαδήποτε στιγμή θέλουμε , μπορούμε να δούμε την κατάσταση του UFW , με την εντολή :

sudo ufw status verbose 

Αν ακολουθήσαμε το βήμα 3 και ενεργοποίησαμε το UFW θα πάρουμε την έξοδο :

Output

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere

 

Βήμα 9 Απενεργοποίηση ή Επαναφόρτωση του UFW (προαιρετικό)

Αν για κάποιο λόγο θέλουμε να απενεργοποιήσουμε το UFW , το κάνουμε με την εντολή :

sudo ufw disable

Αν θέλουμε να φορτώσει απο την αρχή και να φτιάξουμε τους κανόνες απο το 0 τότε το κάνουμε reset με την εντολή :

sudo ufw reset 

Να σημειώσουμε ότι με την εντολή reset , χάνονται ΟΛΕΣ οι ρυθμίσεις που κάναμε στο UFW .

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ