操作系统安全实验报告.docx
《操作系统安全实验报告.docx》由会员分享,可在线阅读,更多相关《操作系统安全实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
操作系统安全实验报告
中南大学
操作系统实验报告
姓名:
杨国文
班级:
学号:
指导老师:
完成时间:
2015-11-2
问答题:
1../mls文件定义的是SELinux的分层安全结构,请解释其中的内容?
答:
./mls文件的内容是多级安全策略,它是linux系统安全中对约束的一种实现(约束是在TE规则许可范围之外对TE策略提供了更多的限制)。
2.请谈谈你对SElinux架构以及Flask体系架构的认识。
答:
LSM(Linux安全模型)反应了它的起源-安全微内核的探索,使用Linxu安全模型(LSM)框架将其自身集成到内核当中。
它是一种轻量级的访问控制框架,适用于多种访问控制模型在它上面以内核可加载模块的形式实现。
用户可以选择合适的安全模块加载到Linux内核上,也就是说允许安全模块已插件的形式进入内核,简单来理解我们可以认为SELinux是LSM的一个插件。
这种设计思想的好处就是模块化,在最少改变内核代码情况下,提供一个能够实现强制访问的模块。
因此LSM框架允许安全模块以插件形式载入内核,而SELinux就是作为一个安全模块载入Linux内核的。
SELinux权限检查的流程中,策略强制服务器会检查AVC(AccessVectorCache;访问向量缓存,客体和主体的权限常常被缓存在AVC当中),如果AVC中有策略决策则会立刻返回给策略强制服务器,如果没有会转向安全服务器,安全服务器会根据系统初始化装载到内核的二进制策略做出决策,再将决策放到AVC中缓存起来,同事将决策返回给策略强制服务器。
如果决策表示允许操作,则主体可以完成对客体的操作,反之被拒绝,被拒绝访问的信息会被记录到log文件。
Flask体系结构来源于DTOS系统原型,主要由两类子系统——客户端-对象管理器和安全服务器组成。
它支持吊销机制,提供线程状态的及时、完全的输出,确保所有内核的操作或是原子的、或是清楚地被划分为用户可视的原子阶段,并且安全服务器原型实现了绑定4个子策略的安全策略。
Flask体系结构有两个用于安全性标签的与策略无关的数据类型——安全上下文和安全标识。
安全性上下文是表示安全性标签的变长字符串。
安全性标识(SID)是由安全性服务器映射到安全性上下文的一个整数。
SID作为实际上下文的简单句柄服务于系统。
它只能由安全性服务器解释。
Flask通过称为对象管理器的构造来执行实际的系统绑定。
它们不透明地处理SID和安全性上下文,不涉及安全性上下文的属性。
任何格式上的更改都不应该需要对象管理器进行更改。
《操作系统安全》实验一
……Windows系统安全设置实验
1、实验目的
1、了解Windows操作系统的安全性
2、熟悉Windows操作系统的安全设置
3、熟悉MBSA的使用
2、实验要求
1、根据实验中的安全设置要求,详细观察并记录设置前后系统的变化,给出分析报告。
2、采用MBSA测试系统的安全性,并分析原因。
3、比较Windows系统的安全设置和Linux系统安全设置的异同。
3、实验内容
1、配置本地安全设置,完成以下内容:
(1)账户策略:
包括密码策略(最小密码长度、密码最长存留期、密码最短存留期、强制密码历史等)和账户锁定策略(锁定阈值、锁定时间、锁定计数等)
(2)账户和口令的安全设置:
检查和删除不必要的账户(User用户、DuplicateUser用户、测试用户、共享用户等)、禁用guest账户、禁止枚举帐号、创建两个管理员帐号、创建陷阱用户(用户名为Administrator、权限设置为最低)、不让系统显示上次登录的用户名。
(3)设置审核策略:
审核策略更改、审核账户登录事件、审核账户管理、审核登录事件、审核特权使用等
(4)设置IP安全策略
(5)其他设置:
公钥策略、软件限制策略等
2、Windows系统注册表的配置
(1)找到用户安全设置的键值、SAM设置的键值
(2)修改注册表:
禁止建立空连接、禁止管理共享、关闭139端口、防范SYN攻击、减少syn-ack包的响应时间、预防DoS攻击、防止ICMP重定向报文攻击、不支持IGMP协议、禁止死网关监控技术、修改MAC地址等操作。
建立建立空连接:
找到“Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous”的值改成“1”即可。
禁止管理共享:
找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters项
对于服务器,添加键值“AutoShareServer”,类型为“REG_DWORD”,值为“0”。
对于客户机,添加键值“AutoShareWks”,类型为“REG_DWORD”,值为“0”。
关闭139端口:
在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口
防范SYN攻击:
相关的值项在HKLM\SYSTEM\CurrentControlSet\Service\Tcpip\Parameters下
(1)DWORD:
SynAttackProtect:
定义了是否允许SYN淹没攻击保护,值1表示允许起用Windows的SYN淹没攻击保护。
(2)DWORD:
TcpMaxConnectResponseRetransmissions:
定义了对于连接请求回应包的重发次数。
值为1,则SYN淹没攻击不会有效果,但是这样会造成连接请求失败几率的增高。
SYN淹没攻击保护只有在该值>=2时才会被启用,默认值为3。
(上边两个值定义是否允许SYN淹没攻击保护,下面三个则定义了激活SYN淹没攻击保护的条件,满足其中之一,则系统自动激活SYN淹没攻击保护。
减少syn-ack包的响应时间:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxConnectResponseRetransmissions定义了重发SYN-ACK包的次数。
增大NETBT的连接块增加幅度和最大数器,NETBT使用139端口。
HKLM\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\BacklogIncrement
默认值为3,最大20,最小1。
HKLM\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\MaxConnBackLog默认值为1000,最大可取40000
预防DoS攻击:
在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以防御一定强度的DoS攻击
SynAttackProtectREG_DWORD2
EnablePMTUDiscoveryREG_DWORD0
NoNameReleaseOnDemandREG_DWORD1
EnableDeadGWDetectREG_DWORD0
KeepAliveTimeREG_DWORD300,000
PerformRouterDiscoveryREG_DWORD0
EnableICMPRedirectsREG_DWORD0
防止ICMP重定向报文的攻击:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableICMPRedirectsREG_DWORD0x0(默认值为0x1)。
该参数控制Windows是否会改变其路由表以响应网络设备(如路由器)发送给它的ICMP重定向消息,有时会被利用来干坏事。
Windows中默认值为1,表示响应ICMP重定向报文。
禁止响应ICMP路由通告报文
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\PerformRouterDiscoveryREG_DWORD0x0(默认值为0x2)“ICMP路由公告”功能可造成他人计算机的网络连接异常,数据被窃听,计算机被用于流量攻击等严重后果。
此问题曾导致校园网某些局域网大面积,长时间的网络异常。
建议关闭响应ICMP路由通告报文。
Windows中默认值为2,表示当DHCP发送路由器发现选项时启用。
不支持IGMP协议
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevelREG_DWORD0x0(默认值为0x2)Win9x下有个bug,就是用可以用IGMP使别人蓝屏,修改注册表可以修正这个bug。
Windows虽然没这个bug了,但IGMP并不是必要的,因此照样可以去掉。
改成0后用routeprint将看不到224.0.0.0项了。
禁止死网关监测技术
HKLM\SYSTEM\CurrentControlSet\Services:
\Tcpip\ParametersEnableDeadGWDetectREG_DWORD0x0(默认值为ox1)如果你设置了多个网关,那么你的机器在处理多个连接有困难时,就会自动改用备份网关,有时候这并不是一项好主意,建议禁止死网关监测。
修改MAC地址
HKLM\SYSTEM\CurrentControlSet\Control\Class\找到右窗口的说明为“网卡“的目录,比如说是{4D36E972-E325-11CE-BFC1-08002BE10318}展开之,在其下0000,0001,0002...的分支中找到”DriverDesc“的键值为你网卡的说明,比如说”DriverDesc“的值为”Intel(R)82559FastEthernetLANonMotherboard“然后在右窗口新建一字符串值,名字为”Networkaddress“,内容为你想要的MAC值,比如说是”004040404040“然后重起计算机,ipconfig/all查看。
3、文件及文件夹权限设置
(1)用户组及用户的权限:
有哪些组?
其权限是什么?
有哪些用户?
分属哪些组?
设置其权限。
(2)新建一个文件夹并设置其访问控制权限。
4、审核日志分析
(1)查找审核日志,显示其详细信息:
应用程序日志、安全性日志、系统日志。
(2)分析各种日志所描述的内容,分析警告、信息、错误等的意义。
信息为普通系统信息,警告为暂时可不处理的问题,错误为必须立即处理的问题。
5、使用Microsoft基准安全分析器MBSA2.0对系统进行安全评估
Microsoft基准安全分析器(MBSA)可以检查操作系统,还可以扫描计算机上的不安全配置。
检查Windows服务包和修补程序时,它将Windows组件(如Internet信息服务(IIS)和COM+)也包括在内。
MBSA使用一个XML文件作为现有更新的清单。
该XML文件包含在存档Mssecure.cab中,由MBSA在运行扫描时下载,也可以下载到本地计算机上,或通过网络服务器使用。
官方下载地址:
(1)MBSA可在下列网址下载:
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系统中是否有用于检测密码安全的黑客技术语字典及密码检测模块:
locatepam_cracklib.sodict|grepcrack
2、账户安全设置
(1)强制用户首次登陆时修改口令,强制每90天更改一次口令,并提前10天提示:
change命令
(2)账户的禁用与恢复:
passwd命令,锁定除root之外的不必要的超级用户
(3)建立用户组,设置用户:
groupadd命令、groupmod命令、gpasswd命令
(4)设置密码规则:
/etc/login.defs文件编辑修改,设置用户的密码最长使用天数、最小密码长度等
(5)为账户和组相关系统文件加上不可更改属性,防止非授权用户获取权限:
chattr命令、
(6)删除用户和用户组:
userdel命令、groupdel命令
(7)限制su命令提权:
/etc/pam.d/su文件,在头部添加命令:
authrequired/lib/security/pam_wheel.sogroup=wheel
这样,只有wheel组的用户可以su到root用户
(8)将用户加入到某个组:
usermod命令
(9)确认shadow中的空口令帐号:
awk命令
3、文件系统管理安全
(1)查看某个文件的权限:
ls–l
(2)设置文件属主及属组等的权限:
chmod命令
给123文件属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(4)的权限,给其他用户分配执行
(2)的权限
(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安全模块
ubuntu10环境下:
sudoapt-getinstallselinux
2、查看当前SELinux目前的设置,理解设置影响哪方面的安全?
查看selinux加载的内核模块:
semodule–l
SELinux当前运行状态:
getenforce
设置运行状态:
sudosetenforce[Enforcing|Permissive|1|0]
查看拒绝信息:
getsebool[-a]、getseboolallow_execheap
查看允许的服务:
/var/log/messages、/usr/bin/audit2allow
查看用户安全上下文:
id