访问控制
测评项:a) 应对登录的用户分配账户和权限;
测评项:b) 应重命名或删除默认账户,修改默认账户的默认口令;
云数据库不存在默认账户,安装在本地服务器上则注意root账户是否已修改口令。
测评项:c) 应及时删除或停用多余的、过期的账户,避免共享账户的存在;
多余/共享账户依据客户实际业务判定,但账户数小于3则强制判定共享账户。
测评点:默认账户,(多余/共享)账户,过期账户
多余/共享账户依据客户实际业务判定,但账户数小于3则强制判定共享账户。
核查命令:通过访谈确定账户是否闲置;闲置账户处于锁定状态可视为不存在过期账户。
select Host,Account_locked,User,Insert_priv,Delete_priv,Alter_priv,Drop_priv,Grant_priv,Super_priv from mysql.user;
核查效果:
测评项:d) 应授予管理用户所需的最小权限,实现管理用户的权限分离。
测评点:特权账户、超级管理账户
MySQL账户除日常使用的增删查改权限较为敏感外,针对等保场景须注意Grant_priv和Super_priv。前者可以扩展用户/数据库/数据库表的权限,后者可以管理所有的用户/数据库/数据库表。
核查命令:
select Host,Db,User,Insert_priv,Delete_priv,Alter_priv,Drop_priv,Grant_priv from mysql.db;
测评项:e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
现场核查优先核查当前用户名所关联的权限,后续查看mysql.role_edges表和infomation_schema.user_privileges表所包含的具体内容。当role_edges表值为空时,缺省值为root。
核查命令:
-- show grants for '用户名'@'数据库';
SELECT * FROM `role_edges`;
SELECT * FROM `USER_PRIVILEGES`;
核查效果:
测评项:f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
数据库与用户间是一对多的关系,因此默认符合。
测评项:g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
MySQL不支持等保场景的安全标记功能,须依赖第三方实现,因此默认不符合。



