2021年中南大学操作系统安全实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统安全课程设计
学院: 信息科学与工程学院
专业班级:
指导老师:
学号:
姓名:
《操作系统安全》试验一
……Windows系统安全设置试验
一、试验目
1、了解Windows操作系统安全性
2、熟悉Windows操作系统安全设置
3、熟悉MBSA使用
二、试验要求
1、依据试验中安全设置要求, 具体观察并统计设置前后系统改变, 给出分
析汇报。

2、采取MBSA测试系统安全性, 并分析原因。

3、比较Windows系统安全设置和Linux系统安全设置异同。

三、试验内容
1、配置当地安全设置, 完成以下内容: (运行s ecpol.msc命令)
(1)账户策略: 包含密码策略(最小密码长度、密码最长存留期、密码最短存留期、强制密码历史等)和账户锁定策略(锁定阈值、锁定时间、锁定计数等)
(2)账户和口令安全设置: 检验和删除无须要账户(User用户、Duplicate User用户、测试用户、共享用户等)、禁用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/IPNETBIOS”, 打勾就关闭了139端口。

防范SYN攻击:
相关值项在HKLM\SYSTEM\CurrentControlSet\Service \Tcpip\Parameters下。

(1)DWORD: SynAttackProtect: 定义了是否许可SYN淹没攻击保护, 值1表示许可起用WindowsSYN淹没攻击保护。

(2)DWORD: TcpMaxConnectResponseRetransmissions: 定义了对于连接请求回应包重发次数。

值为1, 则SYN淹没攻击不会有效果, 不过这么会造成连接请求失败几率增高。

SYN淹没攻击保护只有在该值>=2时才会被启用, 默认值为3。

