我正在Centos 5机器上运行pptpd,但我没有设置任何日志记录。
如果被滥用,我需要确定哪些用户做了不好的事情,这意味着我需要记录所有的流量。我可能有多达20个用户,将使用VPN连接,每天至少3个小时。
tcpdump是解决方案吗?
发布于 2012-03-13 20:45:19
我没有使用pptpd的经验,但我确实在CentOS机器上运行pptp,它充当向外连接到DrayTek路由器的客户端。
因此,我可以想象,对于每个连接的用户,将有一个相应的ppp网络接口创建在服务器上,以服务于该用户。您可以设置一些iptables规则来记录这些ppp接口中的所有数据包。您必须从pptpd关联(日志)的最后一件事是为特定用户分配特定IP地址的时间。这将允许您记录流量并将其链接到相应的VPN用户(如果强制VPN用户分配静态IP,则更容易)。
您需要确保在最有可能的前向链(记录发送到VPN网络上的其他主机的流量,由VPN服务器路由)上,在每个方向应用日志规则。如果希望包括服务器本身的日志记录,则添加输入和输出链(+表示所有ppp接口):
iptables -A FORWARD -i ppp+ -j LOG
iptables -A FORWARD -o ppp+ -j LOG显然,如果您希望监视特定类型的通信量,可以将上述iptables规则调整为更特定于协议的规则。
使用tcpdump在每个接口的基础上捕获PCAPs将被证明是一个需要实现的噩梦。在用户登录和注销时,您需要为创建和删除的每个ppp接口发明一些具有tcpdump进程分叉和死掉的激进方法。我想不出一种很好的方法来做到这一点,无论如何,尝试在每个会话中记录数据包内容似乎有点过分。更好的做法是在他们可能连接到的设备上采取进一步的安全措施,这些设备可能是在专用网络上连接的。
https://serverfault.com/questions/276925
复制相似问题