linux安全:探索Linux的安全机制

经过十年发展Linux功能在不断增强其安全机制亦在逐步完善按照TCSEC评估标准目前Linux安全级基本达到了C2更高安全级别Linux系统正在开发的中

下面我们来看看Linux已有安全机制这些机制有些已被标准Linux所接纳有些只是提供了“补丁”

 PAM机制

PAM(Pluggable Authentication Modules)是套共享库其目是提供个框架和套编程接口将认证工作由员交给管理员PAM允许管理员在多种认证思路方法的间作出选择它能够改变本地认证思路方法而不需要重新编译和认证相关应用

PAM功能包括:
● 加密口令(包括DES以外算法);
● 对用户进行资源限制防止DOS攻击;
● 允许随意Shadow口令;
● 限制特定用户在指定时间从指定地点登录;
● 引入概念“client plug-in agents”使PAM支持C/S应用中机器——机器认证成为可能

PAM为更有效认证思路方法开发提供了便利在此基础上可以很容易地开发出替代常规用户名加口令认证思路方法如智能卡、指纹识别等认证思路方法

 入侵检测系统

入侵检测技术是项相对比较新技术很少有操作系统安装了入侵检测工具事实上标准Linux发布版本也是最近才配备了这种工具尽管入侵检测系统历史很短但发展却很快目前比较流行入侵检测系统有Snort、Portsentry、 Lids等
利用Linux配备工具和从因特网下载工具就可以使Linux具备高级入侵检测能力这些能力包括:

● 记录入侵企图当攻击发生时及时通知管理员;
● 在规定情况攻击发生时采取事先规定措施;
● 发送信息比如伪装成其他操作系统这样攻击者会认为他们正在攻击个Windows NT 或Solaris系统

 加密文件系统

加密技术在现代计算机系统安全中扮演着越来越重要角色加密文件系统就是将加密服务引入文件系统从而提高计算机系统安全性有太多理由需要加密文件系统比如防止硬盘被偷窃、防止未经授权访问等

目前Linux已有多种加密文件系统如CFS、TCFS、CRYPTFS等较有代表性是TCFS(Transparent Cryptographic File )它通过将加密服务和文件系统紧密集成使用户感觉不到文件加密过程TCFS不修改文件系统数据结构备份和修复以及用户访问保密文件语义也不变

TCFS能够做到让保密文件对以下用户不可读:

● 合法拥有者以外用户;
● 用户和远程文件系统通信线路上偷听者;
● 文件系统服务器超级用户

而对于合法用户访问保密文件和访问普通文件几乎没有区别

安全审计

即使系统管理员十分精明地采取了各种安全措施但还会不幸地发现些新漏洞攻击者在漏洞被修补的前会迅速抓住机会攻破尽可能多机器虽然Linux不能预测何时主机会受到攻击但是它可以记录攻击者行踪

Linux还可以进行检测、记录时间信息和网络连接情况这些信息将被重定向到日志中备查

日志是Linux安全结构中个重要内容它是提供攻击发生真实证据现在攻击思路方法多种多样所以Linux提供网络、主机和用户级日志信息例如Linux可以记录以下内容:

● 记录所有系统和内核信息;
● 记录每次网络连接和它们源IP地址、长度有时还包括攻击者用户名和使用操作系统;
● 记录远程用户申请访问哪些文件;
● 记录用户可以控制哪些进程;
● 记录具体用户使用每条命令

在调查网络入侵者时候日志信息是不可缺少即使这种调查是在实际攻击发生的后进行

强制访问控制

强制访问控制(MACMandatory Access Control)是种由系统管理员从全系统角度定义和实施访问控制它通过标记系统中主客体强制性地限制信息共享和流动使区别用户只能访问到和其有关、指定范围信息从根本上防止信息失泄密和访问混乱现象

传统MAC实现都是基于TCSEC中定义MLS策略但因MLS本身存在着这样或那样缺点(不灵活、兼容性差、难于管理等)研究人员已经提出了多种MAC策略如DTE、RBAC等由于Linux是种自由操作系统目前在其上实现强制访问控制就有好几家其中比较典型包括SElinux、RSBAC、MAC等采用策略也各不相同

NSA推出SELinux安全体系结构称为 Flask在这结构中安全性策略逻辑和通用接口起封装在和操作系统独立组件中这个单独组件称为安全服务器SELinux安全服务器定义了种混合安全性策略由类型实施 (TE)、基于角色访问控制 (RBAC) 和多级安全(MLS) 组成通过替换安全服务器可以支持区别安全策略

SELinux使用策略配置语言定义安全策略然后通过checkpolicy 编译成 2进制形式存储在文件 /ss_policy中在内核引导时读到内核空间这意味着安全性策略在每次系统引导时都会有所区别策略甚至可以通过使用 security_load_policy 接口在系统操作期间更改(只要将策略配置成允许这样更改)

RSBAC全称是Rule Set Based Access Control(基于规则集访问控制)它是根据Abrams和LaPadula提出Generalized Framework for Access Control(GFAC)模型开发可以基于多个模块提供灵活访问控制所有和安全相关系统都扩展了安全实施代码这些代码中央决策部件该部件随后所有激活决策模块形成个综合决定然后由系统扩展来实施这个决定RSBAC目前包含模块主要有MAC、RBAC、ACL等

MAC是英国Malcolm Beattie针对Linux 2.2编写个非常初级MAC访问控制它将个运行Linux系统分隔成多个互不可见(或者互相限制)子系统这些子系统可以作为单系统来管理MAC是基于传统Biba完整性模型和BLP模型实现但作者目前似乎没有延续他工作

防火墙

防火墙
Tags:  linux安全工具 linux安全配置 linux安全性 linux安全

延伸阅读

最新评论

发表评论