在服务器租用后,可能经常会提到端口这个概念,比如服务器上开放了什么端口,关闭了什么端口,等等。事实上,一个有效连接的建立,就是客户端的port与服务器端的port建立连接的过程。而端口在系统中也是有自己的一套划分规矩的,下面就讲述一下端口在操作系统下的应用规范。
Linux操作系统下,系统共定义了65536个可用端口,这些端口又分为两个部分,以1024作为分割点,分辨是“只有root用户オ能启用的por"和“客户端的port"。
1.只有rot用户才干启用的port
Linux系统下,0-1023端口,都需要以root身份才干启用,这些端口重要用于系统一些常见的通佩服务中。一般情况下,这些端口是预留给些预设的服务来应用的,不常用的服务最好不要应用这些预留端口。比如21端口是预留给FIP服务的,23端口是预留给 Telnet服务的,25是预留给E-mail服务的,而80是预留给WWW服务的。我们可以通过查阅 Linux下/etc/ services文件得到端口与服务的对应列表。
2.客户端的port
1024以上(包含1024)的端口重要是给客户端软件应用的,这些端口都是由软件随机分配的。例如,通过浏览器访问新浪网,那么浏览器首先会在本地随机分配一个1024以上端口,通过这个端口与新浪网服务器的80端口(即为WWW服务)建立连接,这样就实现了浏览器对网页的访问。
同时,大于或者等于1024的端口的启用不受root用户的把持。例如,经常应用的 MYSQL数据库,服务的默认端口是3306,而这个端口就是由 MYSQL用户启用的。 Oracle数据库默认的监听端口是1521,也是由 Oracle用户启动的。
1、如何查看端口状态
懂得端口的概念后,在 Lnux下可以通过相干命令查看端口的状态经常应用的命令是 netstat。
比如,查看当前服务器的端口监听状态,应用以下命令:
从上面的显示可以看出,当前系统中启用的端口有3306、25、80、22,而且都处于监听联机状态。
那么如何显示已经联机的连接状态呢,应用下面的命令:
在上面显示中,“ Local Address"表现服务器内部联机启用的端口," Foreign Address”表现客户端联机启用的端口。从上面的输出可以看出,有一个IP为117.22.122.72的客户端主机通过1850端口与IP为218.30.68.21的服务器的22端口之间建立了联机,其他有类似的含义。
查看端口对应的是什么服务时,只需履行如下指令:
从上面的显示可以看出,当前系统中启用的端口3306、80、22和25对应的服务分辨为 mysqld、htpd、shd和 sendmail,而且都处于监听联机状态,同时还可以看到每个服务在系统中对应的PID。
2、服务与端口的关系
很多人经常会提到,“这个服务对应什么端口,那个端口跑着什么服务,如何关闭某个端口”等话题,那么服务和端口到底是什么关系呢?其实,服务和端口是一个一一对应的关系,相互依附,互为树托。没有服务运行也就无所谓端口,端口的开启和关闭也就是软件服务的启动和关闭。例如常见的80端口默认运行的是WWW服务,53端口默认运行的是DNS服务。
那么是不是这些服务一定要运行在默认的端口呢?不是的,例如WWW服务完整可以运行在自己爱好的端口下,可以指定让WWW服务运行在81端口下。只不过由于浏览器默认在80端口寻找服务,此时如果要访问WWW服务的话,就需要在访问的地址后加上“81”,意思是告诉测览器,这个WWW服务是运行在非默认的81端口下。
3、端口与系统的安全性
为了保证系统的安全,一般情况下会在系统中关闭不必要的端口,这是系统管理员经常应用的策略。其实,端口没有所是和软件启用的服务对应的,所以说到底,真正影响安全的并不是端口而是与端口对应的软件。
4、关闭系统不必要的服务
Linux下服务的启动和关闭管理有两种方法:第1种方法是直接履行服务启动/关闭脚本,也就是在 /etc/init.d目录下的所有服务脚本,一般通过类似“/etc/ /init.d/ sshd restart”的方法去重启服务;第2种是通过一个超级服务去管理一些常用网络服务,在 Red Hat Linux/ Centos Linux这个超级服务是 xinetd,在 xinetd这个服务下可以管理的服务有Telnet、 vsftpd等,可以通过"/etc/ init d/xinetd restart"来完成对这些网络服务的重启。
Linux下一般通过 chkconfig命令来断定服务是开启还是关闭状态例如:
从上面的输出可以看出,sshd服务在 Linux的2、3、4、5运行级处于开启状态,其他运行级处于关闭状态, sendmail服务的开启/关闭状态与sshd服务雷同。
现在要在 Linux运行级3和5下关闭 sendmail服务,履行如下命:
其他服务的开启/关闭与 sendmail类似,不再讲述。 chkconfig还可以増加和删除相应的服务,关于 chkconfig更详细的用法请参看machkconfig。
知道了如何启动和关闭服务后,下面的工作就是要关闭不必要的系统服务。如何知道哪些是不必要的服务呢?一般情况下,只要系统本身用不到的服务都可以认为是不必要的服务,例如某台 Linux服务器做WwW利用,那么除了htpd服务和系统运行一定要的服务外,其他服务都可以关闭。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP