fwknop 应该监听端口吗?

cod*_*iac 3 security firewall debian-wheezy

我正在尝试在 VirtualBox Debian 7 机器上安装 fwknop。

它安装时没有错误(apt-get install fwknop-server -y),我在/etc/default/fwknop-server文件中进行了修改,以便守护进程运行。我已经为测试目的制作了一个节。比我重新启动 fwnop /etc/init.d/fwknop-server restart。我已经做了一个fwknop -S查看状态并且它都在运行。

我还尝试apt-get remove --purge fwknop-server -y使用aptitude install fwknop-server -y.

但是,在这两种情况下,它似乎都无法正常运行。我尝试在配置节时运行命令以打开端口(在客户端中),但没有打开配置的端口。如果我在服务器中运行,iptables -vL我会在INPUT链的上部看到 fwknop 制定的规则,并且我还看到了FWKNOP_INPUT空链。如果我运行 anetstat -nulp | less我找不到fwknopas 侦听port udp/62201或任何其他端口。

Q1 : fwknop 不应该监听 udp 62201 并出现在netstat -nulp输出中吗?

Q2:如何调试这个问题?

更新 2014-02-19

关于设置的一点:Debian 7 机器在 VirtualBox 上。我在 192.168.1.101 上有主机,在 192.168.56.101 上有 Debian。网络配置为仅主机适配器。

/etc/network/interfaces文件配置如下:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.0.0
gateway 192.168.56.1
dns-nameservers 192.168.56.1
network 192.168.56.0
broadcast 192.168.56.255
Run Code Online (Sandbox Code Playgroud)

甚至用 pgp 也试过了。但是在 windows 下,客户端不能使用 pgp。

回到 Rijndel 键。

所以,问题在于发送的数据包。服务器似乎工作正常。

sanza 很简单:

SOURCE: ANY;
OPEN_PORTS: tcp/22;
FW_ACCESS_TIMEOUT: 30;
REQUIRE_SOURCE_ADDRESS: N;
KEY: 1234567890;
Run Code Online (Sandbox Code Playgroud)

然后 o windows 客户端我有 fwknop 客户端二进制文件并运行 fwknop.exe -A tcp/22 -a 192.168.56.1 -D 192.168.56.101 --verbose

FKO Field Values:
=================

   Random Value: 8856223091859216
       Username: Bogdan
      Timestamp: 1392826691
    FKO Version: 2.0
   Message Type: 1 (Access msg)
 Message String: 192.168.56.1,tcp/22
     Nat Access: <NULL>
    Server Auth: <NULL>
 Client Timeout: 0 (seconds)
    Digest Type: 3 (SHA256)
      HMAC Type: 0 (Unknown)
Encryption Type: 1 (Rijndael)
Encryption Mode: 2 (CBC)

   Encoded Data: 8856223091859216:Qm9nZGFu:1392826691:2.0:1:MTkyLjE2OC41Ni4xLHRjcC8yMg
SPA Data Digest: CBjwLFaaNxitUlJPZqpx3xIPE+3pbi3o4QH8D16DC9I
           HMAC: <NULL>
      Plaintext: 8856223091859216:Qm9nZGFu:1392826691:2.0:1:MTkyLjE2OC41Ni4xLHRjcC8yMg:CBjwLFaaNxitUlJPZqpx3xIPE+3pbi3o4QH8D16DC9I


Final Packed/Encrypted/Encoded Data:

9tkJaoeN8qetZ+zQUiQHNL2SI57wRIs4LFEjRXNQKbEncxQ5/4KCCKm1knvcyH4kTdAdNch8kLAmExbHgpTcq/N9qf+OMLHnrD8tqKGHF2uKCAJIE3THgTr4LvBZWMAz/xTxXoAQf0jo5EjwsK6gOx9MEyEUAQB+Do69BvbG4kONUeW
YgiTvJr

Generating SPA packet:
            protocol: udp
         source port: <OS assigned>
    destination port: 62201
             IP/host: 192.168.56.101
send_spa_packet: bytes sent: 182
Run Code Online (Sandbox Code Playgroud)

服务器上的详细结果是:

SPA Packet from ip 192.168.56.1 received. 
Error creating fko context: Decryption failed or decrypted data is invalid
Run Code Online (Sandbox Code Playgroud)

请帮我进一步调试。

小智 5

Q1:不,fwknopd 不侦听端口。它作为以太网嗅探器运行,因此不作为普通“服务器”运行,因为它不侦听端口。

问题 2:调试 fwknopd 发生的事情的最佳方法是按如下方式运行它:

fwknopd -f -v -i eth0

...这将针对 eth0 启动 fwknopd(您可能需要根据您的设置对其进行更改),但不会启动 fork() 以成为守护程序,因此您可以在控制台上看到调试输出...

现在,运行 fwknopd,然后继续运行 fwknop 客户端。您将看到有关 SPA 数据包细节的详细信息,如果它与 fwknopd 执行的相应 iptables 命令一起进行身份验证/解密,以授予对您向客户端请求的任何服务的访问权限。

有关 fwknop 的综合教程可在此处获得:

http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html