gpt4 book ai didi

linux - 我必须以 root 身份运行 Node 才能发送 icmp echo 包以进行 ping - 我怎样才能确保它安全?

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:58 25 4
gpt4 key购买 nike

我正在使用 Node 的 net-ping 使我的前端能够通过 websockets 连接到 Node 来执行 ping 操作。因为 linux 只允许 root 用户发送 ping 请求,所以我必须通过 sudo 运行脚本。我不太愿意这样做,但我认为我没有太多选择。

我想知道是否有任何其他方法可以获得发送 ping 请求的权限,或者如果没有,我应该采取什么步骤来确保它尽可能安全?

开发服务器是 Ubuntu Desktop 13.10x64,生产服务器是 ubuntu 服务器 12.04x64

编辑:

我让 Node 运行一个脚本来设置 sockets.io 套接字服务器并监听来自前端(网站)的请求以在主机上执行 ping 操作。然后它通过 net-ping 运行 ping,并在客户端进入时将结果发送回客户端。这样我就可以通过网站运行几乎实时的 ping。 websockets 本身不运行 ping,它们只是让“ping 服务器”和客户端通信。

最佳答案

<1024 端口的访问在 Linux 上受到保护。我同意:以 root 身份运行 node.js 可能不是一个好主意。

尝试改为执行命令 /bin/ping。这是一个 SUID 命令,这意味着它会变成 root 只是为了发送 ping。

另一种解决方案是运行 2 个 node.js 进程。一个从 Web 获取命令,另一个发送 ping。外部服务器成为 protected ping 服务器的一种智能防火墙,它以 root 身份运行并且只接受来自 localhost 的连接。

关于linux - 我必须以 root 身份运行 Node 才能发送 icmp echo 包以进行 ping - 我怎样才能确保它安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21481615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com