(上边两个值定义是否许可SYN淹没攻击保护, 下面三个则定义了激活SYN淹没攻击保
护条件, 满足其中之一, 则系统自动激活SYN淹没攻击保护。


降低syn-ack包响应时间:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxConnectResponseRetran smissions定义了重发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攻击
SynAttackProtect REG_DWORD 2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
预防ICMP重定向报文攻击:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ EnableICMPRedirects
REG_DWORD 0x0(默认值为0x1)
该参数控制Windows 是否会改变其路由表以响应网络设备(如路由器)发送给它ICMP重定向消息, 有时会被利用来干坏事。

Windows中默认值为1, 表示响应ICMP重定向报文。

严禁响应ICMP路由通告报文
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\PerformRouterDiscove ry REG_DWORD 0x0(默认值为0x2)
“ICMP路由公告”功效可造成她人计算机网络连接异常, 数据被窃听, 计算机被用于流量攻击等严重后果。

此问题曾造成校园网一些局域网大面积, 长时间网络异常。

提议关闭响应ICMP路由通告报文。

Windows中默认值为2, 表示当DHCP发送路由器发觉选项时启用。

不支持IGMP协议
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevel REG_DWORD
0x0(默认值为0x2)
Win9x下有个bug, 就是用能够用IGMP使他人蓝屏, 修改注册表能够修正这个bug。

Windows即使没这个bug了, 但IGMP并不是必需, 所以照样能够去掉。

改成0后用route print将看不到224.0.0.0项了。

严禁死网关监测技术
HKLM\SYSTEM\CurrentControlSet\Services:\Tcpip\ParametersEnableDeadGWDetectREG_DW ORD 0x0(默认值为ox1)
假如你设置了多个网关, 那么你机器在处理多个连接有困难时, 就会自动改用备份网关, 有时候这并不是一项好主意, 提议严禁死网关监测。

修改MAC地址
HKLM\SYSTEM\CurrentControlSet\Control\Class\
找到右窗口说明为“网卡“目录, 比如说是{4D36E972-E325-11CE-BFC1-08002BE10318}展开之, 在其下0000,0001,0002...分支中找到”DriverDesc“键值为你网卡说明, 比如说”DriverDesc“值为”Intel(R) 82559 Fast Ethernet LAN on Motherboard“然后在右窗口新建一字符串值, 名字为”Networkaddress“, 内容为你想要MAC值, 比如说是”“然后重起计算机, ipconfig /all查看。

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 可在下列网址下载:
(2)MBSA 技术白皮书可在下列网址下载:
《操作系统安全》试验二
……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 crack
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文件, 在头部添加命令: auth required /lib/security/pam_wheel.so group=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试验
一、试验目
1、了解Linux操作系统安全性
2、熟悉SELinux安全模块配置和使用
3、熟悉SELinux框架基础内容
二、试验要求
1、依据试验中安全设置要求, 具体观察并统计设置前后系统改变, 给出分析汇报。

2、熟悉Flask安全体系框架和SELinux安全体系结构组成。

3、比较Flask安全体系框架和权能体系结构。

三、试验内容
1、安装与开启SELinux安全模块
ubuntu 10环境下:
sudo apt-get install selinux
2、查看目前SELinux现在设置, 了解设置影响哪方面安全?
查看selinux加载内核模块: semodule -l
SELinux目前运行状态: getenforce
设置运行状态: sudo setenforce [Enforcing | Permissive | 1 | 0] 查看拒绝信息: getsebool [-a]、getsebool allow_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下安全策略配置文件, 描述是Type Enforcement定义, 包含TE访问规则在内多种运行规则。

TE规则表示了全部由内核暴露出许可对资源访问权, 每个进程对每个资源访问尝试都必需最少要有一条许可TE访问规则。

SELinux一个关键概念是TE 规则是将权限与程序访问结合在一起, 而不是结适用户。

所以说, .te文件存在是MAC基础, 即任何进程想在SELinux系统中干任何事情, 都必需先在安全策略配置文件(.te文件)中给予权限。

通常没有出现在安全策略配置文件中权限, 进程就没有该权限。

Type Enforcement, 简称TE。

在external/sepolicy目录中, 全部以.te为后缀文件经过编译以后, 就会生成一个sepolicy文件。

这个sepolicy文件会打包在ROM中, 而且保留在设备上根目录下, 即它在设备上路径为/sepolicy。

SELinux策略大部分内容都是由多条类型强制规则组成, 这些规则控制被许可使用权, 大多数默认转换标志, 审核, 以及固定部分检验。

SELinux策略大部分都是一套申明和规则一起定义类型强制(TE: Type Enforcement)策略, 一个定义良好、严格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: Security Server)产生, 它是SELinux LSM模块一部分, 安全策略由安全服务器经过一个含有特权用户空间接口载入内核, AVC为访问确定提供性
能增强。

SELinux框架也支持经过libselinux库对用户空间客体进行管理, 内核安全服务器直接提供访问确定, 而程序库包含每一个进程AVC, 这个方法需要内核保留策略全部用户空间管
理器以及全部用户空间客体类别。

1、LSM框架
LSM框架思想是许可安全模块以插件形式进入内核, 方便更严格地控制Linux默认基于身份任意访问控制(DAC)安全性。

LSM在内核系统调用逻辑中提供了一套钩子(hooks), 这些钩子通常放在标准Linux访问检验后、且内核调用访问真实资源之前, 下图举例说明了LSM框架基础。

SELinux作为一个LSM模块载入内核, 在访问被许可之前进行额外访问确定。

LSM框架一个分支是只有当标准Linux访问(DAC)检验成功后SELinux才会生效。

2、SELinuxLSM模块
SELinux LSM模块架构以下图所表示:
客体管理器负责对它们管理资源集强制实施安全服务器策略决定, 对于内核, 你能够认为客体管理器是一个内核子系统, 它创建并管理内核级客体。

内核客体管理器实例包含文件
系统、进程管理和System V进程间通信(IPC)。

在LSM架构中, 客体管理器是经过LSM 钩子描绘, 这些钩子分散在内核子系统各个地方, 调用SELinux LSM模块做出访问决定。

然后, LSM钩子经过许可或拒绝对内核资源访问强制实施这些决定。

SELinux架构第三方组件是访问向量缓存(AVC), AVC缓存是安全服务器为后面访问检验准备, 目是为了提升访问确定速度。

AVC还为LSM钩子和内核客体管理器提供了SELinux接口。

相关文档
最新文档