Iptables και φιλτράρισμα της κυκλοφορίας από φτωχούς και τεμπέληδες αντιφρονούντες

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

Iptables και φιλτράρισμα της κυκλοφορίας από φτωχούς και τεμπέληδες αντιφρονούντες

Γιατί να εφεύρουμε ξανά τον τροχό όταν υπάρχουν εξειδικευμένα προγράμματα και διανομές για τις εργασίες μας, για παράδειγμα: Zeroshell, pfSense, ClearOS.

Η διοίκηση είχε μια άλλη ερώτηση: Το προϊόν που χρησιμοποιείται έχει πιστοποιητικό ασφαλείας από το κράτος μας;

Είχαμε εμπειρία εργασίας με τις ακόλουθες διανομές:

  • Zeroshell - οι προγραμματιστές δώρησαν ακόμη και μια άδεια 2 ετών, αλλά αποδείχθηκε ότι το κιτ διανομής που μας ενδιέφερε, παράλογα, εκτελούσε μια κρίσιμη λειτουργία για εμάς.
  • pfSense - σεβασμός και τιμή, ταυτόχρονα βαρετό, εξοικείωση με τη γραμμή εντολών του τείχους προστασίας του FreeBSD και όχι αρκετά βολικό για εμάς (νομίζω ότι είναι θέμα συνήθειας, αλλά αποδείχθηκε ότι ήταν λάθος).
  • ClearOS - στο υλικό μας αποδείχθηκε πολύ αργό, δεν μπορέσαμε να φτάσουμε σε σοβαρές δοκιμές, οπότε γιατί τόσο βαριές διεπαφές;
  • Ideco SELECTA. Το προϊόν Ideco είναι μια ξεχωριστή κουβέντα, ένα ενδιαφέρον προϊόν, αλλά για πολιτικούς λόγους όχι για εμάς, και θέλω επίσης να τους «τσιμπήσω» για την άδεια για το ίδιο Linux, Roundcube κ.λπ. Από πού πήραν την ιδέα ότι κόβοντας τη διεπαφή σε Python και αφαιρώντας τα δικαιώματα υπερχρήστη, μπορούν να πουλήσουν ένα τελικό προϊόν που αποτελείται από ανεπτυγμένες και τροποποιημένες ενότητες από την κοινότητα του Διαδικτύου που διανέμονται υπό την GPL&κ.λπ.

Καταλαβαίνω ότι τώρα θα χυθούν αρνητικά επιφωνήματα προς την κατεύθυνση μου με απαιτήσεις να τεκμηριώσω λεπτομερώς τα υποκειμενικά μου συναισθήματα, αλλά θέλω να πω ότι αυτός ο κόμβος δικτύου είναι επίσης ένας εξισορροπητής κυκλοφορίας για 4 εξωτερικά κανάλια στο Διαδίκτυο και κάθε κανάλι έχει τα δικά του χαρακτηριστικά . Ένας άλλος ακρογωνιαίος λίθος ήταν η ανάγκη για μια από τις πολλές διεπαφές δικτύου να λειτουργεί σε διαφορετικούς χώρους διευθύνσεων, και εγώ είναι έτοιμο παραδεχτείτε ότι τα VLAN μπορούν να χρησιμοποιηθούν παντού όπου είναι απαραίτητο και όχι απαραίτητο δεν είναι έτοιμο. Υπάρχουν συσκευές σε χρήση όπως το TP-Link TL-R480T+ - δεν συμπεριφέρονται τέλεια, γενικά, με τις δικές τους αποχρώσεις. Ήταν δυνατή η διαμόρφωση αυτού του τμήματος σε Linux χάρη στον επίσημο ιστότοπο του Ubuntu Ισορροπία IP: συνδυασμός πολλών καναλιών Διαδικτύου σε ένα. Επιπλέον, κάθε ένα από τα κανάλια μπορεί να "πέσει" ανά πάσα στιγμή, καθώς και να ανέβει. Εάν ενδιαφέρεστε για ένα σενάριο που λειτουργεί αυτήν τη στιγμή (και αυτό αξίζει μια ξεχωριστή δημοσίευση), γράψτε στα σχόλια.

