İçeriğe atla
Secret Knock

fwknop sunucusu kurma

fwknop Tek Paket Yetkilendirmesi, şifrelenmiş ve kimliği doğrulanmış bir UDP paketi gelene kadar SSH'yi kapalı tutar. Bu adımlar, bunu bir Debian veya Ubuntu sunucusunda kurar; önce bir bilgisayardan test edin, ardından aynı anahtarları Secret Knock'a ekleyin.

1. Yükleyin ve anahtarlar oluşturun

Sunucuyu ve istemciyi yükleyin, ardından bir anahtar çifti oluşturun. Çıktıyı saklayın: aynı iki anahtar access.conf dosyasına ve Secret Knock'a girilir.

sudo apt install fwknop-server fwknop-client
fwknop --key-gen          # prints KEY_BASE64 and HMAC_KEY_BASE64
Debian / Ubuntu

2. SPA paketleri için SSH'ye izin verin

access.conf, geçerli bir paketin neyi ve ne kadar süreyle açabileceğini belirtir.

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'ye nerede dinleyeceğini söyleyin

fwknopd, bir arayüzdeki paketleri yakalar; açık bir bağlantı noktasına ihtiyaç duymaz. Sunucunuzun kullandığı arayüzü ayarlayın.

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

4. Varsayılan olarak SSH'yi kapatın

Bunu yaparken bir SSH oturumunu açık tutun ve oturumu kapatmadan önce ikinci bir bağlantıdan test edin. fwknopd, kendi zincirini INPUT'un en üstüne ekler ve her geçerli paket için burada süreli bir ACCEPT ekler.

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
iptables

5. Test edin, ardından kapıyı ekleyin

fwknop-server'ı yeniden başlatın, başka bir makineden paket gönderin ve bağlanın:

# 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 yüklü bir bilgisayardan
  1. 1Secret Knock'ta: Yeni kapı › Şablondan başla › fwknop yolunu izleyin, ana bilgisayarı girin ve “fwknop --key-gen anahtarlarını yapıştır” ile fwknop --key-gen çıktısını yapıştırın.
  2. 2Tıklatın; 22 numaralı bağlantı noktası yanıt verdiğinde kapı Kapı aralık durumunu gösterir.
  3. 3Göstermezse sunucuda fwknopd -f -v komutunu çalıştırın — sorun giderme kılavuzunda yaygın nedenler listelenir.

GitHub’daki tüm örnekler → Bu sayfadaki tüm yapılandırmalar, kopyalamaya hazır: github.com/mobilcomm/secretknock-examples (kamu malı).

Sorular

fwknopd'nin açık bir bağlantı noktasına ihtiyacı var mı?

Hayır. Paketleri ağ arayüzünden okur; bu nedenle SPA bağlantı noktası güvenlik duvarında kapalı kalabilir; paketin yalnızca sunucuya ulaşması gerekir.

Kurulumunuza yönelik kılavuzlar