网站是怎么被挂马,app我的页面设计,网络安全监测服务,课程网站建设的基本原理firewalld与nftables
在 /etc/firewalld/firewalld.conf 文件中#xff0c;FirewallBackend 选项用于指定 Firewalld 使用的防火墙后端实现。具体来说#xff1a; nftables#xff1a;这是当前的默认选项#xff0c;表示 Firewalld 将使用 nftables 作为防火墙后端。nftab…firewalld与nftables
在 /etc/firewalld/firewalld.conf 文件中FirewallBackend 选项用于指定 Firewalld 使用的防火墙后端实现。具体来说 nftables这是当前的默认选项表示 Firewalld 将使用 nftables 作为防火墙后端。nftables 是一个现代的防火墙框架旨在替代旧的 iptables提供更好的性能和更灵活的配置。 iptables这是一个较旧的防火墙后端支持 iptables、ip6tables、ebtables 和 ipset。不过正如注释中所提到的iptables 后端已经被标记为过时deprecated并将在未来的版本中被移除。
因此FirewallBackendnftables 的意思是 Firewalld 将使用 nftables 作为其防火墙后端实现这是推荐的选择因为它是现代的、功能更强大的解决方案。如果你没有特别的需求建议保持这个设置为默认值。 但由于暂时不想学习nftables语法聚焦于iptables与ufw iptables VS nftables
nftables 和 iptables 是 Linux 系统中用于管理网络流量和防火墙规则的两种工具。nftables 是 iptables 的替代品旨在提供更现代和灵活的防火墙管理方式。以下是它们之间的一些优缺点比较
优点
nftables 的优点 统一的框架 nftables 提供了一个统一的框架来处理 IPv4、IPv6、ARP 和其他协议而 iptables 需要分别使用 iptables、ip6tables、ebtables 等工具。 更简洁的语法 nftables 的语法更简洁规则的定义和管理更加直观减少了复杂性。 更高的性能 nftables 在处理规则时使用了更高效的数据结构如哈希表在处理大量规则时性能更好。 更强大的功能 nftables 支持更复杂的匹配条件和操作例如使用集合sets来管理多个地址或端口支持更灵活的流量控制。 内置的状态跟踪 nftables 提供了更强大的连接跟踪功能可以更方便地管理状态信息。 更好的日志记录 nftables 提供了更灵活的日志记录选项可以更方便地记录和管理日志。
iptables 的优点 成熟和广泛使用 iptables 已经存在很长时间广泛应用于各种 Linux 发行版许多文档和教程可供参考。 兼容性 许多现有的脚本和工具依赖于 iptables在某些情况下使用 iptables 可能更方便。
缺点
nftables 的缺点 学习曲线 对于习惯于 iptables 的用户nftables 可能需要一些时间来适应新的语法和概念。 支持和文档 尽管 nftables 的文档在不断改进但相较于 iptables仍然可能存在一些不足。
iptables 的缺点 复杂性 iptables 的语法和规则管理相对复杂尤其是在处理大量规则时可能会变得难以管理。 性能问题 在处理大量规则时iptables 的性能可能不如 nftables因为它使用的是线性链表结构。 分散的工具 iptables 需要分别使用 ip6tables、ebtables 等工具来处理不同的协议增加了管理的复杂性。
总结
选择 nftables如果您正在设置新的防火墙或需要更高效、更灵活的规则管理nftables 是一个更好的选择。选择 iptables如果您已经有大量基于 iptables 的配置或脚本或者需要与现有系统兼容继续使用 iptables 可能更方便。
总的来说nftables 是一个现代化的解决方案提供了许多优于 iptables 的功能但在某些情况下iptables 仍然是一个有效的选择。
Ufw源规则解读
在/etc/ufw/before.rules
1-MDNS监听
-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j DROP
-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j DROP在 /etc/ufw/before.rules 文件中您看到的这两行是 iptables 规则的定义具体用于允许特定的多播multicast流量。让我们逐行分析这些规则的含义
规则解析 第一条规则 -A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT-A ufw-before-input这表示将规则添加到名为 ufw-before-input 的链中。ufw-before-input 是 UFW 在处理输入流量之前使用的链。-p udp指定协议为 UDP用户数据报协议。-d 224.0.0.251指定目标地址为 224.0.0.251这是用于多播 DNSmDNS的地址。--dport 5353指定目标端口为 5353这是 mDNS 服务使用的端口。-j ACCEPT表示如果流量匹配上述条件则接受该流量。 总结这条规则允许所有发送到多播地址 224.0.0.251 的 UDP 流量目标端口为 5353以支持 mDNS 服务发现。 第二条规则 -A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACCEPT-A ufw-before-input同样表示将规则添加到 ufw-before-input 链中。-p udp指定协议为 UDP。-d 239.255.255.250指定目标地址为 239.255.255.250这是用于通用即插即用UPnP服务的多播地址。--dport 1900指定目标端口为 1900这是 UPnP 服务使用的端口。-j ACCEPT表示如果流量匹配上述条件则接受该流量。 总结这条规则允许所有发送到多播地址 239.255.255.250 的 UDP 流量目标端口为 1900以支持 UPnP 服务发现。
总结
这两条规则的目的是允许特定的多播流量以支持服务发现功能。mDNS 和 UPnP 是常用的网络服务发现协议允许设备在网络上自动发现彼此。通过在 ufw-before-input 链中添加这些规则UFW 确保这些多播流量不会被防火墙阻止从而使相关服务能够正常工作。
2- ufw-not-local 报文的处理
# ufw-not-local
-A ufw-before-input -j ufw-not-local# if LOCAL, RETURN
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN# if MULTICAST, RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j DROP# if BROADCAST, RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN# all other non-local packets are dropped
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP这段代码是iptables规则用于配置ufw防火墙在处理输入数据包时的行为。 -A ufw-before-input -j ufw-not-local 这行代码表示将数据包传递到名为ufw-not-local的链。也就是说所有传入数据包都将按照该链中的规则进行处理。 -A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN 这行代码表示如果数据包的目标类型是LOCAL本地地址则直接返回允许通过。这意味着本地目标的数据包将被接受并传递到本地。 -A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN 这行代码表示如果数据包的目标类型是MULTICAST多播地址则直接返回允许通过。这意味着多播目标的数据包将被接受并传递到相应的多播组。 -A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN 这行代码表示如果数据包的目标类型是BROADCAST广播地址则直接返回允许通过。这意味着广播目标的数据包将被接受并传递到所有主机。 -A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny 这行代码表示如果数据包既不是本地、多播、广播目标那么将启用日志记录并限制每分钟只接受3个数据包超过这个数量的数据包会被丢弃。同时将匹配的数据包传递到ufw-logging-deny链。该链的作用是将被丢弃的数据包进行日志记录。 -A ufw-not-local -j DROP 这行代码表示如果数据包既不是本地、多播、广播目标且已经超过了日志记录的限制数目那么直接丢弃该数据包。
总之这段代码的作用是检查输入的数据包目标地址类型如果是本地、多播、广播目标则接受通过如果不是则根据限制条件进行日志记录或丢弃。
RETURN RETURN是一个iptables规则动作表示数据包会立即返回到调用链的上一级。在这个特定的规则中如果数据包的目标类型是MULTICAST多播地址那么该规则会立即返回不会继续往下执行链中的其他规则。这意味着数据包将被允许通过不会被防火墙拦截或处理。