Ασφαλίστε το WordPress site από επιθέσεις δωρεάν με το Wordfence
Πίνακας περιεχομένων:
- Προϋποθέσεις
- Εγκαταστήστε το Certbot
- Δημιουργήστε ομάδα ισχυρών Dh (Diffie-Hellman)
- Αποκτώντας πιστοποιητικό SSL
- Αυτόματη ανανέωση Ας κρυπτογραφήσουμε το πιστοποιητικό SSL
- συμπέρασμα
Το Let's Encrypt είναι μια ελεύθερη και ανοιχτή αρχή πιστοποίησης που αναπτύχθηκε από την ομάδα έρευνας για την ασφάλεια στο Internet (ISRG). Τα πιστοποιητικά που εκδίδονται από το Let's Encrypt εμπιστεύονται σήμερα σχεδόν όλα τα προγράμματα περιήγησης.
Σε αυτό το σεμινάριο, θα παρέχουμε οδηγίες βήμα προς βήμα σχετικά με τον τρόπο ασφάλειας του Nginx με το Let's Encrypt χρησιμοποιώντας το εργαλείο certbot στο CentOS 7.
Προϋποθέσεις
Βεβαιωθείτε ότι πληρούνται οι ακόλουθες προϋποθέσεις πριν συνεχίσετε με αυτό το σεμινάριο:
- Έχετε ένα όνομα τομέα που δείχνει στον δημόσιο διακομιστή IP σας. Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το
example.com. Έχετε ενεργοποιήσει το χώρο αποθήκευσης EPEL και εγκαταστήσατε το Nginx ακολουθώντας τον τρόπο εγκατάστασης του Nginx στο CentOS 7.
Εγκαταστήστε το Certbot
Το Certbot είναι ένα εύκολο στη χρήση εργαλείο που μπορεί να αυτοματοποιήσει τις εργασίες για την απόκτηση και την ανανέωση του Let's Encrypt SSL certificates και της διαμόρφωσης web servers.
Για να εγκαταστήσετε το πακέτο certbot από το πρόγραμμα αποθεματοποίησης EPEL:
Δημιουργήστε ομάδα ισχυρών Dh (Diffie-Hellman)
Η ανταλλαγή πλήκτρων Diffie-Hellman (DH) είναι μια μέθοδος ασφαλούς ανταλλαγής κρυπτογραφικών κλειδιών πάνω σε ένα μη ασφαλισμένο κανάλι επικοινωνίας.
Δημιουργήστε ένα νέο σύνολο παραμέτρων DH 2048 bit πληκτρολογώντας την ακόλουθη εντολή:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Εάν θέλετε μπορείτε να αλλάξετε το μέγεθος έως και 4096 bits, αλλά στην περίπτωση αυτή, η παραγωγή μπορεί να διαρκέσει περισσότερο από 30 λεπτά, ανάλογα με την εντροπία του συστήματος.
Αποκτώντας πιστοποιητικό SSL
Για να αποκτήσετε ένα πιστοποιητικό SSL για τον τομέα μας, θα χρησιμοποιήσουμε την προσθήκη Webroot, η οποία λειτουργεί δημιουργώντας ένα προσωρινό αρχείο για την επικύρωση του ζητούμενου τομέα στο
${webroot-path}/.well-known/acme-challenge
του
${webroot-path}/.well-known/acme-challenge
. Ο διακομιστής "Ας κρυπτογραφήσει" κάνει αιτήσεις HTTP στο προσωρινό αρχείο για να επιβεβαιώσει ότι ο ζητούμενος τομέας επιλύεται στο διακομιστή όπου τρέχει το certbot.
Για να γίνει πιο απλό, θα χαρτογραφήσουμε όλα τα αιτήματα HTTP για
.well-known/acme-challenge
σε ένα μόνο κατάλογο,
/var/lib/letsencrypt
.
Οι ακόλουθες εντολές θα δημιουργήσουν τον κατάλογο και θα το καταστήσουν εγγράψιμο για τον διακομιστή Nginx.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Για να αποφύγετε την αναπαραγωγή κώδικα δημιουργήστε τα ακόλουθα δύο αποσπάσματα τα οποία πρόκειται να συμπεριλάβουμε σε όλα τα αρχεία μπλοκ διακομιστή Nginx:
sudo mkdir /etc/nginx/snippets
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Το απόσπασμα παραπάνω περιλαμβάνει τα τσιπς που συνιστώνται από το Mozilla, επιτρέπει την OCST συρραφή, το HTTP Strict Transport Security (HSTS) και επιβάλλει ελάχιστες επικεφαλίδες HTTP με εστίαση στην ασφάλεια.
Μόλις δημιουργηθούν τα αποσπάσματα, ανοίξτε το μπλοκ διακομιστή τομέα και συμπεριλάβετε το απόσπασμα του
letsencrypt.conf
όπως φαίνεται παρακάτω:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Επανεκκινήστε τη διαμόρφωση Nginx για να εφαρμοστούν οι αλλαγές:
sudo systemctl reload nginx
Τώρα μπορείτε να εκτελέσετε το Certbot με το plugin webroot και να αποκτήσετε τα αρχεία πιστοποιητικών SSL για τον τομέα σας εκδίδοντας:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Εάν το πιστοποιητικό SSL έχει ληφθεί με επιτυχία, η certbot θα εκτυπώσει το ακόλουθο μήνυμα:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-06-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Τώρα που έχετε τα αρχεία πιστοποιητικών, μπορείτε να επεξεργαστείτε το μπλοκ διακομιστή τομέα σας ως εξής:
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
Με τη παραπάνω διαμόρφωση αναγκάζουμε το HTTPS και ανακατευθύνουμε την έκδοση www σε μη www.
Τέλος, επαναφορτώστε την υπηρεσία Nginx για να εφαρμοστούν οι αλλαγές:
Αυτόματη ανανέωση Ας κρυπτογραφήσουμε το πιστοποιητικό SSL
Τα πιστοποιητικά της Κρυπτογράφησης ισχύουν για 90 ημέρες. Για να ανανεώσετε αυτόματα τα πιστοποιητικά προτού λήξουν, θα δημιουργήσουμε ένα cronjob που θα τρέχει δύο φορές την ημέρα και θα ανανεώνει αυτόματα οποιοδήποτε πιστοποιητικό 30 ημέρες πριν από τη λήξη του.
Εκτελέστε την εντολή
crontab
για να δημιουργήσετε ένα νέο cronjob:
sudo crontab -e
Επικολλήστε τις ακόλουθες γραμμές:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Αποθηκεύστε και κλείστε το αρχείο.
Για να ελέγξετε τη διαδικασία ανανέωσης, μπορείτε να χρησιμοποιήσετε την εντολή certbot ακολουθούμενη από το διακόπτη --dry
--dry-run
:
sudo certbot renew --dry-run
Εάν δεν υπάρχουν σφάλματα, αυτό σημαίνει ότι η διαδικασία ανανέωσης της δοκιμής ήταν επιτυχής.
συμπέρασμα
Σε αυτό το σεμινάριο, χρησιμοποιήσατε τον πελάτη Let's Encrypt, certbot για να κατεβάσετε τα πιστοποιητικά SSL για τον τομέα σας. Έχετε επίσης δημιουργήσει αποσπάσματα Nginx για να αποφύγετε την αναπαραγωγή κώδικα και να ρυθμίσετε το Nginx για να χρησιμοποιήσετε τα πιστοποιητικά. Στο τέλος του μαθήματος έχετε ρυθμίσει ένα cronjob για αυτόματη ανανέωση πιστοποιητικού.
nginx centos ας κρυπτογραφήσουμε το certbot sslΑυτή η ανάρτηση αποτελεί μέρος της εγκατάστασης του Stack LEMP σε σειρά CentOS 7.
Άλλες θέσεις αυτής της σειράς:
• Πώς να εγκαταστήσετε το Nginx στο CentOS 7 • Ασφαλίστε το Nginx με την Κρυπτογράφηση του CentOS 7 • Εγκαταστήστε το MariaDB στο CentOS 7 • Εγκαταστήστε την PHP 7 στο CentOS 7 • Πώς να ρυθμίσετε τα μπλοκ Server Nginx στο CentOS 7Ασφαλίστε το nginx με την κρυπτογράφηση του debian 9
Σε αυτό το σεμινάριο θα σας εξηγήσουμε πώς να χρησιμοποιήσετε το εργαλείο Certbot για να αποκτήσετε δωρεάν πιστοποιητικό SSL για το Nginx στο Debian 9. Θα δείξουμε επίσης πώς να διαμορφώσετε το Nginx για να χρησιμοποιήσετε το πιστοποιητικό SSL και να ενεργοποιήσετε το HTTP / 2.
Ασφαλίστε nginx με την κρυπτογράφηση του ubuntu 18.04
Το Let's Encrypt είναι μια ελεύθερη και ανοικτή αρχή πιστοποίησης που αναπτύχθηκε από την Ομάδα Ασφάλειας του Διαδικτύου. Σε αυτό το σεμινάριο, θα παρέχουμε οδηγίες βήμα προς βήμα σχετικά με τον τρόπο ασφάλειας του Nginx με το Let's Encrypt χρησιμοποιώντας το εργαλείο certbot στο Ubuntu 18.04
Ασφαλίστε nginx με την κρυπτογράφηση του centos 8
Σε αυτό το σεμινάριο, θα παρέχουμε οδηγίες βήμα προς βήμα σχετικά με τον τρόπο εγκατάστασης ενός δωρεάν πιστοποιητικού SSL SSL στο CentOS 8 που τρέχει το Nginx ως διακομιστής ιστού. Θα δείξουμε επίσης πώς να ρυθμίσουμε το Nginx ώστε να χρησιμοποιεί το πιστοποιητικό SSL και να ενεργοποιεί το HTTP / 2.







