一、端口和网络安全的原理:客户端和服务器之间的通信使用应用层协议,应用层协议使用传输层协议+端口标识。
二、端口和网络安全实例
TCP/IP协议在传输层有两个协议TCP和UDP,相当于网络中的两扇大门,门上开的洞就相当于开放TCP和UDP的端口。如下图所示,服务器对外提供Web服务,在服务器上还安装了微软的数据库服务MSSQL,网站的数据就存储在本地的数据库中。如果服务器的防火墙没有对进入的流量做任何限制,且数据库的内置管理员账户密码为空或弱密码,网络中的黑客就可以通过TCP的1433端口连接到数据库服务,并很容易猜出数据库账户的密码,就能获得服务器操作系统管理员的身份,进一步在该服务器中为所欲为,这就意味着服务器被入侵。
如果想让服务器更加安全,就要把能够通往应用层的TCP和UDP的两扇大门关闭,在大门上只开放必要的端口。如下图所示,如果你的服务器对外只提供Web服务,便可以设置Web服务器防火墙只对外开放TCP的80端口,其他端口都关闭,这样即便服务器运行了数据库服务并使用TCP的1433端口侦听客户端的请求,互联网上的入侵者也没有办法通过该端口入侵服务器。
补充:我们还可以在路由器上设置访问控制列表(ACL)来实现网络防火墙的功能,控制内网访问Internet的流量。