假设我有2个节点。
1.2.3.4(master)和3.4.5.6(slave),用Java编写。
我希望slave只接受来自1.2.3.4(之前配置的)的套接字连接(2路TLS),如果它不是来自1.2.3.4,并且如果2路TLS身份验证失败,则通过不响应而忽略所有其他连接
意思是,不要在TCP中发送RST。 socket.close();
应关闭从端的套接字,但不要将RST发送给连接的对等体,以便对等体不知道它是否是有效的开放端口(通常由软件/硬件防火墙为对手使用)正在进行SYN / ACK扫描。
如何实现此代码?我准备使用本机代码,但是怎么做呢?
答案 0 :(得分:1)
如果TLS身份验证失败,则已存在TCP连接,因此攻击者已经知道它是有效的开放端口。假装它没有,为时已晚。
socket.close()
发送FIN,而不是RST。
您的主/从术语很好奇。您的“奴隶”是TCP服务器,“主人”是TCP客户端。