פרויקט Whonix

בדף הזה מפורטים פרטי פרויקט של כתיבה טכנית שאושר להשתתפות בתוכנית Google Season of Docs.

סיכום הפרויקט

ארגון קוד פתוח:
Whonix
כותב טכני:
0brand
שם הפרויקט:
תיעוד ההתקנה וההגדרה של הפצת Debian Linux החדשה והמוקשחת שמתמקדת באבטחה.
משך הפרויקט:
אורך רגיל (3 חודשים)

תיאור הפרויקט

‫Hardened Debian היא מהדורת Linux חדשה שמתמקדת באבטחה ונמצאת בפיתוח פעיל על ידי מפתחי Whonix. בפרויקט הזה מתועד תהליך ההתקנה וההגדרה של Hardened Debian בתוך Windows/VirtualBox מאפס, עם דגש על הקניית מיומנויות למשתמשי Linux בפעם הראשונה, כדי שיוכלו להסתדר בעצמם כשהם משתמשים בהפצת Linux.

יעדים של פרויקטים

  1. יצירת מסמכי ליבה

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

  2. יצירת אזורי למידה למשתמשי Linux חדשים

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

  3. הפרדה ברורה בין Debian מוקשח לבין Whonix (מערכת הפעלה לאנונימיות):

    באתר Whonix.org אפשר למצוא מידע על Whonix ועל Hardened Debian, אבל לכל אחת ממערכות ההפעלה האלה יש תרחישי שימוש שונים מאוד, ובלבול בין השתיים עלול להוביל לתוצאות חמורות. לדוגמה, Whonix ידועה באנונימיות שלה, אבל משתמש חדש שלא מכיר את Whonix עשוי להגדיר את Hardened Debian ולהניח שהוא גולש באינטרנט באופן אנונימי. כדי למנוע טעויות כאלה, התיעוד של Hardened Debian יוגבל לאזור נפרד באתר Whonix.org, וישתמש בסגנון עיצוב חדש שדומה לספר ושונה מסגנון העיצוב של התיעוד של מערכת ההפעלה Whonix. אזהרות ייכללו גם באזורים מרכזיים כמו דף ההורדה של Hardened Debian, כדי למנוע מהמשתמשים לבצע את הטעויות האלה.

  4. מסמכים ידידותיים למשתמש

    התקנה והגדרה של הפצות לינוקס יכולות להיות מאתגרות גם למשתמשים מנוסים. ממשק משתמש אינטואיטיבי וקל לשימוש יכול לשפר את חוויית המשתמש, אבל חשוב לא פחות לכתוב תיעוד ברור וקל להבנה – תיעוד ידידותי למשתמש. בגלל שמספר המשתמשים ב-Debian המוקשח נע בין מתחילים לבין משתמשי Linux מתקדמים, חשוב לוודא שהתיעוד לא נכתב רק על סמך המומחיות הטכנית וההבנה של הכותב הטכני. במקום זאת, נתעד את Hardened Debian מנקודת המבט של משתמש מתחיל ב-Linux, שעלול להתקשות בביצוע משימות שמשתמשים מנוסים מוצאים פשוטות וקלות לביצוע.

  5. לעודד מעורבות או הצעות תוכן מהקהילה

    ‫Hardened Debian הוא פרויקט מאתגר שאפשר להשלים אותו רק אם הקהילה תמשיך להיות מעורבת לאורך כל משך הפרויקט. חברי הקהילה ימשיכו להיות מעורבים רק אם המשוב שלהם יתקבל בהתלהבות והרעיונות הטובים שלהם ישמשו לשיפור התיעוד. במהלך GSoD אשאר פעיל בפורום של Whonix ואעודד משוב מהקהילה ותרומות לשיפור התיעוד.

  6. שינוי השם של Hardened Debain OS

    מערכת ההפעלה הזו מבוססת על Hardened Debian, אבל צריך למצוא לה שם חדש כדי למנוע הפרות של סימנים מסחריים. כדי להשיג את המטרה הזו, קהילת Whonix תעודד לשלוח שמות קליטים שמתוכם מפתחי Whonix יוכלו לבחור. למרות זאת, עדיין במצב סיעור מוחות, שתי האפשרויות המועדפות שלי הן "Sentient Linux" ו-"Sentinel Linux".

ציר זמן של הפרויקט

ציר הזמן של הפרויקט הזה יחולק ל-7 אבני דרך קטנות, שבעזרתן אפשר יהיה להעריך את ההתקדמות ולבצע התאמות כדי לוודא שכל קטע יושלם בזמן. אם אתקל בבעיות במהלך התוכנית Season of Docs, אעדכן את המנטור שלי באופן מיידי כדי שנוכל לגבש תוכנית פעולה לפתרון הבעיה.

‫2 בספטמבר ( התחלת פרויקט Season of Docs)

בדף הבית תהיה סקירה כללית של Hardened Debian עם פירוט של נקודות חשובות במערכת ההפעלה.

