אם אתה מוצא שאימות מבוסס סיסמה ודו-גורמי אינו אמין, שקול להגדיר אימות מבוסס חומרה בלינוקס באמצעות YubiKey.
אתה לא לבד אם אתה מודאג מהאיום ההולך וגובר של פריצה. בעוד שהנחיות אימות ו-2FA מספיקות כדי להדוף את רוב ההאקרים הפוטנציאליים, אלפי הפרות עדיין מצליחות מדי יום.
אחד הפתרונות הנפוצים ביותר לבעיית האימות הוא YubiKey. אבל מה זה YubiKey, ואיך עובד אימות החומרה? האם אתה יכול לאבטח את מחשב הלינוקס שלך עם YubiKey?
מדוע להשתמש ב-YubiKey לאימות חומרה?
קיימים סוגים רבים ושונים של אימות, כולל סיסמאות, אימות SMS ואפילו אפליקציות אימות שבהן תוכל להשתמש עם הטלפון שלך. סוג אחד פחות נפוץ הוא אימות חומרה, הכולל שימוש במכשיר פלאג-אין קטן כדי לשלוח אסימון אימות כאשר תתבקש.
ל-YubiKeys ולהתקני אימות חומרה אחרים יש כמה יתרונות על פני מאמתים אחרים. הם קלים יותר לשימוש, הרבה יותר מאובטחים, וכמעט בלתי אפשרי להתפשר עליהם ללא גישה ל-YubiKey הפיזי עצמו.
תחילת העבודה עם Yubikey
אתה יכול להתחיל עם YubiKey בכמה שלבים פשוטים. כצעד ראשון, עליך להשתמש בחידון שנעשה על ידי יוביקו כדי לקנות את YubiKey הטוב ביותר עבור מפרטי המכשיר שלך. ברגע שיש לך את YubiKey בהישג יד, תוכל להשתמש בו כמכשיר אימות עבור אתרי אינטרנט ואפליקציות.
אתה יכול אפילו להשתמש בו כדי לאמת sudo ו- SSH במחשב הלינוקס שלך. אנו נסביר את כל מה שאתה צריך לדעת על בחירת YubiKey תואם sudo/SSH והגדרתו לאימות.
בחירת YubiKey המתאים למערכת שלך
אם אתה רוצה להשתמש ב-YubiKey שלך לאימות במחשב הלינוקס שלך, יש כמה YubiKeys שמתבלטים כאפשרויות מעולות. YubiKey 5 ו-YubiKey 5 NFC הם שניהם קלאסיים שעובדים היטב עם מערכות עם USB-A ו-USB-C, בהתאמה.
אם אתה רוצה להשתמש ב-YubiKey שלך עם מחשב לינוקס וטלפון אנדרואיד, עליך לשקול YubiKey 5c NFC. אם יש לך מחשב לינוקס ואייפון, כדאי לשקול YubiKey 5ci מכיוון שהוא תומך ב-USB-C וב-Lightning.
חשוב לציין שסדרת YubiHSM אינה תואמת לאימות sudo. YubiKeys מדור קודם עשויים להיות תואמים או לא תואמים לאימות sudo/SSH בהתאם לתכונות הספציפיות שלהם.
לפני שתתחיל עם אימות sudo או SSH, עליך להתקין את YubiKey PPA. פתח את הטרמינל והזן את הפקודות הבאות כדי לעדכן את החבילות שלך ולהתקין את YubiKey Authenticator ו- YubiKey Manager:
sudo add-apt-repository ppa: yubico/stable
sudo apt-get update
sudo apt להתקין את yubikey-manager libpam-yubico libpam-u2f
לאחר מכן, תצטרך לוודא שהמערכת שלך מוכנה לעבוד עם YubiKey שלך. הפעל את הפקודה הבאה בטרמינל כדי לבדוק את גרסת udev שלך:
sudo udevadm --גרסה
המסוף יחזיר מספר. אם המספר הוא 244 ומעלה, המערכת שלך תואמת YubiKey. אתה יכול לדלג על השלב הבא במקרה זה.
אחרת, תצטרך להגדיר את המערכת שלך. עליך להשתמש בפקודות הבאות כדי לבדוק אם udev מותקן במחשב שלך - ולהתקין אותו אם לא:
dpkg -s libu2f-udev
sudo apt להתקין libu2f-udev
לאחר מכן, בדוק אם ממשק U2F של YubiKey שלך אינו נעול. אם יש לך YubiKey NEO או YubiKey NEO-n, הכנס את YubiKey שלך, פתח את YubiKey Manager ונווט אל ממשקים. אפשר את ממשק U2F ולחץ להציל.
הגדר את YubiKey עבור אימות sudo ב-Linux
sudo היא אחת הפקודות המסוכנות ביותר בסביבת לינוקס. בידיים הנכונות, הוא מספק רמת גישה מרשימה שמספיקה כדי לבצע את רוב העבודות. בידיים הלא נכונות, הגישה ברמת השורש ש-sudo מספקת יכולה לאפשר למשתמשים זדוניים לנצל או להרוס מערכת.
YubiKeys מצוינים עבור אימות sudo מכיוון שכמעט בלתי אפשרי לשכפל את האימות שלהם ללא גישה ל- YubiKey עצמו. רוב YubiKeys תואמים לאימות sudo, כולל סדרת 5 FIPs, Key Series, 4 FIPs Series, Bio Series, 5 Series ו-4 Series.
לפי יוביקו, הצעד הראשון שאתה צריך לעשות כדי להגדיר אימות sudo הוא יצירת קובץ חוקים. אם גרסת udev שלך היא 188 ומעלה, התקן את כללי U2F החדשים מ- GitHub ולהעתיק את 70-u2f.rules קובץ ל /etc/udev/rules.d.
אם גרסת udev שלך היא מתחת ל-188, התקן את כללי U2F מדור קודם GitHub ולהעתיק את 70-old-u2f.rules קובץ ל /etc/udev/rules.d.
אם גרסת udev שלך היא 244 ומעלה או שעשית את קבצי הכללים הדרושים, אתה מוכן לקשר את YubiKey שלך לחשבון שלך.
הכנס את YubiKey למחשב שלך, פתח את המסוף והזן את הפקודות הבאות כדי לקשר את YubiKey שלך לחשבון שלך:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
המתן מספר רגעים עד שנורית החיווי על YubiKey שלך תתחיל להבהב. גע בלחצן ב-YubiKey שלך כדי לאשר את קישור המכשיר.
אם יש לך YubiKey אחר בהישג יד, עליך להוסיף אותו כהתקן גיבוי על ידי הזנת הפקודה הבאה והשלמת אותו תהליך:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
לבסוף, תצטרך להגדיר את פקודת sudo כדי לדרוש אימות YubiKey. עליך להתחיל בהזנת הפקודה הבאה כדי לפתוח את קובץ התצורה של sudo:
sudo vi /etc/pam.d/sudo
לאחר שקובץ התצורה פתוח, הדבק את השורה הבאה ממש מתחת ל- @include common-auth קו כדי להגדיר את sudo לדרוש אימות YubiKey:
אישור נדרש pam_u2f.so
שמור וצא מהקובץ על ידי לחיצה בריחה, הקלדה :wq, ולוחץ להיכנס, אבל השאר את הטרמינל פתוח. לא תוכל לבטל את השינויים שביצעת באימות sudo אם הטרמינל ייסגר.
פתח מסוף שני והפעל את הפקודה הבאה כשה-YubiKey שלך מנותק, ואז הזן את הסיסמה שלך:
בדיקת אקו סודו
תהליך האימות ייכשל. הכנס את YubiKey שלך והזן מחדש את הפקודה והסיסמה שלך. כאשר נורית החיווי של YubiKey מתחילה להבהב, גע בלחצן ב- YubiKey שלך. זה אמור לאמת את הפקודה. אם כן, YubiKey שלך מוגדר במלואו עבור אימות sudo.
כיצד להגדיר את YubiKey עבור אימות SSH
אתה יכול להשתמש ב-YubiKey שלך גם לאימות SSH! מספר סדרות של YubiKey תואמות ל-SSH, כולל סדרת FIPS 5, סדרה 5, סדרת FIPS 4 וסדרה 4. שימוש ב-YubiKey כדי לאמת את הקשרים שלך יאפשר לך לעשות זאת להפוך כל כניסה וכניסה ל-SSH הרבה יותר בטוחה.
השיטה הטובה ביותר להגדרת YubiKey פורטה על ידי משתמש מנוסה ב- GitHub. תזדקק ל-SSH 8.2 ומעלה ו-YubiKey עם קושחה 5.2.3 ומעלה. אתה יכול לבדוק את גרסת OpenSSH שלך - ולעדכן אותה במידת הצורך - עם הפקודות הבאות:
ssh -V
sudo apt update && sudo apt upgrade
לאחר מכן, תצטרך להגדיר את SSH כדי לקבל את YubiKey שלך. הזן את הפקודה הבאה ל פתח את עורך vi וערוך את קובץ התצורה:
sudo vi /etc/ssh/sshd_config
הוסף את השורה הבאה לקובץ התצורה כדי שה-YubiKey שלך יתקבל:
PubkeyAcceptedKeyTypes [email protected], [email protected]
שמור וצא מהקובץ על ידי לחיצה בריחה, הקלדה :wq, ומכה להיכנס. לבסוף, הפעל מחדש את שירות SSH עם הפקודה הבאה כדי שהתצורה החדשה שלך תהיה פעילה:
הפעלה מחדש של שירות sudo ssh
לבסוף, אתה מוכן ליצור את צמד המפתחות שבו תשתמש עבור אימות SSH. נווט אל ספריית SSH וצור את מפתח ה-SSH החדש שלך עם הפקודות הבאות:
cd home/שם משתמש/.ssh
ssh-keygen -t ed25519-sk
ייווצרו שני קבצים ב- ~/.ssh/ מַדרִיך. שים לב שייתכן שתצטרך להשתמש ecdsa-sk במקום ed25519-sk אם המערכת שלך אינה תואמת והמסוף יבקש שהרישום מפתח נכשל.
לאחר מכן, תצטרך להוסיף את המפתח הציבורי לשרת שלך עם הפקודה הבאה:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@server
עליך גם להוסיף את עצמך לקובץ sudoers כדי לשמור על הרשאות לאחר השבתת ההתחברות לשורש. גש לקובץ ופתח אותו עם visudo.
אל תפתח את קובץ sudoers עם עורך טקסט רגיל.
מתחת לשורה שקוראת root ALL=(ALL: ALL) ALL, הוסף את השורה הבאה:
שם משתמש ALL=(ALL: ALL) ALL
פתח את ה /etc/ssh/ssd_config קובץ והוסף את השורות הבאות כדי להשבית את התחברות הבסיסית והתחברות מבוססת סיסמה:
ChallengeResponseAuthentication noPermitRootLogin no
לבסוף, הזן את הפקודה הבאה כדי לטעון את המפתח שלך לסוכן ה-SSH שלך למשך ההפעלה:
ssh-add ~/.ssh/id_ed25519_sk
כעת תוכל להשתמש ב-YubiKey שלך עבור אימות SSH. תצטרך להכניס את YubiKey למחשב שלך כאשר תתבקש וללחוץ על הכפתור כאשר המחוון מהבהב. עם שיטת אימות חדשה זו, גישת SSH לשרת המרוחק שלך תהיה מאובטחת משמעותית.
שימושים פוטנציאליים אחרים של YubiKey
אין שום גבול אמיתי לאופן שבו אתה יכול להשתמש ב- YubiKey במערכת הלינוקס שלך. אם אתה רוצה להפוך את המחשב שלך לאבטח במיוחד, שקול להשתמש ב-YubiKey שלך להצפנה ללא דיסק או סיסמה. אתה יכול אפילו להשתמש בו כדי לחתום על מיילים וקבצים אם תרצה.
אבטח את מערכת הלינוקס שלך עם YubiKey
אתה לא צריך להפסיק להשתמש רק ב- YubiKey שלך עבור אימות SSH ו- sudo. אתה יכול גם להשתמש ב-YubiKey שלך לאימות גישה לרבים מהחשבונות שלך ברחבי האינטרנט. החלק הטוב ביותר הוא שהתחלת העבודה עם YubiKey 2FA היא תהליך פשוט.