Εγκαταστήστε ένα πιστοποιητικό SSL στο Apache Mod_SSL

Πώς να εγκαταστήσετε ένα SSL /TLS Πιστοποιητικό στο Apache Mod_SSL

Διαμόρφωση Apache με SSL

Οι ακόλουθες οδηγίες προϋποθέτουν ότι θέλετε να εκτελέσετε έναν ασφαλή διακομιστή (στη θύρα 443) και έναν κανονικό διακομιστή (στη θύρα 80). Πρώτον, πρέπει να ρυθμίσετε τον διακομιστή ώστε να ακούει και στις δύο θύρες. Είτε επεξεργαστείτε /etc/apache2/ports.conf (στο Debian, αυτό περιλαμβάνεται στο apache2.confή επεξεργαστείτε /etc/apache2/apache2.conf απευθείας για να συμπεριλάβετε τις γραμμές:

Ακούστε 80 Ακούστε 443

Στη συνέχεια, επεξεργαστείτε /etc/apache2/sites-enabled/yoursite για να χρησιμοποιήσετε τις ρυθμίσεις SSL. Ο διαχωρισμός των τακτικών και ασφαλών ρυθμίσεων διακομιστή με τη χρήση VirtualHosts είναι η ευκολότερη επιλογή όσον αφορά τη συντήρηση. Οποιαδήποτε διαμόρφωση εκτός των ενοτήτων VirtualHosts (όπως η ρύθμιση του ServerAdmin) θα εφαρμοστεί και στα δύο (και σε οποιαδήποτε άλλη) VirtualHosts.

Σημείωση: Ξεκινώντας με το Apache 2.4.8, η πρακτική διατήρησης του πιστοποιητικού διακομιστή και της ενδιάμεσης αλυσίδας πιστοποιητικών σε ξεχωριστά αρχεία έχει καταργηθεί. Τόσο οι τρέχουσες όσο και οι παλαιότερες μέθοδοι περιγράφονται λεπτομερώς στις παρακάτω καρτέλες με δυνατότητα κλικ.
Apache 2.4.8 ή μεγαλύτερηApache 2.4.7 ή χαμηλότερη

Οι εκδόσεις του Apache 2.4.8 και άνω αναμένουν ότι το πιστοποιητικό διακομιστή σας θα συνδυαστεί με τυχόν ενδιάμεσα πιστοποιητικά σε ένα αρχείο. Για να κατεβάσετε ένα αλυσοδεμένο αρχείο από το SSL.com, επιλέξτε το Nginx σύνδεσμος λήψης στον λογαριασμό της πύλης σας:

nginx

Εναλλακτικά, μπορείτε να συνδυάσετε το υπάρχον πιστοποιητικό και τα ενδιάμεσα αρχεία σας με μια εντολή όπως η ακόλουθη:

$ cat /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

Προσθέστε την ακόλουθη ενότητα στο αρχείο ρυθμίσεων:

# ================================================= # SSL /TLS ρυθμίσεις # ================================================ = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine στο SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key

Μερικές σημειώσεις σχετικά με αυτήν τη διαμόρφωση:

  • SSLEngine πρέπει να είναι ενεργοποιημένη έτσι ώστε ο διακομιστής να χρησιμοποιεί SSL.
  • DocumentRoot ορίζει τον ριζικό κατάλογο για αυτόν τον εικονικό κεντρικό υπολογιστή. Αυτό σημαίνει ότι μπορείτε να διαχωρίσετε το ασφαλές περιεχόμενο εντελώς από το κανονικό περιεχόμενο.
  • SSLCertificateFile θα πρέπει να οριστεί στη θέση όπου τοποθετείτε το αρχείο με το πιστοποιητικό διακομιστή και την ενδιάμεση αλυσίδα.
  • SSLCertificateKeyFile θα πρέπει να οριστεί στη θέση όπου τοποθετείτε το αρχείο ιδιωτικού κλειδιού.

Προσθέστε την ακόλουθη ενότητα στο αρχείο ρυθμίσεων:

# ================================================= # SSL /TLS ρυθμίσεις # ================================================ = ΌνομαVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine on SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / ssl / etc / ssl / κ.λπ. πελάτης.crt

Μερικές σημειώσεις σχετικά με αυτήν τη διαμόρφωση:

  • SSLEngine πρέπει να είναι ενεργοποιημένη έτσι ώστε ο διακομιστής να χρησιμοποιεί SSL.
  • DocumentRoot ορίζει τον ριζικό κατάλογο για αυτόν τον εικονικό κεντρικό υπολογιστή. Αυτό σημαίνει ότι μπορείτε να διαχωρίσετε το ασφαλές περιεχόμενο εντελώς από το κανονικό περιεχόμενο.
  • SSLCertificateFile, SSLCertificateChainFile, και SSLCertificateKeyFile θα πρέπει να οριστεί στις τοποθεσίες όπου τοποθετείτε το πιστοποιητικό σας, τα αρχεία ενδιάμεσου και ιδιωτικού κλειδιού, αντίστοιχα.

Για να εκτελέσετε τον κανονικό διακομιστή στη θύρα 80, προσθέστε την ακόλουθη ενότητα στο αρχείο διαμόρφωσης:

NameVirtualHost *: 80 DocumentRoot "/ var / www / yoursite" # Διαμόρφωση καταλόγου για συγκεκριμένους κεντρικούς υπολογιστές, επιλογές κ.λπ. # Οι περισσότερες από αυτές τις επιλογές είναι πιθανό να οριστούν εκτός των ενοτήτων # VirtualHosts.

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

Δοκιμές

Δημιουργήστε μια βασική σελίδα index.html όπου κι αν βρίσκεται ο ριζικός κατάλογος του διακομιστή ιστού σας, εάν δεν έχετε ήδη περιεχόμενο εκεί.

Στη συνέχεια, τοποθετήστε το πρόγραμμα περιήγησης ιστού στο https://www.yoursite.com. Θα πρέπει να δείτε μια σύνδεση SSL να ανοίγει και να παραδίδεται η σελίδα. Εάν χρησιμοποιείτε ένα αυτο-υπογεγραμμένο πιστοποιητικό, το πρόγραμμα περιήγησής σας θα εμφανίσει μια ειδοποίηση που σας προειδοποιεί ότι δεν είναι δυνατή η επαλήθευση της ταυτότητας του διακομιστή. Μπορείτε να επιλέξετε να δείτε και να αποδεχτείτε το πιστοποιητικό. Εάν χρησιμοποιείτε εξωτερικό πιστοποιητικό, όλα θα πρέπει να συμβούν χωρίς παρέμβαση.

Βεβαιωθείτε επίσης ότι δεν έχετε πρόσβαση στο προστατευμένο περιεχόμενο χρησιμοποιώντας το http: //. Εάν προσπαθήσετε, θα λάβετε ένα μήνυμα σφάλματος.

Αντιμετώπιση προβλημάτων

Εάν δεν λειτουργεί όπως αναμένεται, ελέγξτε πρώτα ότι ο διακομιστής σας λειτουργεί πραγματικά χρησιμοποιώντας ps -a | grep apache. Εάν αυτό δεν επιστρέψει τίποτα, δοκιμάστε να το επανεκκινήσετε και ελέγξτε για μηνύματα σφάλματος στο τερματικό.

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

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

Εάν χρησιμοποιείτε και έναν κανονικό διακομιστή ιστού στη θύρα 80, δοκιμάστε να ανακτήσετε μια δοκιμαστική σελίδα μέσω http: // αντί https: // για να προσδιορίσετε αν το πρόβλημα είναι με τον διακομιστή ιστού ή με τη σύνδεση SSL. Σημειώστε ότι στην παραπάνω ρύθμιση, ο ριζικός κατάλογος του διακομιστή ιστού είναι διαφορετικός για τα http: // και https: //, επομένως δεν θα έχετε (ή δεν πρέπει!) Να έχετε πρόσβαση στο ίδιο περιεχόμενο. Εάν, ωστόσο, η δοκιμαστική σελίδα σας στον κατάλογο ρίζας http: // λειτουργεί καλά και η σελίδα δοκιμής στον ριζικό κατάλογο https: // δεν λειτουργεί, τότε αυτό μπορεί να σας βοηθήσει να εντοπίσετε το πρόβλημα.

Εάν το πρόβλημα είναι η σύνδεση SSL, ένα χρήσιμο εργαλείο είναι s_client, το οποίο είναι ένα διαγνωστικό εργαλείο για την αντιμετώπιση προβλημάτων TLS/ SSL συνδέσεις. Η βασική χρήση είναι: /usr/bin/openssl s_client -connect localhost:443. Υπάρχουν επίσης πολλές άλλες επιλογές, για τις οποίες μπορείτε να ελέγξετε την τεκμηρίωση. Εάν λάβετε μηνύματα σφάλματος, αυτό θα σας βοηθήσει να εντοπίσετε το πρόβλημα.

Σας ευχαριστούμε που επιλέξατε το SSL.com! Εάν έχετε απορίες, επικοινωνήστε μαζί μας μέσω email στο Support@SSL.com, κλήση 1-877-SSL-SECUREή απλώς κάντε κλικ στο σύνδεσμο συνομιλίας στην κάτω δεξιά γωνία αυτής της σελίδας.

Μείνετε ενημερωμένοι και ασφαλείς

SSL.com είναι παγκόσμιος ηγέτης στον τομέα της κυβερνοασφάλειας, PKI και ψηφιακά πιστοποιητικά. Εγγραφείτε για να λαμβάνετε τα πιο πρόσφατα νέα του κλάδου, συμβουλές και ανακοινώσεις προϊόντων από SSL.com.

Θα θέλαμε τα σχόλιά σας

Συμμετάσχετε στην έρευνά μας και πείτε μας τις σκέψεις σας για την πρόσφατη αγορά σας.