linux默认使用的22端口进行远程SSH访问操作,如果使用默认得root账户以及22端口,由于公网IP暴露在互联网会被不法分子通过扫描得方式获取到ip之后暴力破解22端口,一旦弱密码被暴力破解,服务器上得数据以及信息会有很大的风险,如下图所示为22端口和root账户暴露在公网IP下的暴力破解提示
TIP:自上次登录成功之后,有98次登录失败操作常用的端口扫描工具nmap可以很轻松的通过IP地址或域名扫描到服务器暴露在公网的端口,如下图所示
nmap命令扫描结果基础解决方案
1、新建一个非root账号并赋予sudo权限,进行日常得运维管理
2、设置密码最大错误次数
3、更改22端口
4、禁用root账号
在命令行中输入
#编辑sshd_config配置信息
vi /etc/ssh/sshd_config
新建非root账号
使用root账户登录系统,添加一个普通账户例如test,并为其设置密码
#添加用户
useradd test
#设置对应用户得密码
passwd test
添加sudo文件的写权限
chmod u+w /etc/sudoers
编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
设置密码最大错误次数
依旧在sshd_config文件中使用vim或者vi进行编辑,找到MaxAuthTries,关闭注释,并将后面得数字改为尽可能合理得数值,这个数值是决定用户密码输入错误得次数,一旦超过这个次数ip会被禁止登录操作
更改22端口
依旧在sshd_config文件中使用vim或者vi进行编辑,找到Port,将默认得22端口更改为你想要设置得端口号码
更改默认端口
禁用root账号
找到PermitRootLogin字样,如果前面有符号#,删除符号,并将yes改为no
禁用root账号登录
至此root账号禁用完成
注意
- 端口号请检查不要与企业服务或其他应用产生冲突
- 请于防火墙(iptables)设置以及云服务器的安全组中放行对应得端口(此处不做过多赘述)
最后重启sshd服务 systemctl restart sshd.service,此时再用root用户登录,如果不能登陆则代表配置成功。如果需要使用root权限,可以使用su/sudo进行切换
网友评论