《安全编程技术》实验二 Windows系统中的访问控制

一、实验目的与要求:

(一)实验目的

该实验为验证性实验,实验目的如下:

  1. 掌握访问控制列表的基本原理。
  2. 学会通过编程实现更改Windows操作系统中文件或目录的访问控制列表。

(二)实验要求

  • 本实验一人一组,编程语言为C#。
  • 要求学生掌握ACL的基本原理,并熟练掌握所选的编程语言。
  • 要求学生在Windows操作系统下,设计一个访问控制列表的实例。
  • 实验报告要求:
    • 实验报告要求包括实验目的、实验要求、实验内容、实验结果分析和实验体会等,重点在于实验内容和实验结果分析。实验报告要求上传和打印。
    • 写出实验过程中的心得和体会,并回答实验中的思考题。
    • 实验报告撰写规范请见附。

 

二、实验内容、步骤及结论

(一)实验内容

  • 理解ACL的基本原理。
  • 编程实现更改一个已存在的文件或目录的访问控制列表,具体如下:
  • 首先,利用File:GetAccessControl()从已存在的文件或目录中取得FileSecurity或DirectorySecurity对象。
  • 接着利用FileSystemAccessFule设置新的访问控制规则,并添加新规则至前面获取的FileSecurity或DirectorySecurity对象中。
  • 最后调用File:SetAccessControl()使添加的新规则生效。

(二)代码

using System;
using System.Collections;
using System.IO;
using System.Security.AccessControl;
static class Program
{
    public static void Main()
    {
       //获取文件信息
            string filePath = @"C:\Users\10645\Desktop\exam2\20201212ycy.txt";
            FileInfo fileInfo = new FileInfo(filePath);
            //获得该文件的访问权限
            System.Security.AccessControl.FileSecurity fileSecurity = fileInfo.GetAccessControl();
            //添加ereryone用户组的访问权限规则 完全控制权限
            fileSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
            //添加Users用户组的访问权限规则 完全控制权限
            fileSecurity.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow));
            //设置访问权限
            fileInfo.SetAccessControl(fileSecurity);
        }
}

(三)实验过程

1.创建目标文件,修改txt权限

路径为:C:\Users\021013\Desktop\exam2\20201212ycy.txt

2.VScode配置C#环境:https://blog.csdn.net/icemanu/article/details/115434847

(1)下载vscode,安装以下插件

(2)下载.NetCore SDK(https://dotnet.microsoft.com/zh-cn/download

安装完之后按win+R输入cmd打开命令行,输入dotnet -h就表示安装成功。

(3)安装完成之后,在VScode里面打开文件夹,然后点击上面一行的终端,打开新终端,输入dotnet new console 这一句命令。

此时可以看到左边原本空的文件夹现在有新文件了。(注意一定要等到那个bin文件夹的生成)

然后按F5,选择.NET Core。选择之后,左边会出现.vscode文件夹。(要等vscode自动提示一个消息,然后你选择yes)

选择来F5调试运行,可以看到新建的控制台应用程序会自带HelloWorld程序,如果你运行后成功输出下面的结果,那就大功告成了。

3.将代码写入 Program.cs,运行

可以看到,txt文件安全中多出了Everyone这个用户

 

三、实验体会

  访问控制都有哪些实现方式,各自有什么优缺点?

  访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。访问控制涉及的技术也比较广,包括入网访问控制网络权限控制目录级控制以及属性控制等多种手段。
  1.入网访问控制
   入网访问控制为网络访问提供了第一层访问控制。它控制哪些用户能够登录到服务器并获取网络资源,控制准许用户入网的时间和准许他们在哪台工作站入网。 用户的入网访问控制可分为三个步骤:用户名的识别与验证、用户口令的识别与验证、用户账号的缺省限制检查。三道关卡中只要任何一关未过,该用户便不能进入该网络。 对网络用户的用户名和口令进行验证是防止非法访问的第一道防线。为保证口令的安全性,用户口令不能显示在显示屏上,口令长度应不少于6个字符,口令字符最好是数字、字母和其他字符的混合,用户口令必须经过加密。用户还可采用一次性用户口令,也可用便携式验证器(如智能卡)来验证用户的身份。 网络管理员可以控制和限制普通用户的账号使用、访问网络的时间和方式。用户账号应只有系统管理员才能建立。用户口令应是每用户访问网络所必须提交的“证件”、用户可以修改自己的口令,但系统管理员应该可以控制口令的以下几个方面的限制:最小口令长度、强制修改口令的时间间隔、口令的唯一性、口令过期失效后允许入网的宽限次数。 用户名和口令验证有效之后,再进一步履行用户账号的缺省限制检查。网络应能控制用户登录入网的站点、限制用户入网的时间、限制用户入网的工作站数量。当用户对交费网络的访问“资费”用尽时,网络还应能对用户的账号加以限制,用户此时应无法进入网络访问网络资源。网络应对所有用户的访问进行审计。如果多次输入口令不正确,则认为是非法用户的入侵,应给出报警信息。

  2.权限控制
   网络的权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源。可以指定用户对这些文件、目录、设备能够执行哪些操作。受托者指派和继承权限屏蔽(irm)可作为两种实现方式。受托者指派控制用户和用户组如何使用网络服务器的目录、文件和设备。继承权限屏蔽相当于一个过滤器,可以限制子目录从父目录那里继承哪些权限。我们可以根据访问权限将用户分为以下几类:特殊用户(即系统管理员);一般用户,系统管理员根据他们的实际需要为他们分配操作权限;审计用户,负责网络的安全控制与资源使用情况的审计。用户对网络资源的访问权限可以用访问控制表来描述。

  3.目录级安全控制
网络应允许控制用户对目录、文件、设备的访问。用户在目录一级指定的权限对所有文件和子目录有效,用户还可进一步指定对目录下的子目录和文件的权限。对目录和文件的访问权限一般有八种:系统管理员权限、读权限、写权限、创建权限、删除权限、修改权限、文件查找权限、访问控制权限。用户对文件或目标的有效权限取决于以下两个因素:用户的受托者指派、用户所在组的受托者指派、继承权限屏蔽取消的用户权限。一个网络管理员应当为用户指定适当的访问权限,这些访问权限控制着用户对服务器的访问。八种访问权限的有效组合可以让用户有效地完成工作,同时又能有效地控制用户对服务器资源的访问 ,从而加强了网络和服务器的安全性。

  4.属性安全控制
当用文件、目录和网络设备时,网络系统管理员应给文件、目录等指定访问属性。属性安全在权限安全的基础上提供更进一步的安全性。网络上的资源都应预先标出一组安全属性。用户对网络资源的访问权限对应一张访问控制表,用以表明用户对网络资源的访问能力。属性设置可以覆盖已经指定的任何受托者指派和有效权限。属性往往能控制以下几个方面的权限:向某个文件写数据、拷贝一个文件、删除目录或文件、查看目录和文件、执行文件、隐含文件、共享、系统属性等。

  5.服务器安全控制
网络允许在服务器控制台上执行一系列操作。用户使用控制台可以装载和卸载模块,可以安装和删除软件等操作。网络服务器的安全控制包括可以设置口令锁定服务器控制台,以防止非法用户修改、删除重要信息或破坏数据;可以设定服务器登录时间限制、非法访问者检测和关闭的时间间隔。

 

posted @ 2022-10-31 22:39  油菜园12号  阅读(403)  评论(0编辑  收藏  举报