阿里云根据国家信息安全部发布的《GB/T22239-2019信息安全技术网络安全等级保护基本要求》中对操作系统提出的一些等级保护要求,推出自研云原生操作系统Alibaba Cloud Linux等保2.0三级版镜像。
使用本镜像无需额外配置即可满足以下等保合规要求:
- 身份鉴别
- 访问控制
- 安全审计
- 入侵防范
- 恶意代码防范
Alibaba Cloud Linux等保2.0三级版镜像使用说明
https://help.aliyun.com/document_detail/186245.html?spm=a2c4g.11186623.2.21.2c5a6126DEG0CK
由于目前无直接可以本地使用的qcow2文件 https://mirrors.aliyun.com/alinux/image/?spm=a2c4g.11186623.2.12.7b06b4020W8uqi
下面图片中版本为标准镜像
可以通过创建ECS实例,选择Alibaba Cloud Linux等保2.0三级版公有镜像,然后创建自定义镜像,导出镜像文件的方式,实现本地创建KVM虚拟机本地镜像,具体步骤如下
1、创建ECS实例,导出镜像文件
然后去OSS存储中下载导出的镜像文件(会产生一定的流量费用)
2、本地搭建kvm虚拟化环境
yum -y install qemu-kvm qemu-img kvm qemu-kvm-tools libvirt bridge-utils virt-* systemctl enable libvirtd systemctl start libvirtd
3、创建kvm虚拟机
virt-install --virt-type kvm --name AliyunLinux2 --ram 4096 --vcpus=4 --import --disk path=/data/aliyunlinux2_m-uf6e1tm7u3dijskjf9os_system.raw,format=raw,bus=virtio --network network=default,model=virtio --graphics vnc,listen=0.0.0.0,port=7799 --os-type=linux
4、ssh方式登录kvm虚拟机后台
登录会提示
ssh root@192.168.122.19 root@192.168.122.19's password: Last login: Mon Nov 23 09:41:33 2020 from 192.168.122.1 欢迎使用 Alibaba Cloud Linux 2 等保合规镜像 1.概述 Alibaba Cloud Linux 2 等保合规镜像是基于 Alibaba Cloud Linux 2 官方镜像,根据《GB/T22239-2019信息安全技术网络安全等级保护基本要求》进行等保加固的镜像,用户使用本镜像无需额外配置即可满足大部分等保合规要求: (1)身份鉴别 (2)访问控制 (3)安全审计 (4)入侵防范 (5)恶意代码防范 2.使用指南 按照《GB/T22239-2019信息安全技术网络安全等级保护基本要求》,部分配置需要用户手动执行命令进行配置。用户可以通过 root 账户登录系统后,执行/root/cybersecurity.sh 脚本来实现这类加固。
/root/cybersecurity.sh 脚本内容如下
# 1.1 In addition to the system management users, we should assign ordinary users, auditors and security personnel accounts. users=("普通" "审计员" "安全员") userList="root" checkPasswd() { strLen=`echo $1 | grep -E --color '^(.{10,}).*$'` strSmallLetter=`echo $1 | grep -E --color '^(.*[a-z]+).*$'` strCapitalLetter=`echo $1 | grep -E --color '^(.*[A-Z]).*$'` strSpecialCharacter=`echo $1 | grep -E --color '^(.*\W).*$'` strUnderline=`echo $1 | grep -E --color '^(.*[_]).*$'` strNumber=`echo $1 | grep -E --color '^(.*[0-9]).*$'` classNum=0 if [ -n "${strLen}" ]; then if [ -n "${strSmallLetter}" ]; then let "classNum += 1" fi if [ -n "${strCapitalLetter}" ]; then let "classNum += 1" fi if [ -n "${strSpecialCharacter}" ] || [ -n "${strUnderline}" ]; then let "classNum += 1" fi if [ -n "${strNumber}" ]; then let "classNum += 1" fi if [ "${classNum}" -ge 3 ]; then echo 1 else echo 0 fi else echo 0 fi } echo "根据《信息安全技术网络安全等级保护基本要求(GB/T 22239-2019)》加固建议: 用户需要至少创建普通用户、审计员和安全员账户三个用户" for((i = 0; i < 3; i++)) do read -p "请输入要创建的${users[i]}用户:" name useradd ${name} until [[ $? -eq 0 ]] do echo "无效的${users[i]}用户名, 无法执行useradd命令" read -p "请重新输入要创建的${users[i]}用户: " name useradd ${name} done status=0 echo -e "请输入${users[i]}用户的密码:\n 根据《信息安全技术网络安全等级保护基本要求(GB/T 22239-2019)》加固建议:\n\t1.密码长度不小于10位,\n\t2.至少包含三类字符(大写、小写字母、特殊符号、数字至少包含三种)" until [ ${status} -eq 1 ] do read -s passwd status=`checkPasswd ${passwd}` if [ ${status} -eq 0 ]; then echo "您的密码复杂度太低,请重新输入:" else echo "请再次确认您的密码:" read -s re_passwd if [ "${passwd}" != "${re_passwd}" ]; then echo "您两次输入的密码不一致,请您重新输入:" status=0 fi fi done echo "${name}:${passwd}" | chpasswd userList=${userList},${name} done # 1.2 Ensure that the home directory permissions of each user are set to 750 or more strictly. chmod 750 /home/* # 2. Set PASS_MAX_DAYS and PASS_MIN_DAYS for the root account. chage --maxdays 90 root chage --mindays 7 root # 3. Lock or delete shutdown or halt accounts. usermod -L shutdown usermod -L halt # 4. Start auditd. service auditd start # 5. Ensure that access to the su command is restricted. echo "根据《信息安全技术网络安全等级保护基本要求(GB/T 22239-2019)》加固建议: 该普通用户、审计员和安全员获得执行su命令的权限" wheelStr="wheel:x:10" wheelRowNum=($(cat /etc/group | awk -F ':' '{if($1 == "wheel")print NR}')) if [ -n "$wheelRowNum" ]; then sed -i "${wheelRowNum} c ${wheelStr}:${userList}" /etc/group fi # 6. Prohibit direct remote login using root account. echo "根据《信息安全技术网络安全等级保护基本要求(GB/T 22239-2019)》加固建议: 禁止root用户直接登陆,请使用已创建的普通用户、审计员或者安全员账号登陆" permitRootLoginRowNum=($(cat /etc/ssh/sshd_config | awk '{if($1 == "PermitRootLogin")print NR}')) targetString="PermitRootLogin no" sed -i "${permitRootLoginRowNum} c ${targetString}" /etc/ssh/sshd_config systemctl restart sshd echo "镜像加固完毕,欢迎使用 Alibaba Cloud Linux 2"
在原本已经加固镜像执行加固/root/cybersecurity.sh脚本以便满足等保三级的三权分立要求
5、其实Alibaba Cloud Linux 2已经做了一定的安全加固
例如查看如下文件,对比CentOS7默认配置,可以看出做了加固
1、cat /etc/login.defs
2、cat /etc/ssh/sshd_config
3、cat /etc/pam.d/password-auth
4、cat /etc/sysctl.conf
5、cat /etc/profile
6、cat /etc/security/limits.conf