Ubuntu 20.04:没有防火墙有哪些安全隐患?

Ubuntu 20.04: what are the security risks without firewall?

Ubuntu20.04:没有防火墙有哪些安全隐患?

已安装 Ubuntu 20.04,但忘记使用 ufw 启用防火墙。

SSH 22端口:使用密钥(2048位)登录,无密码。 设置 UsePAM=true,有风险吗?

是否有其他服务在没有防火墙的情况下可能存在安全漏洞,黑客可以侵入服务器?

防火墙案例

是的,你应该启用防火墙。它是一个重要的安全层。

软件有错误。防火墙层防止一些错误或错误造成危害。

安全是分层的,原因与飞机具有冗余系统的原因相同。即使是单引擎飞机也被设计为在失去推力时滑翔。

您了解的 SSH 和服务

虽然正确的 SSH 配置是另一个主题,但它说明了需要防火墙的原因。您的配置在正确的轨道上,但没有阅读整个 man-page 您仍然不确定它是否安全。

如果您对 SSH 不确定,防火墙可以限制来自您定义添加另一层的源 IP 的访问。

SSH 只是您 运行 可以通过 public 互联网访问的少数服务之一。有时服务会无意中向 public 开放。

第三方软件

一种类型的错误是软件更新或安装无意中打开服务并将该服务暴露给 public 互联网。

我经常看到应用程序安装打开了一个绑定到 0.0.0.0 的私有服务,而它应该绑定到 127.0.0.1。如果您不知道 the difference,那么您并不孤单。绑定到 0.0.0.0(或 *)意味着对 public 互联网开放。

这不仅仅是一个 user-workstation 问题。包管理器也很容易受到影响。 NPM、Python PIP 和 Apt 都可以在您的系统上 运行 可执行文件。

检查开放服务

运行 sudo netstat -n 显示活动的互联网连接。

例如,这里是输出:

Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4      31      0  192.168.1.17.53624     3.xxx.96.61.443        CLOSE_WAIT
tcp4       0      0  192.168.1.17.53622     162.xxx.35.136.443     ESTABLISHED
udp4       0      0  *.3722                 *.*
[...]

我不知道 udp 端口​​ 3722 是什么,但我的系统将接受从任何地方到该端口的流量。

关闭

防火墙是网络堆栈中低于应用程序的一层,因此提供了一个防止配置和应用程序问题的层。

启用防火墙将防止您意外暴露您不知道已打开的内容 - telnet、ftp、数据库、Jupyter 等等。

关于禁用密码和 ssh 密钥的 ssh,这是启用 shell 访问的好方法,但请注意,如果 ssh 密钥上没有密码,并且私钥被盗,那么小偷将有访问权限。

此外,请记住 ssh 仅加密传输。如果你相信每个拥有或可以获得 root 访问权限的人,那没什么大不了的,但如果有人不诚实地以 root 身份连接到同一台主机,那么他们仍然可以监视连接。只是需要注意的事情。