מה openssl dhparam -check מאמת ומה הוא מפספס
מעבר של בדיקת פרמטרים אינו סקירה ביטחונית. ראו מה היא מוכיחה על קובץ ה-DH שלכם, איך לקרוא את גודל הקבוצה ואיך להימנע מיצירה מחדש.
מעבר של dhparam -check מרגיש כמו פסק דין על הגדרת ה-Diffie-Hellman של ה-VPN שלכם. זה אינו. הפקודה משווה קובץ פרמטרים אחד לאריתמטיקה שהוא טוען שהוא מקיים, והיא אינה אומרת דבר על כך אם גודל הקבוצה מתאים למדיניות שלכם או אם המנהרה בכלל טוענת את הקובץ. קריאה שלה כסקירה ביטחונית היא ההנחה שכדאי לתקן קודם.
קובץ פרמטרים מכיל מספר ראשוני ומחולל. תוקף הוא תכונה של המספרים האלה, בעוד שעוצמה היא שיפוט לגבי מודל האיומים והעמיתים שלכם, והשניים אינם ניתנים להחלפה.
מה בדיקת התוקף מאמתת באמת
הריצו את הבדיקה על הקובץ שיש לכם וקראו את התשובה. openssl dhparam -in dh.pem -check -noout מבצע את בדיקות הפרמטרים ומדכא את הפלט המקודד. הודעה שהפרמטרים נראים תקינים פירושה שהערכים עקביים מבחינה מבנית; היא אינה אומרת שקבוצה קצרה מקובלת בסביבה שלכם.
יצירה בלי -dsaparam מפיקה מספרים ראשוניים בטוחים, שבהם גם (p-1)/2 ראשוני, ולכן זה לוקח כל כך הרבה זמן. מסלול בסגנון DSA בונה פרמטרים מהר יותר וממיר אותם לצורת DH, ואילו המדריך של OpenSSL מצמיד דרישות נוספות למפתחות טריים לשימוש בהם. אף אחת משתי הבניות אינה סוד הפעלה: הקובץ הוא חומר תצורה ציבורי, לא המפתח הפרטי של התעודה ולא הסוד המשותף של ערוץ הבקרה.
קראו את הגודל ואת המחולל לפני ששופטים את הקובץ
תוצאת תוקף אומרת יותר כשאתם יודעים מה אומת. הדפיסו את הפרמטרים עם openssl dhparam -in dh.pem -text -noout, ואז רשמו את אורך הראשוני ואת ערך המחולל.
השוו את האורך הזה למדיניות כתובה ולא להרגל. אם הדרישה שלכם היא קבוצה בעלת שם מאושרת מערימת TLS מודרנית, קובץ שנוצר ביד עשוי להיות החפץ הלא נכון לגמרי. רשמו את שני המספרים ביומן השינויים כדי שהסוקר הבא לא יצטרך לגזור אותם שוב.
אל תהפכו בדיקה ליצירה מחדש
מצב הכשל כאן הוא פקודה שנראית כמו בדיקה ומתנהגת כמו מחולל. הוספת אורך בסיביות, כמו ב-openssl dhparam -check 2048, מבקשת פרמטרים חדשים וקובץ הקלט מתעלם. אפשרות מחולל יכולה לעשות את אותו הדבר. אם רק רציתם לבדוק, העבירו -in ו--check ושום דבר שמתאר גודל.
כתיבת פלט על הנתיב המקורי ראויה לאותה חשדנות, כי המדריך מזהיר שכתיבה לקובץ אינה אטומית. קריסה באמצע הכתיבה משאירה קובץ פרמטרים קטוע ושירות שלא יעלה.
התאימו את הקבוצה לפרוטוקול, לא למגמה
מדיניות הגודל היא החלטה שהכלי לא יכול לקרוא במקומכם. קבוצת שדה סופי של 2048 סיביות היא רצפה נפוצה וקבוצות גדולות יותר עולות זמן לחיצת יד, אז בחרו את המספר שהבסיס שלכם מכנה ורשמו אותו. קבוצות נפוצות אינן חלשות מפני שהן ציבוריות; עמימות לא מוסיפה כאן דבר.
כשהערימה תומכת בקבוצות בעלות שם מאושרות, פעלו לפי הסידור המתועד הזה במקום ליצור פרמטרים לא שגרתיים כדי שייראו ייחודיים. קבוצה בעלת שם היא משהו שעמית יכול לזהות וסוקר יכול לחפש, וזה שווה יותר מקובץ בהתאמה אישית שאיש אינו יכול לסווג.
ודאו שה-VPN בכלל טוען את הקובץ
קובץ פרמטרים נכון שאף תהליך לא קורא לא משנה דבר. ב-OpenVPN הנחיית השרת היא dh עם נתיב, ופריסות שנשענות על ECDH או על החלפת מפתחות TLS 1.3 יכולות להגדיר dh none במקום. בדקו את התצורה הפעילה ולא תבנית, ואז ודאו שלקוחות ועמיתים מנהלים משא ומתן על אותה בנייה.
סגרו את המעגל עם הראיות שבאמת דרושות לכם: הקבוצה שהמנהרה ניהלה עליה משא ומתן, אורך הפרמטרים בקובץ ושורת המדיניות שהאורך הזה מקיים. בדיקה שעברה שייכת לרשימה הזו כפריט אחד. התייחסות אליה כתשובה השלמה היא הדרך שבה קבוצה קצרה שורדת ביקורת שהייתה אמורה לתפוס אותה.