Η εξεταζόμενη λύση δεν ισχυρίζεται ότι είναι μοναδική, αλλά θα ήθελα να θέσω το ερώτημα: "Γιατί πρέπει μια επιχείρηση να προσαρμοστεί σε αμφίβολα προϊόντα τρίτων με σοβαρές απαιτήσεις υλικού, όταν μπορεί να εξεταστεί μια εναλλακτική επιλογή;"

Εάν στη Ρωσική Ομοσπονδία υπάρχει κατάλογος του Roskomnadzor, στην Ουκρανία υπάρχει ένα παράρτημα στην Απόφαση του Συμβουλίου Εθνικής Ασφάλειας (για παράδειγμα. εδώ), τότε ούτε οι τοπικοί ηγέτες κοιμούνται. Για παράδειγμα, μας δόθηκε μια λίστα με απαγορευμένες τοποθεσίες που, κατά τη γνώμη της διοίκησης, βλάπτουν την παραγωγικότητα στο χώρο εργασίας.

Επικοινωνώντας με συναδέλφους σε άλλες επιχειρήσεις, όπου από προεπιλογή απαγορεύονται όλοι οι ιστότοποι και μόνο κατόπιν αιτήματος με την άδεια του αφεντικού μπορείτε να έχετε πρόσβαση σε έναν συγκεκριμένο ιστότοπο, χαμογελώντας με σεβασμό, σκεπτόμενοι και «καπνίζοντας το πρόβλημα», καταλάβαμε ότι η ζωή είναι ακόμα καλό και ξεκινήσαμε την αναζήτησή τους.

Έχοντας την ευκαιρία όχι μόνο να δούμε αναλυτικά τι γράφουν στα «βιβλία των νοικοκυρών» για το φιλτράρισμα της κυκλοφορίας, αλλά και να δούμε τι συμβαίνει στα κανάλια διαφορετικών παρόχων, παρατηρήσαμε τις παρακάτω συνταγές (όποια στιγμιότυπα οθόνης είναι λίγο κομμένα, παρακαλώ καταλαβαίνω όταν ρωτάς):

Πάροχος 1
— δεν ενοχλεί και επιβάλλει τους δικούς του διακομιστές DNS και έναν διαφανή διακομιστή μεσολάβησης. Λοιπόν;.. αλλά έχουμε πρόσβαση εκεί που το χρειαζόμαστε (αν το χρειαζόμαστε :))

Πάροχος 2
- πιστεύει ότι ο κορυφαίος πάροχος του πρέπει να το σκεφτεί αυτό, η τεχνική υποστήριξη του κορυφαίου παρόχου παραδέχτηκε ακόμη και γιατί δεν μπορούσα να ανοίξω τον ιστότοπο που χρειαζόμουν, κάτι που δεν απαγορεύτηκε. Νομίζω ότι η φωτογραφία θα σας διασκεδάσει :)

Iptables και φιλτράρισμα της κυκλοφορίας από φτωχούς και τεμπέληδες αντιφρονούντες

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

Πάροχος 3
— επιτρέπει στην κυκλοφορία να πηγαίνει εκεί, αλλά δεν επιτρέπει την επιστροφή κατά μήκος της διαδρομής.

Πάροχος 4
— απαγορεύει όλους τους χειρισμούς με πακέτα προς την καθορισμένη κατεύθυνση.

Τι να κάνετε με το VPN (σεβασμός στο πρόγραμμα περιήγησης Opera) και τα πρόσθετα του προγράμματος περιήγησης; Παίζοντας με τον κόμβο Mikrotik στην αρχή, πήραμε ακόμη και μια συνταγή έντασης πόρων για το L7, την οποία αργότερα έπρεπε να εγκαταλείψουμε (μπορεί να υπάρχουν περισσότερα απαγορευμένα ονόματα, γίνεται λυπηρό όταν, εκτός από τις άμεσες ευθύνες του για διαδρομές, σε 3 δωδεκάδες εκφράσεις το φορτίο του επεξεργαστή PPC460GT πηγαίνει στο 100 %).

Iptables και φιλτράρισμα της κυκλοφορίας από φτωχούς και τεμπέληδες αντιφρονούντες.

