סקירה כללית של לינוקס
לעתים קרובות מאמינים שתוכנת קוד פתוח מאובטחת מטבעה מכיוון שקוד המקור זמין. קיימת ציפייה שאימות קהילה מתרחש באופן קבוע; עם זאת, זה לא תמיד המקרה. זה אכן תלוי במספר גורמים, כגון פעילות הפרויקט, חוויית מפתח, רמת הקפדה על ביקורות קוד, וכן באיזו תדירות ניתנת תשומת לב לחלקים ספציפיים של בסיס הקוד שעלולים להישאר ללא נגיעה במשך שנים.
נכון לעכשיו, ללינוקס שולחני יש כמה תחומים שניתן לשפר טוב יותר בהשוואה לעמיתיהם הקנייניים, למשל.:
- שרשרת אתחול מאומתת, כמו אתחול מאובטח של אפל (עם Secure Enclave),של אנדרואיד אתחול מאומת, ChromeOS' אתחול מאומת, או Microsoft Windows’s תהליך האתחול עם TPM. תכונות וטכנולוגיות חומרה אלו יכולות לעזור למנוע התעסקות מתמשכת על ידי תוכנות זדוניות או התקפות עוזרות מרושעות
- פתרון ארגזי חול חזק כמו זה שנמצא ב- macOS, ChromeOS, ו- אנדרואיד. פתרונות ארגז חול נפוצים של לינוקס כגון Flatpak ו- Firejail עדיין יש דרך ארוכה לפניו
- חזק ניצול ההקלות
למרות החסרונות הללו, הפצות לינוקס לשולחן העבודה הן נהדרות אם אתה רוצה:
- הימנע מטלמטריה שמגיעה לרוב עם מערכות הפעלה קנייניות
- לשמור על חופש תוכנה
- יש מערכות ממוקדות פרטיות כגון Whonix או Tails
האתר שלנו משתמש בדרך כלל במונח "לינוקס" כדי לתאר הפצות לינוקס לשולחן העבודה. מערכות הפעלה אחרות המשתמשות גם בליבת לינוקס כמו ChromeOS, אנדרואיד ו-Qubes OS אינן נדונות כאן.
בחירת ההפצה שלך¶
לא כל ההפצות של לינוקס נוצרו שוות. בעוד שדף ההמלצות שלנו ללינוקס לא נועד להיות מקור סמכותי לגבי ההפצה שבה אתה צריך להשתמש, יש כמה דברים שאתה צריך לזכור כאשר אתה בוחר באיזו הפצה להשתמש.
מחזור שחרור¶
אנו ממליצים בחום לבחור בהפצות שנשארות קרובות למהדורות התוכנה היציבות במעלה הזרם, המכונה לעתים קרובות הפצות מהדורות מתגלגלות. הסיבה לכך היא שהפצות מחזור שחרור קפוא לרוב אינן מעדכנות גרסאות חבילה ונגררות לפי עדכוני אבטחה.
עבור הפצות קפואות כגון Debian, מתחזקים חבילות צפויים לבצע אחורה תיקונים כדי לתקן נקודות תורפה במקום להקפיץ את התוכנה ל- "הגרסה הבאה" שפורסמה על ידי המפתח במעלה הזרם. חלק מתיקוני האבטחה אינם מקבלים CVE (במיוחד תוכנה פחות פופולרית) בכלל ולכן אל תכנסו להפצה עם מודל התיקון הזה. כתוצאה מכך תיקוני אבטחה קלים מתעכבים לפעמים עד לגרסה הגדולה הבאה.
אנחנו לא מאמינים שהחזקת חבילות והחלת תיקוני ביניים הם רעיון טוב, מכיוון שהוא שונה מהדרך שבה המפתח התכוון שהתוכנה תעבוד. ל Richard Brown יש מצגת על נושא זה:
עדכונים מסורתיים לעומת עדכונים אטומיים¶
באופן מסורתי, הפצות לינוקס מתעדכנות על ידי עדכון רציף של החבילות הרצויות. עדכונים מסורתיים כמו אלה המשמשים בהפצות מבוססות פדורה, Arch Linux ודביאן יכולים להיות פחות אמינים אם מתרחשת שגיאה בזמן העדכון.
הפצות עדכון אטומי מיישמות עדכונים במלואם או לא בכלל. בדרך כלל, מערכות עדכון עסקאות הן גם אטומיות.
מערכת עדכון עסקה יוצרת תמונת מצב שנעשתה לפני ואחרי החלת עדכון. אם עדכון נכשל בכל עת (אולי בגלל הפסקת חשמל), ניתן להחזיר את העדכון בקלות ל"מצב התקין האחרון הידוע."
שיטת העדכון Atomic משמשת להפצות בלתי ניתנות לשינוי כמו Silverblue, Tumbleweed ו-NixOS ויכולה להשיג אמינות עם מודל זה. Adam Šamalík סיפק מצגת על האופן שבו rpm-ostree
עובד עם Silverblue:
הפצות "ממוקדות אבטחה"¶
לעתים קרובות קיים בלבול מסוים בין הפצות "ממוקדות אבטחה" והפצות "לבדיקת חדירות". חיפוש מהיר של "הפצת לינוקס המאובטחת ביותר" יביא לרוב תוצאות כמו Kali Linux, Black Arch ו- Parrot OS. הפצות אלו הן הפצות בדיקות חדירה פוגעניות המאגדות כלים לבדיקת מערכות אחרות. הם אינם כוללים "אבטחה נוספת" או הקלות הגנתיות המיועדות לשימוש קבוע.
הפצות מבוססות Arch¶
הפצות מבוססות Arch אינן מומלצות לחדשים ב-Linux, (ללא קשר להפצה) מכיוון שהן דורשות תחזוקת מערכת רגילה. ל- Arch אין מנגנון עדכון הפצה עבור אפשרויות התוכנה הבסיסיות. כתוצאה מכך, עליך להישאר מודע למגמות הנוכחיות ולאמץ טכנולוגיות מכיוון שהן מחליפות שיטות ישנות בעצמך.
עבור מערכת מאובטחת, מצפים ממך גם שיהיה לך מספיק ידע בלינוקס כדי להגדיר כראוי אבטחה עבור המערכת שלהם, כגון אימוץ מערכת בקרת כניסה חובה, הגדרת רשימות שחורות של מודול ליבה רשימות שחורות, הקשחת פרמטרי אתחול, מניפולציה של סיסקטל פרמטרים, ולדעת אילו רכיבים הם צריכים כמו Polkit.
כל מי שמשתמש בArch User Repository (AUR), חייב להיות נוח בביקורת PKGBUILDs שהם מתקינים משירות זה. חבילות AUR הן תוכן המיוצר בקהילה ואינן נבדקות בשום צורה, ולכן הן פגיעות להתקפות שרשרת אספקת תוכנה, מה שקרה למעשה. יש להשתמש תמיד במשורה ב-AUR ולעיתים קרובות יש הרבה עצות רעות בדפים שונים שמפנים אנשים להשתמש באופן עיוור ב AUR helpers ללא אזהרה מספקת. אזהרות דומות חלות על שימוש בארכיון חבילות אישיות של צד שלישי (PPA) בהפצות מבוססות דביאן או בפרויקטים קהילתיים (COPR) בפדורה.
אם אתה מנוסה עם לינוקס וברצונך להשתמש בהפצה מבוססת Arch, אנו ממליצים רק על Arch Linux הראשי, לא על אף אחת מהנגזרות שלו. אנו ממליצים נגד שתי נגזרות Arch אלה באופן ספציפי:
- Manjaro: הפצה זו מעכבת חבילות למשך שבועיים כדי לוודא שהשינויים שלהן לא יישברו, לא כדי לוודא שהמעלה הזרם יציב. כאשר נעשה שימוש בחבילות AUR, הן בנויות לרוב על פי ספריות העדכניות ביותר מהמאגרים של Arch.
- Garuda: הם משתמשים בChaotic-AUR אשר מרכיב באופן אוטומטי ועיוור חבילות מה- AUR. אין תהליך אימות כדי לוודא שחבילות AUR אינן סובלות מהתקפות שרשרת האספקה.
Kicksecure¶
למרות שאנו ממליצים בחום לא להשתמש בהפצות מיושנות כמו דביאן, יש מערכת הפעלה מבוססת דביאן שהוקשה להיות בטוחה הרבה יותר מהפצות לינוקס טיפוסיות: Kicksecure . Kicksecure, במונחים פשוטים מדי, היא קבוצה של סקריפטים, תצורות וחבילות שמצמצמות באופן משמעותי את משטח ההתקפה של דביאן. זה מכסה הרבה המלצות לפרטיות והקשחה כברירת מחדל.
הפצות ליבה של לינוקס ו-"Libre"¶
אנו ממליצים בחום נגד להשתמש בליבת Linux-libre, שכן היא מסירה הגבלות אבטחה ומדכא אזהרות ליבה על מיקרוקוד פגיע מסיבות אידיאולוגיות.
המלצות כלליות¶
הצפנת כונן¶
לרוב ההפצות של לינוקס יש אפשרות בתוך תוכנית ההתקנה שלה להפעלת LUKS FDE. אם אפשרות זו לא מוגדרת בזמן ההתקנה, תצטרך לגבות את הנתונים שלך ולהתקין מחדש, מכיוון שההצפנה מוחלת לאחר חלוקת דיסקים , אבל לפני שמערכות הקבצים מתעצבות. אנו מציעים גם למחוק בצורה מאובטחת את מכשיר האחסון שלך:
החלף¶
שקול להשתמש ב-ZRAM או החלפה מוצפנת במקום החלפה לא מוצפנת כדי למנוע בעיות אבטחה פוטנציאליות עם דחיפה של נתונים רגישים למרחב החלפה. הפצות מבוססות פדורה משתמשות ב-ZRAM כברירת מחדל.
Wayland¶
אנו ממליצים להשתמש בסביבת שולחן עבודה התומכת בפרוטוקול התצוגה Wayland כפי שפותח תוך מחשבה על אבטחה. קודמו, X11, אינו תומך בבידוד GUI, מה שמאפשר לכל החלונות רשום מסך, רישום והכנס קלט בחלונות אחרים, מה שהופך כל ניסיון לארגז חול לחסר תועלת. אמנם יש אפשרויות לעשות X11 מקונן כגון Xpra או Xephyr, לעתים קרובות הם מגיעים עם השלכות ביצועים שליליות ואינם נוחים להגדרה ואינם עדיפים על פני Wayland.
למרבה המזל, סביבות נפוצות כגון GNOME, KDE וה- למנהל החלונות Sway יש תמיכה ב-Wayland. חלק מההפצות כמו Fedora ו- Tumbleweed משתמשות בו כברירת מחדל, וחלק אחרות עשויות לעשות זאת בעתיד מכיוון ש-X11 נמצא במצב תחזוקה קשה. אם אתה משתמש באחת מהסביבות האלה זה קל כמו לבחור את הפגישה "Wayland" במנהל התצוגה של שולחן העבודה (GDM, SDDM).
אנו ממליצים נגד להשתמש בסביבות שולחן עבודה או במנהלי חלונות שאין להם תמיכה ב-Wayland, כגון Cinnamon (ברירת מחדל ב-Linux Mint), Pantheon (ברירת מחדל במערכת ההפעלה היסודית), MATE, Xfce, ו-i3.
קושחה קניינית (עדכוני מיקרוקוד)¶
הפצות לינוקס כגון אלו שהן Linux-libre או DIY (Arch Linux) אינן מגיעות עם עדכוני microcode שלעתים קרובות מתקנים נקודות תורפה. כמה דוגמאות בולטות לפגיעויות אלה כוללות Spectre, Meltdown, SSB, Foreshadow, MDS, SWAPGS, ועוד hardware vulnerabilities.
אנו ממליצים בחום להתקין את עדכוני המיקרוקוד, מכיוון שהמעבד שלך כבר מריץ את המיקרוקוד הקנייני מהמפעל. לפדורה ול-openSUSE יש את עדכוני המיקרוקוד כברירת מחדל.
עדכונים¶
רוב ההפצות של לינוקס יתקינו עדכונים אוטומטית או יזכירו לך לעשות זאת. חשוב לשמור על מערכת ההפעלה שלך מעודכנת כדי שהתוכנה שלך תתוקן כאשר מתגלה פגיעות.
חלק מההפצות (במיוחד אלו המיועדות למשתמשים מתקדמים) הן יותר חשופות ומצפות ממך לעשות דברים בעצמך (למשל Arch או Debian). אלה ידרשו להפעיל את "מנהל החבילות" (apt
, pacman
, dnf
וכו') באופן ידני על מנת לקבל עדכוני אבטחה חשובים.
בנוסף, הפצות מסוימות לא יוריד עדכוני קושחה באופן אוטומטי. לשם כך תצטרך להתקין את fwupd
.
תיקוני פרטיות¶
כתובת MAC אקראית¶
Many desktop Linux distributions (Fedora, openSUSE, etc.) will come with NetworkManager, to configure Ethernet and Wi-Fi settings.
אפשר לבצע באקראי את כתובת MAC בעת שימוש ב-NetworkManager. זה מספק קצת יותר פרטיות ברשתות Wi-Fi מכיוון שהוא מקשה על מעקב אחר מכשירים ספציפיים ברשת שאליה אתה מחובר. זה לא הופך אותך לאנונימי.
אנו ממליצים לשנות את ההגדרה ל-אקראי במקום יציב, כפי שהוצע במאמר.
אם אתה משתמש ב systemd-networkd, יהיה עליך להגדיר MACAddressPolicy=random
אשר יאפשר RFC 7844 (פרופילי אנונימיות עבור לקוחות DHCP).
אין הרבה נקודות בביצוע אקראי של כתובת ה-MAC עבור חיבורי Ethernet, שכן מנהל מערכת יכול למצוא אותך על ידי התבוננות ביציאה שבה אתה משתמש ב-מתג רשת. הקצאה אקראית של כתובות Wi-Fi MAC תלויה בתמיכה מהקושחה של ה-Wi-Fi.
מזהים אחרים¶
ישנם מזהי מערכת נוספים שתרצו להיזהר מהם. עליך להקדיש לכך מחשבה כדי לראות אם הוא חל על מצב האיום שלך:
- שמות מארח: שם המארח של המערכת שלך משותף עם הרשתות שאליהן אתה מתחבר. עליך להימנע מלכלול מונחים מזהים כמו השם או מערכת ההפעלה שלך בשם המארח שלך, במקום להיצמד למונחים גנריים או מחרוזות אקראיות.
- שמות משתמש: באופן דומה, שם המשתמש שלך משמש במגוון דרכים במערכת שלך. שקול להשתמש במונחים גנריים כמו "משתמש" ולא בשמך האמיתי.
- מזהה מכונה: במהלך ההתקנה נוצר מזהה מכונה ייחודי ומאוחסן במכשיר שלך. שקול להגדיר אותו למזהה גנרי.
ספירת מערכת¶
פרויקט Fedora סופר כמה מערכות ייחודיות ניגשים למראות שלו באמצעות countme
משתנה במקום מזהה ייחודי. פדורה עושה זאת כדי לקבוע עומס והספקת שרתים טובים יותר עבור עדכונים במידת הצורך.
אפשרות זו כבויה כעת כברירת מחדל. אנו ממליצים להוסיף את countme=false
ל-/etc/dnf/dnf.conf
למקרה שהוא יופעל בעתיד. במערכות המשתמשות ב-rpm-ostree
כגון Silverblue, אפשרות ה-countme מושבתת על ידי מיסוך של rpm-ostree-countme טיימר.
openSUSE משתמשת גם במזהה ייחודי כדי לספור מערכות, אותן ניתן להשבית על ידי מחיקת הקובץ /var/lib/zypp/AnonymousUniqueId
.