首页 理论教育 Linux系统安全:计算机网络安全与防御策略

Linux系统安全:计算机网络安全与防御策略

时间:2023-11-23 理论教育 版权反馈
【摘要】:Linux的一些安全机制已被标准所接纳。Linux系统具有安全审计功能,它可对网络安全进行检测,利用系统日志记录攻击者的行踪。日志是Linux安全结构中的重要内容,它能提供攻击发生的唯一真实证据。SELinux是一种安全体系结构,在该结构中,安全性策略的逻辑和通用接口一起封装在与操作系统独立的被称为安全服务器的组件中。与Linux本身类似,这些安全工具大多也是开放源代码的自由软件,恰当地使用它们,可提高系统的安全性。

Linux系统安全:计算机网络安全与防御策略

Linux是一种类似于UNIX操作系统的自由软件,是一种与UNIX系统兼容的新型网络操作系统。Linux的安全级已达到TCSEC的C2级,一些版本达到了更高级别。Linux的一些安全机制已被标准所接纳。Linux系统具有如下安全措施。

(一)身份验证机制

在Linux系统中,用户的身份验证和用户权限是分开设计的,因此用户的身份验证就比较简单。Linux身份验证系统最基本的实现方式是Linuxlogin程序,不过其他各应用程序也一样要通过身份验证来确定用户身份。

Linux系统采用的最基本的验证体系有/password/shadow体系和PAM体系。

(1)/password/shadow身份验证体系是最简单也是最基本的,即利用口令进行身份验证。系统将用户输入的口令与系统预设的口令相比较,若一致,用户即可进入系统。

(2)PAM是安全验证模块体系,只有在编程时选择了PAM库支持,才能使用PAM验证。在这种情况下,程序调用PAM运行库,运行库则根据当前的PAM系统管理进行具体的验证过程,使得整个验证过程可以添加或删除特定的功能,从系统核心中分离出来。PAM验证体系是由一组模块组成的,可以在一个PAM验证过程中使用多种验证模块,后面的验证过程的执行依赖于前面的验证结果。PAM验证体系的功能有加密口令、用户使用资源控制、限制用户入网的时间和地点、支持C/S中的机器认证等。

(二)用户权限体系

Linux系统的用户权限体系包括用户权限、超级用户权限和SUID机制。

(1)用户权限。Linux使用标准的UNIX文件权限体系来实现Linux的基本用户隔离和存取授权功能。Linux系统中的每个文件都有一个属主用户user和一个属主程序组group,除此之外的用户都作为其他用户other。因此,每个文件都存在三种存取权限,即用户访问权限、组访问权限和其他用户访问权限。

(2)超级用户权限。超级用户root作为系统管理者,其权限很大,可以访问任何文件并对其进行读写操作。通常说的入侵Linux系统,主要就是指获得root权限,例如知道root密码或获取一个具有root权限的shell。

(3)SUID机制。SUID机制就是在权限组中增加SUID和SGID位。凡是SUID位被置“1”的文件,当它被执行时会自动获得文件属主的UID;同样,当SGID位被置位时,也能自动获得文件属组的GID。

(三)文件加密机制

加密技术在现代计算机系统中扮演着越来越重要的角色。文件加密机制就是将加密服务引入文件系统,从而提高计算机系统的安全性。文件加密机制可防止磁盘信息被盗窃、未授权的访问和信息的不完整等。

Linux已有多种加密文件系统,如CFS、TCFS、CRYPTFS,较有代表性的是TCFS(Transparent Cryptographic File System)。TCFS通过将加密服务和文件系统紧密结合,使用户感觉不到文件的加密过程。TCFS不修改文件系统的数据结构,备份、修复以及用户访问保密文件的语义也不变。TCFS可使保密文件对合法拥有者以外的用户、对用户与远程文件系统通信线路上的偷听者,以及对文件系统服务器的超级用户都不可读。而对于合法用户,访问保密文件与访问普通文件没有区别。

(四)安全系统日志和审计机制

即使网络采取了多种安全措施,还是会存在一些漏洞。攻击者在漏洞修补之前会抓住机会攻击更多的机器。Linux系统具有安全审计功能,它可对网络安全进行检测,利用系统日志记录攻击者的行踪。

日志就是对系统行为的记录,它可记录用户的登录/退出时间、用户执行的命令,以及系统发生的错误等。日志是Linux安全结构中的重要内容,它能提供攻击发生的唯一真实证据。在检查网络入侵者时,日志信息是不可缺少的。在标准的Linux系统中,操作系统维护三种基本日志,即连接时间日志、进程记账日志和Syslog日志。

连接时间日志用来记录用户的登录信息。这是最基本的日志系统,管理员可以利用它来记录哪些用户在什么时间进入系统。

进程记账日志用来记录系统执行的进程信息,如某进程消耗了多少CPU时间等。

Syslog日志不由系统内核维护,而是由syslogd或其他一些相关程序完成。它是各种程序对运行中发生的事件的处理代码。

除以上安全机制外,Linux系统还采取了很多具体安全措施,如提升系统的安全级别(将系统的安全级别从C2级提升到Bl级或B2级)、SSH安全工具、虚拟专用网(VPN)等。(www.xing528.com)

(五)强制访问控制

强制访问控制(MAC)是一种由管理员从全系统角度定义和实施的访问控制。它通过标记系统中的主客体,强制性地限制信息的共享和流动,使不同的用户只能访问与其有关的、指定范围的信息,从根本上防止信息泄露和访问混乱的现象。

由于Linux是一种自由式操作系统,因此在其系统上实现的强制访问也有多种形式,比较典型的有SELinux和RSBAC,采用的策略也各不相同。

SELinux是一种安全体系结构,在该结构中,安全性策略的逻辑和通用接口一起封装在与操作系统独立的被称为安全服务器的组件中。SELinux安全服务器定义了一种由类型实施(TE)、基于角色的访问控制(RBAC)和多级安全(MLS)组成的混合安全策略。通过替换安全服务器,可以支持不同的安全策略。

RSBAC(基于规则集的访问控制)是根据一种访问控制通用架构(GFAC)模型开发的,它可以基于多个模块提供灵活的访问控制。所有与安全相关的系统调用都扩展了安全实施代码。这些代码调用中央决策部件,该部件随后调用所有被激活的决策模块,形成一个综合决定,然后由系统调用扩展来实施该决定。

(六)Linux安全工具

网络上有各种各样的攻击工具,也有各种各样的安全工具。以下介绍的是Linux系统中的安全工具。与Linux本身类似,这些安全工具大多也是开放源代码的自由软件,恰当地使用它们,可提高系统的安全性。

1.tcpServer

tcpServer是一个inetd类型的服务程序,可监听进入连接的请求,为要启动的服务设置各种环境变量,然后启动指定的服务。tcpServer可限制同时连接一个服务的数量。

2.xinetd

xinetd具有可支持TCP、UDP、RPC服务,基于时间段的访问控制,具有完备的log功能,可有效地防止DoS攻击,可限制同时运行的同类服务器的数目,可限制启动的服务数目,可作为其他系统的代理,可在特定端口绑定某项服务而实现只允许私有网络访问该服务等特点。

3.sudo

sudo是一个允许系统管理员给予特定的普通用户(或用户组)有限的超级用户特权,使其能够以超级用户或其他用户的身份运行命令并记录其所有命令和参数的程序。最基本的原则是在普通用户可以完成工作的范围内,给予尽可能少的特权。sudo具有的特性:可以限制用户在每个主机上运行的命令;可对每个命令都进行记录,以便清楚地审核每个用户做了什么;可为“通行证系统”提供标记日期的文件。

4.安全检查工具nessus

nessus是一个远程安全扫描器。它是自由软件,具有功能强大、更新快、易于使用等特点。安全扫描器的功能:对指定的网络进行安全检查和弱点分析;确定是否有攻击者入侵或是否存在某种方式的误用;寻找导致对手攻击的安全漏洞等。

5.监听工具sniffit

sniffit是可在Linux平台上运行的网络监听软件,它主要用来监听运行TCP/IP协议的计算机,以发现其不安全性。因为数据包必须经过运行sniffit的计算机才能进行监听,所以它只能监听同一个网段上的计算机。可以为其增加某些插件以实现额外功能。还可以配置sniffit在后台运行,以检测TCP/IP端口上用户的输入/输出信息。

6.扫描工具nmap

nmap(Network Mapper)是开放源码的网络探测和安全扫描工具。它主要用来快速扫描大型网络,但在单机上也能很好地工作。nmap可以查找到网络上有哪些主机,它们提供什么服务(端口),运行什么操作系统,过滤防火墙使用哪些类型的数据包等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