apache web server

apache: authorization και authentication

Όσο βρισκόμαστε όλο και περισσότερο online, τόσο περισσότερο εξαρτώμεθα από το internet, συνηθίζουμε, καλομαθαίνουμε θα λέγαμε καλύτερα, να έχουμε τα δεδομένα μας πάντα και παντού. Η εξάρτηση αυτή συχνά φέρνει ερωτήματα για την ιδιωτικότητα (privacy), την ασφάλεια (security), τα δικαιώματα (privileges – ως αποτέλεσμα της εκχώρησης του authorization) κλπ. Και μια που η συνδεσιμότητά μας είναι συνυφασμένη με τους web server, θα δείξουμε πως ο δημοφιλέστερος από αυτούς τακτοποιεί την ταυτοποίηση και την εξουσιοδότηση των χρηστών.

Στο online manual του httpd αποσαφηνίζονται οι έννοιες authentication και authorization, σε ελεύθερη και εν τάχει μετάφραση:

Authentication είναι κάθε διαδικασία που επαληθεύει ότι κάποιος είναι αυτό που δηλώνει.

Παραθέτουμε και την αγγλική γιατί μάλλον είναι κομψότερη:

Authentication is any process by which you verify that someone is who they claim they are.

Αντίστοιχα για το authorization:

Authorization is any process by which someone is allowed to be where they want to go, or to have information that they want to have.

Authorization ονομάζεται κάθε διαδικασία που επιτρέπει σε κάποιον να είναι εκεί που θέλει να πάει, ή που διαθέτει την πληροφορία που κάποιος θέλει να έχει.

Αρκετά με τη θεωρία. Όπως όλες σχεδόν οι έξτρα λειτουργίες του httpd, για την αυθεντικοποίηση και τον έλεγχο πρόσβασης υπάρχουν τα κατάλληλα module, αναλόγως με το τι θέλετε να κάνετε. Αν για παράδειγμα οι χρήστες ταυτοποιούνται σε ldap server, θα χρειαστείτε το mod_authnz_ldap κοκ. Στο παρόν θα δείξουμε απλή προστασία με password.

Θα χρησιμοποιήσουμε το htpasswd που έρχεται με την εγκατάσταση του apache.

Ανάλογα που έχει εγκατασταθεί – αν δεν είστε πολύ τακτικοί εντοπίστε το με
find -name
και καλέστε το για να δημιουργήσετε το αρχείο με το password του jack
htpasswd -c passfile jack

Δείξτε προσοχή στο switch -c. Χρησιμοποιήστε το για να δημιουργήσετε νέο αρχείο με password. Αν απλά θέλετε να προσθέσετε νέο χρήστη σε υφιστάμενο αρχείο, παραλλείψτε το switch.
htpasswd passfile jack

Θυμηθείτε να μεταφέρετε το passfile σε μέρος προσβάσιμο π.χ. στο /etc/apache/conf/

Δημιουργήστε ένα .htaccess αρχείο στο directory που θέλετε να προστατέψετε:


AuthType Basic
AuthName "sos folder"
AuthBasicProvider file
AuthUserFile /etc/apache/passfile
Require user jack

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


Comments

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *