דילוג לתוכן
Secret Knock

הסתרת SSH מאחורי דפיקת יציאות

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

עם knockd ו-nftables

חסמו SSH כברירת מחדל וקבלו אותו רק מכתובות הנמצאות בקבוצה עם זמן קצוב. knockd מוסיף את הכתובת שדפקה לקבוצה זו; nftables מסיר אותה כאשר הזמן הקצוב מסתיים, וחיבור ה-SSH הקיים ממשיך לפעול.

table inet filter {
    set knocked4 {
        type ipv4_addr
        flags timeout
    }
    chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif "lo" accept
        tcp dport 22 ip saddr @knocked4 accept
    }
}
/etc/nftables.conf (קטע)

קטע ה-knockd שממלא את הקבוצה:

[openSSH]
    sequence      = 7311:tcp,8822:tcp,9133:udp
    seq_timeout   = 10
    tcpflags      = syn
    start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s }
/etc/knockd.conf

הפרידו גישה קבועה

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

או השתמשו ב-fwknop

fwknop SPA חזק יותר מרצף: מנה אחת מוצפנת ומאומתת שלא ניתן לשדר מחדש. עיינו במדריך fwknop.

מה-iPhone שלכם אל SSH

  1. 1לחצו לחיצה ממושכת על המקיש מפליז. Secret Knock בודק שיציאה 22 עונה ומציג למשך כמה זמן היא נשארת פתוחה.
  2. 2פתיחת SSH פותחת את אפליקציית ה-SSH שלכם באמצעות קישור ssh:// לשרת.
  3. 3האפשרות ״להשאיר את הדלת פתוחה מעט כשהמסך שלה פעיל״ שולחת דפיקה נוספת זמן קצר לפני שחלון הזמן מסתיים, בזמן שהדלת מוצגת על המסך.

כל הדוגמאות ב-GitHub → כל התצורות בדף זה, מוכנות להעתקה: github.com/mobilcomm/secretknock-examples (נחלת הכלל).

שאלות

האם זה מחליף מפתחות SSH?

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

מדריכים להגדרה שלך