Εισαγωγή
Iptables είναι ένα εργαλείο γραμμής εντολών firewall . Αυτό σημαίνει ότι είναι λογισμικό που σας επιτρέπει να διαμορφώσετε ένα firewall στο σύστημά σας. Είναι συνήθως διαθέσιμο από προεπιλογή σε συστήματα Linux . Σε αυτόν τον οδηγό, θα συζητήσουμε μερικούς από τους κοινούς κανόνες και εντολές που συνοδεύουν το firewall iptables. Κάθε φορά που μια σύνδεση προσπαθεί να δημιουργηθεί με το σύστημά σας, το firewall θα ανατρέχει σε αυτούς τους κανόνες για να καθορίσει ποιο πρέπει να είναι το επόμενο βήμα δράσης.
Εντολές Iptables
Αυτός ο οδηγός θα παρουσιάσει μερικές από τις πιο βασικές εντολές iptables. Για να παρακολουθήσετε τον οδηγό θα πρέπει να έχετε μια βασική κατανόηση του τι είναι το iptables και πώς λειτουργεί. Θα σας βοηθήσει να κατανοήσετε καλύτερα τους κανόνες που εφαρμόζετε με τις ακόλουθες εντολές. Θυμηθείτε, οποιαδήποτε από τις παρακάτω εντολές μπορεί να χρησιμοποιηθεί μεμονωμένα. Από την άλλη πλευρά, μπορείτε επίσης να τις συνδυάσετε για να καλύψετε τις συγκεκριμένες ανάγκες σας.
Πράγματα που πρέπει να έχετε κατά νου
Πριν διαβάσετε παρακάτω, ορίστε μερικά πράγματα που πρέπει να έχετε κατά νου:
- Η σειρά των κανόνων στο iptables είναι σημαντική.
- Για να προσθέσετε έναν νέο κανόνα στο τέλος μιας αλυσίδας, η εντολή σας
iptablesθα πρέπει να χρησιμοποιήσει το-A. - Αν θέλετε να προσθέσετε τον κανόνα σε άλλη θέση, πρέπει να χρησιμοποιήσετε την επιλογή
-I. Αυτή η επιλογή σάς επιτρέπει να καθορίσετε την ακριβή θέση του κανόνα. Αν θέλετε να τοποθετήσετε τον κανόνα στην αρχή της αλυσίδας, απλώς μην εισάγετε αριθμό κανόνα. - Για να διασφαλίσετε ότι έχετε συνεχή πρόσβαση στον διακομιστή σας, αποκλείστε την κίνηση SSH στη θύρα 22 από προεπιλογή.
- Σε περίπτωση που δεν το κάνετε και χάσετε την πρόσβαση στον διακομιστή σας, μπορείτε να επανασυνδεθείτε χρησιμοποιώντας την κονσόλα. Επιτρέψτε την κίνηση SSH για να αλλάξετε τις ρυθμίσεις του firewall.
- Αν θέλετε ποτέ να ελέγξετε το σύνολο κανόνων που ισχύει αυτήν τη στιγμή, χρησιμοποιήστε τις εντολές
sudo iptables -S και sudo iptables -L.
Επιπλέον, έχουμε έναν λεπτομερή οδηγό για το πώς να εμφανίσετε και να διαγράψετε κανόνες firewall iptables, ο οποίος θα σας βοηθήσει περαιτέρω να αξιοποιήσετε με τον καλύτερο τρόπο το firewall iptables σας.
Τώρα που ξεμπερδέψαμε με τις προϋποθέσεις, ας εμβαθύνουμε σε μερικές από τις κοινές εντολές iptables:
Πώς να αποθηκεύσετε τους κανόνες σας
Θα ξεκινήσουμε προσδιορίζοντας πώς μπορείτε να αποθηκεύσετε τους κανόνες σας. Είναι σημαντικό να σημειωθεί ότι οι κανόνες iptables είναι εφήμεροι. Αυτό σημαίνει ότι θα χαθούν μετά την επανεκκίνηση του συστήματός σας - εκτός εάν τους αποθηκεύσετε. Δείτε πώς μπορείτε να αποθηκεύσετε χειροκίνητα τους νέους κανόνες σας σε διακομιστή Ubuntu και CentOS αντίστοιχα:
-
Ubuntu
Ο ευκολότερος τρόπος για να αποθηκεύσετε τους νέους κανόνες σας σε έναν διακομιστή Ubuntu είναι να χρησιμοποιήσετε το πακέτο iptables-persistent . Μπορείτε εύκολα να δημιουργήσετε έναν διακομιστή Ubuntu ακολουθώντας αυτό το σεμινάριο.
Τώρα, το πρώτο βήμα για να αποθηκεύσετε τους νέους κανόνες iptables είναι η εγκατάσταση του πακέτου iptables-persistent χρησιμοποιώντας το apt-get. Δείτε πώς μπορείτε να το αποκτήσετε:
|
1 |
sudo apt-get install iptables-persistent |

