Εγκατάσταση του παράγοντα Linux¶
Ο παράγοντας για Linux χρησιμοποιείται από το CyberElements Bastion για τον περιορισμό της πιθανής πρόσβασης δικτύου από τους διακομιστές SSH στους οποίους αποκτούν πρόσβαση οι χρήστες (ορίζονται στις πολιτικές/συμβάσεις πρόσβασης).
Προαπαιτούμενα¶
Για τη σωστή λειτουργία του παράγοντα απαιτούνται ορισμένα προαπαιτούμενα:
- Συμβατά λειτουργικά συστήματα: Red Hat 9 και Debian 12
- Παρουσία του τείχους προστασίας
iptables - Σύνδεση με λογαριασμό διαφορετικό από τον
root
Πληροφορίες
Ο παράγοντας Linux δεν ενεργεί στον χρήστη root, καθώς ο χρήστης αυτός διαθέτει πάντα επαρκή δικαιώματα για να καταργήσει οποιονδήποτε περιορισμό θα του επιβαλλόταν.
Επιπλέον, καθώς ορισμένες υπηρεσίες χρησιμοποιούν δικαιώματα root, η προσθήκη περιορισμών δικτύου θα μπορούσε να καταστήσει αυτές τις υπηρεσίες ασταθείς.
Τρόπος λειτουργίας¶
Ο παράγοντας Linux αποτελείται από διάφορα μέρη:
- Μια υπηρεσία systemd με το όνομα
cleanroom-filter - Μια λειτουργική μονάδα PAM με το όνομα
pam_clr_filter - Μια πολιτική SELinux για Red Hat που επιτρέπει στον διακομιστή SSH να επικοινωνεί με την υπηρεσία
cleanroom-filter
Η γενική λειτουργία ακολουθεί την εξής σειρά:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>Εγγραφέας SSH
participant SSH as Στόχος SSH<br/>Διακομιστής SSH
participant PAM as Στόχος SSH<br/>Λειτουργική μονάδα PAM pam_clr_filter
participant svc as Στόχος SSH<br/>Υπηρεσία cleanroom-filter
MED->>GW_SSH: Αίτημα ανοίγματος<br/>εφαρμογής SSH
GW_SSH->>+MED: Ανάκτηση πληροφοριών φιλτραρίσματος<br/>για την περίοδο λειτουργίας
MED->>-GW_SSH: Αποστολή πληροφοριών<br/>φιλτραρίσματος δικτύου
GW_SSH->>+SSH: Σύνδεση SSH
SSH-->-PAM: Δημιουργία περιόδου λειτουργίας SSH
PAM->>+svc: Αποστολή του ονόματος χρήστη
Note right of svc: Δημιουργία αλυσίδας iptables <br/>για τον χρήστη με όνομα clr-LOGIN
svc->>-PAM: Αποστολή μοναδικού διακριτικού
Note over PAM: Προσθήκη της μεταβλητής περιβάλλοντος CLR-ID<br/> με το μοναδικό διακριτικό<br/> στην περίοδο λειτουργίας του χρήστη
GW_SSH->>svc: Αποστολή της λίστας δικτύων προς εξουσιοδότηση
Note over svc: Δημιουργία κανόνα iptables OUTPUT<br/> για ανακατεύθυνση της κίνησης του χρήστη στην αλυσίδα iptables<br/> που δημιουργήθηκε προηγουμένως
Note over svc: Προσθήκη αδειών στην αλυσίδα iptables<br/> που δημιουργήθηκε για τον χρήστη
break Τέλος της περιόδου λειτουργίας SSH
SSH->>+GW_SSH: Γνωστοποίηση τέλους περιόδου λειτουργίας
SSH-->svc: Εντοπισμός τέλους της περιόδου λειτουργίας SSH
Note over svc: Διαγραφή του κανόνα iptables OUTPUT<br/> που δημιουργήθηκε για τον χρήστη
Note over svc: Διαγραφή της αλυσίδας iptables<br/> που δημιουργήθηκε για τον χρήστη
GW_SSH->>-MED: Γνωστοποίηση τέλους της περιόδου λειτουργίας SSH<br/> του χρήστη
end
- Ο διακομιστής Mediation Controller στέλνει πληροφορίες στο στοιχείο Edge Gateway για το άνοιγμα μιας νέας περιόδου λειτουργίας SSH.
- Η υπηρεσία εγγραφής SSH ζητά από τον διακομιστή Mediation Controller τις πληροφορίες φιλτραρίσματος δικτύου που πρέπει να εφαρμοστούν στην περίοδο λειτουργίας SSH.
- Η υπηρεσία Mediation Controller απαντά με μια λίστα επιτρεπόμενων δικτύων.
- Η υπηρεσία εγγραφής SSH δημιουργεί στη συνέχεια τη σύνδεση με τον διακομιστή SSH προορισμού.
- Η σύνδεση με τον διακομιστή SSH πυροδοτεί την ακολουθία δημιουργίας της περιόδου λειτουργίας και, επομένως, τη διέλευση από τις λειτουργικές μονάδες PAM που έχουν αντιστοιχιστεί στο
sshd. - Η λειτουργική μονάδα PAM
pam_clr_filterτου παράγοντα Linux στέλνει το όνομα χρήστη στην υπηρεσίαcleanroom-filter, η οποία στη συνέχεια δημιουργεί μια νέα αλυσίδα iptables με το όνομαclr-LOGIN, όπου το LOGIN αντικαθίσταται από το όνομα χρήστη που λήφθηκε. - Μετά τη δημιουργία της αλυσίδας iptables, η υπηρεσία
cleanroom-filterδημιουργεί ένα τυχαίο διακριτικό και το στέλνει στη λειτουργική μονάδα PAMpam_clr_filter. Η τελευταία προσθέτει αυτό το διακριτικό στη μεταβλητή περιβάλλοντοςCLR-IDτου χρήστη. - Η υπηρεσία εγγραφής SSH στέλνει, μέσω του εκτελέσιμου αρχείου
/usr/local/ipdiva/bin/cleanroom-netfiltersession.py, τη λίστα των δικτύων που πρέπει να επιτραπούν στην υπηρεσίαcleanroom-filter. Στη συνέχεια, η υπηρεσία δημιουργεί έναν κανόνα iptablesOUTPUTγια την ανακατεύθυνση όλης της κίνησης του χρήστη, που αναγνωρίζεται μέσω του UID, προς την αλυσίδα iptables που δημιουργήθηκε στο βήμα 6. Όλες οι ροές που πρέπει να επιτραπούν για τον χρήστη προστίθενται στην αλυσίδα iptables. - Όταν προκαλείται ο τερματισμός της περιόδου λειτουργίας SSH, η πληροφορία αποστέλλεται στην υπηρεσία εγγραφής SSH του στοιχείου Edge Gateway.
- Η υπηρεσία
cleanroom-filterεντοπίζει τον τερματισμό της περιόδου λειτουργίας του χρήστη και καθαρίζει τους κανόνες iptables που προστέθηκαν: διαγράφει την οδηγίαOUTPUTπου ανακατευθύνει την κίνηση του χρήστη προς μια αλυσίδα iptables και διαγράφει την ίδια την αλυσίδα. - Μόλις το στοιχείο Edge Gateway λάβει τον τερματισμό της περιόδου λειτουργίας SSH, προωθεί αυτή την πληροφορία στην υπηρεσία Mediation Controller.
Εγκατάσταση¶
Απαιτούμενες άδειες root
Για την εγκατάσταση του παράγοντα απαιτούνται προνόμια root.
Το πακέτο .deb ή .rpm μπορεί να ληφθεί από την κονσόλα διαχείρισης:
- Μεταβείτε στον χώρο εργασίας «Configurations» χρησιμοποιώντας το κουμπί που βρίσκεται επάνω αριστερά:

