小编Cor*_*son的帖子

ntpd 以非 root 身份运行,但传出数据包匹配为 uid 0

我将默认的 iptables OUTPUT 链设置为 DROP 数据包。然后我创建了一个防火墙规则,只允许 ntp 用户发送 ntp 数据包:

iptables -A OUTPUT -m owner --uid-owner ntp -p udp --dport 123 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但是,每 10-20 分钟我就会看到:

ntpd[27769]: sendto(<snip>) (fd=22): Operation not permitted
Run Code Online (Sandbox Code Playgroud)

然后我删除了-m owner --uid-owner ntp规则的一部分并在它之前添加了一个日志规则:

iptables -A OUTPUT -p udp --dport 123 -j LOG --log-level debug \
    --log-prefix "Spotted a NTP packet: " --log-uid
Run Code Online (Sandbox Code Playgroud)

ntpd 再次开始工作,在内核环形缓冲区中,我看到:

Spotted a NTP packet: <snip> PROTO=UDP SPT=123 DPT=123 LEN=56 UID=0
Run Code Online (Sandbox Code Playgroud)

我正在使用--log-uid切换到LOG目标,并ntpd以 ntp 用户身份运行 (uid=38):

# …
Run Code Online (Sandbox Code Playgroud)

iptables ntpd

4
推荐指数
1
解决办法
855
查看次数

标签 统计

iptables ×1

ntpd ×1