יום שני, 28 במרץ 2011

SSH Starting Guide

SSH - בשמו המלא Secure Shell בעצם מאפשר תקשורת מאובטחת בין מחשבים ובא להחליף את ה Telnet, לפי מודל OSI הוא נמצא בשכבה השבעית ומשתמש ברכיבי SSL בשכבה ה 5, משתמש בפרוטוקול TCP ויוצא בדרך כלל בפורט 22.

קצת היסטוריה:

קיימות 2 גרסאות לתוכנית, הראשונה SSH-1 שנכתבה בשנת 1995 ע"י טאטו ילונן הוגה הרעיון וכשהבינו את הפוטינציאל יצאה גרסת SSH-2 עם שיפורי תקשורת ואבטחה, נוספו עוד אלמנטים רבים כמו העברת קבצים,ניתוב פורטים של TCP, ועבודה עם ממשקי X11.

מסתבר שהרעיון טוב אבל הביצוע לא כלכך טוב, במהלך השנים התגלו פריצות אבטחה שונות באפליקציה, הפריצה הראשונה נמצאה בשנת 1998 על גרסה 1.5, ונתנה להכניס לתוך ה Packet מידע לא מאושר, יצא מהר תיקון שנקרא SSH Compensation Attack Detector , הפירצה הבאה בשנת 2001 מאפשרת מציאה של הבלוק האחרון של IDEA-encrypted session שמכיל בתוכו את הצופן איתו אנו מצפינים את התקשורת, באותו חודש נמצאה פריצה נוספת שמאפשרת להעביר אימותים של משתמשים לשרתים אחרים.

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

בואו נשחק:

צד שרת:
נפעיל את שירות ה SSH ע"ג השרת, קודם נבדוק אם ה Service עובד:
#: service sshd status

הפעלת השירות:
#: service sshd start

יצירת מפתח הצפנה
#: ssh-keygen -t dsa


בעצם נוצר לנו Private Key ו Public Key , בעזרת ה Public Key המשתמשים שמתחברים ל Server מצפינים את המידע וכשהוא מגיע לשרת ה Private Key שעומד מאחורי סיסמא שמגדירים בעת יצירת המפתחות מפענח את המידע.

המפתחות שלנו נמצאים בספריה המוסתרת ssh.


צד לקוח:
התחברות לשרת עם SSH:
#: ssh xxx.xxx.xxx.xxx




SSH Brute Force

השיטה הנפוצה לפריצה דרך SSH היא בשימוש Brute Force - הרצה של רשימת סיסמאות אקראיות מול ה Login עד לפגיעה בסיסמא הנכונה וכניסה למחשב המרוחק ,ב BackTrack קיים כלי למימוש ההתקפה שנקרא BruteSSH.
#: ./brutessh.py -h 192.168.1.104 -u root -d /wordlist/mylist.lst


שלחנו כתובת , שם משתמש במקרה שלנו root וקישור לרשימת מילים אקראית.

כיצד להגן על ה SSH שלי?
  • סיסמא מעל ל 8 תווים ממספרים ואותיות
  • הפניות ב Firewall לכתובות בטוחות בלבד.
  • שימוש בפורט אחר ממקום 22 - שינוי בקובץ sshd_config פרמטר Port.
  • לא לאפשר להתחבר כ Root - שינוי בקובץ sshd_config פרמטר PermitRootLogin.

לסיכום:

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

בהצלחה...

תגובה 1:

  1. היי שלומי,
    אפשר אולי להוסיף איזה TUTORIAL שיכסה הורדה של BACKTRACK וכיצד לייצר שתי מכונות וירטואליות שעימן אפשר לשחזר את מה שאתה מראה?

    דניאל

    השבמחק