fwknop सर्वर सेट अप करें
fwknop एकल पैकेट प्राधिकरण SSH को तब तक बंद रखता है, जब तक एक एन्क्रिप्टेड, प्रमाणित UDP पैकेट नहीं आ जाता। ये चरण इसे Debian या Ubuntu सर्वर पर सेट अप करते हैं; पहले किसी कंप्यूटर से परीक्षण करें, फिर वही कुंजियाँ Secret Knock में जोड़ें।
1. इंस्टॉल करें और कुंजियाँ जनरेट करें
सर्वर और क्लाइंट इंस्टॉल करें, फिर एक कुंजी जोड़ी जनरेट करें। आउटपुट संभालकर रखें: यही दोनों कुंजियाँ access.conf और Secret Knock में जाती हैं।
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. SPA पैकेट के लिए SSH की अनुमति दें
access.conf बताता है कि मान्य पैकेट क्या खोल सकता है और कितनी देर के लिए।
SOURCE ANY
OPEN_PORTS tcp/22
KEY_BASE64 <output of fwknop --key-gen>
HMAC_KEY_BASE64 <output of fwknop --key-gen>
FW_ACCESS_TIMEOUT 30 3. fwknopd को बताएं कि कहाँ सुनना है
fwknopd किसी इंटरफ़ेस पर पैकेट कैप्चर करता है; इसे खुले पोर्ट की आवश्यकता नहीं होती। आपका सर्वर जिस इंटरफ़ेस का उपयोग करता है, उसे सेट करें।
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. डिफ़ॉल्ट रूप से SSH बंद करें
यह करते समय एक SSH सत्र खुला रखें और लॉग आउट करने से पहले दूसरे कनेक्शन से परीक्षण करें। fwknopd INPUT के शीर्ष पर अपनी चेन डालता है और प्रत्येक मान्य पैकेट के लिए वहाँ समय-सीमित ACCEPT जोड़ता है।
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. परीक्षण करें, फिर दरवाज़ा जोड़ें
fwknop-server को रीस्टार्ट करें, किसी दूसरी मशीन से पैकेट भेजें और कनेक्ट करें:
# from another machine: request SSH for the address the server sees (-R)
fwknop -A tcp/22 -R -D server.example.com \
--key-base64-rijndael "<KEY_BASE64>" --key-base64-hmac "<HMAC_KEY_BASE64>"
ssh [email protected] - 1Secret Knock में: नया दरवाज़ा › टेम्पलेट से शुरू करें › fwknop, होस्ट दर्ज करें और fwknop --key-gen का आउटपुट पेस्ट करने के लिए “fwknop --key-gen से कुंजियाँ पेस्ट करें” चुनें।
- 2दस्तक दें; पोर्ट 22 के जवाब देने पर दरवाज़ा दरवाज़ा थोड़ा खुला दिखाता है।
- 3यदि ऐसा न हो, तो सर्वर पर fwknopd -f -v चलाएँ — समस्या-निवारण गाइड में सामान्य कारण दिए गए हैं।
GitHub पर सभी उदाहरण → इस पेज पर हर कॉन्फ़िगरेशन, कॉपी करने के लिए तैयार: github.com/mobilcomm/secretknock-examples (सार्वजनिक डोमेन)।
सवाल
क्या fwknopd को खुले पोर्ट की आवश्यकता है?
नहीं। यह नेटवर्क इंटरफ़ेस से पैकेट पढ़ता है, इसलिए SPA पोर्ट फ़ायरवॉल में बंद रह सकता है; पैकेट को केवल सर्वर तक पहुँचना होता है।
आपके सेटअप के लिए गाइड
- Port knocking समझें →
- iPhone, iPad और Mac पर knockd →
- iPhone, Mac और Apple Watch पर fwknop SPA →
- MikroTik पोर्ट नॉकिंग →
- DrayTek Vigor पोर्ट नॉकिंग →
- पोर्ट नॉकिंग के पीछे SSH छिपाएँ →
- Apple Watch पर पोर्ट नॉकिंग →
- पोर्ट पर दस्तक देने से दरवाज़ा क्यों नहीं खुलता →
- knockd.conf के उदाहरण →
- पोर्ट नॉकिंग, VPN या fail2ban? →