![如何配置我的服务器以保持隐藏状态,除非它收到正确的密码?](https://linux22.com/image/73848/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E6%88%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BB%A5%E4%BF%9D%E6%8C%81%E9%9A%90%E8%97%8F%E7%8A%B6%E6%80%81%EF%BC%8C%E9%99%A4%E9%9D%9E%E5%AE%83%E6%94%B6%E5%88%B0%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%AF%86%E7%A0%81%EF%BC%9F.png)
服务器应该默默地忽略任何请求(包括 ping),除非它通过初始请求收到正确的凭据。其他人都无法知道宿主的存在。
我说的是一个非常基本的“身份验证服务器”,一种有选择地使主机仅对某些客人可见的机制。当客户端发送正确的凭据时,防火墙使主机对其 IP 可见,并开始接受来自该主机的任何连接。
答案1
如果您的主机不响应任何内容,那么您与其通信的选项就会受到限制。您将无法执行诸如向其发送用户名和密码之类的操作,因为这需要打开 TCP 连接,并且需要双向流量。
你可以做端口敲门使服务器开始响应可用的协议,例如 SSH。端口敲门的工作原理是将密码编码到一系列不需要连接协议的数据包中,例如在一系列端口上发送 ping,或将 ICMP 或 UDP 数据包发送到包含密码的特定端口。
请注意,任何要求服务器隐秘的方法都有一个固有的弱点:观察流量的人可以看到导致服务器回复的流量,并重放该序列。您可以通过使密码取决于时间来限制这一点,但请注意,如果客户端和服务器上的时钟不同步,这可能会将您锁定。
显然,当您与服务器通信时,服务器不会是隐秘的。
设置端口碰撞并不困难,您可以在网上找到相关教程。但即便如此,通常也不值得这么麻烦。端口敲门不会改善隐私,也不会防御任何严重的威胁。它的主要优点是使您的服务器对试图利用安全漏洞的通用探测器不可见,但如果您使服务器保持最新的安全补丁,那么这些探测器是无害的。