הגדרת השרת ההתחלתית עם Ubuntu 22.04

הקדמה

כאשר אתה יוצר שרת Ubuntu 22.04 חדש, עליך לבצע כמה צעדים חשובים בהגדרה ההתחלתית. הצעדים האלה יעלו את האבטחה והשימושיות של השרת שלך ויאפשרו לך בסיס יציב לפעולות עתידיות.

השתמש באפשרות פלטפורמת האפליקציות של DigitalOcean כדי להתקין את היישומים שלך מ־GitHub. תן ל־DigitalOcean להתמקד בהתרחבות האפליקציה שלך.

שלב 1 — כניסה כשורש

כדי להתחבר לשרת שלך, עליך לדעת את כתובת ה־IP הציבורית של השרת שלך. תצטרך גם את הסיסמה או את המפתח הפרטי של חשבון ה־root אם התקנת מפתח SSH לאימות. אם עדיין לא נכנסת לשרת שלך, ייתכן שתרצה לעקוב אחר המדריך שלנו על איך להתחבר ל־Droplets באמצעות SSH, שמסביר בפרטים את התהליך הזה.

אם אתה לא מחובר כרגע לשרת שלך, התחבר כמשתמש root באמצעות הפקודה הבאה. החלף את חלק ה־your_server_ip שבהדגש בכתובת ה־IP הציבורית של השרת שלך:

  1. ssh root@your_server_ip

קבל את האזהרה על אימות מארח אם היא מופיעה. אם השרת שלך משתמש באימות סיסמה, ספק את הסיסמה שלך root כדי להתחבר. אם אתה משתמש במפתח SSH שמוגן בססמה, עשוי להיות עליך להזין את הססמה הראשונה של המפתח בכל הפעלה. אם זה הפעם הראשונה שלך שבה אתה מתחבר לשרת עם סיסמה, עשוי להיות עליך גם לשנות את הסיסמה של root. עקוב אחר ההוראות לשינוי הסיסמה אם תקבל הודעה.

אודות root

משתמש ה־root הוא המשתמש המנהלי בסביבת Linux עם הרשאות מוגבלות. בשל הרשאותיו המגבוהות של חשבון ה־root, ממליצים לך לא להשתמש בו באופן קבוע. חשבון ה־root יכול לבצע שינויים נזקקים מאוד, גם בטעות.

השלב הבא הוא להגדיר חשבון משתמש חדש עם הרשאות מוגבלות לשימוש יומיומי. מאוחר יותר, נראה לך איך להשיג זכויות גישה גבוהות זמניות לפי הצורך.

שלב 2 — יצירת משתמש חדש

פעם שתתחבר כ־root, תוכל להוסיף את החשבון החדש. בעתיד, נתחבר עם החשבון החדש הזה במקום להשתמש ב־root.

הדוגמה הזו יוצרת משתמש חדש בשם sammy, אך עליך להחליף אותו בשם משתמש שאתה מעוניין בו:

  1. adduser sammy

ישאלו אותך כמה שאלות, התחלתם בסיסמת החשבון.

הזן סיסמה חזקה, ואם תרצה, מלא כל מידע נוסף שתרצה. אין חובה על מידע זה, ותוכל ללחוץ על ENTER בכל שדה שתרצה לדלג עליו.

שלב 3 — הענקת הרשאות מנהל

כעת יש לך חשבון משתמש חדש עם הרשאות רגילות. אך לפעמים יהיה עליך לבצע משימות מנהליות כמשתמש ה־root.

כדי למנוע התנתקות מהמשתמש הרגיל שלך והתחברות חזרה כמשתמש root, תוכל להגדיר מה שנקרא הרשאות superuser או root עבור חשבון המשתמש הרגיל שלך. הרשאות אלה יאפשרו למשתמש הרגיל שלך להריץ פקודות עם הרשאות מנהל על ידי הוספת המילה sudo לפני הפקודה.

