Αυτό το άρθρο είναι μέρος της σειράς Apache Server Guide:

  • Ασφάλεια Apache στο Ubuntu - Μέρος 1
  • Ασφάλεια του Apache στο Ubuntu - Μέρος 2
  • Βελτιστοποίηση της απόδοσης του Apache - Μέρος 1
  • Βελτιστοποίηση της απόδοσης του Apache - Μέρος 2
  • Ρύθμιση του βασισμένου σε όνομα Apache του
  • Εγκατάσταση IP και Port-Based Virtualhost στο Apache
  • Πώς να ρυθμίσετε τον Κατάλογο Ιστού Προστατέψτε τον Κωδικό στο Apache
  • Εγκατάσταση του Apache Server με υποστήριξη SSL στο Ubuntu
  • Ρύθμιση του Fail2ban για την προστασία του Apache από επίθεση DDOS
  • Πώς να ρυθμίσετε το Webdav με Apache στο Ubuntu
  • Παρακολούθηση του διακομιστή Web Apache χρησιμοποιώντας το Mod_status
  • Πώς να προστατεύσετε το DDoS με Mod_evasive στο Apache Server

Το SSL είναι επίσης γνωστό ως πρωτόκολλο Secure Socket Layer. Δημιουργήθηκε από το Netscape για την εξασφάλιση συναλλαγών μεταξύ διακομιστών ιστού και προγραμμάτων περιήγησης. Το πρωτόκολλο SSL χρησιμοποιεί μια Αρχή Πιστοποίησης (CA) για να προσδιορίσει ένα άκρο ή και τα δύο άκρα των συναλλαγών. Όλες οι επικοινωνίες που αποστέλλονται μέσω κανονικών συνδέσεων HTTP είναι σε απλό κείμενο και οποιοσδήποτε χάκερ μπορεί να αποκτήσει πρόσβαση στη σύνδεση μεταξύ του προγράμματος περιήγησής σας και του ιστότοπου και να διαβάσει ευαίσθητες πληροφορίες όπως στοιχεία πιστωτικής κάρτας ή τον αριθμό κοινωνικής ασφάλισής σας. Το SSL χρησιμοποιείται για την κρυπτογράφηση των ευαίσθητων πληροφοριών που αποστέλλονται μέσω του Διαδικτύου, οπότε οι πληροφορίες καθίστανται δυσανάγνωστες σε όλους.

Υπογεγραμμένο πιστοποιητικό έναντι εμπορικού πιστοποιητικού

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

Το εμπορικό πιστοποιητικό είναι ένα εξουσιοδοτημένο πιστοποιητικό που εκδίδεται από μια αξιόπιστη αρχή πιστοποίησης. Το υπογεγραμμένο πιστοποιητικό χρησιμοποιείται κυρίως σε περιβάλλον παραγωγής.

Σε αυτό το άρθρο θα σας εξηγήσω πώς να δημιουργήσετε ένα αυτοσχέδιο πιστοποιητικό SSL για το Apache το οποίο θα σας επιτρέψει να κρυπτογραφήσετε την κυκλοφορία στον κεντρικό υπολογιστή σας Apache.

Ρύθμιση του Apache για υποστήριξη SSL

Από προεπιλογή, το Openssl είναι εγκατεστημένο στο Ubuntu 14.04. Αυτή η ενότητα παρέχει υποστήριξη SSL στο Apache. Είναι απενεργοποιημένη από προεπιλογή, επομένως πρέπει πρώτα να ενεργοποιήσετε τη μονάδα SSL.

Μπορείτε να ενεργοποιήσετε τη μονάδα SSL εκτελώντας:

 sudo a2enmod ssl 

Αφού ενεργοποιήσετε το SSL, θα πρέπει να κάνετε επανεκκίνηση της υπηρεσίας Apache για να αναγνωριστεί η αλλαγή.

 sudo υπηρεσία apache2 επανεκκίνηση 

Δημιουργήστε ένα αυτοδύναμο πιστοποιητικό

Το πρώτο βήμα είναι η δημιουργία πιστοποιητικού. Για λόγους δοκιμής ή για μικρά δίκτυα LAN, πρέπει να δημιουργήσετε ένα ιδιωτικό κλειδί (ca.key) με κρυπτογράφηση 2048 bit.

