2017-06-19 41 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