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

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

כך תוכל לאבטח את חיבורי שרת ה-SSH שלך בלינוקס.

1. השבת כניסות משתמש שורש

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

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

להלן הסבר קצר על הפקודות הנ"ל:

  • useradd יוצר משתמש חדש ואת -M פרמטר יוצר תיקיה מתחת ל- בית ספרייה עבור המשתמש שיצרת.
  • ה passwd הפקודה מיועדת להקצאת סיסמה למשתמש החדש. זכור שסיסמאות שאתה מקצה למשתמשים צריכות להיות מורכבות וקשות לניחוש.
  • usermod -aG sudo מוסיף את המשתמש החדש שנוצר לקבוצת הניהול.
instagram viewer

לאחר תהליך יצירת המשתמש, יש צורך לבצע כמה שינויים ב- sshd_config קוֹבֶץ. אתה יכול למצוא את הקובץ הזה ב /etc/ssh/sshd_config. פתח את הקובץ עם כל עורך טקסט ובצע בו את השינויים הבאים:

# אימות: 
#LoginGraceTime 2m
PermitRootLogin מספר
שורש לדוגמה של AllowUsers

PermitRootLogin קו ימנע ממשתמש השורש לקבל גישה מרחוק באמצעות SSH. לְרַבּוֹת שורש לדוגמה בתוך ה אפשר משתמשים רשימה מעניקה הרשאות נחוצות למשתמש.

לבסוף, הפעל מחדש את שירות SSH באמצעות הפקודה הבאה:

sudo systemctl הפעל מחדש את ssh

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

sudo systemctl הפעל מחדש את sshd

2. שינוי יציאת ברירת המחדל

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

כדי לשנות את מספר היציאה, פתח /etc/ssh/sshd_config ובצע את השינויים הבאים בקובץ:

לִכלוֹל /etc/ssh/sshd_config.d/*.conf
נמל 5922

לאחר שלב זה, הפעל מחדש את שירות SSH שוב עם sudo systemctl הפעל מחדש את ssh. כעת תוכל לגשת לשרת שלך באמצעות היציאה שהגדרת זה עתה. אם אתה משתמש בחומת אש, עליך לבצע את השינויים הנדרשים בכללים גם שם. על הפעלת ה netstat -tlpn הפקודה, אתה יכול לראות שמספר היציאה שלך עבור SSH השתנה.

3. חסימת גישה למשתמשים עם סיסמאות ריקות

ייתכן שיהיו משתמשים ללא סיסמאות במערכת שלך שייתכן שיצרת בטעות. כדי למנוע ממשתמשים כאלה לגשת לשרתים, אתה יכול להגדיר את PermitEmptyPasswords ערך השורה ב- sshd_config קובץ ל לא.

PermitEmptyPasswords no

4. הגבל ניסיונות כניסה/גישה

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

לשם כך, שנה את MaxAuthTries ערך ב sshd_config קוֹבֶץ.

MaxAuthTries 3

5. שימוש ב-SSH גרסה 2

הגרסה השנייה של SSH שוחררה בגלל הפגיעויות הרבות בגרסה הראשונה. כברירת מחדל, אתה יכול לאפשר לשרת להשתמש בגרסה השנייה על ידי הוספת ה נוהל פרמטר שלך sshd_config קוֹבֶץ. בדרך זו, כל החיבורים העתידיים שלך ישתמשו בגרסה השנייה של SSH.

לִכלוֹל /etc/ssh/sshd_config.d/*.conf 
פרוטוקול 2

6. כיבוי העברת יציאות TCP ו-X11 Forwarding

תוקפים יכולים לנסות לקבל גישה למערכות האחרות שלך על ידי העברת פורטים דרך חיבורי SSH. כדי למנוע זאת, אתה יכול לכבות את AllowTcpForwarding ו X11Forwarding תכונות ב sshd_config קוֹבֶץ.

X11 שילוח מס 
AllowTcpForwarding no

7. חיבור עם מפתח SSH

אחת הדרכים המאובטחות ביותר להתחבר לשרת שלך היא להשתמש במפתח SSH. כאשר אתה משתמש במפתח SSH, אתה יכול לגשת לשרת ללא סיסמה. בנוסף, אתה יכול לבטל לחלוטין את הגישה לסיסמה לשרת על ידי שינוי הפרמטרים הקשורים לסיסמה ב- sshd_config קוֹבֶץ.

כאשר אתה יוצר מפתח SSH, ישנם שני מפתחות: פּוּמְבֵּי ו פְּרָטִי. המפתח הציבורי מועלה לשרת אליו רוצים להתחבר והמפתח הפרטי נשמר במחשב שבאמצעותו תיצור את החיבור.

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

ssh-keygen

8. הגבלות IP עבור חיבורי SSH

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

כדי לעשות זאת, פתח את ה /etc/hosts.allow קוֹבֶץ. עם התוספות שתבצע לקובץ זה, תוכל להגביל את הרשאת ה-SSH, לאפשר חסימת IP ספציפית, או להזין IP בודד ולחסום את כל כתובות ה-IP שנותרו עם הפקודה deny.

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

החשיבות של אבטחת שרת לינוקס

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

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