Εξερεύνηση της ρύθμισης παραμέτρων του τείχους προστασίας και των επιλογών γραμμής εντολών


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

  1. Shorewall – Τείχος προστασίας υψηλού επιπέδου για τη διαμόρφωση διακομιστών Linux – Μέρος 1

Το Shorewall προσφέρει ένα ευρύ φάσμα εντολών που μπορούν να εκτελεστούν στη γραμμή εντολών. Αν ρίξετε μια ματιά στο man shorewall θα πρέπει να δείτε πολλά, αλλά η πρώτη εργασία που πρόκειται να εκτελέσουμε είναι να ελέγξουμε τα αρχεία διαμόρφωσής μας.

$ sudo shorewall check

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

Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking /usr/share/shorewall/action.Invalid for chain %Invalid...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /etc/shorewall/routestopped...
Shorewall configuration verified

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

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

Το πρώτο σφάλμα, και πιο συνηθισμένο, είναι το σφάλμα σχετικά με το NAT.

Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking /etc/shorewall/masq...
    ERROR: a non-empty masq file requires NAT in your kernel and iptables /etc/shorewall/masq (line 15)

Εάν βλέπετε κάτι παρόμοιο, το πιθανότερο είναι ότι ο τρέχων Πυρήνας σας δεν έχει μεταγλωττιστεί με υποστήριξη για NAT. Αυτό είναι κοινό με τους περισσότερους πυρήνες εκτός συσκευασίας. Διαβάστε το σεμινάριο μου σχετικά με το \Πώς να μεταγλωττίσετε έναν πυρήνα του Debian για να ξεκινήσετε.

Ένα άλλο κοινό σφάλμα που προκαλείται από τον έλεγχο είναι το σφάλμα σχετικά με τα iptables και την καταγραφή.

:/etc/shorewall# shorewall check
Checking...
Processing /etc/shorewall/params...
Processing /etc/shorewall/shorewall.conf
Loading Modules..
   ERROR: Log level INFO requires LOG Target in your kernel and iptables

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

Για να το ορίσετε αυτό, πρέπει να αλλάξετε κάθε παρουσία του \info” σε \ULOG” σε όλα τα αρχεία διαμόρφωσης στο /etc/shorewall. Η ακόλουθη εντολή μπορεί να το κάνει αυτό για εσάς.

$ cd /etc/shorewall
$ sudo sed –i ‘s/info/ULOG/g’ *

Μετά από αυτό, επεξεργαστείτε το αρχείο /etc/shorewall/shorewall.conf και ορίστε τη γραμμή.

LOGFILE=

Εκεί που θα θέλατε να αποθηκευτεί το αρχείο καταγραφής σας. Το δικό μου βρίσκεται στο /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Η εκτέλεση έλεγχος ακτογραμμής sudo θα σας δώσει μια καθαρή κατάσταση υγείας.

Η διεπαφή γραμμής εντολών του Shorewall συνοδεύεται από πολλά εύχρηστα one-liners για διαχειριστές συστημάτων. Μια συχνά χρησιμοποιούμενη εντολή, ειδικά όταν γίνονται πολλές αλλαγές στο τείχος προστασίας, είναι να αποθηκεύσετε την τρέχουσα κατάσταση διαμόρφωσης, ώστε να μπορείτε να κάνετε επαναφορά εάν υπάρχουν περιπλοκές. Η σύνταξη για αυτό είναι απλή.

$ sudo shorewall save <filename>

Η επιστροφή είναι εξίσου εύκολη:

$ sudo shorewall restore <filename>

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

$ sudo shorewall check <config-directory>

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

$ sudo shorewall try <config-directory> [  ]

Το Shorewall είναι μόνο μία από τις πολλές ισχυρές λύσεις τείχους προστασίας που είναι διαθέσιμες σε συστήματα Linux. Ανεξάρτητα από το άκρο του φάσματος δικτύωσης στο οποίο βρίσκεστε, πολλοί θεωρούν ότι είναι απλό και χρήσιμο.

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