如何保护高编号端口,就像保护知名端口一样

如何保护高编号端口,就像保护知名端口一样

基本上,我想要的是。我希望能够将服务绑定到高编号端口,并且放心地知道操作系统对待该端口的方式与对待知名端口的方式相同,并且如果我的服务死亡,某个错误的进程不能直接跳入并绑定到该端口本身。

我的直觉告诉我这是 SELinux 的工作,但我不确定如何实现它,我很好奇你们想出了什么。

(我想这样做是因为自动端口扫描通常只需要扫描前 1000/1024 个端口,而我想将我的服务伪随机地分散到其他 ~64,000 个端口上,以使信噪比更低,从而将可疑活动与日志中的高度可疑活动区分开来,并使侦察难度增加近六个(以 2 为底)数量级。)

答案1

要识别可疑活动,请查看 OSSEC 或 Snort。这些只是针对您要查找的内容而设计的专用工具的几个示例,它们都做得很好。

将端口移至高端口不是一个好主意。1024 以下的端口只能由 root 或以 root 身份运行的进程打开。

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

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

相关内容