中南大学操作系统安全实验报告Word下载.docx
《中南大学操作系统安全实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《中南大学操作系统安全实验报告Word下载.docx(35页珍藏版)》请在冰豆网上搜索。
包括密码策略(最小密码长度、密码最长存留期、密码最短存留期、强制密码历史等)和账户锁定策略(锁定阈值、锁定时间、锁定计数等)
(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操作系统的基本安全框架
二、实验要求
2、使用RPM对系统的软件进行管理,验证系统内软件的完整性,并分析结果。
三、实验内容
1、账户和口令安全
(1)查看和添加账户
在终端下输入命令:
useradd***,建立一个新账户;
cat/etc/shadaw,查看系统中的账户列表;
(2)添加和更改密码:
passwd命令
(3)查看Linux系统中是否有用于检测密码安全的黑客技术语字典及密码检测模块:
locatepam_cracklib.sodict|grepcrack
2.账户安全设置
(1)强制用户首次登陆时修改口令,强制每90天更改一次口令,并提前10天提示:
chage命令
(2)账户的禁用与恢复:
passwd命令,锁定除root之外的不必要的超级用户
(3)建立用户组,设置用户:
groupadd命令、groupmod命令、gpasswd命令
(4)设置密码规则:
/etc/login.defs文件编辑修改,设置用户的密码最长使用天数、最小密码长度等要将etc改成gedit
(5)为账户和组相关系统文件加上不可更改属性,防止非授权用户获取权限:
chattr命令、
(6)删除用户和用户组:
userdel命令、groupdel命令
(7)限制su命令提权:
gedit/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命令
(3)切换用户,检查用户对文件的权限:
su命令
(4)修改文件的属主和属组:
chown命令
(5)文件的打包备份和压缩、和解压:
tar命令、gzip命令、gunzip命令
(6)设置应用于目录的SGID权限位:
4、日志文件查看:
11个日志文件
以下查看其中三项
5、网络安全性的相关配置:
/etc/inetd.conf、/etc/services
《操作系统安全》实验三
……SELinux实验
2、熟悉SELinux安全模块的配置和使用
3、熟悉SELinux框架的基本内容
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
可以查看selinux错误日志:
sealert-a/var/log/audit/audit.log
3、修改SELinux设置,理解设置影响哪方面的安全?
修改安全上下文:
chcon-R
修改策略:
setsebool-P
其他修改设置方面,如http、ftp、nfs等
4、查看源代码。
补充题(8号)
1、.te文件描述的是什么?
.te文件是SELinux下的安全策略配置文件,描述的是TypeEnforcement定义,包括TE访问规则在内的各种运行规则。
TE规则表达了所有由内核暴露出的允许对资源的访问权,每个进程对每个资源的访问尝试都必须至少要有一条允许的TE访问规则。
SELinux的一个重要概念是TE规则是将权限与程序的访问结合在一起,而不是结合用户。
所以说,.te文件的存在是MAC的基础,即任何进程想在SELinux系统中干任何事情,都必须先在安全策略配置文件(.te文件)中赋予权限。
凡是没有出现在安全策略配置文件中的权限,进程就没有该权限。
TypeEnforcement,简称TE。
在external/sepolicy目录中,所有以.te为后缀的文件经过编译之后,就会生成一个sepolicy文件。
这个sepolicy文件会打包在ROM中,并且保存在设备上的根目录下,即它在设备上的路径为/sepolicy。
SELinux策略大部分内容都是由多条类型强制规则构成的,这些规则控制被允许的使用权,大多数默认转换标志,审核,以及固定部分的检查。
SELinux策略大部分都是一套声明和规则一起定义的类型强制(TE:
TypeEnforcement)策略,一个定义良好、严格的TE策略可能包括上千个TE规则,TE规则数量的巨大并不令人惊奇,因为它们表达了所有由内核暴露出的允许对资源的访问权,这就意味着每个进程对每个资源的访问尝试都必须至少要有一条允许的TE访问规则,如果我们仔细思考一下现代Linux操作系统中进程和资源的数量,就明白为什么在策略中有那么多的TE规则了。
当我们添加由TE规则控制的审核配置和标志时,对于具有严格限制的SELinux策略,常常会见到它包含有上千条规则。
TE规则的绝对数量对理解SELinux策略是一个大的挑战,但是规则本身并不复杂,它们的分类相对较少,所有的规则基本上都属于两类范畴:
•访问向量(AV)规则
•类型规则
2、请谈谈你对SELinux架构及Flask体系结构的认识
对flask体系结构的认识。
Flask有两个用于安全性标签的与策略无关的数据类型--
安全性上下文和
安全性标识
。
安全性上下文是表示安全性标签的变长字符串。
安全性标识(SID)是由安全性服务器映射到安全性上下文的一个整数。
SID作为实际上下文的简单句柄服务于系统。
它只能由安全性服务器解释。
Flask通过称为对象管理器的构造来执行实际的系统绑定。
它们不透明地处理SID和安全性上下文,不涉及安全性上下文的属性。
任何格式上的更改都不应该需要对对象管理器进行更改
安全性服务器只为包含用户、角色、类型和可选MLS范围合法组合的安全性上下文提供SID。
“合法性”是由安全性策略配置(将在本文的稍后部分介绍)所确定的。
一般来说,对象管理器查询安全性服务器以根据标签对(主体的和客体的)和对象的类获得访问决定。
类是标识对象是哪一种类(例如,常规文件、目录、进程、UNIX域套接字,还是TCP套接字)的整数。
向量中的许可权通常由对象可以支持的服务和实施的安全性策略来定义。
访问向量许可权基于类加以解释,因为不同种类的对象有不同的服务。
例如,访问向量中使用的许可权位表示文件的'
unlink'
许可权,它也用于表示套接字的'
connect'
许可权。
向量可以高速缓存在访问向量高速缓存(AVC)中,也可以和对象一起存储,这样,对象管理器就不必被那些已执行的决策的请求淹没。
对象管理器还必须为将标签分配给它们的对象定义一种机制。
在服务流中指定管理器如何使用安全性决定的控制策略还必须由管理器定义和实现。
在策略更改的情况下,对象管理器必须定义将调用的处理例程。
在任何情况下,对象管理器都必须将对象的安全性上下文作为不透明的字符串处理。
通过这种方式,不应该有合并到对象管理器中的特定于策略的逻辑.
在安全性策略中进行运行时更改是有可能的。
如果发生这种情况,安全性服务器通过取消不再授权的SID并复位AVC来更新SID映射。
文件是对象类的特殊实例。
新文件继承其父目录中那些文件的相同类型。
有一个与文件相关的永久整数SID(PSID),该整数随后映射成分区表中的安全性标签。
这个表(将对象/PSID和PSID/安全性标签映射区分开)在安装文件系统时加载到内存中。
当新的安全性标签应用到文件时,它在内存(和磁盘上)进行更新。
如果它是远程安装的,即使已经由文件系统重新命名了,它也可以让基于inode的PSID/对象映射表跟踪文件。
关于SELinux架构的一些认识:
SELinux在内核中以一个LSM模块的形式实现,SELinux使用LSM钩子控制对内核资源的访问,访问决定由SELinux安全服务器(SS:
SecurityServer)产生,它是SELinuxLSM模块的一部分,安全策略由安全服务器通过一个具有特权的用户空间接口载入内核,AVC为访问确认提供性能增强。
SELinux框架也支持通过libselinux库对用户空间客体进行管理,内核安全服务器直接提供访问确认,而程序库包括每一个进程AVC,这个方法需要内核保留策略所有用户空间管理器以及所有用户空间客体类别。
1、
LSM框架
LSM框架的思想是允许安全模块以插件形式进入内核,以便更严格地控制Linux默认的基于身份的任意访问控制(DAC)安全性。
LSM在内核系统调用逻辑中提供了一套钩子(hooks),这些钩子通常放在标准Linux访问检查后、且内核调用访问真实资源之前,下图举例说明了LSM框架的基础。
SELinux作为一个LSM模块载入内核,在访问被允许之前进行额外的访问确认。
LSM框架的一个分支是只有当标准Linux访问(DAC)检查成功后SELinux才会生效。
2、
SELinuxLSM模块
SELinuxLSM模块架构如下图所示:
客体管理器负责对它们管理的资源集强制执行安全服务器的策略决定,对于内核,你可以认为客体管理器是一个内核子系统,它创建并管理内核级客体。
内核客体管理器的实例包括文件系统、进程管理和SystemV进程间通信(IPC)。
在LSM架构中,客体管理器是通过LSM钩子描绘的,这些钩子分散在内核子系统各个地方,调用SELinuxLSM模块做出访问决定。
然后,LSM钩子通过允许或拒绝对内核资源的访问强制执行这些决定。
SELinux架构的第三方组件是访问向量缓存(AVC),AVC缓存是安全服务器为后面的访问检查准备的,目的是为了提升访问确认的速度。
AVC还为LSM钩子和内核客体管理器提供了SELinux接口。