How To Install fwknop on CentOS 8

fwknop is A Single Packet Authorization (SPA) implementation

Introduction

In this tutorial we learn how to install fwknop on CentOS 8.

What is fwknop

fwknop implements an authorization scheme known as Single Packet Authorization (SPA) that requires only a single encrypted packet to communicate various pieces of information including desired access through an iptables policy and/or specific commands to execute on the target system. The main application of this program is to protect services such as SSH with an additional layer of security in order to make the exploitation of vulnerabilities (both 0-day and unpatched code) much more difficult. The authorization server passively monitors authorization packets via libpcap and hence there is no “server” to which to connect in the traditional sense. Any service protected by fwknop is inaccessible (by using iptables to intercept packets within the kernel) before authenticating; anyone scanning for the service will not be able to detect that it is even listening. This authorization scheme offers many advantages over port knocking, include being non-replayable, much more data can be communicated, and the scheme cannot be broken by simply connecting to extraneous ports on the server in an effort to break knock sequences. The authorization packets can easily be spoofed as well, and this makes it possible to make it appear as though, say, www.yahoo.com is trying to authenticate to a target system but in reality the actual connection will come from a seemingly unrelated IP. Although the default data collection method is to use libpcap to sniff packets off the wire, fwknop can also read packets out of a file that is written by the iptables ulogd pcap writer or by a separate sniffer process.

We can use yum or dnf to install fwknop on CentOS 8. In this tutorial we discuss both methods but you only need to choose one of method to install fwknop.

Install fwknop on CentOS 8 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install fwknop using dnf by running the following command:

sudo dnf -y install fwknop

Install fwknop on CentOS 8 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install fwknop using yum by running the following command:

sudo yum -y install fwknop

How To Uninstall fwknop on CentOS 8

To uninstall only the fwknop package we can use the following command:

sudo dnf remove fwknop

fwknop Package Contents on CentOS 8

/etc/fwknop
/etc/fwknop/access.conf
/etc/fwknop/fwknopd.conf
/usr/bin/fwknop
/usr/lib/.build-id
/usr/lib/.build-id/49
/usr/lib/.build-id/49/2d2f299b2948f36de8c55059418dfd757d7e43
/usr/lib/.build-id/6a
/usr/lib/.build-id/6a/df738420b938eb744f82deb2ac57162e39ce31
/usr/lib/.build-id/d8
/usr/lib/.build-id/d8/6ce44b3af0c9a3a05ad23ef09bdbdc6155742f
/usr/lib/systemd/system/fwknopd.service
/usr/lib64/libfko.so.3
/usr/lib64/libfko.so.3.0.0
/usr/sbin/fwknopd
/usr/share/doc/fwknop
/usr/share/doc/fwknop/CREDITS
/usr/share/doc/fwknop/ChangeLog
/usr/share/doc/fwknop/README
/usr/share/licenses/fwknop
/usr/share/licenses/fwknop/COPYING
/usr/share/man/man8/fwknop.8.gz
/usr/share/man/man8/fwknopd.8.gz

References

Summary

In this tutorial we learn how to install fwknop on CentOS 8 using yum and dnf.