防止UDP端口扫描的有效方法

我有一个Ubuntu服务器,在某些端口有公共服务,包括TCP和UDP,并试图保护它免受端口扫描器(TCP和UDP)。 TCP扫描器块是通过使用iptables的“最近”模块来完成的,它检测并且黑名单TCP端口扫描器。 UDP端口扫描器的方式与TCP不同。 AFAIK,UDP扫描器方法是:将UDP包发送到目标服务器S中的所有(UDP)端口,如果端口Pclosures,则S将返回ICMP“端口不可达”错误码,攻击者将知道该端口已closures,开放的端口(有)是在剩余的端口。 如果没有来自S的响应,则攻击者假设端口P被防火墙过滤打开,这要花费很长时间来区分。 从这个线索,我想到了两个想法:
– 除了我的服务端口,在所有端口阻塞ICMP。
– 阻止除服务端口以外的任何UDP端口。 我不擅长防范攻击。 有没有办法阻止UDP端口扫描,而不会影响我的服务端口正常运行?