PAM - Pluggable Authentication Modules
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
PAM (Pluggable Authentication Modules) λειτουργεί ως μηχανισμός ασφαλείας που επαληθεύει την ταυτότητα των χρηστών που προσπαθούν να αποκτήσουν πρόσβαση σε υπηρεσίες υπολογιστή, ελέγχοντας την πρόσβασή τους με βάση διάφορα κριτήρια. Είναι παρόμοιο με έναν ψηφιακό φύλακα, διασφαλίζοντας ότι μόνο οι εξουσιοδοτημένοι χρήστες μπορούν να αλληλεπιδρούν με συγκεκριμένες υπηρεσίες, ενώ ενδεχομένως περιορίζουν τη χρήση τους για να αποτρέψουν υπερφορτώσεις του συστήματος.
Τα συστήματα Solaris και UNIX συνήθως χρησιμοποιούν ένα κεντρικό αρχείο ρύθμισης που βρίσκεται στο /etc/pam.conf
.
Τα συστήματα Linux προτιμούν μια προσέγγιση καταλόγου, αποθηκεύοντας ρυθμίσεις συγκεκριμένων υπηρεσιών εντός του /etc/pam.d
. Για παράδειγμα, το αρχείο ρύθμισης για την υπηρεσία σύνδεσης βρίσκεται στο /etc/pam.d/login
.
Ένα παράδειγμα ρύθμισης PAM για την υπηρεσία σύνδεσης μπορεί να μοιάζει με αυτό:
Αυτοί οι τομείς, ή ομάδες διαχείρισης, περιλαμβάνουν auth, account, password, και session, καθένας υπεύθυνος για διαφορετικές πτυχές της διαδικασίας αυθεντικοποίησης και διαχείρισης συνεδριών:
Auth: Επικυρώνει την ταυτότητα του χρήστη, συχνά ζητώντας έναν κωδικό πρόσβασης.
Account: Διαχειρίζεται την επαλήθευση λογαριασμού, ελέγχοντας συνθήκες όπως η συμμετοχή σε ομάδες ή περιορισμοί ώρας.
Password: Διαχειρίζεται τις ενημερώσεις κωδικών πρόσβασης, συμπεριλαμβανομένων ελέγχων πολυπλοκότητας ή πρόληψης επιθέσεων λεξικού.
Session: Διαχειρίζεται ενέργειες κατά την έναρξη ή το τέλος μιας συνεδρίας υπηρεσίας, όπως η τοποθέτηση καταλόγων ή η ρύθμιση περιορισμών πόρων.
Οι έλεγχοι καθορίζουν την αντίδραση της μονάδας σε επιτυχία ή αποτυχία, επηρεάζοντας τη συνολική διαδικασία αυθεντικοποίησης. Αυτοί περιλαμβάνουν:
Required: Η αποτυχία μιας απαιτούμενης μονάδας οδηγεί σε τελική αποτυχία, αλλά μόνο μετά τον έλεγχο όλων των επόμενων μονάδων.
Requisite: Άμεσος τερματισμός της διαδικασίας σε περίπτωση αποτυχίας.
Sufficient: Η επιτυχία παρακάμπτει τους υπόλοιπους ελέγχους της ίδιας ομάδας εκτός αν αποτύχει μια επόμενη μονάδα.
Optional: Προκαλεί αποτυχία μόνο αν είναι η μοναδική μονάδα στη στοίβα.
Σε μια ρύθμιση με πολλαπλές μονάδες auth, η διαδικασία ακολουθεί μια αυστηρή σειρά. Αν η μονάδα pam_securetty
βρει ότι ο τερματικός σταθμός σύνδεσης δεν είναι εξουσιοδοτημένος, οι συνδέσεις root αποκλείονται, ωστόσο όλες οι μονάδες εξακολουθούν να επεξεργάζονται λόγω της κατάστασης "required". Η pam_env
ρυθμίζει τις μεταβλητές περιβάλλοντος, ενδεχομένως βοηθώντας στην εμπειρία του χρήστη. Οι μονάδες pam_ldap
και pam_unix
συνεργάζονται για να αυθεντικοποιήσουν τον χρήστη, με την pam_unix
να προσπαθεί να χρησιμοποιήσει έναν προηγουμένως παρεχόμενο κωδικό πρόσβασης, ενισχύοντας την αποδοτικότητα και την ευελιξία στις μεθόδους αυθεντικοποίησης.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)