במאמר זה נחקור את תהליך ההתקנה וההגדרה סרבוט בשרת לינוקס. נסביר בפירוט כיצד להשיג תעודת Let's Encrypt SSL/TLS עבור הדומיין שלך. כמו כן, נתאר כיצד להתקין אותו בשרת אינטרנט (כגון Nginx או Apache) ולהגדיר חידושים אוטומטיים של אישורים כדי להבטיח חיבור מאובטח מתמשך עם משאב האינטרנט שלך.
סרבוט הוא כלי חינמי בקוד פתוח המיועד לרכישה וחידוש אוטומטיים של תעודות SSL/TLS. זה ממלא תפקיד מכריע באבטחת החיבור בין השרת ללקוח, הגנה על נתונים מפני גישה לא מורשית. Certbot מפשט את תהליך ההתקנה והחידוש של תעודת SSL. לא רק שהתעודה משפרת את האבטחה, אלא היא גם מגבירה את אמון המשתמשים במשאב האינטרנט שלך, ובכך משפרת הן את המוניטין של האתר והן את דירוג מנוע החיפוש שלו.
התקנת Certbot
Certbot כלול ברוב ההפצות כברירת מחדל, אז כדי להתקין אותו דביאן / אובונטו מערכות, אתה רק צריך לעדכן את רשימת החבילות:
apt update
לאחר מכן, התחל את תהליך ההתקנה:
apt install certbot
Certbot תומך בפלאגינים המקלים על ההגדרה והתצורה של האישור עבור שרת אינטרנט. כדי להתקין תוספים אלה, השתמש בפקודה המתאימה:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
תהליך ההתקנה עבור רד האט מערכות (כגון רהל, CentOS, פדורה) שונה במקצת. בתחילה, עליך להוסיף את מאגר ה-EPEL:
yum install epel-release
לאחר מכן התקן את הכלי:
yum install certbot
באופן דומה, ישנה אפשרות לבחור תוסף עבור שרת אינטרנט ספציפי:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
לאחר ההתקנה, תוכל להמשיך מיד לקבל את האישור.
קבלת תעודת SSL
בחלק זה, נדון בתהליך של קבלת אישור ללא תלות בשרת אינטרנט ספציפי, ולאחר מכן נתאר את תהליך התקנת האישור עבור Nginx ו- Apache. עם זאת, חיוני תחילה להבין את התחביר והפונקציונליות של התוכנית. זה מופיע כך:
certbot command option -d domain
הפקודות העיקריות כוללות:
certbot certonly - מאחזר את האישור אך אינו מתקין אותו.certbot certificates - פקודה זו מציגה רשימה של כל האישורים המותקנים.certbot renew - מרחיב את התעודה הקיימת.certbot revoke - מבטל את התעודה הקיימת.certbot delete - מוחק את התעודה הקיימת.
האפשרויות הנפוצות ביותר הן:
--nginx - משתמש בסקריפטים של תצורת Nginx לאימות דומיין.--apache - משתמש בסקריפטים של תצורת Apache לאימות דומיין.-d - רשימת תחומים שעבורם מתבקש האישור.--standalone - משתמש במצב עצמאי לאימות דומיין.--manual - מבצע אימות דומיין ידני.
זוהי רק דוגמה לפקודות ולאפשרויות השכיחות ביותר. אתה יכול להכיר את הרשימה המלאה של יכולות התוכנית בסעיף העזרה:
certbot –help
כעת אנו ממשיכים לקבל את התעודה. כדוגמה, נקבל תעודה עבור א שרת וירטואלי עבור דומיין חינמי ברמה שלישית כמו yourusername.pserver.space
ראשית, עליך להזין את הפקודה:
certbot certonly
בתגובה, כלי השירות יבקש ממך לבחור שיטה לאימות בעלות על דומיין:
האפשרות הראשונה נוחה אם אין לך שרת אינטרנט מוגדר או שאינך רוצה לבצע שינויים בשרת קיים. שיטה זו יוצרת שרת אינטרנט זמני כדי לאשר את זכותך לדומיין. זה אידיאלי להתקנה פשוטה ומהירה. כאשר בוחרים בשיטה זו, חשוב לשמור על יציאה 80 פנויה.
האפשרות השנייה עדיפה אם כבר יש לך שרת אינטרנט שפועל, ואתה רוצה להשתמש בו כדי לאמת את הזכות לדומיין. Certbot מציב קבצים מיוחדים בתיקייה בשרת שלך, אשר נבדקים לאחר מכן על ידי מרכז האישורים.
אנו בוחרים באפשרות הראשונה ולוחצים על הבא. בשלב זה, תצטרך:
- הזן כתובת דואר אלקטרוני;
- הסכמה לתנאי השירות;
- להסכים או לסרב לקבל מיילים מטעם החברה ושותפיה;
- ציין את שם הדומיין שעבורו מונפק האישור.
לאחר השלמת תהליך הנפקת האישור עם הכלי Certbot, הוא יציין את הנתיב לספרייה שבה מאוחסנים האישור שהונפק והנתונים עבור חשבונך:
כל מה שנותר הוא לקשר את התעודה שהושגה לשירות הנדרש.
התקנת האישור עבור Nginx או Apache
סעיף זה מניח שהתקיימו תנאים בסיסיים מסוימים:
- כבר התקנת והגדרת שרת אינטרנט, או Nginx או Apache. זה חייב להיות נגיש מהאינטרנט דרך שם הדומיין שעבורו אתה מתכוון לקבל את האישור;
- במהלך התקנת הכלי, התקנת גם תוסף עבור Nginx או Apache באמצעות הפקודה המתאימה;
- חומת האש מאפשרת חיבורים ביציאות 80 ו-443. אם יציאות אלו סגורות לחיבורים, השירות לא יהיה זמין עבור חיבורים נכנסים. לפרטים נוספים על פעולת חומת אש, דנו בכך במאמר בנושא הגדרת חומת אש בלינוקס.
לאחר שכל התנאים מתקיימים, ניתן להמשיך ישירות להנפקת התעודה. נשקול את תהליך קבלת תעודת SSL בשרת באמצעות Nginx כדוגמה. עם זאת, אם אתה משתמש בשרת אינטרנט של Apache, התהליך זהה לחלוטין.
כדי לקבל את האישור, עליך להזין את הפקודה:
certbot --nginx # for Nginx
certbot --apache # for Apache
בתגובה יבקש הכלי: כתובת מייל, הסכמה לתנאי השימוש בשירות Let's Encrypt ואישור שליחת מיילים מטעם השירות ושותפיו.
לאחר מכן, יהיה עליך לציין את שם הדומיין שעבורו מונפק האישור. Certbot יכול לקבוע באופן אוטומטי את הדומיין אם הוא צוין ב- שם שרת שדה עבור nginx תצורה או שם שרת ו שרת ל אַפָּשׁ. אם זה לא מצוין, התוכנית תודיע לך ותבקש ממך להזין את שם הדומיין באופן ידני. לאחר מכן, כלי השירות ישאל אם לאפשר ניתוב מחדש של בקשות מפרוטוקול HTTP ל-HTTPS. כדי להגדיר הפניה אוטומטית, עליך לבחור באפשרות השנייה:
לאחר זמן מה, Certbot תודיע לך על הרכישה המוצלחת של התעודה עבור הדומיין שצוין. מנקודה זו ואילך, כל החיבורים הנכנסים ינותבו מיציאה 80 ל-443. הכלי יציג את הספריות בהן תוכלו למצוא את כל נתוני האישורים ופרטי חשבון Let's Encrypt:
ההודעה תציין גם את תקופת התוקף של התעודה שהושגה ואפשרויות חשובות לניהול כל התעודות הפעילות:
- בהחלט. אפשרות זו משמשת להשגה או עדכון של האישור ללא תצורת שרת אינטרנט אוטומטית. Certbot רק יבקש או יעדכן את האישור אך לא יבצע שינויים אוטומטיים בתצורת השרת. בעבר השתמשנו באפשרות זו כדי לקבל אישור מבלי להיות קשורים לשרת אינטרנט.
- לחדש משמש לחידוש אוטומטי של כל האישורים שהושגו באמצעות Certbot ונמצאים בתקופת התוקף שלהם. התוכנית תבדוק את כל האישורים, ואם תוקף אחד מהם יפוג תוך 30 יום או פחות, הוא יחודש אוטומטית.
בהמשך ההוראות, נדון כיצד להגדיר חידוש אוטומטי של אישורים ללא התערבות משתמש כל שלושה חודשים.
חידוש אישור אוטומטי ב-Certbot
עבור דביאן/אובונטו
בעת שימוש במערכות הפעלה אלו, Certbot מוסיף אוטומטית סקריפט לרשימת המשימות לחידוש אוטומטי של אישורים מותקנים. אתה יכול לבדוק את הפונקציונליות של הסקריפט עם הפקודה הבאה:
systemctl status certbot.timer
התגובה תציג את מצב השירות, כמו גם את הספרייה המכילה את קובץ התצורה. אתה יכול לפתוח את זה באמצעות כל עורך טקסט. אם אינך מנוסה עם עורכי טקסט בלינוקס, אנו ממליצים להכיר את עצמך הסקירה הכללית שלנו מהפתרונות הפופולריים ביותר. במקרה זה, נשתמש בננו:
nano /lib/systemd/system/certbot.timer
כל הפרמטרים החשובים מודגשים:
- מלוח הזמנים עולה כי השירות יפעל פעמיים ביום בשעות 00:00 ו-12:00;
- ערך שני מציין השהייה אקראית בשניות שיתווסף להתנעת הטיימר. במקרה זה מדובר ב-43,200 שניות (12 שעות), מה שהופך את ההשקה לאקראי יותר ומפזר את העומס;
- פרמטר זה מבטיח שאם הטיימר היה אמור להתבצע במהלך כיבוי מערכת, הוא יופעל מיד עם האתחול.
אתה יכול גם להפעיל בדיקה כפויה של חידוש תעודה עם הפקודה:
certbot renew --dry-run
באמצעות פקודה זו, האישורים לא יעודכנו. במקום זאת, הכלי יבצע פעולות דומות להשגת אישור עם פקיעתו. כך תוכלו להבטיח את פונקציונליות השירות לגבי חידוש אוטומטי.
עבור CentOS, Fedora ואחרים
תהליך הפעלת העדכונים האוטומטיים במערכות משפחת Red Hat שונה מעט. שלא כמו Debian/Ubuntu, עבור CentOS ומערכות אחרות, אתה צריך להוסיף משימה ידנית למתזמן. לשם כך, נשתמש ב- cron כלי:
crontab -e
לאחר מכן, בקובץ שנפתח, הוסף את השורה הבאה:
0 12 * * * /usr/bin/certbot renew --quiet
בואו נפרט את הטיעונים העיקריים של הפקודה:
- זמן הביצוע. במקרה זה, הפקודה תפעל אוטומטית בשעה 12:00 בכל יום;
- הפקודה לחידוש תעודות SSL/TLS באמצעות Certbot;
- השמיים --שֶׁקֶט דגל מדכא פלט, מה שהופך את התהליך לנסתר יותר ופחות פולשני ביומני המערכת או בתצוגה.
לאחר הוספת הפקודה, עליך לשמור את השינויים בקובץ.
בדיוק כמו עם Debian/Ubuntu, אתה יכול גם ליזום בדיקה כפויה של חידושי אישורים:
certbot renew --dry-run
התוצאה של ביצוע מוצלח של הפקודה נראית כך:
סיכום
חקרנו את התהליך המקיף של התקנה והגדרה של Certbot בשרת לינוקס. על ידי ביצוע ההוראות שסופקו, תוכל להשיג בהצלחה אישור SSL/TLS מ-Let's Encrypt, להתקין אותו בשרת האינטרנט שלך ולהגדיר חידוש אוטומטי כדי להבטיח הגנה מתמשכת ואמון מוגבר במשאב האינטרנט שלך. עם Certbot, אתה יכול ליצור בקלות סביבה אמינה ומאובטחת למשתמשים.