הסתרת 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
}
} קטע ה-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 } הפרידו גישה קבועה
אם אתם מאפשרים גם כתובות מסוימות באופן קבוע, שמרו אותן בקבוצה נפרדת ללא זמן קצוב. הוספת כתובת שכבר נמצאת בקבוצה עם זמן קצוב אינה מאפסת את הזמן הקצוב שלה, לכן ערבוב שני סוגי הרשומות בקבוצה אחת עלול למנוע מכם גישה כשהזמן מסתיים.
או השתמשו ב-fwknop
fwknop SPA חזק יותר מרצף: מנה אחת מוצפנת ומאומתת שלא ניתן לשדר מחדש. עיינו במדריך fwknop.
מה-iPhone שלכם אל SSH
- 1לחצו לחיצה ממושכת על המקיש מפליז. Secret Knock בודק שיציאה 22 עונה ומציג למשך כמה זמן היא נשארת פתוחה.
- 2פתיחת SSH פותחת את אפליקציית ה-SSH שלכם באמצעות קישור ssh:// לשרת.
- 3האפשרות ״להשאיר את הדלת פתוחה מעט כשהמסך שלה פעיל״ שולחת דפיקה נוספת זמן קצר לפני שחלון הזמן מסתיים, בזמן שהדלת מוצגת על המסך.
כל הדוגמאות ב-GitHub → כל התצורות בדף זה, מוכנות להעתקה: github.com/mobilcomm/secretknock-examples (נחלת הכלל).
שאלות
האם זה מחליף מפתחות SSH?
לא. דפיקת יציאות מסתירה את השירות; המשיכו להשתמש במפתחות SSH חזקים והשביתו גם כניסות באמצעות סיסמה.