Επιστροφή στο blog

Διαμόρφωση τείχους προστασίας με το UFW στο Ubuntu 18.04

Διαμόρφωση τείχους προστασίας με το UFW στο Ubuntu 18.04

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

UFW στο Ubuntu

Ο όρος UFW σημαίνει «Uncomplicated Firewall» (Απλό Τείχος Προστασίας). Είναι ένα προεπιλεγμένο πρόγραμμα τείχους προστασίας που έρχεται προεγκατεστημένο με το Ubuntu. Το UFW είναι στην πραγματικότητα μια διεπαφή για το iptables. Ο στόχος του UFW είναι να κάνει τη ρύθμιση και τη διαχείριση ενός τείχους προστασίας ευκολότερη. Αν και το iptables, από μόνο του, είναι μια σταθερή και ευέλικτη επιλογή, δεν είναι φιλικό προς τους αρχάριους. Το UFW το καθιστά ευκολότερο τόσο για αρχάριους όσο και για έμπειρους χρήστες.

Αρχικά, ρίξτε μια ματιά στον ολοκληρωμένο οδηγό μας που θα σας βοηθήσει να εξοικειωθείτε με τις βασικές λειτουργίες του UFW. Μπορείτε επίσης να ακολουθήσετε αυτόν τον οδηγό για να εγκαταστήσετε τον Ubuntu διακομιστή σας. Τώρα, ας ξεκινήσουμε!

Για αρχή, εάν για κάποιο λόγο το UFW δεν είναι εγκατεστημένο, εγκαταστήστε το αμέσως:

Ρύθμιση του UFW

  • Χρήση IPv6

Προς το παρόν, το IPv4 εξακολουθεί να είναι η κυρίαρχη δύναμη. Έχοντας αυτό κατά νου, το μεγαλύτερο μέρος αυτού του οδηγού παρουσιάζει επίσης το IPv4. Ευτυχώς, το UFW διαθέτει επίσης υποστήριξη για IPv6. Το μόνο που χρειάζεται να κάνετε είναι να ενεργοποιήσετε τη δυνατότητα από το αρχείο ρυθμίσεων του UFW.

Αρχικά, ανοίξτε το αρχείο ρυθμίσεων του UFW σε έναν επεξεργαστή κειμένου. Για να αποθηκεύσετε τις αλλαγές, ο επεξεργαστής κειμένου πρέπει να εκτελεστεί με δικαιώματα sudo:

Αναζητήστε το «IPV6» και βεβαιωθείτε ότι έχει οριστεί σε «yes».

  • Προεπιλεγμένη πολιτική

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

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

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

Επιτρέποντας τις συνδέσεις SSH

Με τον τρόπο που είναι ρυθμισμένο το UFW τώρα, θα απορρίπτει όλες τις εισερχόμενες συνδέσεις. Για έναν απομακρυσμένο διακομιστή, αυτό είναι απαγορευτικό. Χωρίς πρόσβαση στον διακομιστή, δεν μπορεί να γίνει τίποτα. Για να αποφευχθεί αυτό το πρόβλημα, το UFW μπορεί να ρυθμιστεί ώστε να επιτρέπει εισερχόμενες συνδέσεις SSH ή HTTP συνδέσεις.

Για να επιτρέψετε συνδέσεις SSH στον διακομιστή, εκτελέστε την ακόλουθη εντολή. Ουσιαστικά θα πει στο UFW να επιτρέπει όλες τις συνδέσεις στη θύρα 22. Είναι η θύρα στην οποία ακούει ο SSH daemon από προεπιλογή:

Αντί για αυτήν την εντολή, είναι δυνατό να ρυθμίσετε απευθείας την αποδοχή συνδέσεων στη θύρα 22. Αυτή η θύρα ορίζεται στο αρχείο /etc/services:

Επειδή η θύρα 22 είναι η προεπιλεγμένη για τον SSH daemon, μπορεί επίσης να είναι ευάλωτη σε επιθέσεις. Τι γίνεται αν ο διακομιστής SSH είναι ρυθμισμένος να ακούει σε διαφορετική θύρα; Σε μια τέτοια περίπτωση, το UFW πρέπει να επιτρέπει τη σύνδεση σε αυτήν τη θύρα. Υποθέτοντας ότι ο διακομιστής SSH ακούει στη θύρα 1234, τότε χρησιμοποιήστε την ακόλουθη εντολή:

Ενεργοποίηση του UFW

Αν και οι κανόνες του UFW έχουν οριστεί, δεν θα κάνουν τίποτα εκτός εάν ενεργοποιηθεί το UFW. Από προεπιλογή, το UFW είναι απενεργοποιημένο, πράγμα που σημαίνει ότι παρά τη δήλωση των κανόνων, δεν θα τους επιβάλει. Για να ενεργοποιήσετε το UFW, εκτελέστε την ακόλουθη εντολή:

Το UFW ενδέχεται να εμφανίσει ένα προειδοποιητικό μήνυμα σχετικά με τη διακοπή των υπαρχουσών συνδέσεων SSH. Επειδή οι συνδέσεις SSH ρυθμίστηκαν ώστε να επιτρέπονται, η ενεργοποίηση του UFW δεν θα προκαλέσει καμία διακοπή. Για να δείτε ποιοι κανόνες έχουν οριστεί, εκτελέστε την ακόλουθη εντολή:

Επιτρέποντας διάφορες συνδέσεις

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

Ακολουθούν μερικές άλλες θύρες που είναι πολύ συνηθισμένο να είναι ανοιχτές:

  • SSH (θύρα 22): Αυτή είναι η προεπιλεγμένη θύρα που έχει ρυθμιστεί για συνδέσεις SSH.
  • HTTP (θύρα 80): Αυτή είναι η προεπιλεγμένη θύρα που χρησιμοποιούν οι μη κρυπτογραφημένοι διακομιστές ιστού.
  • HTTPS (θύρα 443): Αυτή είναι η προεπιλεγμένη θύρα που χρησιμοποιούν οι κρυπτογραφημένοι διακομιστές ιστού.

Για να ενεργοποιήσετε τις συνδέσεις SSH, εκτελέστε μία από τις ακόλουθες εντολές:

Στη συνέχεια, για να ενεργοποιήσετε τις συνδέσεις HTTP, εκτελέστε μία από τις ακόλουθες εντολές:

Για να ενεργοποιήσετε τις συνδέσεις HTTPS, εκτελέστε μία από τις ακόλουθες εντολές:

Εύρος θυρών

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

Το ακόλουθο παράδειγμα ενεργοποιεί τις συνδέσεις X11 που χρησιμοποιούν τις θύρες 6000 έως 6007:

Συνιστάται να δηλώνετε πρωτόκολλα όποτε είναι δυνατόν. Ωστόσο, στις περισσότερες περιπτώσεις, δεν είναι απαραίτητο και τα πράγματα θα λειτουργούσαν μια χαρά.

Συγκεκριμένες διευθύνσεις IP

Όταν χρησιμοποιείτε το UFW, είναι επίσης δυνατή η φιλτράρισμα των συνδέσεων ανά συγκεκριμένες διευθύνσεις IP. Από προεπιλογή, το UFW θα αποκλείει συνδέσεις από οποιαδήποτε διεύθυνση IP. Είναι δυνατό να δηλώσετε ότι επιτρέπεται η σύνδεση από ορισμένες διευθύνσεις IP. Για να επιτρέψετε τη σύνδεση από μια διεύθυνση IP, χρησιμοποιήστε την ακόλουθη δομή εντολής:

Μπορείτε επίσης να δηλώσετε τις συγκεκριμένες θύρες στις οποίες επιτρέπεται να συνδεθεί η διεύθυνση IP. Για να το κάνετε αυτό, προσθέστε to any port ακολουθούμενο από τον αριθμό θύρας στην εντολή:

Υποδίκτυα

Εάν έχετε την ανάγκη να επιτρέψετε ένα υποδίκτυο διευθύνσεων IP, είναι δυνατό να το κάνετε χρησιμοποιώντας τη σημειογραφία CIDR. Σε αυτό το παράδειγμα, το UFW θα επιτρέψει τη σύνδεση από διευθύνσεις IP που κυμαίνονται από 203.0.113.1 έως 203.0.113.254:

Παρόμοια με το προηγούμενο βήμα, είναι επίσης δυνατό να καθορίσετε τη θύρα στην οποία μπορούν να συνδεθούν αυτές οι διευθύνσεις IP:

Σύνδεση σε μια συγκεκριμένη διεπαφή δικτύου

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

 firewall with UFW on Ubuntu 18.04. 4

Στη δική μας περίπτωση, υπάρχει μόνο μία διεπαφή δικτύου ens3 που συνδέεται στο δημόσιο διαδίκτυο. Για να επιτρέψετε εισερχόμενες συνδέσεις από αυτήν τη διεπαφή δικτύου, χρησιμοποιήστε την ακόλουθη δομή εντολής:

Είναι επίσης δυνατό να ορίσετε τη θύρα στην οποία μπορεί να φτάσει η κίνηση που προέρχεται από τη διεπαφή δικτύου:

Απόρριψη σύνδεσης

