中南大学操作系统安全实验报告学生姓名学号专业班级指导教师宋虹学院信息科学与工程学院完成时间2015年10月29日《操作系统安全》实验一……Windows系统安全设置实验一、实验目的1、了解Windows操作系统的安全性2、熟悉Windows操作系统的安全设置3、熟悉MBSA的使用二、实验要求1、根据实验中的安全设置要求,详细观察并记录设置前后系统的变化,给出分析报告。
2、采用MBSA测试系统的安全性,并分析原因。
3、比较Windows系统的安全设置和Linux系统安全设置的异同。
三、实验内容1、配置本地安全设置,完成以下内容:(1)账户策略:包括密码策略(最小密码长度、密码最长存留期、密码最短存留期、强制密码历史等)和账户锁定策略(锁定阈值、锁定时间、锁定计数等)(2)账户和口令的安全设置:检查和删除不必要的账户(User用户、Duplicate User用户、测试用户、共享用户等)、禁用guest账户、禁止枚举帐号、创建两个管理员帐号、创建陷阱用户(用户名为Administrator、权限设置为最低)、不让系统显示上次登录的用户名。
(3)设置审核策略:审核策略更改、审核账户登录事件、审核账户管理、审核登录事件、审核特权使用等(4)设置IP安全策略(5)其他设置:公钥策略、软件限制策略等2、Windows系统注册表的配置(1)找到用户安全设置的键值、SAM设置的键值(2)修改注册表:禁止建立空连接、禁止管理共享、关闭139端口、防范SYN攻击、减少syn-ack包的响应时间、预防DoS攻击、防止ICMP重定向报文攻击、不支持IGMP协议、禁止死网关监控技术、修改MAC地址等操作。
SAM设置的键值:禁止管理共享:对于服务器,添加键值AutoShareSecer,值为0:对于客户机,添加键值AutoShareWks,值为0:关闭139端口,防范SYN攻击:说明:这里值设为1,表示允许启用Windows的SYN淹没攻击保护。
说明:这里定义了对于连接请求回应报的重发次数,值为1,则SYN淹没攻击才不会有效果,但是这样会造成连接请求失败的几率增高,所以,SYN淹没攻击只有在这个值大于1时才会被启用,默认值为3.3、文件及文件夹权限设置(1)用户组及用户的权限:有哪些组?其权限是什么?有哪些用户?分属哪些组?设置其权限。
(2)新建一个文件夹并设置其访问控制权限。
4、审核日志分析(1)查找审核日志,显示其详细信息:应用程序日志、安全性日志、系统日志。
(2)分析各种日志所描述的内容,分析警告、信息、错误等的意义。
信息为普通系统信息,警告为昝可不处理的信息,错误为必须处理的小问题。
5、使用Microsoft 基准安全分析器MBSA 2.0对系统进行安全评估Microsoft 基准安全分析器(MBSA) 可以检查操作系统,还可以扫描计算机上的不安全配置。
检查Windows 服务包和修补程序时,它将Windows 组件(如Internet 信息服务(IIS) 和COM+)也包括在内。
MBSA 使用一个XML 文件作为现有更新的清单。
该XML 文件包含在存档Mssecure.cab 中,由MBSA 在运行扫描时下载,也可以下载到本地计算机上,或通过网络服务器使用。
扫描结果生成一份报告,截图如下:官方下载地址:(1)MBSA 可在下列网址下载:/technet/security/tools/Tools/mbsaqa.asp (2)MBSA 的技术白皮书可在下列网址下载:/technet/security/tools/tools/mbsawp.asp《操作系统安全》实验二……Linux系统安全设置实验一、实验目的1、了解Linux操作系统的安全性2、熟悉Linux操作系统的安全设置3、建立Linux操作系统的基本安全框架二、实验要求1、根据实验中的安全设置要求,详细观察并记录设置前后系统的变化,给出分析报告。
2、使用RPM对系统的软件进行管理,验证系统内软件的完整性,并分析结果。
3、比较Windows系统的安全设置和Linux系统安全设置的异同。
三、实验内容1、账户和口令安全(1)查看和添加账户在终端下输入命令:useradd ***,建立一个新账户;cat /etc/shadaw, 查看系统中的账户列表;(2)添加和更改密码:passwd命令(3)查看Linux系统中是否有用于检测密码安全的黑客技术语字典及密码检测模块:locate pam_cracklib.so dict|grep crack2、账户安全设置(1)强制用户首次登陆时修改口令,强制每90天更改一次口令,并提前10天提示:change命令(2)账户的禁用与恢复:passwd命令,锁定除root之外的不必要的超级用户(3)建立用户组,设置用户:groupadd命令、groupmod命令、gpasswd命令(4)设置密码规则:/etc/login.defs文件编辑修改,设置用户的密码最长使用天数、最小密码长度等查看并能编辑该文件,vi:在vi编辑器中,常用的输入方式有:i插入命令,x删除命令,s替换命令,exit 退出编辑,wq保存退出:设置用户密码最长使用天数:(5)为账户和组相关系统文件加上不可更改属性,防止非授权用户获取权限:chattr命令、(6)删除用户和用户组:userdel命令、groupdel命令(7)限制su命令提权:/etc/pam.d/su文件,在头部添加命令:auth required /lib/security/pam_wheel.so group=wheel这样,只有wheel组的用户可以su到root用户AWK…、!!(8)将用户加入到某个组:usermod命令(9)确认shadow中的空口令帐号:awk命令3、文件系统管理安全(1)查看某个文件的权限:ls –l(2)设置文件属主及属组等的权限:chmod命令(3)切换用户,检查用户对文件的权限:su命令(4)修改文件的属主和属组:chown命令(5)文件的打包备份和压缩、和解压:tar命令、gzip命令、gunzip命令(6)设置应用于目录的SGID权限位:《操作系统安全》实验三……SELinux实验一、实验目的1、了解Linux操作系统的安全性2、熟悉SELinux安全模块的配置和使用3、熟悉SELinux框架的基本内容二、实验要求1、根据实验中的安全设置要求,详细观察并记录设置前后系统的变化,给出分析报告。
2、熟悉Flask安全体系框架和SELinux安全体系结构的组成。
3、比较Flask安全体系框架和权能体系结构。
三、实验内容1、安装与启动SELinux安全模块之前实验环境均为Ubuntu14.04,但由于在这个系统下安装SELinux困难,很多源都已经找不到了。
所以以下SELinux的实验均在Red Hat Enterprise Linux AS 4.0上完成,这个系统已经默认安装并启动了SELinux。
2、查看当前SELinux目前的设置,理解设置影响哪方面的安全?查看selinux加载的内核模块:semodule –lSELinux当前运行状态:getenforce设置运行状态:sudo setenforce [Enforcing | Permissive | 1 | 0]SELinux一共有三种运行状态,disabled关闭停用SELinux,启用状态下有两种状态:查看拒绝信息:getsebool [-a]、getsebool allow_execheap查看允许的服务:/var/log/messages、/usr/bin/audit2allow查看用户安全上下文:这里相关内容在后面将详述:可以查看selinux错误日志:sealert -a /var/log/audit/audit.log3、修改SELinux设置,理解设置影响哪方面的安全?修改安全上下文:chcon –RChcon –R + 对象:递归的修改对象的安全上下文。
修改策略:setsebool –P-P是永久性设置,否则重启之后又恢复预设值。
其他修改设置方面,如http、ftp、nfs等。
4、查看源代码。
SELinux相关问题1、SELinux安全上下文问题具体描述:SELinux中对文件进行了安全上下文设置,请找到一个相关的文件上下文设置,解释其中每个字段的意思。
1、SELinux的安全上下文安全上下文是一个简单的、一致的访问控制属性,在SELinux中,类型标识符是安全上下文的主要组成部分,由于历史原因,一个进程的类型通常被称为一个域(domain),"域"和"域类型"意思都一样,即都是安全上下文中的“TYPE”。
SELinux对系统中的许多命令做了修改,通过添加一个-Z选项显示客体和主体的安全上下文。
1) 系统根据PAM子系统中的pam_selinux.so模块设定登录者运行程序的安全上下文;2) 文件的Security Contex规则如下:• rpm包安装的:会根据rpm包内记录来生成安全上下文;•手动创建的文件:会根据policy中规定的来设置安全上下文;• cp:会重新生成安全上下文;• mv:安全上下文则不变。
3) id -Z显示了你的shell的安全上下文;4) ps -Z检查进程的安全上下文;5) ls -Z检查文件、目录的安全上下文;2、操作截图如下3、安全上下文格式解释所有操作系统访问控制都是以关联的客体和主体的某种类型的访问控制属性为基础的。
在SELinux中,访问控制属性叫做安全上下文。
所有客体(文件、进程间通讯通道、套接字、网络主机等)和主体(进程)都有与其关联的安全上下文,一个安全上下文由三部分组成:用户、角色和类型标识符。
常常用下面的格式指定或显示安全上下文:USER: ROLE: TYPE[LEVEL[:CATEGORY]]①USER1) user identity:类似Linux系统中的UID,提供身份识别,用来记录身份;安全上下文的一部分;2) 三种常见的user:• user_u :普通用户登录系统后的预设;• system_u :开机过程中系统进程的预设;• root :root 登录后的预设;3) 在targeted policy 中users 不是很重要;4) 在strict policy 中比较重要,所有预设的SELinux Users 都是以“_u” 结尾的,root除外。
②ROLE1) 文件、目录和设备的role:通常是object_r;2) 程序的role:通常是system_r;3) 用户的role:targeted policy为system_r;strict policy为sysadm_r、staff_r、user_r;用户的role,类似系统中的GID,不同角色具备不同的的权限;用户可以具备多个role;但是同一时间内只能使用一个role;4) 使用基于RBAC(Roles Based Access Control) 的strict和mls策略中,用来存储角色信息③TYPE1) type:用来将主体(subject)和客体(object)划分为不同的组,给每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境;2) 当一个类型与执行中的进程相关联时,其type也称为domain;3) type是SElinux security context 中最重要的部位,是SELinux Type Enforcement 的心脏,预设值以_t结尾;④对比SELinux和标准Linux的访问控制属性在标准Linux中,主体的访问控制属性是与进程通过在内核中的进程结构关联的真实有效的用户和组ID,这些属性通过内核利用大量工具进行保护,包括登陆进程和setuid程序,对于客体(如文件),文件的inode包括一套访问模式位、文件用户和组ID。