How to Install and Run NGINX on CentOS 8 RHEL 8
תוכן עניינים:
- תנאים מוקדמים
- התקנת Certbot
- מייצרת קבוצת Dh (דיפי-הלמן) חזקה
- קבלת אישור בואו להצפין SSL
- חידוש אוטומטי של בואו להצפין אישור SSL
- סיכום
Let's Encrypt היא רשות אישורים חינמית, אוטומטית ופתוחה שפותחה על ידי קבוצת אבטחת האינטרנט לאינטרנט (ISRG) המספקת תעודות SSL בחינם.
אישורים שהונפקו על ידי Let's Encrypt הם מהימנים על ידי כל הדפדפנים הגדולים ותקפים למשך 90 יום מתאריך ההנפקה.
במדריך זה, נספק הוראות שלב אחר שלב כיצד להתקין תעודת SSL SSL בחינם ב- CentOS 8 המריצה את Nginx כשרת אינטרנט. אנו גם נראה כיצד להגדיר את התצורה של Nginx לשימוש בתעודת SSL ולהפעיל HTTP / 2.
תנאים מוקדמים
לפני שתמשיך, ודא כי עמדת בתנאים המוקדמים הבאים:
- יש לך שם דומיין שמצביע על ה- IP הציבורי שלך. אנו נשתמש ב-
example.com
. יש לך Nginx המותקן בשרת CentOS שלך. חומת האש שלך מוגדרת לקבל חיבורים ביציאות 80 ו 443.
התקנת Certbot
Certbot הוא כלי שורת פקודה חינמי המפשט את התהליך לקבלת וחידוש Let's Encrypt SSL של תעודות והפעלת HTTPS אוטומטית בשרת שלך.
חבילת certbot אינה כלולה במאגרי CentOS 8 הסטנדרטיים, אך ניתן להוריד אותה מאתר הספק.
הפעל את הפקודה הבאה של
wget
כמשתמש שורש או sudo כדי להוריד את סקריפט certbot לספרייה
/usr/local/bin
:
sudo wget -P /usr/local/bin
לאחר השלמת ההורדה, הפוך את הקובץ להפעלה:
sudo chmod +x /usr/local/bin/certbot-auto
מייצרת קבוצת Dh (דיפי-הלמן) חזקה
החלפת מפתחות Diffie – Hellman (DH) היא שיטה להחלפה מאובטחת של מפתחות קריפטוגרפיים דרך ערוץ תקשורת לא מאובטח.
צור קבוצה חדשה של פרמטרים DH של 2048 ביט על ידי הקלדת הפקודה הבאה:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
קבלת אישור בואו להצפין SSL
כדי להשיג אישור SSL לתחום, אנו נשתמש בתוסף Webroot שעובד על ידי יצירת קובץ זמני לאימות הדומיין המבוקש בספרייה
${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:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; 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=63072000" always; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
הקטע שלמעלה כולל את השבבים המומלצים על ידי מוזילה, מאפשרים סיכות OCSP, HTTP Strict Transport Transport (HSTS) ואכיפת מעט כותרות HTTP ממוקדות אבטחה.
לאחר יצירת
letsencrypt.conf
טקסט, פתח את חסימת שרת הדומיין וכולל את קטע הטקסט
letsencrypt.conf
, כמוצג להלן:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
טען מחדש את תצורת Nginx כדי שינויים ייכנסו לתוקף:
sudo systemctl reload nginx
הפעל את הכלי certbot באמצעות התוסף webroot כדי להשיג את קבצי אישור ה- SSL לדומיין שלך:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
אם זו הפעם הראשונה
certbot
, הכלי יתקין את התלות החסרה.
לאחר קבלת אישור 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 2020-03-12. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
כעת כשיש לך את קבצי האישורים, אתה יכול לערוך את חסימת שרת הדומיין שלך באופן הבא:
/etc/nginx/conf.d/example.com.conf
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 שאינו www.
לבסוף, טען מחדש את שירות Nginx כדי שינויים ייכנסו לתוקף:
sudo systemctl reload nginx
כעת, פתח את האתר שלך באמצעות
https://
ותבחין בסמל נעילה ירוק.
חידוש אוטומטי של בואו להצפין אישור SSL
תעודות בואו להצפין תקפות למשך 90 יום. כדי לחדש אוטומטית את האישורים לפני שפג תוקפם, צור מציצה שתפעל פעמיים ביום ותחדש אוטומטית כל אישור 30 יום לפני התפוגה.
השתמש בפקודה
crontab
כדי ליצור cronjob חדש:
sudo crontab -e
הדבק את השורה הבאה:
0 */12 * * * root test -x /usr/local/bin/certbot-auto -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && /usr/local/bin/certbot-auto -q renew --renew-hook "systemctl reload nginx"
שמור וסגור את הקובץ.
כדי לבדוק את תהליך החידוש, אתה יכול להשתמש בפקודה certbot ולאחריהם מתג
--dry-run
:
sudo certbot renew --dry-run
אם אין שגיאות, פירוש הדבר שתהליך חידוש הבדיקה היה מוצלח.
סיכום
במדריך זה הראינו לכם כיצד להשתמש בלקוח Let's Encrypt, certbot כדי להוריד אישורי SSL עבור הדומיין שלכם. יצרנו גם קטעי Nginx כדי למנוע כפילות של קוד והגדרנו את Nginx לשימוש בתעודות. בסוף ההדרכה, הגדרנו מציצה לחידוש אישורים אוטומטית.
למידע נוסף על Certbot, בקר בדף התיעוד שלהם.
nginx centos בואו להצפין certbot sslאבטח nginx עם בוא להצפין ב- debian 9

במדריך זה נסביר כיצד להשתמש בכלי Certbot כדי להשיג אישור SSL בחינם עבור Nginx ב- Debian 9. כמו כן, נראה כיצד להגדיר את Nginx להשתמש בתעודת SSL ולאפשר HTTP / 2.
אבטח nginx עם בוא להצפין באובונטו 18.04

Let's Encrypt היא רשות אישורים בחינם ופתוחה שפותחה על ידי קבוצת המחקר בנושא אבטחת אינטרנט. במדריך זה נספק הוראות שלב אחר שלב כיצד לאבטח את ה- Nginx שלך באמצעות Let's Encrypt באמצעות כלי certbot באובונטו 18.04
אבטח nginx עם בוא להצפין באובונטו 16.04

במדריך זה נספק הוראות שלב אחר שלב כיצד לאבטח את ה- Nginx שלך באמצעות Let's Encrypt באמצעות כלי certbot באובונטו 16.04