- Ανοίξτε το πλακίδιο «Toolbox»

- Επιλέξτε το πρόγραμμα εγκατάστασης που αντιστοιχεί στο επιθυμητό λειτουργικό σύστημα στην πρώτη καρτέλα, «Integration Tools»

Μόλις ανακτήσετε το πακέτο, στείλτε το στον διακομιστή Linux, στον κατάλογο /tmp/. Στη συνέχεια, ακολουθήστε τις οδηγίες εγκατάστασης για το λειτουργικό σας σύστημα:
Εκτελέστε τις ακόλουθες εντολές με τις κατάλληλες άδειες root:
1 2 | |
Η δεύτερη εντολή αυτοματοποιεί την προσθήκη δύο γραμμών στο αρχείο /etc/pam.d/sshd, αλλά η ενέργεια αυτή μπορεί επίσης να εκτελεστεί χειροκίνητα:
27 28 29 30 31 32 33 34 35 36 37 | |
Εκτελέστε τις ακόλουθες εντολές με άδειες root:
1 2 | |
Η δεύτερη εντολή αυτοματοποιεί την προσθήκη δύο γραμμών στο αρχείο /etc/pam.d/sshd, αλλά η ενέργεια αυτή μπορεί επίσης να εκτελεστεί χειροκίνητα:
11 12 13 14 15 16 17 | |