Κατά τη διάρκεια της διαδικασίας εγκατάστασης, πρέπει να αποφασίσετε εάν θέλετε να αποθηκεύσετε τους κανόνες firewall που ισχύουν αυτήν τη στιγμή. Για να ενημερώσετε τους κανόνες και να αποθηκεύσετε τις αλλαγές, χρησιμοποιήστε αυτήν την εντολή:
|
1 |
sudo netfilter-persistent save |

Η παραπάνω εντολή λειτουργεί συνήθως για εκδόσεις Ubuntu μετά την 16.04. Εάν χρησιμοποιείτε παλαιότερη έκδοση, χρησιμοποιήστε αυτήν την εντολή αντ' αυτού:
|
1 |
sudo invoke-rc.d iptables-persistent save |
-
CentOS
Μπορείτε να διαμορφώσετε το firewall σας με το iptables στο CentOS 6 ή σε παλαιότερες εκδόσεις. Το CentOS 7 χρησιμοποιεί το FirewallD αντ' αυτού. Ακολουθήστε αυτό το σεμινάριο για να μάθετε πώς να ρυθμίζετε το FirewallD στο CentOS 7.
Μπορείτε να αποθηκεύσετε τους νέους κανόνες σας στο CentOS χρησιμοποιώντας το iptables σενάριο init. Δείτε την ακόλουθη εντολή:
|
1 |
sudo service iptables save |
Αυτή η εντολή θα αποθηκεύσει τους νέους κανόνες σας για το firewall iptables. Οι τρέχοντες ενεργοί κανόνες iptables βρίσκονται στο αρχείο /etc/sysconfig/iptables .
Χρήσιμες εντολές Iptables
Τώρα, ας προχωρήσουμε σε μερικές πολύ χρήσιμες εντολές firewall iptables που μπορεί να χρειαστεί να χρησιμοποιήσετε στον διακομιστή σας.
-
Συνδέσεις Loopback
Αρχικά, θα εξερευνήσουμε πώς μπορείτε να επιτρέψετε συνδέσεις loopback. Το σύστημά σας χρησιμοποιεί μια διεπαφή loopback για να στέλνει συνδέσεις στον εαυτό του. Για παράδειγμα, φανταστείτε ότι εκτελέσατε αυτήν την εντολή: ping localhost ή ping 127.0.0.1. Ο διακομιστής σας θα χρησιμοποιήσει μια διεπαφή loopback, ή μια lo, για να κάνει ουσιαστικά ping στον εαυτό του. Άλλες φορές, ο διακομιστής μπορεί να τη χρησιμοποιήσει εάν ο διακομιστής εφαρμογών σας είναι ρυθμισμένος να συνδέεται στη διεύθυνση ‘localhost’.
Ανεξάρτητα από την κατάσταση, πρέπει να βεβαιωθείτε ότι το τείχος προστασίας iptables δεν αποκλείει αυτές τις συνδέσεις. Επομένως, θα πρέπει να επιτρέψετε τις συνδέσεις loopback για να επιτρέψετε τη διεξαγωγή αυτών των λειτουργιών.
Ακολουθούν οι εντολές που θα εκτελέσετε για να επιτρέψετε όλη την κίνηση που εισέρχεται στη διεπαφή loopback:
|
1 2 |
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT |

-
Καθιερωμένες και Σχετικές Εισερχόμενες Συνδέσεις
Ένας άλλος τύπος σύνδεσης που ίσως χρειαστεί να επιτρέψετε είναι η εξερχόμενη σύνδεση. Για να βεβαιωθείτε ότι ο διακομιστής σας λαμβάνει και στέλνει τόσο εισερχόμενη όσο και εξερχόμενη κίνηση αντίστοιχα, πρέπει να επιτρέψετε τις καθιερωμένες και σχετικές εισερχόμενες συνδέσεις. Αυτό επιτρέπει στον διακομιστή να στέλνει κίνηση επιστροφής σε εξερχόμενες συνδέσεις. Χρησιμοποιήστε αυτήν την εντολή για να επιτρέψετε καθιερωμένες καθώς και σχετικές εισερχόμενες συνδέσεις:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
![]()
-
Καθιερωμένες Εξερχόμενες Συνδέσεις
Ο διακομιστής συνήθως στέλνει απαντήσεις σε εισερχόμενες συνδέσεις με τη μορφή εξερχόμενης κίνησης καθιερωμένων συνδέσεων. Για να τις επιτρέψετε, χρησιμοποιήστε την ακόλουθη εντολή:
|
1 |
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT |
![]()
-
Εσωτερικό προς Εξωτερικό
Μερικές φορές, μπορεί να χρειαστεί ακόμη και να ρυθμίσετε το τείχος προστασίας σας ώστε να δίνει πρόσβαση από το εσωτερικό προς το εξωτερικό. Από προεπιλογή, το εξωτερικό σας δίκτυο θα πρέπει να είναι το eth0 και το eth1 θα πρέπει να είναι το εσωτερικό σας δίκτυο. Εάν συμβαίνει αυτό, χρησιμοποιήστε αυτήν την εντολή για να ενεργοποιήσετε την πρόσβαση:
|
1 |
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT |

-
Απόρριψη Μη Έγκυρων Πακέτων
Μερικές φορές, ορισμένα πακέτα κίνησης δικτύου θα επισημαίνονται ως μη έγκυρα. Τις περισσότερες φορές, μπορείτε απλά να απορρίψετε αυτά τα μη έγκυρα πακέτα. Για να το κάνετε αυτό, χρησιμοποιήστε την ακόλουθη εντολή:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate INVALID -j DROP |
Κανόνες για τον Αποκλεισμό Διευθύνσεων IP
Στη συνέχεια, θα δούμε μερικές εντολές που μπορείτε να χρησιμοποιήσετε για να αποκλείσετε συνδέσεις που προέρχονται από συγκεκριμένες διευθύνσεις IP. Για να κάνουμε τα πράγματα πιο εύκολα, θα χρησιμοποιήσουμε τη διεύθυνση IP 15.15.15.51 ως παράδειγμα στις εντολές μας. Μπορείτε να αντικαταστήσετε αυτήν την τιμή με τη δική σας συγκεκριμένη διεύθυνση IP.
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j DROP |
Στο -s 15.15.15.51, το -s σημαίνει source (πηγή). Έτσι, η εντολή καθορίζει τη διεύθυνση IP πηγής ‘15.15.15.51.’ Παρομοίως, μπορείτε να καθορίσετε τη διεύθυνση IP πηγής σε οποιονδήποτε κανόνα τείχους προστασίας. Αυτό περιλαμβάνει τον κανόνα αποδοχής (allow) και τον κανόνα απόρριψης (reject).
Εάν θέλετε να απορρίψετε τη σύνδεση, θα χρησιμοποιήσετε το REJECT στη θέση του DROP στην εντολή, ως εξής:
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j REJECT |
Ως αποτέλεσμα, ο διακομιστής σας θα εμφανίζει σφάλμα ‘connection refused’ (άρνηση σύνδεσης) κάθε φορά που η συγκεκριμένη διεύθυνση IP στέλνει ένα αίτημα σύνδεσης.
-
Αποκλεισμός Συνδέσεων σε μια Συγκεκριμένη Διεπαφή
Είναι δυνατό να αποκλείσετε όλα τα αιτήματα σύνδεσης που προέρχονται από μια συγκεκριμένη διεύθυνση IP προς μια συγκεκριμένη διεπαφή δικτύου. Στο παράδειγμά μας, η διεύθυνση IP είναι η 15.15.15.51 και η διεπαφή δικτύου είναι η eth0. Χρησιμοποιήστε αυτήν την εντολή για να αποκλείσετε τις συνδέσεις:
|
1 |
iptables -A INPUT -i eth0 -s 15.15.15.51 -j DROP |
Το εξαιρετικό είναι ότι μπορείτε να καθορίσετε τη διεπαφή δικτύου σε οποιονδήποτε κανόνα. Αυτό σημαίνει ότι οποιοσδήποτε κανόνας μπορεί να εφαρμοστεί και να περιοριστεί μόνο σε ένα συγκεκριμένο δίκτυο.
Κανόνες για την Υπηρεσία: SSH
Το SSH γίνεται σημαντικό εάν χρησιμοποιείτε έναν διακομιστή cloud. Σε αυτήν την περίπτωση, πρέπει να επιτρέψετε τις εισερχόμενες συνδέσεις SSH στη θύρα 22. Η ενεργοποίηση αυτών των συνδέσεων σας επιτρέπει να συνδέεστε και να διαχειρίζεστε τον διακομιστή σας. Εδώ, θα συζητήσουμε μια σειρά από κοινούς κανόνες που αφορούν το SSH.
-
Να επιτρέπονται όλες οι εισερχόμενες συνδέσεις SSH
Οι ακόλουθες εντολές ενεργοποιούν όλες τις εισερχόμενες συνδέσεις SSH:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Στο παραπάνω σύνολο, χρειάζεται να χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων SSH.
-
Επιτρέποντας εισερχόμενο SSH από ένα υποδίκτυο
Η προηγούμενη εντολή επιτρέπει όλες τις εισερχόμενες συνδέσεις. Μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές για να επιτρέψετε εισερχόμενες συνδέσεις μόνο από μια συγκεκριμένη διεύθυνση IP ή υποδίκτυο. Ας υποθέσουμε ότι θέλετε να επιτρέψετε εισερχόμενες συνδέσεις μόνο από το 15.15.15.0/24 υποδίκτυο:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Όπως και πριν, χρειάζεται να χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων SSH.
-
Επιτρέποντας εξερχόμενο SSH
Χρησιμοποιήστε αυτές τις εντολές εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT και θέλετε να ενεργοποιήσετε τις συνδέσεις SSH. Αυτό θα επιτρέψει στον διακομιστή σας να ξεκινήσει συνδέσεις SSH προς άλλους διακομιστές:
|
1 2 |
sudo iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Για να αξιοποιήσετε περαιτέρω το SSH στους cloud διακομιστές σας, ρίξτε μια ματιά στους οδηγούς μας σχετικά με το πώς να χρησιμοποιήσετε το SSH για να συνδεθείτε σε έναν απομακρυσμένο διακομιστή στο Ubuntu και πώς να ρυθμίσετε τον διακομιστή Linux σας ώστε να χρησιμοποιεί έλεγχο ταυτότητας βάσει κλειδιού SSH.
-
Επιτρέποντας εισερχόμενο Rsync από ένα υποδίκτυο
Rsync είναι μια δυνατότητα που μπορείτε να χρησιμοποιήσετε για να μεταφέρετε αρχεία από ένα σύστημα σε ένα άλλο. Εκτελείται στη θύρα 873. Επομένως, εάν θέλετε να επιτρέψετε εισερχόμενες συνδέσεις Rsync στη θύρα 873 από μια συγκεκριμένη διεύθυνση IP ή υποδίκτυο, χρησιμοποιήστε τις ακόλουθες εντολές:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 873 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 873 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Όπως μπορείτε να δείτε, καθορίσαμε τη διεύθυνση IP προέλευσης μαζί με τη θύρα προορισμού. Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων Rsync. Επιπλέον, μπορείτε να ρίξετε μια ματιά στον οδηγό μας για το πώς να χρησιμοποιήσετε το Rsync για να συγχρονίσετε τοπικούς και απομακρυσμένους καταλόγους σε ένα VPS.
Κανόνες για την υπηρεσία: Διακομιστής Ιστού
Οι συνδέσεις HTTP λαμβάνονται συνήθως στη θύρα 80. Ομοίως, το HTTPS συνήθως έρχεται στη θύρα 443. Διακομιστές ιστού όπως οι Apache και Nginx ακούν σε αυτές τις θύρες για να λάβουν αιτήματα σύνδεσης. Μερικές φορές, οι προεπιλεγμένες ρυθμίσεις ενδέχεται να κάνουν τον διακομιστή σας να απορρίπτει ή να αγνοεί αυτά τα εισερχόμενα αιτήματα. Γι' αυτό θα χρειαστεί να ορίσετε νέους κανόνες για να επιτρέψετε την κίνηση.
-
Επιτρέποντας όλες τις εισερχόμενες συνδέσεις HTTP
Μπορείτε να επιτρέψετε όλες τις εισερχόμενες συνδέσεις HTTP στη θύρα 80 με αυτές τις εντολές:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων HTTP.
-
Να επιτρέπονται όλες οι εισερχόμενες συνδέσεις HTTPS
Χρησιμοποιήστε αυτές τις εντολές για να επιτρέψετε όλα τα εισερχόμενα αιτήματα σύνδεσης HTTPS στη θύρα 443:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας iptables OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων HTTP.
-
Να επιτρέπονται όλες οι εισερχόμενες συνδέσεις από HTTP και HTTPS
Μπορείτε να χρησιμοποιήσετε το πρόσθετο multiport εάν θέλετε να επιτρέψετε την κίνηση τόσο από θύρες HTTP όσο και από HTTPS. Χρησιμοποιήστε αυτές τις εντολές σε αυτήν την περίπτωση:
|
1 2 |
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων HTTP και HTTPS.
Κανόνες για την υπηρεσία: MySQL
Μερικές φορές ένας πελάτης μπορεί να χρησιμοποιήσει έναν απομακρυσμένο διακομιστή για να αποκτήσει πρόσβαση στον διακομιστή βάσης δεδομένων σας MySQL. Σε αυτήν την περίπτωση, πρέπει να επιτρέψετε χειροκίνητα την εισερχόμενη κίνηση από τη σχετική θύρα. Η MySQL ακούει για αιτήματα σύνδεσης από τη θύρα 3306.
-
Να επιτρέπονται οι εισερχόμενες συνδέσεις MySQL από ένα υποδίκτυο
Θα πρέπει να καθορίσετε την πηγή εάν θέλετε να επιτρέψετε συνδέσεις MySQL από ένα συγκεκριμένο υποδίκτυο. Στο παράδειγμά μας, θα επιτρέψουμε την εισερχόμενη κίνηση από το 15.15.15.0/24 υποδίκτυο χρησιμοποιώντας αυτές τις εντολές:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων MySQL.
-
Ενεργοποίηση συνδέσεων MySQL σε μια διεπαφή
Εάν θέλετε επίσης να καθορίσετε ποια διεπαφή δικτύου θα πρέπει να λαμβάνει τις συνδέσεις MySQL, μπορείτε να χρησιμοποιήσετε αυτές τις εντολές:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Σε αυτήν την περίπτωση, επιτρέπουμε τις συνδέσεις σε μια ιδιωτική διεπαφή δικτύου που ονομάζεται eth1.
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων MySQL.
Μπορείτε να ακολουθήσετε τον οδηγό μας για μια εύκολη εγκατάσταση της MySQL στον διακομιστή σας.
Κανόνες για την υπηρεσία: PostgreSQL
Ο πελάτης σας μπορεί να χρησιμοποιήσει έναν απομακρυσμένο διακομιστή για να αποκτήσει πρόσβαση στον διακομιστή βάσης δεδομένων σας PostgreSQL. Σε αυτήν την περίπτωση, πρέπει να επιτρέψετε αυτές τις εισερχόμενες συνδέσεις. Αυτές οι συνδέσεις θα γίνονται μέσω της θύρας 5432.
-
Να επιτρέπονται οι εισερχόμενες συνδέσεις PostgreSQL από ένα υποδίκτυο
Μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές για να επιτρέψετε εισερχόμενες συνδέσεις PostgreSQL από ένα συγκεκριμένο υποδίκτυο ή διεύθυνση IP. Όπως μπορείτε να δείτε, καθορίσαμε την πηγή που είναι το 15.15.15.0/24 υποδίκτυο.
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων PostgreSQL.
-
Ενεργοποίηση συνδέσεων PostgreSQL σε μια συγκεκριμένη διεπαφή
Αν θέλετε να επιτρέψετε συνδέσεις PostgreSQL μόνο σε μια συγκεκριμένη διεπαφή δικτύου, χρησιμοποιήστε αυτές τις εντολές:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Σε αυτήν την περίπτωση, επιτρέπουμε τις συνδέσεις σε μια ιδιωτική διεπαφή δικτύου που ονομάζεται eth1. Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων PostgreSQL.
Ακολουθήστε αυτόν τον οδηγό για να εγκαταστήσετε το PostgreSQL στον Ubuntu διακομιστή σας.
Κανόνες για την υπηρεσία: Mail
Ίσως χρειαστεί επίσης να διαμορφώσετε το τείχος προστασίας σας σύμφωνα με οποιονδήποτε διακομιστή αλληλογραφίας χρησιμοποιείτε. Για παράδειγμα, το Sendmail και το Postfix μπορούν να δέχονται συνδέσεις σε διάφορες θύρες. Αυτό εξαρτάται από το πρωτόκολλο που χρησιμοποιείτε για την παράδοση αλληλογραφίας. Για να αποκλείσετε και να επιτρέψετε ορισμένες συνδέσεις αλληλογραφίας, πρέπει να γνωρίζετε ποιο πρωτόκολλο χρησιμοποιείτε.
-
Επιτρέποντας εισερχόμενες συνδέσεις SMTP
Οι συνδέσεις SMTP συνήθως πραγματοποιούνται στη θύρα 25. Αν και το SMTP χρησιμοποιεί επίσης συνήθως τη θύρα 587 για εξερχόμενη αλληλογραφία. Για να επιτρέψετε στον διακομιστή σας να ανταποκρίνεται σε αυτές τις συνδέσεις, χρησιμοποιήστε τις ακόλουθες εντολές:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων SMTP.
-
Επιτρέποντας όλες τις εισερχόμενες συνδέσεις IMAP
Για να επιτρέψετε στον διακομιστή σας να ανταποκρίνεται σε όλες τις εισερχόμενες συνδέσεις IMAP στη θύρα 143, απλώς πληκτρολογήστε και εκτελέστε αυτό:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 143 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 143 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων IMAP.
-
Επιτρέποντας όλες τις εισερχόμενες συνδέσεις IMAPS
Χρησιμοποιήστε αυτές τις εντολές για να επιτρέψετε στον διακομιστή σας να ανταποκρίνεται σε συνδέσεις IMAPS στη θύρα 993:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων IMAPS.
-
Επιτρέποντας όλες τις εισερχόμενες συνδέσεις POP3
Αυτές οι συνδέσεις θα πραγματοποιούνται στη θύρα 993. Εάν θέλετε ο διακομιστής σας να ανταποκρίνεται σε αιτήματα σύνδεσης IMAPS, χρησιμοποιήστε τις ακόλουθες εντολές:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 110 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν η πολιτική του τείχους προστασίας OUTPUT δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων POP3.
-
Επιτρέποντας όλες τις εισερχόμενες συνδέσεις POP3S
Χρησιμοποιήστε αυτές τις εντολές για να επιτρέψετε στον διακομιστή σας να δημιουργεί συνδέσεις με αιτήματα POP3S που εισέρχονται στη θύρα 995:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 995 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Θα χρησιμοποιήσετε τη δεύτερη εντολή μόνο εάν το τείχος προστασίας OUTPUT πολιτική δεν έχει οριστεί σε ACCEPT. Επιτρέπει την εξερχόμενη κίνηση των καθιερωμένων συνδέσεων POP3S.
-
Πώς να αποκλείσετε την εξερχόμενη αλληλογραφία SMTP
Αντί να επιτρέπετε τις εισερχόμενες συνδέσεις και να ενεργοποιείτε την απόκριση του διακομιστή, ίσως θέλετε να αποκλείσετε εντελώς την εξερχόμενη αλληλογραφία. Μπορείτε να αποκλείσετε όλη την εξερχόμενη αλληλογραφία SMTP στη θύρα 25 χρησιμοποιώντας αυτήν την εντολή:
|
1 |
sudo iptables -A OUTPUT -p tcp --dport 25 -j REJECT |
Ως αποτέλεσμα, όλη η εξερχόμενη κίνηση στη θύρα 25 θα απορρίπτεται από το τείχος προστασίας iptables. Μπορείτε να χρησιμοποιήσετε την ίδια δομή εντολών εάν θέλετε να απορρίψετε οποιαδήποτε άλλη υπηρεσία. Το μόνο που χρειάζεται να κάνετε είναι να αντικαταστήσετε τη θύρα 25 με τον σχετικό αριθμό θύρας.
Συμπέρασμα
Αυτός ο οδηγός καλύπτει τις βασικές εντολές του τείχους προστασίας iptables. Σας παρέχει τα απαραίτητα εργαλεία που χρειάζεστε για να διαμορφώσετε αποτελεσματικά το τείχος προστασίας iptables. Έχετε υπόψη σας ότι δεν υπάρχει μια λύση που να ταιριάζει σε όλους. Αυτές οι εντολές είναι εξαιρετικά ευέλικτες. Αυτό σημαίνει ότι μπορείτε να τις χρησιμοποιήσετε με όποιον τρόπο ταιριάζει καλύτερα σε εσάς και τις απαιτήσεις σας.
Καλή υπολογιστική!

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