我目前正在设置一个 IDS(suricata),它目前只能以 sudo 身份运行,因为以用户身份运行时它无法访问/更改网络接口设置。
有没有办法将用户添加到可以访问网络接口的组中,或者是否有其他安全解决方案可以解决我的问题?
答案1
答案2
尝试使用 usermod 命令(而不是 useradd 命令)将用户添加到“netdev”组。请注意,用户必须是现有用户。我自己在 Ubuntu 16.04 LTS 上做过这个,而且成功了:
sudo usermod -a -G netdev <user>
执行此命令后,检查用户是否已被添加:
id <user>
如果没有添加,请尝试重新启动/注销并再次执行上述命令(id)
警告:不要在第一个命令中省略“-a”。小心
答案3
root
您可以通过编辑文件来允许用户以特权运行特定工具/etc/sudoers
。例如,您可以允许非 root 非 sudoer 用户仅运行ifconfig
命令,这样他/她就无法访问 root 特权内容,例如查看/etc/shadow
。
因此,创建一个普通用户(我的用户在我的示例中)。不要将其添加到root
或sudo
组中。/etc/sudoers
使用您最喜欢的编辑器进行编辑,例如vim
。在下添加此行# User privilege specification
:
MYUSER ALL=(root) NOPASSWD :/sbin/ifconfig *
然后ifconfig
使用sudo
以下身份登录后进行访问我的用户。 例如:
sudo ifconfig eth0 down
ifconfig
将此答案替换为您想要的任何工具,如tcpdump
、tshark
等。
参考是这里。
答案4
例如,在 Wireshark 中,有一个组,用户可以添加到该组中以捕获数据包。这必须实现。(除非我记错了)
也许您可以将 IDS 与 tshark / wireshark 结合起来。
否则,可能会有点困难(也许看看他们是怎么做到的?)