电子说
@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 账户,应增加安全管理员账户、审计管理员账户,并根据所管理的文件及文件夹分配权限。
详细配置及解释:https://blog.csdn.net/qq_45206551/article/details/105811026
✅解决方法
���创建三权分立账户
1. 新建系统管理员
useradd sysadminpasswd sysadmin
1. 新建安全管理员
useradd secadminpasswd secadmin
1. 新建审计管理员
useradd auditadminpasswd auditadmin
1. 修改 visudo 配置
输入命令:
sudo visudo
系统管理员:
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yumCmnd_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 disableCmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umountsysadmin ALL=(root) SOFTWARE,SERVICES,STORAGE
安全管理员:
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrpCmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killallCmnd_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-toolsecadmin 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
建议:修改如上图,需要配置具体的地址(白名单)
配置及解释:https://blog.csdn.net/qq_43868413/article/details/133983652
数据库需要通过服务器进行访问
✅解决方法
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 白名单
经过以上的设置,我们服务器基本上就满足了等保三级的要求了,大家可从评论区中交流交流,等保三级还需要设置哪些内容~
最后,再次推荐这款服务器,真的很不错,小微企业上云就选它足够啦!
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !