基于Flexus X实例云服务器的实际场景-等保三级服务器设置

摘要:今天是9月5日。就在前两天,8月28日,华为云官方针对云服务器推出了一个优惠 力度很大的活动,Flexus X实例的促销也非常给力。所以就迫不及待的拿到了一台。


@TOC

写在前面

今天是9月5日。就在前两天,8月28日,华为云官方针对云服务器推出了一个优惠 力度很大的活动,Flexus X实例的促销也非常给力。所以就迫不及待的拿到了一台。

在拿到服务器后,简单的与隔壁云长的U1机型对比评测了下,从各个维度的表现来看,华为云Flexus X实例的云服务器更胜一筹,详情大家可以看这里:点我查看

如果想具体了解828活动的,可以点击这里查看

今天,我们就来拿手里的这台服务器,设置一下等保三级需要设置的内容。这款服务器部署个boot项目,错错有余!!

3️⃣mysql创建安全管理员、审计管理员

✅解决方法

增加安全管理员

需要使用root账户登录到mysql中,我这边使用工具登录。


mysql -u root -p

创建安全管理员账户使用CREATE USER语句创建一个新的MySQL账户

CREATE USER 'security_admin'@'%' IDENTIFIED BY 'password';

这里security_admin是新账户的用户名,%表示该用户可以远程连接,'password'是用户密码。

执行完显示如下:

分配权限

安全管理员通常需要具有管理用户的权限。使用GRANT语句分配这些权限。

GRANT ALL PRIVILEGES ON *.* TO 'security_admin'@'localhost' WITH GRANT OPTION;

ALL PRIVILEGES表示所有权限,*.*表示所有数据库和表,WITH GRANT OPTION允许该用户授权其他用户。

刷新权限

刷新权限应用新权限,需要执行FLUSH PRIVILEGES命令

FLUSH PRIVILEGES;

增加审计管理员账户

和创建安全管理员的方式一样。

CREATE USER 'audit_admin'@'localhost' IDENTIFIED BY 'password';

分配权限

分配审计相关的权限审计管理员通常需要能够查看审计日志和监控数据库活动的权限。MySQL原生并不提供审计功能,可能需要使用第三方审计插件或工具。假设你的环境中已经配置了审计功能,你可以授予管理员查看审计日志的权限。

-- 假设审计日志保存在特定的数据库和表中
GRANT SELECT ON sggg.sys_log TO 'audit_admin'@'%';
GRANT SELECT ON sggg.sys_data_log TO 'audit_admin'@'%';

我这边是给sys_log表和sys_data_log表赋权,如果有多个表,则需要多来几条sql语句。

刷新权限

FLUSH PRIVILEGES;

最后,重新查看一下用户,就可以看到了。

3️⃣ 设置linux的密码策略

❌问题描述

判断密码复杂度:more /etc/login.defs

✅解决方法

执行

vi /etc/login.defs

然后直接修改:

PASS_MAX_DAYS 90PASS_MIN_LEN 8

保存即可。

3️⃣linux登录失败问题

❌问题描述

登录失败处理功能:more /etc/pam.d/system-auth

建议:1、需要在system-auth文件中配置密码复杂度策略:

2、配置登录失败处理策略如下:

✅解决方法

在system-auth文件中配置密码复杂度策略:

执行命令:

vi /etc/pam.d/system-auth

添加密码复杂度设置:找到与密码相关的配置行,可能是这样的:

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

然后,你可以添加pam_pwquality.so模块来设置密码复杂度。例如,要设置密码最小长度为8,你可以添加以下行:

password requisite pam_pwquality.so retry=3 minlen=8 difok=3

参数解释:

retry=3:用户在密码输入错误后可以重试的次数。minlen=8:密码的最小长度为8个字符。difok=3:新密码与旧密码至少有3个字符不同。重启下ssh服务

sudo systemctl restart sshd

配置登录失败处理策略

还是在/etc/pam.d/system-auth中增加如下配置:

auth required pam_tally2.so deny=5 unlock_time=180

解释:

