OpenSSH 10.1: כל מה שחדש באבטחה, רשתות ותצורה

  • אזהרות ותמיכה באלגוריתמים פוסט-קוונטיים עם WarnWeakCrypto.
  • סקירת QoS: DSCP כברירת מחדל, EF לתעבורה אינטראקטיבית ויציאה משימוש של ToS.
  • הקשחה תפעולית: שקעי סוכן ב- ~/.ssh/agent ומסנני קלט.
  • שיפורים מעשיים: SIGINFO, RefuseConnection, PKCS#11 Ed25519 ותיקוני באגים מרכזיים.

OpenSSH 10.1

מעבר לתווית הגרסה, OpenSSH 10.1 מאחד את הנתיב שהחל בסדרת 10: מעבר לקריפטוגרפיה פוסט-קוונטית, מודרניזציה של QoS עם DSCP, והקשחת אזורים רגישים מבחינה היסטורית (סוכנים, מפתחות, רישומים וניתוח פרמטרים). להלן תמצאו סקירה יסודית של כל התכונות החדשות (עם הקשר היכן שהדבר מוסיף ערך), וכן הנחיות מעשיות לאימוצם ללא הפתעות.

להלן הרשימה עם ה- מה חדש בגרסה זו, זמין גם ב- הערות רשמיות.

נקודות עיקריות והקשר של הפרסום

הגרסה הרשמית של OpenSSH 10.1 (2025-10-06) מדגישה שלושה צירים: אבטחה מונעת מפני קריפטוגרפיה קוונטית, רשתות DSCP וחיטוי קלטזה גם מחבר שינויים ספציפיים בעלי השפעה תפעולית גבוהה: מנתיבי שקעי סוכנים ועד סימני אבחון חדשים.

תזכורת חשובה לפרויקט: גרסה עתידית תתעלם מיומני SSHFP מבוססי SHA‑1בעוד ssh-keygen -r כעת מייצר טביעות אצבעות SSHFP רק עם SHA‑256 כברירת מחדל, סוגרים את הדלת לגיבובים חלשים לאימות DNSSEC ואימות מפתח מארח.

אזהרת קריפטוגרפיה שאינה פוסט-קוונטית ואפשרות WarnWeakCrypto חדשה

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

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

התאמה למארח unsafe.example.com WarnWeakCrypto לא

קריפטוגרפיה וטכנולוגיה מתקדמת: PQC, היברידים ו-SSHFP

בגרסה 10.0, הלקוח עבר לשימוש כברירת מחדל mlkem768x25519-sha256, אלגוריתם פוסט-קוונטי היברידי המשלב ML-KEM (KEM NIST FIPS 203) עם X25519. אסטרטגיה היברידית זו מבטיחה שגם אם תופיע פריצת דרך קריפטאנליטית בצד ה-PQ, לא היית במצב גרוע יותר מאשר עם ECDH קלאסי מכיוון שהערוץ שומר על עוצמת X25519.

עם 10.1, בנוסף לאזהרה שהוסברה לעיל, המעבר מחוזק: OpenSSH ימשיך להתעלם מ-SSHFP עם SHA-1 בעתיד.הכלי ssh-keygen כבר מנפיק SSHFP עם SHA-256 באופן בלעדי. מבחינה תפעולית, הפעולה המומלצת היא ליצור מחדש ולפרסם טביעות אצבע של SSHFP ב-SHA‑256 עבור המארחים שלכם.

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

מודרניזציה של רשת: DSCP/IPQoS ותעדוף תעבורה

מהדורה זו משלבת שיפוץ יסודי של QoS. הן בלקוח והן בשרת, תעבורה אינטראקטיבית מוגדרת כברירת מחדל למחלקה EF (העברה מהירה), מה שעוזר להפחית השהיות ב-Wi-Fi ובמדיה עמוסה. תעבורה לא אינטראקטיבית עוברת לשימוש ב- סימן DSCP ברירת מחדל של המערכת, מבלי להעלות את העדיפויות.

בפועל, שניהם ssh(1) ו-sshd(8) משתנים באופן דינמי המותג בו נעשה שימוש בהתאם לסוג הערוצים הקיימים: אם אותו חיבור משלב מעטפת ו-a sftp, שלב ההעברה הלא אינטראקטיבי ישתמש בערך הלא אינטראקטיבי במהלך הפעולה ויחזור ל-EF בעת הצורך. זה נשלט על ידי המקש IPQoS en ssh_config y sshd_config.

