Port knocking, örneğin SSH hizmeti için varsayılan olarak kapalı olan 22 numaralı portun belirli bir sırayla knockd gibi bir servise paketler gönderildiğinde (örneğin, 1234, 1111, 2321) açılmasını sağlayan bir yöntemdir. Knockd servisi bu sinyali alır ve güvenlik duvarında 22 numaralı portu bağlantı için açar.
Basit bir ifadeyle, kapının üzerinde görünmeyen bir anahtar deliği olduğunu düşünün; ancak kapıyı belirli bir sırayla çaldığınızda, anahtar deliği ortaya çıkar.
İlk bakışta iyi bir çözüm gibi görünebilir - ama sadece ilk başta. Düşününce bu çözümün zayıf yönleri ortaya çıkıyor, işte nedenleri:
1. Yeni portlar ve ek bir hizmet
Hizmetin kendisi sırayı almak için portlar açar ve fazla port bulunması, güvenlik açısından ekstra bir risk yaratır.
2. Dinleme Riski
Knockd varsayılan olarak şifreleme kullanmaz, bu yüzden gönderilen paket sırasının ele geçirilme riski bulunur.
Şifreli sıralama sağlayan cryptknock gibi alternatifler var, ancak bu yazılım yaklaşık 8 yıldır güncellenmemiştir.
3. PHP Betiği Alternatifi
Varsayılan olarak 443 portu siteniz için açık ise, SSH erişimini PHP betiği ile kontrol etmek daha güvenli bir seçenek olabilir ve ek bir hizmete ihtiyaç duymazsınız.
4. Ekstra İşlem Yükü
Port knocking ek adımlar gerektirir ve bu tekrarlanan işlemler kullanım kolaylığını azaltarak verimliliği düşürür.
Sonuç olarak, port knocking kullanmak kötü bir çözüm sayılabilir.
5. Proxy & VPN
Eğer konu güvenlik ve kullanım kolaylığı ise, özellikle birden fazla sunucuda uygulama gerekiyorsa, port knocking ilkel bir çözüm gibi kalır. Bunun yerine, statik IP adresli bir VPS oluşturup yalnızca bu adresten erişim sağlamak çok daha iyi bir alternatif olur. Proxy’nin avantajlarını detaylandırdığımız makaleye göz atabilirsiniz:
Proxy - erişim sunucusu olarak, VPS sunucusunun güvenliğini artırıyoruz