如何为基本台式机/笔记本电脑配置 UFW?

Bor*_*ris 3 security firewall ufw

阅读有关启用 UFW 的这个答案,我知道没有防火墙的计算机在我的本地网络中是安全的,但是在本地网络之外使用的笔记本电脑上的相同安全配置可能存在风险。

由于ufw是默认安装的,我想打开它,我想将它配置为我的“基本台式机/笔记本电脑配置”。

“基本台式机/笔记本电脑配置”是指我的计算机用于:

  • 使用火狐
  • Thundurbird上阅读电子邮件
  • Skype沟通
  • 为我的孩子在SteamMinecraft上玩游戏
  • 通过我的本地 NFS 网络共享文档

Tho*_*ard 9

在基本设置中,基本桌面防火墙将拒绝入站并允许出站“流量”。本质上,虽然 Windows 可以合并基于应用程序的过滤,但它的默认规则集是允许出站和拒绝入站,除非出站流量得到响应。这是典型的“桌面”防火墙设置,通常在典型最终用户的桌面上观察到。

(理想情况下,您是ufw为了简单而使用,但真正有用的规则集将使用 pureiptables代替。)


ufw方式。ufw对于不需要任何特殊入站连接或出站特殊限制的台式计算机来说,这可能是最基本但最有效的设置:

理论上,您需要拒绝入站流量,允许出站流量,并允许与您的操作相关的入站流量出站。 ufw默认情况下几乎是这样做的。

请注意,我allow在这里没有任何其他规则。您不需要任何额外的允许规则 -ufw默认情况下执行我iptables在下面手动安装的设置 - 它接受与已建立的传出连接相关的入站流量,因此网络浏览器连接和电子邮件客户端会在高端口号中初始化它们的传出通信这是“随机端口范围”,将工作,你将不需要接受http (80)https (443)等交通对他们的港口,因为它已经透明地处理备份。添加ALLOW INBoris's answer 这样的附加规则只会让典型的桌面用户在这些端口上打开不需要的连接,而桌面不需要这些连接。

 

(1) 启用 UFW

开启ufw规则

ufw enable
Run Code Online (Sandbox Code Playgroud)

这真的应该是您需要做的全部ufw。但是,如果您愿意,您可以继续。

(2) 拒绝入站流量

非常确定这是默认值,但为了确保,运行它以确保默认情况下拒绝传入流量(与传出相关的流量除外,例如 Web 浏览器内容):

ufw default deny incoming
Run Code Online (Sandbox Code Playgroud)

(3) 允许出境交通

这也应该是默认值,但运行它并确保允许传出流量:

ufw default allow outgoing
Run Code Online (Sandbox Code Playgroud)

这应该是您需要做的全部!

(我今天晚些时候会抽查一下)


然后,这是我的方式,iptables手动操作netfilter/iptables规则而不是ufw(默默地这样做)

据我所知,ufw有一个默认规则集,这应该是典型桌面所需要的。

但是,我更喜欢这种iptables方法,因为iptables到目前为止我非常了解,并且因为我喜欢手动配置我的防火墙,而不是让ufw或随机的防火墙控制软件为我建立我的规则。

这是我在基本台式机上iptables(NOT ufw) 的规则集,没有其他东西在听,并且不像我的个人笔记本电脑那样被锁定。它还实现了与 UFW 几乎完全相同的功能:

iptables -A INPUT -i lo -j ACCEPT - 必须允许本地主机,不是吗?

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED - 允许已经建立的流量完成传入。允许与传出通信相关的流量通过。

iptables -A INPUT -p icmp -j ACCEPT- 允许 ICMP 数据包进入(ping 等)。你不需要这个,但如果你想要它,你可以拥有它。

iptables -A INPUT -j REJECT --reject-with icmp-host-unreachable - 这会拒绝所有其他东西进入计算机。

iptables未启用 ufw 规则或启用任何其他规则的系统默认值为 INPUT、OUTPUT 和 FORWARD 的“接受”。所以我自己在最后手动添加了“拒绝所有其他流量”规则。

(请注意,这几乎正是Ubuntu 帮助页面上的 IPtables HowTo生成的内容。加上一些小的调整)