הגדרת שרת ראשונית עם Ubuntu 20.04

הקדמה

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

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

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

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

אם עדיין לא מחוברים לשרת שלכם, התחברו כעת כמשתמש root באמצעות הפקודה הבאה (החליפו את החלק המודגש של הפקודה בכתובת ה-IP הציבורית של השרת שלכם):

  1. ssh root@your_server_ip

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

אודות root

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

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

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

לאחר שתתחבר כ root, תוכל להוסיף את החשבון החדש.

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

  1. adduser sammy

תתבקש לענות על מספר שאלות, החל מהסיסמה לחשבון.

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

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

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

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

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

כמשתמש root, הפעל את הפקודה הבאה כדי להוסיף את המשתמש החדש שלך לקבוצת ה־sudo (החלף את שם המשתמש המודגש בשם המשתמש החדש שלך):

  1. usermod -aG sudo sammy

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

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

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

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

יישומים יכולים לרשום את פרופיליהם עם UFW בעת התקנה. פרופילים אלה מאפשרים ל־UFW לנהל את היישום הזה לפי שם. OpenSSH, השירות שמאפשר לנו להתחבר לשרת שלנו כעת, רשום פרופיל עם 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 לאימות.

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

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

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

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

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

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

אם התחברת לחשבון ה־root באמצעות מפתחות 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 לראשונה בכל סשן (ומדי פעם לאחר מכן).

לאן ללכת מכאן?

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

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