כדי להוסיף את הרשאות אלו למשתמש החדש שלך, יהיה עליך להוסיף את המשתמש לקבוצת המערכת sudo. ברירת המחדל ב־Ubuntu 22.04 היא שמשתמשים שהם חברים בקבוצת sudo מורשים להשתמש בפקודת sudo.

כ-root, הריצו את הפקודה הזו כדי להוסיף את המשתמש החדש שלכם לקבוצת ה-sudo (החליפו את שם המשתמש המודגש sammy בשם המשתמש החדש שלכם):

  1. usermod -aG sudo sammy

כעת תוכלו להקליד את sudo לפני פקודות כדי להריץ אותן עם הרשאות מנהל מערכת כאשר מחוברים כמשתמש רגיל שלכם.

שלב 4 — הגדרת חומת אש

שרתי Ubuntu 22.04 יכולים להשתמש בגישת הגנה של חומת האש UFW כדי לוודא שרק חיבורים לשירותים מסוימים מותרים. ניתן להגדיר חומת אש בסיסית באמצעות יישום זה.

הערה: אם השרתים שלכם פועלים ב-DigitalOcean, ניתן להשתמש אופציונלית ב-חומות אש של DigitalOcean Cloud במקום חומת האש UFW. אנו ממליצים להשתמש רק בחומת אש אחת בכל פעם כדי למנוע כללים סותרים שעשויים להיות קשים לתקן.

יישומים יכולים לרשום את פרופיליהם עם UFW בעת התקנה. פרופילים אלו מאפשרים ל-UFW לנהל את היישומים אלו לפי שמם. OpenSSH, השירות שמאפשר לך להתחבר לשרת שלך, רשום פרופיל עם UFW.

ניתן לבדוק את רשימת הפרופילים של UFW שהותקנו על ידי הקלדת:

  1. ufw app list
Output
Available applications: OpenSSH

תצטרכו לוודא שהחומת אש מאפשרת חיבורי SSH כדי שתוכלו להתחבר לשרת שלכם בפעם הבאה. לאפשר חיבורים אלה על ידי הקלדה:

  1. ufw allow OpenSSH

עכשיו הפעילו את החומת אש על ידי הקלדה:

  1. ufw enable

הקלד y ולחץ ENTER כדי להמשיך. ניתן לראות כי חיבורי SSH עדיין מותרים על ידי קליטת:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

הגישה החוצה כרגע חסומה על ידי הגבלת האש, חוץ מ- SSH. אם תתקין ותגדיר שירותים נוספים, יהיה עליך להתאים את הגדרות האש כך שתאפשר את התנועה החדשה אל השרת שלך. ניתן ללמוד על פעולות UFW נפוצות במדריך שלנו ייסומי UFW שלנו.

שלב 5 — הפעלת גישה חיצונית למשתמש הרגיל שלך

עכשיו שיש לך משתמש רגיל לשימוש יומיומי, יהיה עליך לוודא כי תוכל להתחבר ב- SSH ישירות לחשבון.

הערה: עד לאימות כי תוכל להתחבר ולהשתמש ב- sudo עם המשתמש החדש שלך, אנו ממליצים להישאר מחוברים כ- root. אם יש לך בעיות בחיבור, תוכל לאתר ולבצע שינויים נדרשים כ- root. אם אתה משתמש ב- DigitalOcean Droplet ונתקלת בבעיות עם החיבור SSH שלך כ- root, תוכל ל- לשחזר גישה ל- Droplets באמצעות הקונסולית לשיקום.

הגדרת גישת SSH עבור המשתמש החדש שלך תלויה באם החשבון root של השרת שלך משתמש בסיסמה או מפתחות SSH לאימות.

אם חשבון השורש משתמש באימות באמצעות סיסמה

אם נכנסתם לחשבון השורש שלכם באמצעות סיסמה, אז אימות באמצעות סיסמה מופעל עבור SSH. תוכלו להתחבר באמצעות SSH לחשבון המשתמש החדש שלכם על ידי פתיחת חלון טרמינל חדש ושימוש ב־SSH עם שם המשתמש החדש שלכם:

  1. ssh sammy@your_server_ip