Τι έγινε σαφές:
Το DNS στην 127.0.0.1 δεν είναι απολύτως πανάκεια· οι σύγχρονες εκδόσεις των προγραμμάτων περιήγησης εξακολουθούν να σας επιτρέπουν να παρακάμπτετε τέτοια προβλήματα. Είναι αδύνατο να περιοριστούν όλοι οι χρήστες σε μειωμένα δικαιώματα και δεν πρέπει να ξεχνάμε τον τεράστιο αριθμό εναλλακτικών DNS. Το Διαδίκτυο δεν είναι στατικό και εκτός από τις νέες διευθύνσεις DNS, οι απαγορευμένοι ιστότοποι αγοράζουν νέες διευθύνσεις, αλλάζουν τομείς ανώτατου επιπέδου και μπορούν να προσθέσουν/αφαιρέσουν έναν χαρακτήρα στη διεύθυνσή τους. Αλλά εξακολουθεί να έχει το δικαίωμα να ζήσει κάτι σαν:

ip route add blackhole 1.2.3.4

Θα ήταν αρκετά αποτελεσματικό να αποκτήσετε μια λίστα διευθύνσεων IP από τη λίστα των απαγορευμένων τοποθεσιών, αλλά για τους λόγους που αναφέρθηκαν παραπάνω, προχωρήσαμε σε σκέψεις σχετικά με τα Iptables. Υπήρχε ήδη ένα live balancer στην έκδοση 7.5.1804 του CentOS Linux.

Το Διαδίκτυο του χρήστη θα πρέπει να είναι γρήγορο και το πρόγραμμα περιήγησης δεν πρέπει να περιμένει μισό λεπτό, καταλήγοντας στο συμπέρασμα ότι αυτή η σελίδα δεν είναι διαθέσιμη. Μετά από μακρά αναζήτηση καταλήξαμε σε αυτό το μοντέλο:
Αρχείο 1 -> /script/denied_host, λίστα με απαγορευμένα ονόματα:

test.test
blablabla.bubu
torrent
porno

Αρχείο 2 -> /script/denied_range, λίστα απαγορευμένων χώρων διευθύνσεων και διευθύνσεων:

192.168.111.0/24
241.242.0.0/16

Αρχείο σεναρίου 3 -> ipt.shκάνοντας τη δουλειά με τα ipables:

# считываем полезную информацию из перечней файлов
HOSTS=`cat /script/denied_host | grep -v '^#'`
RANGE=`cat /script/denied_range | grep -v '^#'`
echo "Stopping firewall and allowing everyone..."
# сбрасываем все настройки iptables, разрешая то что не запрещено
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
#решаем обновить информацию о маршрутах (особенность нашей архитектуры)
sudo sh rout.sh
# циклически обрабатывая каждую строку файла применяем правило блокировки строки
for i in $HOSTS; do
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p tcp -j REJECT --reject-with tcp-reset;
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p udp -j DROP;
done
# циклически обрабатывая каждую строку файла применяем правило блокировки адреса
for i in $RANGE; do
sudo iptables -I FORWARD -p UDP -d $i -j DROP;
sudo iptables -I FORWARD -p TCP  -d $i -j REJECT --reject-with tcp-reset;
done

Η χρήση του sudo οφείλεται στο γεγονός ότι έχουμε ένα μικρό hack για διαχείριση μέσω της διεπαφής WEB, αλλά όπως έχει δείξει η εμπειρία στη χρήση ενός τέτοιου μοντέλου για περισσότερο από ένα χρόνο, το WEB δεν είναι τόσο απαραίτητο. Μετά την υλοποίηση, υπήρχε η επιθυμία να προστεθεί μια λίστα ιστότοπων στη βάση δεδομένων κ.λπ. Ο αριθμός των αποκλεισμένων κεντρικών υπολογιστών είναι πάνω από 250 + μια ντουζίνα κενά διευθύνσεων. Υπάρχει πραγματικά ένα πρόβλημα όταν πηγαίνετε σε έναν ιστότοπο μέσω σύνδεσης https, όπως ο διαχειριστής του συστήματος, έχω παράπονα σχετικά με προγράμματα περιήγησης :), αλλά αυτές είναι ειδικές περιπτώσεις, οι περισσότεροι από τους ερεθισμούς για την έλλειψη πρόσβασης στον πόρο εξακολουθούν να είναι με το μέρος μας , αποκλείουμε επίσης με επιτυχία το Opera VPN και πρόσθετα όπως friGate και τηλεμετρία από τη Microsoft.

Iptables και φιλτράρισμα της κυκλοφορίας από φτωχούς και τεμπέληδες αντιφρονούντες

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο