Knock: TCP Port Knocking Proposed For Linux Kernel

Port Knocking is the process of opening network ports on a firewall by first attempting to connect to a set of predefined unopen ports. It's effectively a key for opening network ports with the password being the pegging of other closed network ports in the correct sequence.
There's know a "Knock" patch for the Linux kernel that would unify this capability within the Linux kernel. Generally, port knocking is handled by a user-space daemon monitoring firewall logs for failed connection attempts. Knock is designed to be stealthy, done completely within the Linux kernel and only activated by a single extra setsockopt call, can be used for protecting the first N-bytes of the TCP payload, is designed to work behind NATs, and is a free, simple kernel modification. The disadvantage to the Knock design is self-admitted that the TCP SYN packet's SQN is only 32-bits long and would be subject to brute force attempts but involving billions of network packets.
Plenty more details on the proposed Knock port knocking for the Linux kernel can be found via the kernel patch submission and the Knock project page.
4 Comments