Για να το κάνετε αυτό, εκτελέστε:

 sudo openssl genrsa -out ca.key 2048 

Στη συνέχεια, δημιουργήστε ένα αίτημα υπογραφής πιστοποιητικού (ca.csr) χρησιμοποιώντας την ακόλουθη εντολή:

 sudo openssl req -nodes -για νέο κλειδί ca.key -out ca.csr 

Τέλος, δημιουργήστε ένα αυτογραφόμενο πιστοποιητικό (ca.crt) τύπου X509 που ισχύει για 365 κλειδιά.

 sudo openssl x509 -req -μέρες 365 -σε ca.csr -signkey ca.key -out ca.crt 

Δημιουργήστε έναν κατάλογο για να τοποθετήσετε τα αρχεία πιστοποιητικών που έχουμε δημιουργήσει.

 sudo mkdir / etc / apache2 / ssl 

Στη συνέχεια, αντιγράψτε όλα τα αρχεία πιστοποιητικών στον κατάλογο "/ etc / apache2 / ssl".

 sudo cp ca.crt ca.key ca.csr / etc / apache2 / ssl / 

Ρύθμιση του Apache για χρήση του πιστοποιητικού SSL:

Τώρα όλα τα πιστοποιητικά είναι έτοιμα. Το επόμενο πράγμα που πρέπει να κάνετε είναι να ρυθμίσετε το Apache για να εμφανιστεί το νέο πιστοποιητικό.

Για αυτό, πρέπει να ενεργοποιήσετε την υποστήριξη SSL στο προεπιλεγμένο αρχείο εικονικού κεντρικού υπολογιστή του Apache που βρίσκεται στον κατάλογο /etc/apache2/sites-enable/ .

Μπορείτε να το κάνετε αυτό με την επεξεργασία του προεπιλεγμένου αρχείου ρυθμίσεων εικονικού κεντρικού υπολογιστή του Apache.

 sudo nano /etc/apache2/sites-enable/000-default.conf 

Σχολιάστε όλες τις γραμμές προσθέτοντας ένα "#" μπροστά από κάθε γραμμή και προσθέστε τις ακόλουθες γραμμές:

 ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log συνδυασμός SSLEngine σε SSLCertificateFile /etc/apache2/ssl/ca.crt SSLCertificateKeyFile / etc / apache2 / ssl /ca.key 

Αποθηκεύστε και κλείστε το αρχείο και κάντε επανεκκίνηση του Apache.

 sudo /etc/init.d/apache2 επανεκκίνηση 

Αυτό θα επιτρέψει στον νέο σας εικονικό κεντρικό υπολογιστή που θα εξυπηρετήσει κρυπτογραφημένο περιεχόμενο χρησιμοποιώντας το πιστοποιητικό SSL που δημιουργήσατε.

Δοκιμή διακομιστή Apache (HTTPS):

Για να επαληθεύσετε τον διακομιστή ιστού Apache (HTTPS), ανοίξτε το πρόγραμμα περιήγησης ιστού και πληκτρολογήστε τη διεύθυνση IP του διακομιστή σας (με το "https: //", για παράδειγμα: "https://192.168.1.227").

Θα πρέπει να εμφανιστεί ένα σφάλμα στο πρόγραμμα περιήγησης και πρέπει να αποδεχθείτε με μη αυτόματο τρόπο το πιστοποιητικό. Το μήνυμα σφάλματος εμφανίζεται επειδή χρησιμοποιούμε ένα πιστοποιητικό που έχει υπογράψει αυτόματα αντί για πιστοποιητικό που έχει υπογραφεί από μια αρχή πιστοποιητικού που εμπιστεύεται το πρόγραμμα περιήγησης και το πρόγραμμα περιήγησης δεν είναι σε θέση να επαληθεύσει την ταυτότητα του διακομιστή με τον οποίο προσπαθείτε να συνδεθείτε. Αφού προσθέσετε μια εξαίρεση στην επαλήθευση ταυτότητας του προγράμματος περιήγησης, θα πρέπει να δείτε μια δοκιμαστική σελίδα του Ubuntu για τον πρόσφατα ασφαλή ιστότοπό σας.

συμπέρασμα

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