在 MAC 终端中使用 SUDO 的安全风险

在 MAC 终端中使用 SUDO 的安全风险

我对使用 Terminal 和类似的东西还很陌生,愚蠢地按照一篇使用 Terminal 和 SUDO 命令的文章操作。sudo 命令基本上加载了一个文件,该文件更新了我的 /private/etc/hosts 文件。我打开了该文件,确保它只是在做这件事,没有做其他事情。

一切正常,但后来我发现这有点愚蠢,它让我的机器遭受各种安全攻击。首先,我希望验证这句话是否“遭受安全攻击”。我真的这样做了吗?如果是,可以采取哪些步骤来重新确保安全。这是我在终端中使用的:

终端命令

sudo -s
[enter password]
sh updateOSXHostFile

文件:

echo "Do you wish to update your host file ?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) echo "0.0.0.0 yahoo.com" >> /etc/hosts;
              echo "0.0.0.0 www.yahoo.com" >> /etc/hosts;
              break;;
        No ) break;;
    esac
done

成功更新了 hosts 文件以阻止对特定站点的访问。

答案1

使用 sudo 运行命令与在 Windows 上以管理员身份运行命令没有什么不同。

真正重要的是在使用这些提升的权限时“你做了什么”。如果你只是将 IP 地址添加到主机文件中,从而有效地屏蔽了某些网站(广告拦截的常见做法),那么你没事……

如果您运行的脚本通过将您指向恶意服务器(DNS 中毒)或其他恶意程序来重新定义 Google 的地址,那么您就会遇到麻烦。

根据您提供的脚本,您没问题...但是雅虎对您来说已经死了。

关于黑洞特定站点的相关文章:http://someonewhocares.org/hosts/zero/(这就是这种方法的极端之处)

我更喜欢使用开放域名服务器按照上述方法。

答案2

通过执行脚本,sudo您可以给它超级用户权限。因此,脚本所编写的任何操作都将由 root(超级用户)执行。风险有多大取决于编写脚本的人。或者更准确地说,取决于脚本执行的操作。

一般来说,除非您信任其来源,否则您不应该执行这样的脚本。

在您的特定情况下:如果脚本修改了文件hosts,它可能会放置如下一行:

199.55.22.33    www.yourbank.com

使用不属于您银行的 IP 地址。这对于网络钓鱼来说是一个很好的开始。

更新:当您发布代码时,我们可以看到该脚本正在尝试阻止访问雅虎. 这看起来无害。但即使脚本只是干扰 hosts 文件,也可能很危险。

相关内容