如何保护高数量的港口,好像他们是众所周知的

基本上,我想要的是与此相反的。 我希望能够把服务绑定到一个高编号的端口上,并且知道O / S正在处理那个端口,就像对待一个知名的端口一样,如果我的服务死掉了一些错误进程不能只是跳入并绑定到该端口本身。

我的直觉告诉我这是SELinux的一份工作,但是我不知道该如何实现,我很好奇你们想出了什么。

(我想这样做,因为自动端口扫描通常只会打扰到第一千个/ 1024端口,我想把我的服务伪随机地分散到另外的64,000个端口上,以降低信噪比,从而将可疑活动与日志中的高度可疑活动,并且使调查更加困难近六(基数2)个数量级。)

为了识别可疑活动,看了OSSEC或Snort。 这些仅仅是为您所寻找的专用工具而devise的几个例子,而且它们都做得很好。

把港口搬到高端港口是个好主意。 1024以下的端口只能由root用户打开,或者以root用户打开。

下面是一个例子:在端口22上启动SSH时,由root或root进程完成,因为没有其他用户可以打开该端口。 但是,如果将SSH移动到2222端口,会发生什么? 这个端口现在可以在没有特权帐户的情况下打开,这意味着任何人都可以编写一个简单的脚本来侦听端口2222并模仿SSH以获取您的密码 – 这可以通过每个Linux系统/服务器上常用的简单工具轻松完成。 因此,在非特权端口上运行SSH使其可能不太安全,而不是更多。 您无法知道您是否正在与真正的SSH服务器通话。

另一个问题是许多公司都有传入和传出的防火墙,阻止你去任何网站到任何随机端口。