pam_tally2.so是一个账户访问控制和技术模块deny=5 弄啊配送奇偶大明湖皮5次登录失败时,账户被锁定unlock_time=180 表示账户被锁定后,需要等待180秒才能再次登录

3️⃣linux设置超时退出

❌问题描述

超时退出功能:more /etc/profile无TMOUT结果

建议:配置连接超时退出策略,在配置文件/etc/profile中,配置TMOUT参数(看自身需求),防止未授权人员进行误操作行为。

✅解决方法

执行下面的命令:

sudo vi /etc/profile

然后找到这一行代码:

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000

#设置所有用户将在600秒内(即10分钟)无操作后自动注销
TMOUT=600

下面的TMOUT=600就是我们需要设置的超市值

3️⃣存在共享root账户的问题

❌问题描述

查看每个用户权限:more /etc/sudoers

建议:存在共享root账户,应增加安全管理员账户、审计管理员账户,并根据所管理的文件及文件夹分配权限。

详细配置及解释:https://blog.csdn.net/qq_45206551/article/details/105811026

✅解决方法

👽创建三权分立账户

新建系统管理员

useradd sysadmin
passwd sysadmin

新建安全管理员

useradd secadmin
passwd secadmin

新建审计管理员

useradd auditadmin
passwd auditadmin

修改visudo配置

输入命令:

sudo visudo

系统管理员:

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
sysadmin ALL=(root) SOFTWARE,SERVICES,STORAGE

安全管理员:

Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
secadmin ALL=(root) DELEGATING,PROCESSES,NETWORKING

审计管理员的权限

auditadmin ALL=(root) NOPASSWD:/usr/sbin/aureport,NOPASSWD:/usr/sbin/autrace,NOPASSWD:/usr/sbin/ausearch,NOPASSWD:/usr/sbin/audispd,NOPASSWD:/usr/sbin/auditctl

测试配置是否正确

visudo -c

3️⃣历史命令保留条数

❌问题描述

查看历史命令保留条数:

echo $HISTSIZE

建议:建议将配置文件/etc/profile文件中的HISTSIZE项,设置值为0~10,保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。

✅解决方法

很简单,直接输入命令,在配置文件中更改即可。

sudo vi /etc/profile

然后找到HISTSIZE,后面本来是1000,改成0-10之间的任意数字就行(按照建议更改)

为了让更改生效,你可以重新登录或者重新加载配置文件:

source /etc/profile

3️⃣开启防火墙

❌问题描述

系统防火墙开启状态:

systemctl status firewalld

建议:开启系统防火墙, systemctl start firewalld,并配置相关访问控制端口策略

✅解决方法

开启防火墙:

systemctl start firewalld

查看状态:

systemctl status firewalld

开放指定端口,比如443

sudo firewall-cmd --add-port=443/tcp --permanent

重新加载下配置文件(一定要增加,不然不起作用)

sudo firewall-cmd --reload

#查看所有打开的端口

firewall-cmd --zone=public --list-ports

3️⃣开启ip白名单

❌问题描述

用于控制可以访问本机的IP地址:

more /etc/hosts.allow

建议:修改如上图,需要配置具体的地址(白名单)

配置及解释:https://blog.csdn.net/qq_43868413/article/details/133983652

数据库需要通过服务器进行访问

✅解决方法

编辑hosts.deny文件:

vi /etc/hosts.deny

添加如下代码:表示限制所有IP登录

sshd:ALL:deny

编辑:hosts.allow ,使得允许某些ip可以访问,添加如下代码:表示放行192.168.222段所有的地址访问

vi /etc/hosts.allow

sshd:192.168.222.*:allow

注意:多个网段或端口之间用,隔开。如下表示允许95.96.3.23地址和192.168.222段的地址访问。

sshd:192.168.222.*,95.96.3.23:allow

这里面需要特别注意的是:

hosts.deny:设置ip黑名单hosts.allow:设置ip白名单

经过以上的设置,我们服务器基本上就满足了等保三级的要求了,大家可从评论区中交流交流,等保三级还需要设置哪些内容~

最后,再次推荐这款服务器,真的很不错,小微企业上云就选它足够啦!

来源:互联网播客

相关推荐