איך להתחבר לשרת VPS בפעם הראשונה בצורה בטוחה: מדריך SSH

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

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

עוד לא בחרתם מערכת הפעלה? כדאי לקרוא קודם את איזו מערכת הפעלה כדאי לבחור לשרת הווירטואלי שלכם.

מה צריך לפני שמתחילים

  • כתובת ה-IP של השרת והסיסמה הראשונית. הם מופיעים בפרטי השירות באזור הלקוחות.
  • מחשב עם Windows 10 או 11. כלי ה-SSH כבר מובנה בהם, ולא צריך להתקין שום תוכנה.
  • עשר דקות של שקט. עדיף לעשות את כל השלבים ברצף.

שלב 1: התחברות ראשונה ב-SSH

פתחו את PowerShell או את Windows Terminal והקלידו את הפקודה הבאה, עם כתובת ה-IP של השרת שלכם:

ssh [email protected]

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

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

שלב 2: החליפו את הסיסמה ועדכנו את המערכת

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

apt update && apt upgrade -y

שלב 3: צרו משתמש רגיל במקום root

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

adduser dev
usermod -aG sudo dev

שלב 4: התחברות עם מפתח SSH במקום סיסמה

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

ssh-keygen -t ed25519

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

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

נסו להתחבר עם ssh [email protected]. אם המערכת מבקשת את הסיסמה של המפתח ולא את הסיסמה של השרת, הכל עובד.

שלב 5: חסמו התחברות עם סיסמה ועם root

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

sudo nano /etc/ssh/sshd_config.d/00-hardening.conf

הוסיפו לקובץ את שתי השורות האלה ושמרו (Ctrl+O, Enter, ואז Ctrl+X):

PermitRootLogin no
PasswordAuthentication no

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

sudo sshd -t && sudo systemctl restart ssh

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

שלב 6: הפעילו חומת אש

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

sudo ufw allow OpenSSH
sudo ufw enable

כל שירות נוסף צריך פתיחה מפורשת. לאתר, למשל, פותחים את הפורטים 80 ו-443 עם sudo ufw allow 80,443/tcp. כדאי להתקין גם את Fail2ban עם sudo apt install fail2ban: הוא חוסם אוטומטית כתובות שמנסות להתחבר שוב ושוב ונכשלות.

יש לכם שרת Windows? ככה מתחברים

בשרתי Windows Server מתחברים עם Remote Desktop. לחצו על Win+R, הקלידו mstsc, הזינו את כתובת ה-IP של השרת והתחברו עם המשתמש Administrator והסיסמה שקיבלתם. אחרי ההתחברות הראשונה:

  • החליפו את סיסמת Administrator לסיסמה ארוכה וייחודית.
  • הריצו את Windows Update עד שלא נשארים עדכונים, כולל הפעלה מחדש.
  • אם אתם מתחברים תמיד מאותה כתובת, הגבילו את Remote Desktop בחומת האש של Windows לכתובת שלכם בלבד.

רשימת בדיקה קצרה

  1. הסיסמה הראשונית הוחלפה והמערכת מעודכנת.
  2. יש משתמש רגיל עם הרשאות sudo.
  3. ההתחברות נעשית עם מפתח SSH, והתחברות עם סיסמה או עם root חסומה.
  4. חומת האש פעילה, ופתוחים בה רק הפורטים שצריך.
  5. יש גיבוי של הנתונים החשובים גם מחוץ לשרת.

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

צריכים עזרה בהגדרה? נתקעתם באחד השלבים? הצוות שלנו ישמח לעזור. ואם עוד אין לכם שרת, כל חבילות ה-VPS שלנו כוללות שרת בישראל והגנות DDoS. לחבילות השרתים הווירטואליים