कॉन्टेंट पर जाएँ
Secret Knock

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
Debian / Ubuntu

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
/etc/fwknop/access.conf

3. fwknopd को बताएं कि कहाँ सुनना है

fwknopd किसी इंटरफ़ेस पर पैकेट कैप्चर करता है; इसे खुले पोर्ट की आवश्यकता नहीं होती। आपका सर्वर जिस इंटरफ़ेस का उपयोग करता है, उसे सेट करें।

# /etc/fwknop/fwknopd.conf
PCAP_INTF               eth0;
PCAP_FILTER             udp port 62201;
MAX_SPA_PACKET_AGE      120;
/etc/fwknop/fwknopd.conf

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
iptables

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]
fwknop-client वाले कंप्यूटर से
  1. 1Secret Knock में: नया दरवाज़ा › टेम्पलेट से शुरू करें › fwknop, होस्ट दर्ज करें और fwknop --key-gen का आउटपुट पेस्ट करने के लिए “fwknop --key-gen से कुंजियाँ पेस्ट करें” चुनें।
  2. 2दस्तक दें; पोर्ट 22 के जवाब देने पर दरवाज़ा दरवाज़ा थोड़ा खुला दिखाता है।
  3. 3यदि ऐसा न हो, तो सर्वर पर fwknopd -f -v चलाएँ — समस्या-निवारण गाइड में सामान्य कारण दिए गए हैं।

GitHub पर सभी उदाहरण → इस पेज पर हर कॉन्फ़िगरेशन, कॉपी करने के लिए तैयार: github.com/mobilcomm/secretknock-examples (सार्वजनिक डोमेन)।

सवाल

क्या fwknopd को खुले पोर्ट की आवश्यकता है?

नहीं। यह नेटवर्क इंटरफ़ेस से पैकेट पढ़ता है, इसलिए SPA पोर्ट फ़ायरवॉल में बंद रह सकता है; पैकेट को केवल सर्वर तक पहुँचना होता है।

आपके सेटअप के लिए गाइड