mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-18 03:46:03 +00:00
be29a34732
Single Packet Authorization (SPA). fwknop stands for the "FireWall KNock OPerator", and implements an authorization scheme called Single Packet Authorization (SPA). This method of authorization is based around a default-drop packet filter (fwknop supports both iptables on Linux systems and ipfw on FreeBSD and Mac OS X systems) and libpcap. SPA requires only a single encrypted packet in order to communicate various pieces of information including desired access through an iptables policy and/or complete commands to execute on the target system. By using iptables to maintain a "default drop" stance, the main application of this program is to protect services such as OpenSSH with an additional layer of security in order to make the exploitation of vulnerabilities (both 0-day and unpatched code) much more difficult. With fwknop deployed, anyone using nmap to look for sshd can't even tell that it is listening; it makes no difference if they have a 0-day exploit or not. The authorization server passively monitors authorization packets via libcap and hence there is no "server" to which to connect in the traditional sense. Access to a protected service is only granted after a valid encrypted and non-replayed packet is monitored from an fwknop client (see the following network diagram; the SSH session can only take place after the SPA packet is monitored): PR: ports/118229 Submitted by: Sean Greven <sean.greven@gmail.com>
21 lines
541 B
Plaintext
21 lines
541 B
Plaintext
--- knoptm.orig 2007-11-21 20:59:13.000000000 +0200
|
|
+++ knoptm 2007-11-21 21:03:43.000000000 +0200
|
|
@@ -35,7 +35,7 @@
|
|
# $Id: knoptm 771 2007-09-15 13:52:22Z mbr $
|
|
#
|
|
|
|
-use lib '/usr/lib/fwknop';
|
|
+use lib '%%PREFIX%%/lib/fwknop';
|
|
use Unix::Syslog qw(:subs :macros);
|
|
use Net::IPv4Addr qw(ipv4_in_network);
|
|
use IO::Socket;
|
|
@@ -46,7 +46,7 @@
|
|
use Getopt::Long;
|
|
use strict;
|
|
|
|
-my $config_file = '/etc/fwknop/fwknop.conf';
|
|
+my $config_file = '%%PREFIX%%/etc/fwknop/fwknop.conf';
|
|
my $user_rc_file = '';
|
|
|
|
my $version = '1.8.2';
|