מה הם HMACs #
HMACs, או קודי אימות הודעות מבוססי Hash, הם מבנים קריפטוגרפיים המשתמשים במפתח סודי ובפונקציית Hash לאימות שלמות ואותנטיות של נתונים או הודעות. HMACs מספקים דרך להבטיח שלא התעסקו בנתונים במהלך השידור ושהם מקורם ממקור מהימן. הם כוללים שילוב של הנתונים עם מפתח סודי, גיבוב של התוצאה, ולאחר מכן השוואה ל-HMAC הפניה בקצה הנמען, ומציע שיטה מאובטחת לאשר את תקפות הנתונים ביישומים שונים, כולל תקשורת מאובטחת ומערכות אימות.
בשירותי SSH (Secure Shell) כמו SSHd (SSH daemon), HMACs משמשים כדי לשפר את אבטחת התקשורת בין לקוח לשרת. במהלך תהליך החלפת מפתחות SSH, השרת והלקוח מנהלים משא ומתן על קבוצה של אלגוריתמים קריפטוגרפיים, כולל אלגוריתם HMAC, שישמשו לאימות שלמות הנתונים. אלגוריתם ה-HMAC הנבחר, בשילוב מפתח סודי משותף, משמש ליצירת תגיות HMAC עבור מנות יוצאות ולאימות תקינותן של מנות נכנסות. זה מבטיח שהנתונים שהוחלפו בין הלקוח לשרת לא שונו במהלך השידור, הגנה מפני שיבוש והבטחת האותנטיות של התקשורת, היבט חיוני במודל האבטחה של SSH.
השבת צפנים חלשים ב-SSHD #
כדי לשפר את אבטחת שירות SSHd, ייתכן שתצטרכו לשנות את אלגוריתמי ההצפנה, ה-MAC והמפתח של SSH כדי להבטיח שלא נעשה שימוש ב-MD5 או ב-HMAC של 96 סיביות ( hmac-md5 hmac-md5-96 hmac-sha1-96 ). אנא המשיכו בשלבים הבאים.
בדוק את תצורת SSHd קיימת #
בדוק את תצורת ה-SSH הנוכחית כדי לזהות את הצפנים המותרים, MACs ואלגוריתמי מפתח. השתמש בפקודה הבאה כדי לאסוף מידע זה:
root@noid-ee-01:~# sshd -T | grep "\(צפנים\|macs\|kexalgorithms\)" Ciphers chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com מחשבי מקינטוש umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 קקסאלגוריתמים curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
ערוך תצורת SSHD #
כדי לשפר את האבטחה, שקלו להשבית צפנים חלשים יותר וקובצי MAC. השתמשו בעורך טקסט (כגון nano או vi ) כדי לערוך את קובץ התצורה של SSHD (הנמצא בכתובת /etc/ssh/sshd_config ). הסירו את הצפנים וקובצי ה-MAC שאינכם רוצים לאפשר ושמרו את הקובץ. אם התצורה אינה קיימת, הוסיפו שורות חדשות בסוף הקובץ.
ciphers aes128-ctr,aes192-ctr,aes256-ctr macs hmac-sha1,hmac-sha2-256,hmac-sha2-512
הפעל מחדש את שירות SSHD #
לאחר ביצוע שינויים, הפעל מחדש את שירות SSHD כדי להחיל את התצורה החדשה.
root@noid-ee-01:~# systemctl הפעל מחדש את sshd
בדוק את התצורה החדשה #
אמת את התצורה המעודכנת באמצעות אותה פקודה כמו קודם.
root@nid-ee-01:~# sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)" ciphers aes128-ctr,aes192-ctr,aes256-ctr macs hmac-sha1,hmac-sha2-256,hmac-sha2-512 kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
שלבים אלה עוזרים לחזק את אבטחת SSH על ידי הגדרת SSH לשימוש בחבילות צופן וב-MAC מאובטחים יותר תוך השבתת אפשרויות חלשות יותר, תוך שיפור האבטחה הכוללת של שירות SSHd. שים לב ששינוי הגדרות אלה עשוי להשפיע על התאימות עם לקוחות SSH ישנים או מאובטחים פחות, אז ודא שהשינויים שלך מתאימים לדרישות האבטחה הספציפיות שלך.