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

109 阅读7分钟

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂

@TOC

写在前面  

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

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

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

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

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

✅解决方法  

增加安全管理员  

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

           
mysql -u root -p            

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

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

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

1.执行完显示如下:

1.分配权限

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

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

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

    

1.刷新权限

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

FLUSH PRIVILEGES;            

增加审计管理员账户  

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

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

1.分配权限

分配审计相关的权限审计管理员通常需要能够查看审计日志和监控数据库活动的权限。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语句。

1.刷新权限    

FLUSH PRIVILEGES;            

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

3️⃣ 设置linux的密码策略

❌问题描述  

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

✅解决方法  

执行

vi /etc/login.defs            

然后直接修改:

·PASS_MAX_DAYS 90

·PASS_MIN_LEN 8

保存即可。    

3️⃣linux登录失败问题  

##red##🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

    

❌问题描述  

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

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

    

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

✅解决方法  

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

执行命令:

vi /etc/pam.d/system-auth            

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

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

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

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

参数解释:

·retry=3:用户在密码输入错误后可以重试的次数。

·minlen=8:密码的最小长度为8个字符。

·difok=3:新密码与旧密码至少有3个字符不同。

1.重启下ssh服务

sudo systemctl restart sshd            

1.配置登录失败处理策略

还是在/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账户,应增加安全管理员账户、审计管理员账户,并根据所管理的文件及文件夹分配权限。

详细配置及解释:blog.csdn.net/qq_45206551…    

✅解决方法  

👽创建三权分立账户  

1.新建系统管理员

useradd sysadmin            
passwd sysadmin            

1.新建安全管理员

useradd secadmin            
passwd secadmin            

1.新建审计管理员

useradd auditadmin            
passwd auditadmin            

1.修改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            

1.测试配置是否正确    

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,并配置相关访问控制端口策略    

✅解决方法  

1.开启防火墙:

systemctl start firewalld            

1.查看状态:

systemctl status firewalld            

1.开放指定端口,比如443

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

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

sudo firewall-cmd --reload            

1.#查看所有打开的端口    

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

3️⃣开启ip白名单  

❌问题描述  

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

more /etc/hosts.allow            

    

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

配置及解释:blog.csdn.net/qq_43868413…

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

✅解决方法  

1.编辑hosts.deny文件:

vi /etc/hosts.deny            

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

sshd:ALL:deny            

1.编辑: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白名单

    

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

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