לאחר שתזינו את הסיסמה של המשתמש הרגיל שלכם, תתחברו. זכרו, אם תצטרכו להריץ פקודה עם הרשאות מנהל, תקלידו sudo לפני זה כך:

  1. sudo command_to_run

תקבלו בקשה לסיסמת המשתמש הרגיל שלכם בעת שימוש ב־sudo בפעם הראשונה בכל יום (ומדי פעם לאחר מכן).

כדי לשפר את אבטחת השרת שלכם, אנו ממליצים מאוד להגדיר מפתחות SSH במקום להשתמש באימות באמצעות סיסמה. עקבו אחרי המדריך שלנו על הגדרת מפתחות SSH ב־Ubuntu 22.04 כדי ללמוד כיצד להגדיר אימות מבוסס מפתחות.

אם חשבון השורש משתמש באימות באמצעות מפתח SSH

אם נכנסת לחשבון root באמצעות מפתחות SSH, אז האימות באמצעות סיסמה מנוטרל עבור SSH. כדי להתחבר כמשתמש הרגיל שלך עם מפתח SSH, עליך להוסיף העתק של המפתח הציבורי המקומי שלך לקובץ ~/.ssh/authorized_keys של המשתמש החדש שלך.

מאחר והמפתח הציבורי שלך כבר נמצא בקובץ ~/.ssh/authorized_keys של חשבון ה root על השרת, תוכל להעתיק את הקובץ ואת מבנה התיקיות הזה לחשבון המשתמש החדש שלך באמצעות ההפעלה הנוכחית שלך.

הדרך הפשוטה ביותר להעתיק את הקבצים עם הרישיונות וההרשאות הנכונות היא באמצעות פקודת rsync. פקודה זו תעתיק את תיקיית ה .ssh של המשתמש root, תשמור על ההרשאות, ותשנה את בעלי הקבצים, הכול בפקודה יחידה. ודא שתשנה את חלקי הפקודה המודגשים להתאמה לשם המשתמש הרגיל שלך:

הערה: פקודת rsync מתייחסת למקורות וליעדים שמסתיימים בסימן נקודה ופסיק בצורה שונה מאלו שאינם מסתיימים בסימן נקודה ופסיק. כאשר אתה משתמש ב rsync להלן, ודא שהתיקייה המקורית (~/.ssh) אינה כוללת סימן נקודה ופסיק בסיומה (בדוק כי אתה לא משתמש ב ~/.ssh/).

אם בטעות הוספת סימן נקודה ופסיק לפקודה, rsync יעתיק את תוכן התיקייה .ssh של חשבון ה root לתיקיית הבית של משתמש sudo במקום להעתיק את כל מבנה תיקיית ~/.ssh. הקבצים יהיו במיקום שגוי ו-SSH לא תוכל למצוא ולהשתמש בהם.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

עכשיו, פתחו ישיבת טרמינל חדשה על המכשיר המקומי שלכם, והשתמשו ב־SSH עם שם המשתמש החדש שלכם:

  1. ssh sammy@your_server_ip

עליכם להתחבר לשרת שלכם עם חשבון המשתמש החדש בלי להשתמש בסיסמה. זכרו, אם תרצו להריץ פקודה עם הרשאות מנהל, הקלידו sudo לפני הפקודה כך:

  1. sudo command_to_run

תתבקשו להזין את סיסמת המשתמש הרגיל שלכם כאשר תשתמשו ב־sudo לראשונה בכל הפעלה (ומדי פעם לאחר מכן).

מה לעשות מכאן?

בנקודה זו, יש לכם בסיס יציב לשרת שלכם. ניתן להתקין כל תוכנה שתצטרכו כעת על השרת שלכם.

אם תרצו להתנסות נוספת עם פקודות Linux, ניתן לבדוק את מדריך לשורת הפקודה ב־Linux שלנו.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04