Knock: A Linux kernel patch for NAT-compatible, stealthy port knocking

A Linux kernel patch that “implements a new NAT-compatible, TCP option for stealthy port knocking with a few new twists for improved security” has been released.

Port knocking is a security implementation that’s designed to reduce the visibility of TCP servers on the network. A good port knock tool renders TCP servers stealthy, making them invisible to port scanners.

The point of a port knock tool is to make TCP servers respond to TCP SYN request only after a pre-defined sequence of packets have been sent and received. It’s like having a club house whose doors open only after a set number and sequence of knocks. There have been tools like in the past, but as far as I know, all have been in user space. Knock is thus likely the first port knock tool for Linux in kernel space.

From the release announcement:

  • Knocking is done in the Linux kernel. Applications can activate Knock with a single additional setsockopt call (in both client and server). Thus, once Linux has been patched, deployment will be much simpler compared to other implementations. Also, as Knock operates in the Kernel, timing attacks should be much harder to do.
  • Our Knock optionally does not merely enable opening the connection, but also can be used to protect the first N bytes of the TCP payload. Thus, given a sane protocol being run above TCP (one begins with a key exchange), an active attacker cannot simply take over the TCP connection after the handshake without also being locked into sending the same TCP payload. Thus, if the client begins by sending his public key and then continues to send data that must be authenticated with that key, even an active man-in-the-middle adversary cannot hijack the connection.

Knock is the work of Julian Kirsch, Maurice Leclaire and Christian Grothoff. The complete release announcement, associated documentations, as well as the code, are available here. The patch has been submitted to the Linux Kernel Mailing List (LKML), the kernel networking mailing list and subsystem maintainer. Could be coming to a Linux kernel next, if it passes muster.

Related Posts

Video Fingerprinting Offers Search Solution The explosive growth of video on the internet calls for new ways of sorting and searching audiovisual content. A team of European researchers has deve...
How to set up a Debug Server using Nginx Editor: This article was originally titled Capturing 5xx Errors with a Debug Server and published at the official blog of Nginx. No matter how ri...
Distributed R brings scalable, high-performance Big Data analytics to R The R statistical and programming language is a single-threaded language, a factor that counts against it when it comes to analyzing massive datasets....
Danish state administrations to use ODF The Danish parliament and the Danish minister for Science this morning agreed that the Danish state administrations should use open standards, includi...
Upgrade the kernel on Linux Mint 17.2 If you recently upgraded an installation of Linux Mint 17.1 to Linux Mint 17.2, you'll still be using the same kernel, which should be Linux kernel 3....
Two things I’ve learned from using Tor Browser So for the past three months I've been using Tor Browser to surf the Web, not as a primary browser, but as a secondary browser. Firefox is my primary ...

We Recommend These Vendors

Launch an SSD VPS in Europe, USA, Asia & Australia on Vultr's KVM-based Cloud platform starting at $5:00/month (15 GB SSD, 768 MB of RAM).

Deploy an SSD Cloud server in 55 seconds on DigitalOcean. Built for developers and starting at $5:00/month (20 GB SSD, 512 MB of RAM).

One Comment

  1. Pingback: Links 13/12/2013: Linux (Kernel) News | Techrights

Leave a Comment

Your email address will not be published. Required fields are marked *