Σύμφωνα με την προεπιλεγμένη διαμόρφωση, το UFW θα απορρίπτει τη σύνδεση από οποιαδήποτε πηγή (εκτός από τις δηλωμένες εξαιρέσεις). Αυτός είναι ο συνιστώμενος τρόπος χρήσης του UFW. Ωστόσο, ενδέχεται να απαιτείται ο αποκλεισμός συγκεκριμένων συνδέσεων από μια συγκεκριμένη διεύθυνση IP πηγής ή υποδίκτυο. Ίσως η προεπιλεγμένη συμπεριφορά του UFW να έχει οριστεί ώστε να επιτρέπει όλες τις συνδέσεις (δεν συνιστάται).

Για να απορρίψετε μια σύνδεση από συγκεκριμένες διευθύνσεις IP, το UFW απαιτεί κανόνες απόρριψης. Η σύνταξη κανόνων απόρριψης είναι αρκετά απλή. Πάρτε οποιονδήποτε κανόνα αποδοχής, αντικαταστήστε τον όρο «allow» με τον όρο «deny» και voila! Γίνεται κανόνας απόρριψης.

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

Για να απορρίψετε τη σύνδεση από 203.0.113.1, χρησιμοποιήστε τον ακόλουθο κανόνα απόρριψης:

Διαγραφή κανόνων

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

  • Διαγραφή κανόνα με βάση τον αριθμό κανόνα

Αυτός είναι ο απλούστερος τρόπος διαγραφής ενός κανόνα UFW. Κάθε κανόνας στο UFW έχει έναν αριθμό κανόνα. Η ακόλουθη εντολή θα εμφανίσει όλους τους κανόνες UFW μαζί με τον αριθμό κανόνα:

 firewall with UFW on Ubuntu 18.04. 3

Η ακόλουθη εντολή θα διαγράψει τον κανόνα που καθορίζεται από τον αριθμό κανόνα:

  • Διαγραφή κανόνα με βάση τον ίδιο τον κανόνα

Αυτή είναι η πιο δύσκολη μέθοδος διαγραφής ενός κανόνα. Απαιτεί τον μη αυτόματο καθορισμό του πραγματικού κανόνα για τη διαγραφή του. Στο ακόλουθο παράδειγμα, το UFW θα διαγράψει τον κανόνα που καθορίζεται από το allow http:

Ο κανόνας θα μπορούσε επίσης να έχει καθοριστεί από το allow 80. Σε αυτήν την περίπτωση, η ακόλουθη εντολή θα τον διαγράψει:

Η διαγραφή ενός κανόνα θα τον διαγράψει τόσο για το IPv4 όσο και για το IPv6.

Έλεγχος κατάστασης και κανόνων UFW

Είναι απαραίτητο να βεβαιωθείτε εάν το UFW είναι ενεργό ή όχι. Για να προσδιορίσετε την κατάσταση του UFW, εκτελέστε την ακόλουθη εντολή:

 firewall with UFW on Ubuntu 18.04. 2

Εάν η κατάσταση είναι «inactive», τότε ενεργοποιήστε το ακολουθώντας το βήμα Ενεργοποίηση UFW παραπάνω. Εάν είναι ενεργό, τότε το UFW θα αναφέρει την κατάσταση «active» και θα εμφανίσει όλους τους ενεργούς κανόνες.

Απενεργοποίηση UFW

Εάν, για κάποιο λόγο, δεν πρόκειται να χρησιμοποιήσετε το UFW, τότε απενεργοποιήστε το χρησιμοποιώντας την ακόλουθη εντολή:

Εάν το UFW είναι απενεργοποιημένο, όλοι οι κανόνες που δημιουργήθηκαν δεν είναι πλέον ενεργοί. Ωστόσο, οι κανόνες δεν διαγράφονται. Όταν το UFW επανενεργοποιηθεί, όλοι οι κανόνες θα γίνουν ξανά ενεργοί. Τι γίνεται αν η τρέχουσα διαμόρφωση του UFW είναι μπερδεμένη; Αντί να διαγράψετε τους κανόνες έναν-έναν, είναι δυνατό να τους διαγράψετε όλους με μία μόνο εντολή. Για να επαναφέρετε το UFW, εκτελέστε την ακόλουθη εντολή:

 firewall with UFW on Ubuntu 18.04. 1

Σημειώστε ότι αυτό δεν θα αλλάξει την προεπιλεγμένη συμπεριφορά του UFW που διαμορφώθηκε στην αρχή.

Συμπέρασμα

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

Εάν θέλετε να γνωρίσετε περισσότερες λύσεις τείχους προστασίας, ρίξτε μια ματιά στο ιστολόγιό μας για περισσότερους πόρους:

Καλή υπολογιστική!

author

Hark Labs

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.