首页 > 代码库 > Linux 小知识翻译 - 「端口限制」

Linux 小知识翻译 - 「端口限制」

上次说了端口号相关的内容,这次聊聊「端口限制」的事。

 

经常看到关于安全的书籍上会说「不要开放多余的端口」,那么,如何限制端口才好呢?

实际,端口限制的方法大体上分的话有2种。

其一,「通过应用程序来处理」。试着一下考虑「打开端口」本来是怎么一回事。比如,启动Apache之类的Web服务程序的时候,(如果没有特别的设置)会打开Well known ports中的80号端口,

然后通过80号端口开始等待通信。

所以,如果关闭了服务端应用程序的话,端口也会自动被关闭。「不要开放多余的端口」也就是「不要启动多余的应用程序」。

 

其二,「限制通信」。代表性的方法就是「过滤数据包」。通过「过滤数据包」,可以实现关闭特定端口的通信,特定IP的通信。

Linux中的「iptables」命令就可以过滤数据包。通过iptables命令,可以详细的指定拦截何种通信,所以可以实现「拦截某个主机的特定端口」。

 

调查「哪个端口是打开的」?可以使用「netstat」,「lsof」,「nmap」等命令。这里不再介绍这些命令的详细信息,简单来说:

通过「netstat」和「lsof」可以知道「本机上打开了哪些端口?」

通过「nmap」可以知道「其他主机上打开了哪些端口?」

过滤数据包的时候,需要注意的是通过netstat和lsof命令来看,有时候端口是空闲的。