בנוסף, התמיכה בתנאי שימוש ישנים יותר של IPv4 מבוטלת באפשרות IPQoS (lowdelay, throughput, reliability (מפסיקים להשפיע). אם עדיין השתמשת בהם, עובר למינוח DSCP (למשל, ef, cs0, af11, וכו ').

הקשחת קלט: משתמשים, URI והרחבות

בסעיף האבטחה, גרסה 10.1 מתקנת מקרה עדין שבו, אם בניתם שורות פקודה עם נתונים חיצוניים ובמקביל השתמשתם ב... ProxyCommand עם הרחבות %r/%u, תוקף יכול להכניס ביטויי מעטפת. כדי למתן מצב זה, ssh(1) אוסר כעת תווי בקרה במשתמשים שעברו גישה לפקודה שורת פקודה (CLI) או משתמשים מורחבים, וגם חוסם את תו ה-null ב-URI ssh://.

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

אותות ומידע בזמן אמת: SIGINFO ונראות

טיפ מעשי נוסף: ניפוי שגיאות. ssh(1) ו-sshd(8) מקבלים מטפלי SIGINFO אשר רושמים את הסטטוס של ערוצים פעילים וסשנים. בסביבת ייצור, זה מאפשר אבחון זרימה, ריבוב, העברה ו-X11 ללא צורך לצרף ניפוי שגיאות או להגדיל את המלל באופן פולשני.

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

סוכן ssh ומפתחות: שקעים, חיטוי ו-PKCS#11

כדי למנוע גישה צולבת בסביבות עם הרכבה מוגבלת של /tmp, שקעי הסוכן (ואלו שהועברו על ידי sshd) אני יודע מעבר מ-/tmp ל- ~/.ssh/agentלפיכך, תהליך עם הרשאות מוגבלות על /tmp כבר לא יורש בטעות את היכולת לחתום עם המפתחות שלך מהסוכן.

לשינוי הזה יש נגזרת נוספת: לפני שמערכת ההפעלה יכלה לנקות שקעים מיושנים, עכשיו סוכן ssh משלב ניקוי משלו משקעים ישנים. בנוסף, הסוכן מוסיף דגלים חדשים: -U y -u כדי לשלוט על הניקיון בעת ​​ההפעלה, -uu להתעלם משם המארח בעת ניקוי, ו -T לאלץ את המיקום ההיסטורי ב /tmp אם אתה באמת צריך את זה.

במישור המרכזי, הלקוח והסוכן כעת נתמכים ED25519 המתארחים באסימוני PKCS#11אם תסתמכו על HSM או מפתחות קריפטוגרפיים, תרוויחו גמישות מבלי להתפשר על חוזק.

ssh-add ואישורים: תוקף ניקוי עצמי

כאשר אתה מוסיף אישורים לסוכן, תוקפו נקבע כעת עם תקופת חסד של 5 דקותהרעיון פשוט: לאפשר השלמת עסקאות בתור ואז, מחק את אישור הסוכן באופן אוטומטיאם הזרימה שלך דורשת שליטה מוחלטת, ssh‑add -N להשבית התנהגות זו.

RefuseConnection: ניתוקים מבוקרי צד הלקוח

ישנם תרחישים שבהם אתה מעוניין לנתק חיבור מהלקוח עצמו עם הודעה ברורה (לדוגמה, הפניות תפעוליות או הודעות על הוצאה משימוש). OpenSSH 10.1 מוסיף חיבור סירוב a ssh_configאם נתקלים בו בעת עיבוד מקטע חם, הלקוח מסתיים עם שגיאה ו מציג את הטקסט שהגדרת.

איכות קוד ואבטחה חיה

הצוות ממשיך לנקות את בסיס הקוד. רשימות 10.1 דליפות זיכרון תוקנושיפורי אטומיה בעת כתיבה known_hosts עם נוכחות גבוהה וכמה תנאי המירוץ נפתרו בתהליכים כגון MaxStartups או מפגשי X11.

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

ניידות ומערכת אקולוגית: PAM, FreeBSD, macOS, אנדרואיד…

שינויים בניידות משפיעים על מגוון תחומים: בדיקות נוספות בסביבות PAM (כגון להבטיח שהמשתמש לא ישתנה במהלך התהליך), שיפורי אינטגרציה עם FreeBSD (העברת כיוון ותאימות), MacOS (זיהוי חזק של פונקציות וכותרות) ו- אנדרואיד (struct passwd עם שדות שאינם null).

כותרות תאימות מתווספות גם עבור פלטפורמות ללא ספריות סטנדרטיות מסוימות, מה שמפחית את מספר ה- #ifdef מפוזרים. לבסוף, הם עוברים זיקוק מדיניות ארגז חול של seccomp בלינוקס כדי לכסות קריאות סיסטמיות כמו futex_time64 ב-32 סיביות, ותמיכה נוספת ל- AWS-LC כחלופה ל-OpenSSL/LibreSSL.

QoS בפעולה: דוגמאות מעשיות והעברת IPQoS

אם השתמשת בכינויים הישנים של תנאי השימוש (lowdelay, throughput...), עכשיו יתעלמו מהם ותראו הודעת ניפוי שגיאות המציעה DSCP. ההעברה האופיינית תהיה לעבור מ IPQoS lowdelay a IPQoS ef עבור מפגשים אינטראקטיביים; אם אתם גם משתמשים ב-SFTP כבד, תוכלו הגדרת פרופילים לפי התאמה en ssh_config/sshd_config כדי להפריד את התנועה.

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

התקנת OpenSSH 10.1 על לינוקס (מקור)

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

זפת -xvf openssh-10.1.tar.gz

היכנסו לספרייה ו הגדרת קידומות ונתיבי תצורה אם אתה צריך את זה. לדוגמה:

cd openssh-10.1 ./configure --prefix=/opt --sysconfdir=/etc/ssh

הידור והתקן כרגיל (בהתאם להרשאות, אולי עם משתמש-על):

לעשות

make install

הפעלת OpenSSH ב-Windows באמצעות PowerShell

בסביבות Windows מודרניות (Server 2019/Windows 10 1809+), ניתן להתקין את לקוח ושרת OpenSSH כתכונות מערכת.בדוק קיבולות ומצב:

Get-WindowsCapability-Online | Where-Object Name - כמו 'OpenSSH*'

התקן את הרכיבים כפי שאתה צריך:

הוסף-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 הוסף-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

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

שירות התחלה sshd Set-Service -Name sshd -StartupType 'Automatic' Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue

כדי להתחבר ממארח ​​Windows או Linux אחר, השתמש בלקוח הסטנדרטי: ssh dominio\usuario@servidorבגישה הראשונה, מקבל את טביעת האצבע של המארח ותאמת באמצעות הסיסמה שלך.

מדריך תפעולי: אבחון ושיטות עבודה מומלצות

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

אם אתם תלויים בסוכנים, בדקו היכן נמצאים השקעים כעת (~/.ssh/agent) ו הפעל ניקוי אוטומטי במודל הפריסה שלך. בתחנות עבודה משותפות או עם NFS, שקול להשתמש בדגל הסוכן כדי להגדיר גיבובי שם מארח בנתיב בעת הצורך.

תיקוני הבאגים הרלוונטיים ביותר

ב-10.1 הם נפתרו רגרסיות מינוריות ב-X11 בשילוב עם הפחתת קצב הלב (ObscureKeystrokeTiming), מקרה של החשבונאות הגרועה של MaxStartups שיכול להציף את המשבצות, ואת הכתיבה של known_hosts עכשיו זה גמור בפעולות אטומיות כדי להימנע מקווים שזורים עם מקביליות גבוהה.

תיקונים אחרים משפרים אבחון בעת ​​טעינת מפתחות, טיפול במגבלות גודל תצורה (מ-256KB עד 4MB), פלט ביקורת ומקרי פינה אקזוטיים בהעברות מקומיות וברצפי בקרה. בנוסף, הודעות ופלט מ ssh -G y sshd -T.

רשימת בדיקה מומלצת למעבר

רשימה מהירה זו זה כולל את המשימות שהפרויקט עצמו מציע ואת מה שעולה מהשינויים:

  • קריפטובדוק ש KexAlgorithms מאפשר PQ היברידי ומייצר SSHFP חדש ב-SHA‑256 עם ssh-keygen -r.
  • QoS: לבדוק IPQoS בלקוח/שרת; העברת תנאי שימוש מדור קודם ל-DSCP; ניצול EF עבור הפעלות אינטראקטיביות.
  • סוכנים: מתאים סקריפטים ומשתנים לשקעים תחת ~/.ssh/agentמעריך ניקוי אוטומטי על ידי החומר עצמו.
  • תצורות גדולותאם אתה יוצר תצורות בכמות גדולה, המגבלה עולה ל-4MB; יש ליישם זאת בחוכמה ושולט על האימות.
  • מנתחיםהימנעו מבניית שורות פקודה מקלט לא אמין; השתמשו config מקומיים עם אותיות ליטרליות כאשר יש לך רישיות מוזרות בשמות משתמש.

אלו שמנהלים ציי רכב מעורבים יעריכו את ה-10.1 הזה. לדחוף את הביטחון איפה שזה הכי פחות כואב (מנתחים, סוכנים, אזהרות) ובו זמנית לשפר את החוויה היומיומית (QoS דינמי, SIGINFO, רישום אישורים). אם כבר השתמשתם בגרסה 10.0, המעבר פשוט; אם אתם מגיעים מגרסה 9.x, קחו את הזמן לכוונן את DSCP, יצטרכו ליצור מחדש את SSHFP ל-SHA‑256, והפעילו KEX היברידיים כדי להגן על עצמכם מפני האיום הקוונטי מבלי להתפשר על הביצועים.

OpenSSH
Artaculo relacionado:
OpenSSH 9.0 מגיע עם SFTP במקום scp, שיפורים ועוד