系统架构设计师-安全体系结构-访问控制服务

545 阅读3分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

image.png

安全体系结构

信息处理系统的安全体系结构(GB/T 9387.2—1995)中定义了五大类安全服务,分别是认证服务、访问控制服务、数据机密性服务、数据完整性服务和抗抵赖性服务。

访问控制服务

访问控制服务决定开放环境中允许使用哪些资源、在什么地方适合组织为授权访问的过程。在访问控制实例中,访问可以对一个系统或对系统内部进行.

常见的访问控制服务的实现方式

自主访问控制(DAC)

自主访问控制是一种接入控制服务,通过执行基于系统实体身份及其到系统资源的接入授权。包括在文件、文件夹和共享资源中设置许可。
用户有权对自身所创建的文件、数据表等访问对象进行访问,并可将其访问权授予其他用户或收回其访问权限。
允许访问对象制定针对该对象访问的控制策略,通常可通过访问控制列表来限定针对客体可执行的操作。
在系统中我们主要通过各种用户来进行自主访问控制,比如elasticsearch启动时就是要求不能使用root来启动软件。 出现如下错误:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

这个问题很明显,不允许使用root用户启动,那么我们新建一个esuser用户,并赋予权限: 添加es用户,添加es用户密码,将文件夹elasticsearch-5.4.2赋予esuser权限,切换为esuser用户

useradd esuser
passwd esuser
chown -R esuser:esuser /usr/local/tool/elasticsearch/elasticsearch-5.4.2
su esuser
./elasticsearch

再次启动es,就可以正常启动es了。为什么要这么麻烦,我们为什么不可以用root直接使用elasticsearch呢,这是因为root所拥有的权限太大,如果有漏洞出现,黑客往往可以通过漏洞进行攻击,而esuser这个用户的权限非常小,只能对当前文件夹进行操作,可以控制出现问题后影响的范围。

强制访问控制(MAC)

强制访问控制是系统强制主体服从访问控制策略,是由系统对用户所创建的对象,按照规定的规则控制用户权限及操作对象的访问。其主要特征是对所有主体及其所控制的进程、文件、段、设备等客体实施强制访问控制。
强制访问控制在系统中十分的常见,比如现在我们内网中一般都是进行系统隔离,只有在开放对应IP的访问权限之后我们才可以访问对应的机器上的程序端口,这也是为了防止我们内网的系统或网站中有一个薄弱点被攻破之后,使用被攻破的机器作为跳板对其他机器进行攻击。

基于角色访问控制(RBAC)

基于角色访问控制主要通过对角色的访问进行控制,使权限与角色相关联,用户通过成为适当角色的成员而得到其角色的权限。用户可依其责任和资格分派相应的角色,角色可依新需求和系统合并赋予新权限,而权限也可根据需要从某角色中收回。

现在各种系统基本都有角色访问控制,已经算是标配,主要的问题是不同系统中角色和用户打通的问题,这就带来了新的挑战,需要我们建立统一认证系统,使用OAuth或者CAS来进行多系统中角色和用户的管理。