设置Knockd问题

时间:2017-06-19 06:45:54

标签: ubuntu-server ufw knockd

我上周在安全溢出问题上提出了这个问题,但是没有回复,所以我希望你能在这里提供帮助。问题如下:

所以我正忙于在VM上设置一个敲门服务,以便在使用knockd和ufw“敲打”正确的端口序列时启用SSH登录。

我目前遇到的问题是,当选择了正确的端口序列时,ufw的user.rules无法将新规则写入文件。

我尝试在/ etc / ufw中的所有文件上使用chmod 777作为测试,但该文件仍然无法写入。

/etc/ufw/user.rules的输出如下:

30pts

knockd文件显示在下面的代码块中:

Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/after6.rules is world writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/after6.rules is group writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/user6.rules is world writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/user6.rules is group writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/applications.d is world writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/applications.d is group writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/user.rules is world writable!
Jun 14 13:13:31 Pop knockd[4780]: WARN: /etc/ufw/user.rules is group writable!
Jun 14 13:13:31 Pop knockd[4780]: ERROR: '/etc/ufw/user.rules' is not writable
Jun 14 13:13:31 Pop knockd[4780]: openSSH: command returned non-zero status code (1)

/ etc / default / knockd的输出如下所示:

[options]
        logfile = /var/log/knockd.log

[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 5
        command     = ufw allow 22/tcp
        tcpflags    = syn

[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 5
        command     = ufw delete allow 22/tcp
        tcpflags    = syn

非常感谢任何建议。

3 个答案:

答案 0 :(得分:1)

首先注意您更改的所有文件的警告和重置权限。拥有防火墙规则上所有用户的写权限并不是一个好主意。那就是:

chmod -R ga-w /etc/ufw

然后在knockd.service文件(在/ lib / systemd / system /文件夹中找到)中禁用(注释掉或设置显式为关闭)ProtectSystem指令。

如果这样可行,请将其重置为完整并置于其下方

ReadWritePaths=-/etc/ufw/

ProtectSystem =完全挂载ro / usr,/ boot和/ etc,用于该单元调用的进程,不包括ReadWritePaths中指定的目录。

如果正在运行,请在重新启动服务之前执行

systemctl daemon-reload

答案 1 :(得分:0)

我遇到了同样的问题,敲了/etc/ufw/user.rules不可写错误。敲入数据包显示在syslog中,并尝试使用ufw insert 1 ...命令。我目前最好的猜测是cgroups系统。

在/etc/knockd.conf中使用iptables命令代替ufw命令对我有用。

答案 2 :(得分:0)

我有同样的问题,但通过清理ip4和ip6表解决了它。 在一条错误消息中,它表示' xtable'被另一个进程锁定了。

ufw disable
iptables -F
iptables -X
ip6tables -F
ip6tables -X
ufw enable
试试敲门声 然后检查

service knockd status