התיעוד הראשוני יכלול התקנה של Hardened Debian ב-Windows או ב-VirtualBox. הפעולה הזו תגביל את ההיקף הראשוני של הפרק הזה. עם זאת, חברי הקהילה מוזמנים לבדוק את Hardened Debian במארחי Linux, כמו גם בהיפר-ויזורים של KVM, ולתעד את הממצאים שלהם.

טבלה עם פרטים על מערכת ההפעלה של המארח הנתמך

טבלה עם פירוט של דרישות החומרה.

  • דרישות מינימליות
  • מומלץ
  • לביצועים הטובים ביותר

התוכן יכלול סקירה כללית עם פירוט של יעדי הפיתוח והשימושים של Hardened Debian, ולאחר מכן טבלה עם תיאור של כל רכיב.

מטרות של Debian מוקשח.

  • הפצת Linux עם דגש על אבטחה
  • קוד פתוח וחינמי
  • המשתמש יכול להגדיר
  • מוקשח כברירת מחדל

טבלה של הרכיבים שמרכיבים את Hardened Debian.

  • ‫VirtualBox hypervisor
  • Windows
  • מערכת הפעלה מבוססת Debian עם אבטחה משופרת
  • מינוח (מארח, מכונה וירטואלית, מערכת הפעלה אורחת וכו')

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

  • ‫Haveged מותקן כברירת מחדל כדי לשפר את האנטרופיה.
  • נעשה שימוש ב-Secure Distributed Network Time Synchronization ‏ (sdwdate) במקום ב-NTP.
  • השבתת תצוגות מקדימות ב-Dolphin, ‏ Nautilus.
  • ההגדרה הזו משביתה את חותמות הזמן של TCP ואת כלי העזר למעקב אחר חיבורים של Netfilter.
  • open-link-confirmation.
  • ‫Apparmor מופעל כברירת מחדל עם פרופילים.
  • דפדפן עם אבטחה משופרת (Tor Browser ללא Tor)
  • שיפורים בקרנל של Linux

  • סביבת שולחן עבודה; KDE (זמין רק ב-CLI).

  • קטגוריה אחרת ...

אבן דרך 15 בספטמבר (השלמת הדרישות של המערכת, התכונות והיתרונות, העיצובים והיעדים)

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

ההורדה וההתקנה של Hardened Debian יכללו את הפעולות הבאות.

  • טבלת הורדות שכוללת את תמונת Debian המוקשחת, חתימת OpenGPG, גיבוב sha512 ומפתח חתימה GPG של מפתחים.
  • אימות מפתח החתימה של המפתחים וקובץ אימג' של המערכת (הדרכה).
  • הורדה ואימות של היפר-ויז'ור VirtualBox (הדרכה).
  • ייבוא של Hardened Debian ב-VirtualBox (מדריך)
  • הפעלת Debian מאובטח

אבן דרך 29 בספטמבר (הורדה ואימות של תמונות Debian, התקנת Debian)

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

  • שינוי פריסת המקלדת
  • הקצאת משאבי מערכת נוספים (RAM)
  • שינוי רזולוציית המסך
  • מקשי קיצור בשולחן העבודה
  • כלי לניהול סגנונות של חלונות

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

  • בעיות שקשורות לזיכרון RAM נמוך
  • הגדרה שגויה של BIOS‏ (Intel VT-d, ‏ AMD-V)
  • בעיות קישוריות

‫6 באוקטובר (השלמת השלבים הראשונים, באגים ב-Debian מוקשח)

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

  • טרמינל/CLI
  • sudo
  • כלי לעריכת טקסט
  • מבנה הספרייה
  • ניווט במערכת הקבצים
  • הרשאות לקבצים
  • דפי man
  • יצירת קבצים או ספריות
  • שונות (ls, ‏ cat, ‏ less)

אבן דרך 22 באוקטובר (השלמת אזור הלמידה, דפי man)

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

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

  • מעקב אחרי קובצי יומן: מיקום יומני המערכת (למה כל אחד מהם משמש) והפקודות שנדרשות כדי לצמצם את הפלט של ה-CLI. (journalctl, dmesg וכו'…)

  • ‫systemd: סטטוס, הפעלה והפסקה של שירותים.

  • פתרון בעיות נפוצות: בעיות בחיבור, חבילות תוכנה פגומות וכו'.

  • הנחיות לדיווח על באגים ו/או בעיות.

ציון דרך 5 בנובמבר (השלמת תחום הלמידה, פתרון בעיות)

במהלך החלק הנותר של Summer of Docs, נתמקד בשינוי המבנה של מסמכי Whonix עבור Hardened Debian ובבקרת איכות.

שינוי מבנה של מסמכי Whonix לשימוש עם Hardened Debian

  • התקנת תוכנה בצורה בטוחה.
  • עדכונים של מערכת ההפעלה

ציון דרך 25 בנובמבר ( השלמת פרויקט Season of Docs)