पोर्ट नॉकिंग के पीछे 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 जवाब देता है या नहीं और दिखाता है कि यह कितनी देर तक खुला रहता है।
- 2SSH खोलें सर्वर के लिए ssh:// लिंक के साथ आपका SSH ऐप खोलता है।
- 3“स्क्रीन चालू रहने पर दरवाज़ा खुला रखें” विकल्प, दरवाज़ा स्क्रीन पर रहने के दौरान, खुली अवधि समाप्त होने से कुछ समय पहले फिर से दस्तक देता है।
GitHub पर सभी उदाहरण → इस पेज पर हर कॉन्फ़िगरेशन, कॉपी करने के लिए तैयार: github.com/mobilcomm/secretknock-examples (सार्वजनिक डोमेन)।
सवाल
क्या यह SSH कुंजियों का विकल्प है?
नहीं। पोर्ट नॉकिंग सेवा को छिपाती है; मज़बूत SSH कुंजियाँ रखें और पासवर्ड लॉगिन भी अक्षम करें।