Ρύθμιση παραμέτρων Apache με αυτο-υπογεγραμμένο πιστοποιητικό TLS/SSL στο Ubuntu 16.04

Το SSL και το διάδοχό του TLS (Secure Sockets Layer / Transport Layer Security) προσθέτουν ένα επίπεδο κρυπτογράφησης μεταξύ του πελάτη και του διακομιστή. Χωρίς αυτήν την τεχνολογία, τα δεδομένα αποστέλλονται στον διακομιστή σε απλό κείμενο, επιτρέποντας σε τρίτους να διαβάσουν όλες τις πληροφορίες που αποστέλλονται και λαμβάνονται από τον διακομιστή σας.

Αυτό το σεμινάριο θα σας διδάξει πώς να δημιουργήσετε ένα πιστοποιητικό SSL/TLS και να το ενεργοποιήσετε στο Apache 2.4 στο Ubuntu 16.04. Υποθέτω ότι το Apache είναι ήδη ρυθμισμένο και τρέχει. Εάν θέλετε να μάθετε πώς να εγκαταστήσετε μια στοίβα LAMP, ανατρέξτε σε αυτό το έγγραφο Vultr .

Προσοχή

SSL/TLS certificates are normally generated by a trusted CA (certificate authority). By generating it yourself, you will be the signer, meaning the browser won't be able to verify whether the identity of the certificate should be trusted, and it will warn the user. Although it is possible to bypass this alert, public-facing sites should be using a certificate signed by a trusted CA. Let's encrypt is a CA that offers certificates for free. You can learn how to install their certificate in Apache and Ubuntu 16.04 here.

For internal applications, using a self-signed certificate might be valid, especially if you don't have a domain name.


Βήμα 1: Δημιουργία πιστοποιητικού

  1. Αρχικά, ας δημιουργήσουμε ένα μέρος για την αποθήκευση του αρχείου.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Δημιουργήστε CSR και ιδιωτικό κλειδί.

    openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
    

    Θα ζητήσει πληροφορίες για το αίτημα πιστοποιητικού. Συμπληρώστε με τις κατάλληλες πληροφορίες.

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: FL
    Locality Name (eg, city) []: Miami
    Organization Name (eg, company) [My Company]: My Company
    Organizational Unit Name (eg, section) []:
    

    Το κοινό όνομα πρέπει να είναι το όνομα τομέα σας ή η διεύθυνση IP του διακομιστή. Επίσης, συμπληρώστε το email σας.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Τώρα, μετακινήστε το πιστοποιητικό στον φάκελο διαμόρφωσης του Apache.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Το πιστοποιητικό είναι έτοιμο! Στη συνέχεια, θα προετοιμάσουμε το Apache για να εργαστεί με το πιστοποιητικό.

Βήμα 2: Διαμόρφωση τείχους προστασίας

  1. Πρέπει να βεβαιωθούμε ότι η θύρα TCP 443 είναι ανοιχτή. Αυτή η θύρα χρησιμοποιείται σε συνδέσεις SSL αντί για τη θύρα 80. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το UFW.

  2. Βεβαιωθείτε ότι το UFW είναι ενεργοποιημένο.

    sudo ufw enable
    
  3. Τώρα επιτρέψτε τις προκαθορισμένες ρυθμίσεις Apache για το τείχος προστασίας.

    sudo ufw allow 'Apache Full'
    
  4. Πληκτρολογώντας " sudo ufw status", μπορείτε να δείτε μια λίστα με τους τρέχοντες κανόνες. Η διαμόρφωσή σας θα πρέπει να μοιάζει με αυτό:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Θα πρέπει επίσης να επιτρέψετε το OpenSSH εδώ για μελλοντικές συνδέσεις.

    sudo ufw allow 'OpenSSH'
    

Βήμα 3: Διαμόρφωση εικονικού κεντρικού υπολογιστή Apache

  1. Μεταβείτε στον προεπιλεγμένο κατάλογο διαμόρφωσης τοποθεσίας Apache.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Αυτό το αρχείο λέει στον διακομιστή πού να αναζητήσει το πιστοποιητικό SSL. Με την αφαίρεση των σχολίων, θα πρέπει να μοιάζει με την ακόλουθη διαμόρφωση.

    <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www/html
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       SSLEngine on
    
       SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
       <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
       </Directory>
    
     </VirtualHost>
    </IfModule>
    
  3. Επεξεργαστείτε αυτήν τη γραμμή:

    ServerAdmin email@example.net
    
  4. Προσθέστε αυτό ακριβώς κάτω από τη ServerAdminγραμμή:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Τώρα, επεξεργαστείτε αυτές τις γραμμές με τη θέση του πιστοποιητικού μας:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Το τελικό μας αρχείο θα πρέπει να μοιάζει με αυτό:

    <IfModule mod_ssl.c>
     <VirtualHost _default_:443>
      ServerAdmin email@example.net
      ServerName 203.0.113.122
    
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      SSLEngine on
    
      SSLCertificateFile    /etc/apache2/ssl/apache.crt
      SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
       SSLOptions +StdEnvVars
      </Directory>
    
     </VirtualHost>
    </IfModule>
    
  7. Αποθηκεύστε και κλείστε το αρχείο.

Βήμα 4: Ενεργοποίηση λειτουργικής μονάδας Apache SSL

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

    sudo a2enmod ssl
    
  2. Τώρα ενεργοποιήστε τον ιστότοπο που μόλις επεξεργαστήκαμε:

    sudo a2ensite default-ssl.conf
    
  3. Επανεκκινήστε τον Apache:

    sudo service apache2 restart
    
  4. Ας αποκτήσουμε πρόσβαση στον νέο ασφαλή ιστότοπο! Ανοίξτε το στο πρόγραμμα περιήγησής σας (βεβαιωθείτε ότι έχετε πληκτρολογήσει https:// ).

    https://YOUR_SERVER_IP
    

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

Βήμα 5: Ανακατεύθυνση όλης της κίνησης HTTP σε HTTPS (Προαιρετικό)

  1. Ανοίξτε το προεπιλεγμένο αρχείο εικονικού κεντρικού υπολογιστή Apache:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Προσθέστε αυτήν τη γραμμή μέσα στην <VirtualHost *:80>ετικέτα:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Επαναφόρτωση διαμόρφωσης Apache:

    sudo service apache2 reload
    

Όλη η επισκεψιμότητα του ιστότοπου θα ανακατευθύνεται πλέον αυτόματα στο HTTPS.

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

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

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

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

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα