[安全]Linux服务器安全基础设置
2025-02-21 00:01:00  阅读数 809

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是你的用户名)

授权sodu权限

设置密码最大错误次数

依旧在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进行切换