
OpenSSH 10.3 זמין כעת הוא מציג שילוב של תיקוני אבטחה, שינויי התנהגות ויכולות חדשות המשפיעות הן על מנהלי המערכת והן על המפתחים. בעוד שרבות מהתכונות החדשות הן טכניות, חלקן עלולות לגרום לכשלים בחיבור עם לקוחות או שרתים ישנים יותר אם התצורות לא נבדקות בקפידה.
עבור סביבות ארגוניות, בהן OpenSSH הוא רכיב מרכזי בשרתי לינוקס, מערכות BSD והתקני רשת, עדכון זה רלוונטי במיוחד. גרסה 10.3 מתקנת פגיעויות, מתאימה את אימות התעודות ומשנה את אופן הטיפול באפשרויות תצורה מסוימות, לכן מומלץ לבדוק אותה בסביבות טרום-ייצור לפני פריסה המונית.
תאימות פגומה עם יישומים שאינם דורשים מפתחות מחדש
אחד השינויים המשמעותיים ביותר ב-OpenSSH 10.3 הוא הסרת הקוד עבור "תאימות באגים" עם יישומים שאינם תומכים בשינוי מפתחעד כה, הפרויקט שמר על סדרה של התאמות פנימיות שאפשרו לו להמשיך לתקשר עם לקוחות או שרתים SSH ישנים או לא סטנדרטיים, שחסרה להם היכולת לנהל משא ומתן מחדש על מפתחות במהלך הסשן.
מגרסה זו ואילך, אם א לקוח או שרת SSH אינם תומכים בשינוי מפתחותהחיבור עם OpenSSH 10.3 פשוט ייכשל בעת ניסיון ליצור חיבור או במהלך ההפעלה. זה יכול להשפיע על תשתיות שעדיין משתמשות בתוכנות מדור קודם, התקנים משובצים או פתרונות קנייניים שמיישמים את פרוטוקול SSH באופן חלקי.
מנהלי מערכות בארגונים צריכים מלאי של מכשירי ושירותי SSH כדי לבדוק אם כל הרכיבים תומכים בשינוי מפתח לפני שדרוג. בפריסות שבהן מתוחזקת חומרה ישנה יותר או תוכנה מותאמת אישית, ייתכן שיהיה צורך לשדרג רכיבים אלה או לבודד אותם במקטעים שבהם OpenSSH 10.3 אינו בשימוש.
תיקון לבאג הזרקת פקודות דרך שם משתמש
על הלקוח SSH מתקן פגיעות אימות זה איפשר, בתנאים מסוימים, להרחיב תווי מעטפת מיוחדים המופיעים בשם המשתמש לפני בדיקת האבטחה. הבעיה מתעוררת בעת שימוש בשמות משתמש הנשלטים על ידי צד שלישי ותצורות מתקדמות עם טוקנים להחלפה.
באופן ספציפי, הפגיעות השפיעה על תצורות הכוללות את הטוקן %u בתוך בלוקי התאמה של ביצועים בקובץ ssh_config. בתרחיש זה, תוקף עם היכולת להשפיע על שם המשתמש המועבר לפקודת ssh יוכל לבצע פקודות שרירותיות במעטפת, תוך ניצול הרחבת מטא-תווים.
הגרסה החדשה מתאימה את סדר האימות של פרמטרים אלה ל למנוע התפשטות מסוכנת של שמות משתמש זדוניים. למרות זאת, מפתחים מזכירים לנו שחשיפת ארגומנטים בשורת הפקודה של SSH לקלט לא מהימן היא עדיין נוהג עיצוב גרוע, במיוחד בסקריפטים או בכלים אוטומטיים המשמשים בסביבות גדולות.
שינויים בטיפול בתעודות ובעיקרים
OpenSSH 10.3 מציג מספר התאמות משמעותיות ב- ניהול תעודות SSH וה"עיקריות" שלה (זהויות שאליהן משויכת האישור), עם השפעה ישירה על אופן אימות הגישה.
באג בהתאמת תווים ראשיים עם פסיקים
תוקנה טעות ב sshd בעת השוואה בין האפשרות הראשית="" הבעיה נבעה מהערכים בקובץ authorized_keys עם רשימת ה-principals הכלולים באישור. הכשל התרחש כאשר אחד משמות ה-principals באישור הכיל פסיק, מה שעלול להוביל להתאמות לא תקינות בתרחישים ספציפיים מאוד.
כדי שהבעיה תהיה ניתנת לניצול, היו צריכים להתקיים מספר תנאים: שהקלט של authorized_keys כולל יותר ממפתח ראשי אחדהבאג גרם לרשות האישורים להנפיק אישור עם כמה מהשמות הללו מופרדים בפסיקים, ולהשתמש במפתחות CA מהימנים על ידי המשתמש. זרימת אימות האישורים הראשית המבוססת על TrustedUserCAKeys ו-AuthorizedPrincipalsFile לא הושפעה.
תעודות עם רשימת מנהלים ריקה
שינוי נוסף בהתנהגות מתקן את עיצוב היסטורי בעייתי בתעודותעד כה, כאשר נעשה שימוש באישור עם מקטע ריק של "principals" יחד עם "authorized_keys principals="", הוא טופל דה פקטו כתו כללי (wildcard), מה שאפשר אימות של כל משתמש שבטח באותה רשות אישורים.
זה היווה סיכון לא ברור מאליו: רשות אישורים שהנפיקה בטעות תעודה עם רשימה ראשית ריקה בטעות, היא העניקה גישה רחבה במיוחד. ב-OpenSSH 10.3, מצב זה משתנה, ותעודה ללא קוד מנהל נחשבת כעת כלא תואמת לאף קוד מנהל, מה שמונע התנהגות מסוכנת זו של "תו כללי".
יתר על כן, לפרויקט יש איחד את הטיפול בתווים כלליים בתעודות עיקריותהשימוש בתווים כלליים (wildcards) מותר בתעודות מארח, אך לא בתעודות משתמש. מטרה זו היא התנהגות צפויה וניתנת לביקורת יותר, דבר המוערך במיוחד בביקורות אבטחה של ארגונים אירופאיים הכפופים למסגרות כגון NIS2 או ENS.
יישום קפדני של אלגוריתמי ECDSA
בחלק הקריפטוגרפי, OpenSSH 10.3 מתקן בעיה ב יישום ההנחיות PubkeyAcceptedAlgorithms ו-HostbasedAcceptedAlgorithms עבור מפתחות ECDSA. עד גרסה זו, אם שם של אלגוריתם ECDSA הופיע באחת מהרשימות הללו, השרת היה מקבל דה פקטו אלגוריתמי ECDSA אחרים גם אם הם לא היו רשומים במפורש.
עם הגרסה החדשה, sshd מכבד במדויק את רשימת האלגוריתמים המותריםזה סוגר את הפער הזה ומציע שליטה טובה יותר על אילו גרסאות ECDSA ניתן להשתמש בהן. זה שימושי למנהלים המעוניינים להגביל את מערך האלגוריתמים לפרופילים חזקים יותר או להתאים אותם להמלצות הביטחון הלאומי.
תיקון ב-scp בעת הורדה כ-root
הכלי scp מקבל גם התאמת אבטחה כאשר נעשה שימוש במצב Legacy (תאימות ל-rcp) ופועל כ-root. בגרסאות קודמות, בעת הורדת קבצים ללא שימוש באפשרות -p, התוכנית לא הסירה את הביטים setuid ו-setgid מהקבצים שהתקבלו.
התנהגות זו, שעברה בירושה מ החייאה המקורית של ברקליזה עלול להיות מסוכן בתהליכי עבודה מסוימים של העתקה, מכיוון שקובץ המועבר עם הרשאות מיוחדות עלול להיות מבוצע עם הרשאות מוגברות במערכת היעד. OpenSSH 10.3 מתקן התנהגות זו כדי לחזק את האבטחה בניהול מרחוק, נוהג נפוץ בשרתי ייצור במרכזי נתונים.
אימות משופר ובקרת ריבוב של ProxyJump
בנוגע לאפשרויות חיבור מתקדמות, הלקוח מציג שיפורים ב- ProxyJump (פרמטר -J או -oProxyJump)כעת, ערכי משתמש ומארח המועברים דרך שורת הפקודה מאומתים בצורה קפדנית יותר כדי למנוע וקטורי הזרקת פקודות פוטנציאליים בתצורות שבהן שדות אלה עשויים להיות מושפעים מקלט לא מהימן.
חשוב להדגיש את זה האימות חל רק על מה שמתקבל דרך שורת הפקודה. והוא אינו משפיע על הערכים המוגדרים בקבצי התצורה. למרות זאת, הוא מספק שכבת הגנה נוספת עבור סקריפטים, אוטומציות וכלים המשתמשים ב-ProxyJump באופן דינמי.
בתחום ריבוב החיבורים, נפתרה בעיה עם ה- אישור סשן בעת שימוש ב-ControlMaster ask/autosask במצב proxy באמצעות "ssh -O proxy". בעבר, בקשות אישור לא הוערכו כהלכה בסוג זה של סשן מרובב.
בנוסף, נוספו פקודות חדשות כדי להשיג מידע מפורט על מפגשים פעיליםהפקודה "ssh -O conninfo" ורצף ה-escape "~I" מציגים מידע על חיבור עבור הפעלות מתמשכות, בעוד ש-"ssh -O channels" מדווח אילו ערוצים תהליך המרבב שומר פתוח. תכונות אלו יכולות להקל על פתרון בעיות בפריסות מורכבות, שהן נפוצות מאוד בארגונים גדולים ובספקי שירותים באיחוד האירופי.
מה חדש ב-ssh-agent, ssh-add וניהול מפתחות
OpenSSH 10.3 עושה צעד נוסף ב- יישור עם טיוטת IETF draft-ietf-sshm-ssh-agent בנוגע לסוכן SSH, נוספה תאימות עם נקודות הקוד החדשות שהוקצו על ידי IANA להעברת סוכנים, כך שכאשר השרת מפרסם תמיכה בשמות אלה באמצעות הודעת EXT_INFO, OpenSSH ייתן עדיפות לשימוש במזהים הסטנדרטיים.
עם זאת, תמיכה ב- סיומות היסטוריות עם הסיומת @openssh.comהבטחת יכולת פעולה הדדית עם תשתיות קיימות. רכיב ה-ssh-agent משלב גם תמיכה בהרחבת "query" שהוגדרה באותה טיוטה, מה שמאפשר שאילתות מובנות יותר של יכולות הסוכן.
מצדה, התועלת ssh-add מוסיף את האפשרות -Q לבצע שאילתה על הרחבות הפרוטוקול שהסוכן תומך בהן. פונקציונליות זו שימושית במיוחד עבור צוותי אבטחה ותפעול שצריכים לבדוק אילו תכונות זמינות בסוכנים הפרוסים במערכות שונות.
בתחום המפתחות, ssh-keygen כולל כעת את היכולת לכתוב מפתחות ED25519 בפורמט PKCS8זה מקל על שילובו עם כלי קריפטוגרפיה וספריות אחרות המשמשות בסביבות עסקיות ומנהל ציבורי.
עונשים על מקור ושיפורי אבחון ב-SSHD
שרת ה-SSH משלב שיפורים שמטרתם להפחית ניצול לרעה ולהקל על יכולת הצפייה. אחד מהם הוא הכנסת ה- עונש משתמש לא חוקי בתוך PerSourcePenaltiesאשר מוחל כאשר מתקבלים ניסיונות התחברות עם שמות משתמש שאינם קיימים במערכת.
כברירת מחדל, עונש חדש זה מורכב מ- חכו חמש שניותזה תואם את העונש הקיים עבור authfail, אך מנהלי מערכת יכולים להגדיר משכי זמן ארוכים יותר אם הם מזהים התקפות Brute-Force או סריקות המוניות של משתמשים. יתר על כן, רזולוציית הזמן של העונשים היא כעת נקודה צפה, מה שמאפשר עונשים של פחות משנייה אחת בתרחישי אירועים בתדירות גבוהה.
במקביל, יכולות הריבוב החדשות שתוארו לעיל ("ssh -O conninfo", "ssh -O channels" ופונקציית הבריחה "~I") מספקות נראות רבה יותר של קשרים פעיליםזה יכול להיות מאוד מועיל באבחון בעיות השהייה, חסימה או שימוש חריג במנהרות וערוצים של SSH.
שינויים נוספים באבטחה ובתאימות
OpenSSH 10.3 מוסיף sshd את אפשרות השרת GSSAPIDelegateCredentialsהגדרה זו קובעת האם השרת מקבל אישורים שהוקצאו על ידי הלקוח. אפשרות זו משקפת את המדיניות הקיימת בצד הלקוח ומאפשרת להתאים את ההתנהגות למדיניות הפנימית של כל ארגון בנוגע ל-Kerberos ולהקצאת אישורים דומה.
היקף ה- הנחיות RevokedHostKeys ב-ssh_config ו-RevokedKeys ב-sshd_configאשר כעת יכולים להצביע על קבצים מרובים. זה מקל על ניהול רשימות מפתחות שבוטלו, המופרדות לפי פרויקטים, מחלקות או רמות אמון - שימושי בתשתיות גדולות עם צוותים וספקים מרובים.
הגרסה מתקנת גם מספר בעיות מעשיות: באג ב- הזנת קוד סודי עבור מפתחות PKCS#11 הוצגה בגרסאות 10.1 ו-10.2, שופר הטיפול בחתימות אישורי FIDO/WebAuthn, תוקנה קריסת sshd הקשורה להנחיות תת-מערכת חסרות בתוך בלוקי Match, ובעיית בלבול שם משתמש במודול PAM טופלה בענף הנייד.
עם גרסה זו, OpenSSH 10.3 מאחדת את חבילה מקיפה של שינויים לשיפור הבטיחותזה מתאים התנהגויות מדור קודם ומרחיב את יכולות הניהול מבלי לאבד תאימות עם רוב הפריסות המודרניות. ארגונים המסתמכים על SSH לניהול מרחוק, אוטומציה ומנהור מאובטח יעשו טוב אם יתכננו את השדרוג, תחילה יבחנו את סביבות הבדיקה שלהם לאיתור בעיות פוטנציאליות ביישומים מדור קודם, אפשרויות יוצאות דופן או תצורות מותאמות אישית מאוד.
