使用Python打开端口有哪些适当的安全措施?

0 python sockets security ports

考虑一个非常基本的python套接字,它在主机上打开一个到Internet的端口,并监听在终端中显示的传入消息.

像这样保持港口大开被认为是相当脆弱的,对吗?我应该实现哪些安全功能?是否应该对传入的数据进行消毒?解决这个问题的最佳方法是什么?

谢谢.

Dev*_*rre 6

为什么这会容易受到攻击?您的程序接受来自任意人(可能在整个Internet上)的连接,并允许它们向您的终端显示任意字节.这里只有一个攻击向量:你的终端本身.如果您的终端有一个错误(例如)执行字节而不是打印它们,那么由于这种设置,系统可能会受到危害.

然而,这是不太可能的 - 实际上,验证程序没有完全破坏的一种常用技术是将任意数据传递给它们并查看它们是否/如何爆炸.这称为模糊测试,如果在测试模糊时终端中存在这样的错误,模糊测试会产生非常有趣的爆炸,而不仅仅是终端垃圾.

仅仅因为端口上的某些东西可以访问并不意味着存在漏洞.你需要一个实际可利用的缺陷,在这种情况下,可能没有一个.(虽然从来不知道.)