《《安全操作系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《安全操作系统》PPT课件.ppt(83页珍藏版)》请在三一办公上搜索。
1、安全操作系统,中国科学技术大学计算机系陈香兰(051287161312)助教:裴建国Autumn 2008,主流操作系统的安全技术,Linux/Unix安全技术Windows安全技术,Linux/UNIX安全概述,UNIX多用户、多任务实现了有效的访问控制、身份标识与验证、审计记录等安全措施安全性一般能达到TCSEC的C2级Linux一种类UNIX的OS一个开放式系统本课程:Linux,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux/UNIX安全技术,L
2、inux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux身份标识和验证,Linux系统的登录过程Linux的主要帐号管理文件PAM安全验证机制,Linux身份标识和验证,Linux系统的登录过程Linux的主要帐号管理文件PAM安全验证机制,Linux系统的登录过程,基于用户名和口令通过终端登录Linux的过程:Init进程确保为每个终端连接(或虚拟终端)运行一个getty进程,getty进程监听对应的终端并等待用户登录Getty输出一条欢迎信息(此欢迎信息保存在/etc/issue文件中),并
3、提示用户输入用户名,接着getty激活loginlogin要求用户输入口令,并根据系统中的etc/passwd文件来检查用户名和口令的一致性若一致,启动一个shell;否则login进程推出,进程终止Init进程注意到login进程终止,则会再次为该终端启动getty进程,/etc/passwd文件用来维护系统中每个合法用户的信息,包括用户登录名、经过加密的口令、口令时限、用户号UID、用户组号GID、用户主目录以及用户使用的shell加密后的口令也可能存放在系统的/etc/shadow文件中,Linux身份标识和验证,Linux系统的登录过程Linux的主要帐号管理文件PAM安全验证机制,L
4、inux的主要帐号管理文件,口令文件/etc/passwd/etc/passwd文件用于存放用户的基本信息每个账户在该文件中有拥有一个相应的条目Reading:Hacking Linux exposed,ch1,p7;&ch9,p284,老版的/etc/passwd举例,老版的/etc/passwd中条目定义,每个条目包含7个字段,字段间用冒号分隔登录帐号:密码域:UID:GID:用户信息:主目录:用户shell登录帐号:即用户的登录名密码域:口令被加密后的密文UID,用户ID,为0MAXINT-1之间的一个整数GID,组ID,来自/etc/group,为0MAXINT-1之间的一个整数用户信
5、息,用于标识诸如用户的全名、位置和电话号码等信息,可以不设置主目录,为用户的起始登录目录,如/home/chenxl用户shell,用户登录后所用的shell路径名,如/bin/sh,用户可以修改口令条目中的部分信息:命令passwd:更改口令命令chfn:更改第五个字段中的用户信息命令chsh:更改第七个字段,shell路径名其余的字段由系统管理员设置,关于UID,UID是用户标识;具有唯一性。一般Root帐号的UID是:0系统预设帐号:199常用服务帐号:100499普通用户帐号:500以后UID的最大值可以在/etc/login.defs文件中查到登录后,用户权限通过UID来确认,而非用
6、户名最好不要共用UID使用root权限,可以su或者sudo,关于GID,一般GID为0的组对应于root用户组关于GID的预留,不同Linux系统有所不同Fedora:预留500个,添加新用户组时,从500开始Slackware:100个系统添加用户组默认的GID范围对应于文件/etc/login.defs中的GID_MIN和GID_MAX,Linux的shadow技术,用于提高用户密码存放的安全性口令加密后的密文存放在/etc/shadow文件中,在/etc/passwd文件中的密码域只保存一个“x”Shadow文件对一般用户是不可读的,只有超级用户(root)才可以读写。由于普通用户无法
7、得到加密后的口令,提高了系统的安全性/etc/passwd文件中每行内容9个字段,也以冒号分隔,登录帐号,与/etc/passwd中的登录帐号对应密文。若值为x,表示该用户不能登录到系统上次口令的修改时间。自日以来的天数两次修改口令间隔最少的天数。(0?)两次修改口令间隔最多的天数提前多少天警告用户口令将过期在口令过期之后多少天禁用此用户用户过期日期。为空则永久可用保留字段,HomeWork:请找到自己安装的Linux系统中的/etc/passwd文件,对照上述条目说明,分析自己当前所登录账户的相关信息,Linux身份标识和验证,Linux系统的登录过程Linux的主要帐号管理文件PAM安全验
8、证机制,PAM安全验证机制,Pluggable Authentication Modules,是SUN提出的一种验证机制,最初集成在Solaris系统中目前已经移植到Linux,SunOS,HP-UX 9.0等目的:提供一个框架和一套编程接口,将认证工作由程序员交给管理员允许管理员在多种认证方法之间做出选择,能够改变本地认证方法而不需要重新编译与认证相关的应用程序以共享库的形式提供,PAM的组成,PAM APIPAM SPIPAM 库PAM配置文件,服务程序,各种认证手段,功能包括:加密口令(包括DES和其他加密算法)对用户进行资源限制,防止DOS攻击允许随意Shadow口令限制特定用户在指定
9、时间从指定地点登录引入概念“client plug-in agents”,使PAM支持C/S应用中的机器,Linux PAM,主页:最新版本为下载地址:,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux的访问控制,Linux基于权限字的文件系统访问控制Linux的访问控制表ACL,Linux基于权限字的文件系统访问控制,在Linux中,所有的活动都可以看成是主体对客体的一系列操作客体:一种信息实体,或是从其他主体/客体接受信息的实体如文件、内存、进程消息、
10、网络包或者I/O设备主体:一个用户或者代表用户的进程,它引起信息在客体之间的流动访问控制机制:控制系统中的主体对客体的读、写和执行等各种访问Linux采用一种比较简单的访问控制机制传统UNIX的基于访问权限位的单一的自主访问控制,Linux中自主访问控制机制的基本思想,系统中每个主体都有唯一的UID,并且总是属于某一个用户组,而每个用户组有唯一的GID由超级用户或授权用户为系统内的用户设定,保存在/etc/passwd文件中通常情况下,代表用户的进程继承用户的uid和gid用户登录并进入第一个shell时,该用户的uid和gid就被设置到该shell进程的task_struct中,此后的进程按
11、照继承规则继承uid和gid(除非SETUID),对客体的访问权限:r/w/x 三种。针对某客体,用户:u/g/o 三种。上述信息构成一个访问控制矩阵,允许客体的所有者和特权用户通过这个访问控制矩阵为客体设定访问控制信息当用户访问客体时,根据进程的uid、gid和文件的访问控制信息检查访问的合法性举例:,chmod/chown/chgrp命令,chmod命令用来重新设定对客体的访问权限chown命令用来修改某个文件或目录的属主chgrp命令用来修改某个文件或目录的用户组,setuid/setgid,为维护系统的安全性,对于某些客体,普通用户不应具有某种访问权限,但是出于某些特殊需要,用户由必须
12、能超越对这些客体的受限访问例如,对/etc/passwd文件,用户不具有写访问权限,但又必须允许用户能够修改该文件,以修改自己的密码。setuid/setgid使得代表普通用户的进程不继承用户的uid和gid,而是继承该进程所对应的应用程序文件的所有者的uid和gid,即普通用户暂时获得其他用户身份,并通过该身份访问客体,Linux的访问控制表ACL,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux网络服务安全,Linux的网络层次结构图,早期的网络服务管
13、理程序inetd(守护进程),/etc/rc.d/rc.local激活inetd根据/etc/inetd.conf监听处理客户连接例子(本地)(网络链接)应当禁止不需要的服务,降低风险,扩展后的xinetd,配置文件:/etc/xinetd.conf与前者完全不同,而且不兼容组合了下列文件/etc/inetd.conf/etc/hosts.allow/etc/hosts.deny,系统默认使用xinetd的服务,标准internet服务,如http,telnet,ftp等信息服务,如finger,netstat,systat等邮件服务,如imap,pop3,smtp等RPC服务,如rquota
14、d,rstatd,rusersd,sprayd,walld等BSD服务,如comsat,exec,login,ntalk,shell talk等内部服务,如chargen,daytime,echo等安全服务,如irc等其他,如name,tftp,uucp,wu-ftp等,典型例子,各种服务,可以添加到这个文件中也可以放在指定的目录中,目录/etc/xinetd.d/,文件名:相关服务大多默认关闭,目录/etc/xinetd.d/下的文件,文件格式:,以telnet为例:/etc/xinetd.d/telnet,改成“no”,打开服务,修改后,需要重启xinetd运行如下命令:/etc/rc.d
15、/init.d/xinetd restart,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux备份/恢复,备份技术脚本一些商业化软件备份的存储设备远程网络设备、磁带驱动器、其他可移动媒体备份单位文件(目录)驱动器映像,制定备份策略WhatWhereWhenHow备份与还原:Linux与Windows?Linux只需要打包和解包,一般情况下,以下目录需要备份/etc/var/home/root/opt一般不需备份的/proc/dev等等,常用的备份命令,ta
16、r,打包含义:Tape archive,磁带归档举例:还原,-c,创建-p,保留文件访问权限-f,归档文件名,备份整个文件系统,SCSI磁带设备,-x,提取-C/,还原从“/”开始,更深入的使用,参见tar相关使用手册,压缩tar,可以压缩,使用-z选项(gzip格式)dump/restore;cpio;dd一些商业化备份产品Tivoli Storage ManagerAmandaArkeia等等,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux日志系统,
17、记录和捕捉各种活动,包括黑客的活动系统记账连接记账:跟踪当前用户的会话、登录和退出的活动进程记账:对进程活动的记录系统日志管理,连接记账,由多个程序执行,把记录写入到/var/log/utmp/var/log/wtmpLogin等程序使用utmp,wtmp等工具更新上述文件系统管理员据此跟踪谁在何时登录到系统ac:对用户连接进行大概统计last:提供每一个用户的登录信息who:报告当前正在登录的用户的信息等,进程记账,由系统内核执行当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录/var/log/pacct打开进程记账,可以在每次启动系统的时候,打开进程记账/et
18、c/rc.d/rc.local中添加,进程记账信息的解读,dump_acctsa统计系统进程记账的大致情况lastcomm列出系统执行的命令,sa命令举例,lastcomm命令举例,系统日志,有各种日志文件系统日志工具syslogd配置文件:/etc/syslog.conf守护进程klogd获得并记录Linux内核信息其他日志,Linux/UNIX安全技术,Linux身份验证Linux访问控制Linux网络服务安全Linux备份/恢复Linux日志系统Linux内核安全技术安全Linux服务器配置参考,Linux的内核安全技术,可加载的内核模块LKMLinux的内核防火墙,早期,Monolit
19、hic的缺陷混杂,各组成部分之间的界限不明显可扩展性、可剪裁性差;需要重新编译Linux 0.99,引入LKMLoadable Kernel Module内核功能动态扩充技术双刃剑威胁:内核级入侵,LKM入侵举例,Linux 2.2,knark可以改变netstat的输出结果改变运行进程的UID和GID可以不用SUID就能获得root访问权限,Linux内核防火墙,内核防火墙早期的ipfwadmIpchainsNetfilter/iptables组合,Netfilter举例,Netfilter体系结构,Thanks!,The end.,特权管理,Linux继承了传统Unix的特权管理机制,即基
20、于超级用户的特权管理机制。基本思想:1)普通用户没有任何特权,超级用户拥有系统内所有的特权2)当进程要进行某特权操作时,系统检查进程所代表的用户是否为超级用户,即检查进程的UID是否为03)当普通用户的某些操作涉及特权操作时,通过setuid/setgid来实现缺点:容易被hacker利用从2.1版开始,Linux内核中实现了基于权能的特权管理机制,基于权能的特权管理机制,基本思想:(以内核为例)1)使用权能分割系统内的所有特权,使同一类敏感操作具有相同的权能2)普通用户及其shell没有任何权能,而超级用户及其shell在系统启动之初拥有所有权能3)在系统启动后,系统管理员为了系统的安全可以
21、剥夺超级用户的某些特权,并且该剥夺过程是不可逆的。(只能重新启动系统来恢复)4)进程可以放弃自己的某些权能,该过程也是不可逆的5)进程被创建时拥有的权能由它所代表的用户目前所具有的权能、父进程权能两者的与运算来确定6)每个进程的权能被保存在进程控制块的cap_effective域中7)当一个进程要进行某个特权操作时,操作系统检查进程是否具有相应特权操作所应该具有的权能8)当普通用户的某些操作涉及特权操作时,仍然通过setuid来实现,安全审计,Linux系统的审计机制,基本思想:审计事件分为系统事件和内核事件系统事件由审计服务进程syslogd来维护与管理内核事件由内核审计线程klogd来维护
22、与管理图,安全注意键,其他安全机制,口令脆弱性警告口令有效期一次性口令口令加密算法影子文件帐户加锁限制性shell特殊属性,文件系统加载限制加密文件系统与透明加密文件系统根用户的限制安全shell防火墙入侵检测,安全Linux服务器配置参考,BIOS的安全设置LILO的安全设置口令安全自动注销帐号的登录取消普通用户的控制台访问权限取消并卸载所有不用的服务TCP_Wrapper修改/etc/host.conf文件使/etc/services文件免疫从不允许从不同的控制台进行root登录使用PAM禁止任何人通过su命令改变身份为rootShell logging bash禁止Ctrl+Alt+De
23、l键盘关闭命令给/etc/rc.d/init.d下script文件设置权限隐藏系统信息禁止不使用的SUID/SGID程序,Windows安全技术,Windows身份验证与访问控制Windows分布式安全服务Windows审核机制Windows注册表Windows加密文件系统Windows基准安全注意事项Windows 2003中的新安全技术简介,Windows操作系统安全机制,NT设计目标:TCSEC标准的C2级,这就要在用户级实现自主访问控制必须提供对客体的访问的审计机制必须实现客体重用,Windows NT/2000/XP的体系结构,Windows NT的安全模型,Windows NT的安
24、全模型包括5个主要部分登录(WinLogon)本地安全认证子系统(LSA)msv1_0安全帐户管理器(SAM)NT LAN Manager(NTLM),Windows 2000/XP的安全模型,Windows的域和委托,Windows安全性组件,安全引用监视器本地安全认证LSA策略数据库安全帐号管理器服务SAM数据库默认身份认证包登录进程网络登录服务,Windows NT/2000/XP的系统登录过程,登录是通过登录进程WinLogon、LSA、一个或多个身份认证包和SAM的相互作用发生的身份认证包:执行身份验证检查的动态链接库。Msvl_0:用于交互式登录的身份认证包WinLogon:一个受托进程,负责管理与安全性相关的用户相互作用是从键盘截取登录请求的唯一进程,WinLogon的初始化,用户登录步骤,Windows NT/2000/XP的资源访问,安全性描述符和访问控制访问令牌与模仿,Windows NT/2000/XP安全审计,