-
背景:从腾讯云上面购买了一台服务器用来学习使用,搭建完环境与安装过mysql等日常需要的软件后就没在关注了,一是足够日常调试使用,二是对这台云服务不够重视。于是,悲剧发生了,周一再次调试一个小项目时mysql居然报错了,上去看了下数据库被攻破了,数据和表已经全部被清空…基于此次决定对云服务器做一次简单的安全加固。
具体步骤如下:
- ps:以下均以一台新服务器为例。
- 禁用root用户远程登陆,采用 ‘su’ 命令方式登陆。
- 编写脚本,将恶意攻击服务器的IP加入黑名单中。
- 安装防火墙,指定开放端口&IP
- mysql 更改用户名&常用端口。
一、禁用root用户远程登陆,采用 “su” 命令方式登陆。
- 使用root用户登录云服务,创建新用户。(一定要先创建用户再禁用root用户远程登陆),保存好账户密码。
useradd user_name #创建新用户的用户名
passwd pwd #创建新用户的用户密码
- 修改root密码,将root密码修改为难度高以上
passwd #执行命令够输入新密码
建议用户密码设置包含大小写,特殊符号等,位数30位以上。如: jwFaCHIOif5L6OR$CMBXYsJfe3Wy4u8c!kjzj2R7HkXRFUb3QAlB9sOR37rL&H 暴力破解需要好几年才有可能。
- 测试创建的用户是否能够登陆,如果能登陆执行下一步,如何不能登录使用root账户修改新创建的用户账户密码。
4.禁用root登陆
vim /etc/ssh/sshd_config # 修改PermitRootLogin后面的yes为no,并且去掉前面的注释符,同时可以限制失败次数
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 3
#MaxSessions 10
- 重启sshd服务
systemctl restart sshd.service
- 退出重新使用root账户验证是否被禁用