Port Knocking、Single Packet Authorization与fwknop的深度解析
1. Port Knocking与Single Packet Authorization的局限性及应对策略
在网络安全防护中,Port Knocking(端口敲门)和Single Packet Authorization(单包授权,简称SPA)是两种重要的技术手段。不过,它们在应用过程中也存在一定的局限性。
在默认丢弃规则下,即便最初允许会话建立的规则被移除,连接仍可能保持打开状态。对于长时间运行的TCP会话,使用连接跟踪机制来保持已建立的TCP连接是一种不错的解决方案。但对于短时间的连接,如通过Web传输HTTP数据或在邮件服务器之间传输SMTP数据,SPA就不太适用了。用户每查看一个网页链接都生成一个新的SPA数据包会很不方便,而且每个链接都是通过单独的TCP连接传输的,这进一步加剧了问题。
为了解决这个问题,可以采取以下策略:
-延长客户端IP地址的超时时间:例如将超时时间延长至一小时,这样就不需要频繁生成新的SPA数据包。不过,这会在一定程度上降低SPA的有效性。但如果你的Web服务器运行着关键应用,且安全是首要考虑因素,这种做法还是有意义的。
-让SPA客户端自动生成SPA数据包:可以通过在本地文件系统中缓存加密密码来实现。但一般来说,将加密密码放在文件系统中不是个好主意,因为这可能会削弱GnuPG私钥的安全性。不过,将SPA客户端与尽可能多的客户端程序紧密集成是一个有用的方法。