控制台是部署Linux服务器的主要窗口之一。但是Linux服务器部署完成之后,这个控制台反而有可能成为危害其安全的罪魁祸首之一。为此Linux服务器投入生产使用之后,就需要对其访问进行限制。否则的话有可能会对Linux服务器带来安全隐患。
一、限制控制台访问
在Linux操作系统中所有的命令在系统中都是以文件的形式体现出来的。或者说,文件就是Linux操作系统中的核心。如果需要限制或者禁用控制台下的访问,只需要把某些文件的连接注视掉即可。如系统管理员如果要禁止所有的控制台访问(包括程序与应用文件),则可以把目录/etc/pam.d下面的所有文件中包含pam_console.so的行注释掉。如下图,kde是这个目录下的一个文件。在这个文件中有pam_console.so这行内容。系统管理员需要把这个目录下所有文件中含有这一行的内容注释掉,如此的话就可以禁止所有的控制台访问的。当然如果系统管理员对于这些文件所代表的含义比较了解的话,那么也可以根据自己的需要部分的禁止或者限制控制台访问。
二、禁止使用控制台程序
为了提高Linux服务器系统的安全性,一个最简单也是被很多系统管理员所采用的方法就是禁止使用相关的控制台程序。在必要的情况下,如不知道哪些控制台程序会影响到Linux操作系统的安全,则可以禁止使用所有的控制台程序。如众所周知,Linux操作系统是一个多用户的操作系统。当其他用户正连在操作系统上的时候,如果某个用户强制执行shutdown命令的话,那么无疑会让其他用户正在修改的文件发生数据丢失。为此当Linux服务器部署完毕之后,需要通过某些方式禁止用户使用控制台程序。
要实现这个目的也比较简单,如主要通过如下命令:
rm –f /etc/security/console.apps/servicename即可。其中Servicename是系统管理员需要禁止的控制台程序名。通常情况下,如果系统管理员对于这些程序比较了解,有这个经验可以判断出其是否会对服务器产生不利影响,那么就可以有选择的删除这些程序。但是如果不能够确定的话,那么把这些相关的服务或者程序全部删除即可。因为此时删除只会影响控制台下面的操作。如果以后需要用到这些命令的话,系统管理员可以通过其他方式来运行这些命令。
#p#
三、禁止使用控制台程序应用之禁用Xwindow服务
X Window是Linux操作系统提供的类似Windows操作系统的一个图形化管理工具。X Window本身只提供创建借口的准则,例如打开新窗口、响应通过标准输入设备输入的数据,但是并不包含操作窗口的用户接口。这些功能则是由窗口管理程序来完成的。X Window与窗口管理程序两者一起架构起图形用户接口,并且能够按照用户的使用习惯来进行相关的配置,让系统管理员能够在便利的操作环境下部署Linux操作系统。
X Window基本上可以划分为两个部分,X Server 和X Client,两者相互之间密切整合显示在用户面前。X Server会驱动显卡以负责屏幕上的各种图形显示,并负责驱动一些输入设备,让用户能够通过这些标准输入接口,达到和操作系统上应用程序之间的互动。而X Clinet则结合应用程序向X Server提出要求服务,运行后以窗口的形式显示在屏幕上。X Window的这种设计方法让Linux操作系统的功能变得非常的强大。如通过相关的配置,系统管理员可以让X Server与X Client运行在不同的计算机上。如某些服务器,平时只需要通过网络对他们进行连接,那么可以在某台主机上运行他们的X Window应用程序,然后把结果返回到本机的画面上。而不需要开启X Window服务,从而让服务器上的CPU与内存资源得到充分的应用。
但是我发现现在很多系统管理员不习惯在纯命令行窗口部署相关的应用服务。如部署数据库系统或者文件
服务器的时候,希望启动图形化管理窗口来进行配置。为此他们在安装Linux操作系统的时候,会习惯性的安装X Window。虽然说X Window提供了类似微软操作系统的图形化界面。如KDE(X Window中的一种)有属于自己的窗口管理程序、文件管理员、网络工具程序、多媒体应用程序等等。其无论从外观上还是从功能上都可以同Windows操作系统相媲美。但是运行这个X Window图形化界面的话,会耗用系统不少的资源,会影响服务器的运行效率。同时也会对其安全留下隐患。对此笔者有两个建议。
首先系统管理员要学会在纯命令行的方式下部署Linux的相关应用服务。其实Linux操作系统之所以强大,就是因为其命令行方式管理的杰出特性。除非把Linux操作系统当作客户端来使用,否则的话在安装Linux操作系统的过程中***不要安装X Window软件包。据笔者所知,现在大部分应用程序都可以直接在其命令行方式下部署。如果某些应用程序一定要在图形化界面下运行的话,也有一些这种的处理方式。如在安装Oracle数据库管理软件的时候,一般需要在图形化的界面下运行。但是系统管理员可以跟数据库管理一起,通过修改相关的安装配置文件,让其在命令行方式下也可以运行。另外就是可以把图形化的输出结果定位到其他的主机上,然后通过其他主机来进行相关的操作。总之一句话,如果系统管理员有这个实力的话,那么就不要怕麻烦,尽量在纯命令行模式下部署应用程序。
其次如果那些没有达到这个水平的系统管理员来说,那就只能够采用X Window图形化界面来管理与部署应用服务了。但是,在把Linux服务器投入到生产后,***能够把这个服务程序删除掉。这个删除的方法也很简单,就是上面我提到过的禁止使用控制台程序的方法。其实Linux操作系统在启动的时候,是先进入到控制台。然后再在控制台中使用startx命令启动X Window图形化管理界面。那么如果系统管理员能够通过禁用控制台程序的方法,把这图形化管理程序禁用掉,不就可以万事大吉了吗!为此系统管理员可以使用
rm –f /etc/security/console.apps/xserver命令来删除这个应用服务。执行这个命令后,普通用户就无法登陆到图形化的管理界面了。但是在有必要的情况下,root特权用户仍然可以启动图形化管理界面。所以笔者建议,如果真的要在XWindow图形化管理界面下部署应用程序的话,那么在部署完成后请系统管理员通过上面这条命令把这个XWindow应用程序禁用掉,以提高Linux服务器的安全性与性能,让其CPU与内存资源能够用在刀刃上。
***强调一下,虽然Linux操作系统以稳定的系统内核、标准的图形化界面、强大的桌面环境与Window操作系统进行抗衡。但是其作为服务器***的特色在于***个,即稳定的系统内核。而在图形化界面与桌面环境来说,虽然可以跟Windows操作系统相抗衡,但是并没有明显的优势。而且从一定程度上来说,这些功能还会影响到Linux操作系统本身的性能与安全。也就是说,对于Linux操作系统会起到一个负面的作用。如果Linux操作系统用来做普通客户端使用的话,那么这个桌面环境与图形化界面是必需的。但是如果Linux操作系统是用来实现服务器操作系统的,则***在部署的时候不需要安装这两个服务;或则和在应用程序部署完毕之后把这个应用程序利用rm –f 命令禁用掉。说的难听一点,在Linux服务器上启用这个两个服务的话有点画蛇添足的味道。
【编辑推荐】