该教程fwknop
说用脚本阻止端口iptables
。
我不想使用,iptables
因为它太混乱了,我宁愿使用ufw
.但似乎ufw
做了一些复杂的事情,所以我不确定是否fwknop
需要为此单独配置。
如果我用 打开/关闭我的端口ufw
,fwknop
仍然会像我用 关闭它们一样工作吗iptables
?
答案1
1)来自 fwknop 文档:
fwknop 项目支持四种不同的防火墙:跨 Linux、OpenBSD、FreeBSD 和 Mac OS X 的 iptables、firewalld、PF 和 ipfw。还支持自定义脚本,以便可以使 fwknop 支持其他基础设施,例如 ipset 或 nftables 。
很明显,它官方只支持 4 个防火墙。但还有空间手动添加对任何其他防火墙的支持。请检查配置文件以了解更多信息。
2)如果你有UFW,那么你也有iptables。
Uncomplicated Firewall (ufw) 是 iptables 的前端,特别适合基于主机的防火墙。 ufw 提供了一个用于管理 netfilter 的框架,以及一个用于操作防火墙的命令行界面。 ufw 旨在为不熟悉防火墙概念的人们提供一个易于使用的界面,同时简化复杂的 iptables 命令以帮助管理员知道自己在做什么。 ufw 是其他发行版和图形前端的上游。
因此,如果您通过 ufw 阻止端口,它应该像被 iptables 本身阻止一样工作。不过说实话,iptables 学起来并没有那么难。首先,您只需添加以下规则即可使用 fwknop。
# Generated by iptables-save v1.6.1 on Tue Apr 23 15:11:27 2019
*nat :PREROUTING ACCEPT [129:17936] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [106:9180] :POSTROUTING ACCEPT [106:9180] COMMIT
# Completed on Tue Apr 23 15:11:27 2019
# Generated by iptables-save v1.6.1 on Tue Apr 23 15:11:27 2019
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [91:9203]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j LOG
-A INPUT -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG
-A FORWARD -j DROP COMMIT
# Completed on Tue Apr 23 15:11:27 2019
只需将上述文本保存在任何文件中即可。然后运行命令:
iptables-restore < 文件名
你会很高兴去的!
答案2
根据Reddit 上的这个教程,你可以ufw
像/etc/fwknop/access.conf
这样使用:
SOURCE ANY # Limit the Ports able to be opened OPEN_PORTS tcp/22 # Keys from ~/.fwknoprc KEY_BASE64 [...] HMAC_KEY_BASE64 [...] CMD_CYCLE_OPEN /usr/sbin/ufw allow $PORT CMD_CYCLE_CLOSE /usr/sbin/ufw delete allow $PORT # Default cycle time Mandatory for CMD_CYCLE_OPEN/CLOSE CMD_CYCLE_TIMER 180