2017-06-19 72 views
0

上周我问了这个关于安全溢出的问题,但是没有回应,所以我希望你能在这里帮忙。现在的问题如下:设置敲打问题

因此,我正忙着在虚拟机上设置一个knockd服务,以便在使用knockd和ufw“敲开”正确的端口序列时启用SSH登录。

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

我曾尝试在/ etc/ufw内的所有文件上使用chmod 777作为测试,但该文件仍然不可写。

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

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) 

在下面的代码块中示出的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 

输出用于的/ etc /默认/敲定如下所示:

# control if we start knockd at init or not 
# 1 = start 
# anything else = don't start 
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING 
START_KNOCKD=1 

# command line options 
KNOCKD_OPTS="-i enp0s3" 

任何意见将不胜感激。

+0

我已经发现了一个变通使用IP表而不是UFW,但另一个问题已经出现,如下所示:[https://stackoverflow.com/问题/ 44882062/knockd-问题Ubuntu的?noredirect = 1&LQ = 1] –

回答

0

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

在/etc/knockd.conf中使用iptables命令而不是ufw命令适用于我。

0

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

ufw disable 
iptables -F 
iptables -X 
ip6tables -F 
ip6tables -X 
ufw enable 

尝试敲 然后检查

service knockd status 
0

首先听从警告,并重新允许您更改的所有文件。在防火墙规则中为所有用户写入权限并不是一个好主意。这就是做:

chmod -R ga-w /etc/ufw 

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

如果一切正常,将其重置到全,并把它下面

ReadWritePaths=-/etc/ufw/ 

ProtectSystem =全坐骑RO/USR,/ boot和/等,为排除在ReadWritePaths指定目录中的单元调用的进程。

如果运行,重新启动该服务之前做

systemctl daemon-reload