应该在seteuid / setegid之前或之后调用syslog的openlog()

时间:2015-04-26 09:57:05

标签: c permissions syslog

在更改程序的有效uid / gid(守护程序)之前,我曾调用Array一次代码。从安全角度或可预测性的角度来看,在设置有效的uid / gid之后调用openlog()会更好吗?

我在大多数平台上猜测openlog()会打开一个Unix Socket到syslogd吗?对此的权限可能过于严格,无法允许系统用户打开套接字。

1 个答案:

答案 0 :(得分:1)

也许某人有一个特定的案例,其中openlog需要提升权限,但我没有找到(并记住lynx,其曾经在其编译的默认功能中使用此功能 - 直到{ {3}})。守护进程(请参阅2009页面)不必以root身份运行,并且经常使用该功能。

本书 this 将openlog及其相关功能列为漏洞,

  

允许攻击者注入"假冒" syslog消息到日志文件

鉴于此,确保您的应用程序中没有任何弱点是非常重要的(因为总有可能成为其他程序的入侵代理)。

所以答案似乎是,不,可能没有需要来做到这一点,但是提前删除 的权限总是一个很好的规则。如果您发现需要特权的特定情况,则需要重新考虑其使用。