Ας ασφαλίσουμε τον Apache με πιστοποιητικό SSL/TLS.
Μόλις εφαρμοστεί το πιστοποιητικό, ο διαμορφωμένος τομέας/IP θα είναι προσβάσιμος μέσω HTTPS.
Ας το ξεκινήσουμε.
Σε υψηλό επίπεδο, θα κάνουμε τα εξής.
- Μεταγλώττιση του Apache HTTP 2.4.5 με μονάδα SSL
- Λάβετε πιστοποιητικό SSL
- Ρυθμίστε τις παραμέτρους του Apache για υποστήριξη SSL
Πίνακας περιεχομένων
Εγκαταστήστε το Apache με SSL από την πηγή
Για να ρυθμίσετε το SSL, το Apache HTTP πρέπει να μεταγλωττιστεί με mod_ssl. Θα χρησιμοποιήσω το CentOS 7 VM από Ψηφιακός Ωκεανός για να το αποδείξει αυτό.
- Συνδεθείτε στον διακομιστή Linux με root και κατεβάστε την πιο πρόσφατη έκδοση του Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
Σημείωση: μπορείτε ελέγξτε εδώ για την πιο πρόσφατη έκδοση.
- Εξαγωγή με εντολή gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
- Θα έχετε έναν νέο φάκελο “httpd-2.4.25”
- Πηγαίνετε μέσα και εκτελέστε την ακόλουθη εντολή διαμόρφωσης
./configure --enable-ssl –-enable-so
Σημείωση: Εάν το κάνετε αυτό σε έναν ολοκαίνουργιο διακομιστή, τότε ενδέχεται να αντιμετωπίσετε ζητήματα που σχετίζονται με το APR, το PCRE, το OpenSSL και μπορείτε να ανατρέξετε στον οδηγό αντιμετώπισης προβλημάτων.
Βεβαιωθείτε ότι δεν λαμβάνετε κανένα σφάλμα από την παραπάνω εντολή ρύθμισης παραμέτρων και στη συνέχεια πρέπει να εγκαταστήσετε με εντολές make.
make make install
Ως συνήθως, βεβαιωθείτε ότι δεν υπάρχουν σφάλματα από τις παραπάνω εντολές. Αυτό καταλήγει στο συμπέρασμα ότι έχετε εγκαταστήσει έναν διακομιστή ιστού Apache με υποστήριξη SSL.
Λήψη πιστοποιητικού SSL
Υπάρχουν πολλοί τρόποι για τη δημιουργία και την υπογραφή του πιστοποιητικού SSL από την αρχή έκδοσης πιστοποιητικών.
Εάν θέλετε να εφαρμόσετε το SSL στον διακομιστή ιστού Intranet, τότε το μεγαλύτερο μέρος του οργανισμού έχει μια εσωτερική ομάδα έκδοσης πιστοποιητικών, επομένως πρέπει να επικοινωνήσετε μαζί τους. Ωστόσο, πρέπει να δημιουργήσετε ένα CSR (Αίτημα υπογραφής πιστοποιητικού) και μπορείτε να το κάνετε χρησιμοποιώντας το OpenSSL.
Ωστόσο, εάν θέλετε να διασφαλίσετε μια διεύθυνση URL που αντιμετωπίζει το Διαδίκτυο, μπορείτε είτε να αγοράσετε ένα πιστοποιητικό από τα VeriSign, GoDaddy, Namecheap, ZeroSSLκ.λπ., ή λάβετε ΔΩΡΕΑΝ πιστοποιητικό από Ας κρυπτογραφήσουμε.
Το Let’s Encrypt είναι ένα έργο συνεργασίας με το Linux Foundation που προσφέρει ΔΩΡΕΑΝ πιστοποιητικό SSL/TLS. Θα χρησιμοποιήσω το Let’s Encrypt για να αποκτήσω ένα πιστοποιητικό για τον τομέα μου – Chandan.io
Υπάρχουν πολλοί τρόποι δημιουργίας ΕΚΕ, αλλά ο πιο εύκολος που βρήκα είναι να χρησιμοποιήσω το “SSL ΔΩΡΕΑΝ” διαδικτυακό εργαλείο.
Εισαγάγετε τη διεύθυνση URL που θέλετε να ασφαλίσετε
Επαληθεύστε την ιδιοκτησία του τομέα με μία από τις μεθόδους που αναφέρονται και πραγματοποιήστε λήψη των αρχείων πιστοποιητικού τομέα σας.
Θα λάβετε τρία αρχεία που θα χρησιμοποιήσουμε στη συνέχεια για τη διαμόρφωση του διακομιστή ιστού Apache.
Μεταφέρετε το αρχείο λήψης στον διακομιστή Web. Θα τα χρειαστούμε σύντομα.
Διαμόρφωση Apache SSL
Και ένα τελευταίο βήμα θα ήταν να ρυθμίσετε τις παραμέτρους του Apache ώστε να μπορεί να εξυπηρετήσει το αίτημα μέσω HTTPS.
- Συνδεθείτε στον διακομιστή ιστού Apache
- Δημιουργήστε αντίγραφο ασφαλείας του αρχείου httpd.conf (προεπιλεγμένη τοποθεσία /usr/local/apache2/conf/)
- Ανοίξτε το αρχείο με τον επεξεργαστή vi και βεβαιωθείτε ότι η ενότητα mod_ssl & httpd-ssl.conf υπάρχει και δεν σχολιάζεται
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf
Θα χρησιμοποιήσουμε το αρχείο httpd-ssl.conf για να διαμορφώσουμε τις λεπτομέρειες του πιστοποιητικού. Υπάρχουν τα ακόλουθα που χρειάζεστε για να διασφαλίσετε ότι υπάρχουν οι σωστές παράμετροι.
Συμβουλή: μπορεί να θέλετε να δημιουργήσετε έναν νέο φάκελο που ονομάζεται “ssl” και να διατηρήσετε όλα τα αρχεία που σχετίζονται με το πιστοποιητικό σε αυτόν.
- Πάρτε ένα αντίγραφο ασφαλείας εάν χρειάζεται και χρησιμοποιήστε το πρόγραμμα επεξεργασίας vi για να τροποποιήσετε το αρχείο.
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt" SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"
Στη συνέχεια, πρέπει να διαμορφώσετε την οδηγία «Όνομα διακομιστή». Συνήθως, είναι το όνομα τομέα/URL σας
ServerName chandan.io
- Αποθηκεύστε το αρχείο και επανεκκινήστε τον διακομιστή Web Apache
cd /usr/local/apache2/bin ./apachectl stop ./apachectl start
Και τέλος, πρέπει να βεβαιωθείτε ότι ο τομέας σας έχει αντιστοιχιστεί στην πρόσφατα διαμορφωμένη IP του διακομιστή ιστού. Μόλις τελειώσετε, προσπαθήστε να αποκτήσετε πρόσβαση στον τομέα σας με HTTPS.
Και όπως μπορείτε να δείτε, το Chandan.io είναι προσβάσιμο μέσω https με το πιστοποιητικό που διαμόρφωσα.
Τα παραπάνω βήματα είναι απαραίτητα για τη ρύθμιση ενός πιστοποιητικού SSL και πρέπει να τροποποιήσετε περαιτέρω το SSL για να σκληρύνει και να ασφαλίσει, κάτι που εξήγησα εδώ. Πριν από τη μετάδοση, μπορεί επίσης να θέλετε να δοκιμάσετε τον διακομιστή ιστού σας SSL/TLS για να βεβαιωθείτε ότι δεν εκτίθεται σε κοινά τρωτά σημεία ασφαλείας.
Ελπίζω ότι αυτό σας δίνει μια ιδέα για το πώς να εφαρμόσετε ένα πιστοποιητικό SSL στον διακομιστή Web Apache σας, ώστε η διεύθυνση URL να είναι προσβάσιμη μέσω HTTPS.
Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;