שְׁאֵלָה:
מדוע השארת SSH עם סיסמה באינטרנט כל כך גרועה?
Ethereal
2016-02-02 20:33:16 UTC
view on stackexchange narkive permalink

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

מנסיון אישי התוקפים ימשיכו לנסות עד שהם נכנסים או שתסגור את הנמל (בסופו של דבר סגרתי את הנמל). שמירה על היציאה פתוחה ושימוש בסיסמה חזקה משאירה את האפשרות של התקפת כוח אנושי מנחש את הסיסמה.
אז החיסרון האמיתי היחיד הוא הטרדנות והמחשבה שהוא כל הזמן אכפה? כלומר, מלכתחילה לא הייתי עושה זאת .. אבל רציתי לדעת מה בדיוק הנימוק. אז טכנית לאדם עם PW חזק אין מה לדאוג ... נכון?
שגוי. השתמש טוב יותר בסרטי RSA וגם אז תראה נפח עצום של יומנים
תסתכל http://security.stackexchange.com/questions/110706/am-i-experiencing-a-brute-force-attack/110708
אוקי, אבל תשובה אומרת שאם הוא ישתמש ב- Fail2Ban .. הוא לא יצטרך לדאוג לאילוץ אכזרי מסוג זה.
באופן מוזר אני לא מקבל הודעה על ההודעות שלך ... התשובה הראשונה היא שלי בכתובת האתר הזו. Fail2ban אמנם מספקת מידה מסוימת של הגנה, אבל זה לא כדור כסף, והרבה פחות בימינו עם רשת מתואמת של מכונות זומבים שמכריחה את שירות ה- SSH שלך. אני חושב שאני שם שם על משהו.
התקנתי fail2ban, דמון sshd מזויף ביציאה 22, ועכשיו צבאות של בוטים סיניים מנסים להיכשל, כועסים UDP DDoS את השרתים שלי כל שבוע אחר ...
@ztk: או עד שאתה והם וכל צאצאיהם מתים מזיקנה והיקום נרקב לכדי כתם חסר תכונות. עם סיסמה חזקה הגונה, האחרונה היא זו שתתרחש תחילה.
תוריום, מה הם עושים עם UDP?
פוסט רלוונטי נוסף: [האם הרגע נפרצתי] (https://superuser.com/questions/1034137/did-i-just-get-hacked). גם אם אתה בטוח ש- * אתה * לעולם לא תשתמש בסיסמה לא בטוחה, אתה עדיין בסיכון אם בעל חבילה יעשה משהו טיפשי כמו יוצר משתמש שירות עם סיסמה חלשה (או ללא סיסמה בכלל).
@RuiFRibeiro למה אתה חושב שזה מוזר שלא קיבלת הודעה על המסר של Ethereal? פרט לתגובות המציגות סימן at ואחריו שמך, תקבל הודעה אם מישהו מפרסם בשאלתך, או בתשובתך, אך לא מישהו אחר עליו אתה מגיב. (למיטב ידיעתי)
הממ לא היה לי מושג בקשר לזה, עכשיו אני מבין. תודה לך @TOOGAM
@RuiFRibeiro: מה ש- TOOGAM אמר לא נכון ב 100% - תקבל גם הודעה כאשר מחבר פוסט מגיב על ההודעה לאחר שהשארת תגובה, ** אם ** אתה היחיד שעשית זאת (כי אז סביר להניח ההערה החדשה הופנתה אליך). אם ניקח את פתיל ההערה הזה כדוגמה, ztk הייתה צריכה לקבל הודעה על התגובה השנייה; אבל אז אתה, כאדם אחר, העיר, ומאותה נקודה רק ה- OP קיבל הודעות נוספות.
שֵׁשׁ תשובות:
Purefan
2016-02-02 22:04:27 UTC
view on stackexchange narkive permalink

מדוע זה כל כך גרוע?

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

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

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

הקלה

כמה טכניקות להפחתת התקפה כוחנית על SSH:

הייתי מוסיף לרשימה שלך: השבת כניסה לשורש באמצעות ssh. רוב הרובוטים רק מנסים להכות שורש. אני לא רואה בעיה בהשארת ssh פתוח כל עוד יש לו סיסמה מאובטחת ואינך מתחבר מרחוק כשורש.
@paulburkeland: אין סיבה להשבית שורש באמצעות ssh אם אתה משתמש ב- pubkey, ומסיבות טובות רבות להשאיר אותו פתוח. במערכת קשוחה / נעולה, לאחר קבלת ssh של כניסה לשורש פירושו שתוכל להסיר את כל הסינכרונות הבינאריים (su וכו ') מהמערכת ובכך לחסל לחלוטין משטח התקפה גדול (המקשר הדינמי) להתקפות מקומיות.
שימוש ב- knockd עבור "Port Knocking" כדי להסתיר את שרת SSH שלך, יעשה הרבה כדי להסתיר אותך מהתסריטים.
@R .. נגע באיש מכירות, נגע.
@R .. אתה סוחר משטח התקפה אחד (su) עבור אחר (התחבר כשורש). אני מעדיף שאם הם מבצעים הפרה ראשונית, ישנו איום כלשהו שהם עלולים לתקוף אותי ולהפוך לשורש, במקום למצב גרוע יותר שבו התוקף נותן מיד בקשת שורש ללא צורך בעבודה נוספת. במקום להשתמש בשם המשתמש הידוע של השורש, עליהם לנחש אילו חשבונות משתמשים יכולים להסלים לשורש, והמאמצים הללו עשויים להיות מועדים יותר להירשם בפירוט רב יותר על ידי הציוד שלי. בנוסף, אני יכול להפוך התקדמות מסוימת של כל מי שמתקרב (על ידי לקיחת הגישה מרחוק)
@TOOGAM: מהו מודל האיום שלך? RSA מכריח אכזריות? לא משנה אם sshd מאפשר כניסה לשורש, עליו * לפעול כשורש * עצמו כדי שיוכל להגדיר למשתמש היעד בעת הכניסה, ולכן אני לא מצליח לראות את הגידול במשטח ההתקפה הנובע מהפעלת כניסה לשורש באמצעות ssh ( בהנחה שלא תאפשרו גם סיסמאות).
מצאתי ש [רק להקשיח מעט את sshd] (https://stribika.github.io/2015/01/04/secure-secure-shell.html) הרג את הרוב המכריע של הרובוטים שם, מה שגרם להם לא להיות מסוגלים לתקשר עם השרת. אין עוד מספיק תנועת כוח אכזרית שתפעיל fail2ban!
שיחה זו עשויה להתאים יותר בכתובת http://chat.stackexchange.com/rooms/151/the-dmz.
@TOOGAM זה נשמע כאילו אינך מודע לכך ש- [OpenSSH כבר משתמש בהפרדת הרשאות] (http://www.citi.umich.edu/u/provos/ssh/privsep.html) ועשה זאת למעלה מעשור.
@MichaelHampton לא חל על עמדתי, מכיוון שההצהרות שלי לא התבססו על חששות מפני פשיטות OpenSSH. רק על ידי מתן אפשרות ל- SSH להיכנס לחשבון שאינו שורש, ביצוע פעולות שורש דורש: א) להבין אילו שמות משתמש יכולים להסלים. ב) קבל הנחיה למשתמש זה. ג) בדוק כיצד להסלים (שעשויים להיות אתגרי אימות נוספים). לעומת זאת, אם הם יכולים להתחבר כחשבון "שורש", הם בעצם כבר ביצעו את השלבים A ו- C, ורק הם צריכים לעשות את המקבילה לשלב B.
+1 לפגיעה במשאבים: כלומר הזמן שלי. לאחר שנאלצתי למחוק יומנים של מיליוני כניסות SSH שנכשלו מספר פעמים לאחר שמילאו את דיסק ה- VPS הזעיר שלי וגרמו לשגיאות מוזרות אחרות למדתי את הלקח שלי.
שני הפריטים האחרונים ברשימה שלך הם לא רק טריוויאליים למדי ליישום, אלא גם קפיצת מדרגה ענקית במונחים של "יתרונות" למנהל הן ביומני השקט הנפשי והן בכמות העבודה ....
SilverlightFox
2016-02-02 22:23:59 UTC
view on stackexchange narkive permalink

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

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

  $ ssh scanme.nmap.org לא ניתן לקבוע את האותנטיות של המארח 'scanme.nmap.org (45.33.32.156)'. טביעת האצבע של מפתח ECDSA היא SHA256: 8iz5L6iZxKJ6YONmad4oMbC + m / + vI9vx5C5f + qTTGDc. האם אתה בטוח שברצונך להמשיך להתחבר (כן / לא)?  

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

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

  @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ אזהרה: זיהוי מרחוק השתנה! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ זה אפשרי שמישהו עושה משהו נעים! מישהו יכול להאזין להאזנה עליך עכשיו (התקפה בין אדם לאמצע)! יתכן שמפתח המארח של RSA השתנה זה עתה. טביעת האצבע של מפתח RSA שנשלח על ידי המארח המרוחק is5c: 9b: 16: 56: a6: cd: 11: 10: 3a: cd: 1b: a2: 91: cd: e5: 1c. אנא פנה למנהל המערכת שלך. הוסף מפתח מארח נכון ב- /home/user/.ssh/known_hosts כדי להיפטר מהודעה זו. מפתח /home/user/.ssh/known_hosts:1 מפתח מארח RSA עבור ras.mydomain.com השתנה וביקשת בדיקה קפדנית. אימות מפתח המפתח נכשל.  

האזהרה תקל. התקפה זו למשתמשים שכבר התחברו מלקוח מסוים זה.

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

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

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

Jeff Ferland
2016-02-03 01:09:43 UTC
view on stackexchange narkive permalink

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

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

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

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

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

אלא אם כן P = NP ...
mti2935
2016-02-02 21:31:03 UTC
view on stackexchange narkive permalink

דבר נוסף שיש לקחת בחשבון הוא האפשרות של פגיעויות (אם כי ידועות זמן מה או אפס יום) בדמון sshd עצמו, אשר יכול להיות מנוצל על ידי תוקף. כדי למתן זאת, עדיף לפתוח את sshd רק למשתמשים העובדים מכתובות IP ידועות שאתה סומך עליהם, או באמצעות VPN, אם אפשר.

אני משני את ה- VPN; זה גם קוצץ באופן דרסטי בגודל יומן
kasperd
2016-02-03 15:02:42 UTC
view on stackexchange narkive permalink

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

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

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

  • תוקפים ינסו להתקפות כוח סיסמא. אם יש לך משתמש כלשהו במערכת עם סיסמה חלשה, קיימת אפשרות שמתקפה כזו תצליח.
  • גם אם לכל המשתמשים במערכת יש סיסמאות חזקות, התוקפים עדיין ינסו להכריע את הסיסמאות. . פעולה זו תצרוך משאבים בשרת. מדי פעם ראיתי התקפות כוח אכזריות כאלה הן כל כך אגרסיביות עד כי כניסות לגיטימיות נכשלו עקב העמסת השרת.
  • אם אתה מתרגל לשרתי ssh לעולם לא מקבלים סיסמאות, יש סיכוי גבוה יותר שתבחין במקרה שתוקף ינסה למשוך עליך התקפת mitm ולהגיש לך בקשת סיסמה.
Øle Bjarnstroem
2016-02-02 21:47:32 UTC
view on stackexchange narkive permalink

לפי הבנתי, מפתח לא שונה כל כך מסיסמה; זה פשוט הרבה יותר ארוך ולכן קשה יותר לפצח אותו. בנוסף אתה זקוק לסיסמה למעלה.

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

העברת יציאת SSH מוצעת לפעמים, אבל אני רואה בכך תועלת מועטה.

כמו כן (מחוץ לנושא): לעולם אל תאפשר כניסה ל- SSH עבור root .

רוב יוניקס / לינוקס המודרניים כבר מגיעים עם השבתת שורש ב- sshd ... אתה צריך לאפשר זאת במפורש (וזה נוהג רע מאוד)
יש אנשים שעושים זאת עדיין מתוך עצלות. חשוב גם לשמור על רשימת משתמשי הסודו צמודה.
SSH מאפשר מפתח ללא אימות סיסמה
נָכוֹן. אבל עדיף להשתמש במפתח עם סיסמאות.
* "לפי הבנתי, מפתח לא שונה כל כך מסיסמה; הוא פשוט הרבה יותר ארוך ולכן קשה יותר לפצח אותו." * ... לא, אתה מבלבל בין אסימוני אימות למפתחות ציבוריים / פרטיים. כל העניין של מפתח פרטי הוא שבניגוד לסיסמה, הוא לעולם אינו מתקשר בעת אימות. יש כאן הבדל מאוד מהותי.
כן נכון. טעות שלי! זה היה מנוסח בצורה גרועה מאוד.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...