×

不是宝塔被黑,而是你的服务器太“坦诚”了

hqy hqy 发表于2025-10-13 23:28:37 浏览4 评论0

抢沙发发表评论

有个用户在各个论坛发帖:

“宝塔面板有后门!我的服务器被黑了!”

看到消息后,我们第一时间联系用户排查。

结果我们一查日志,发现面板正常、安全、没被入侵

真正出问题的,是 SSH ——
黑客通过 SSH 直接登录用户的服务器植入病毒。

进一步了解后我们发现:
该用户从购买云服务器开始,就一直没修改云厂商初始化生成的 root 密码
而这个“看似安全”的随机密码,不知在什么环节被泄露了。

很多云平台在创建服务器时,会自动生成临时 root 密码(甚至以明文显示在控制台或邮件里)。

而这个密码,一旦被人截取,就等于你的服务器大门敞开。

于是黑客轻松登录,改端口、加脚本、装木马……
表面上像是“面板被黑”,实际上是服务器本身被登录

所以今天,小泽就来带大家做一件简单但非常重要的事

买到云服务器之后,第一件事不是安装面板,

而是先锁 SSH 门!

// 第一步:改掉默认密码(必须!)

买到服务器后第一件事,就是改掉云厂商给你的那个root 初始密码。

不改密码,就相当于大门没锁。

登录上服务器后,输入这一行命令:


passwd

系统会提示你输入两次新密码:





Changing password for user root.New password: (输入新密码)Retype new password: (再输一次确认)passwd: all authentication tokens updated successfully.(最后看到这个就成功了)

图片小贴士:

  • 密码建议至少 16 位,包含大小写字母 + 数字 + 特殊字符。

  • 千万别用“123456”“admin”“Aa@123456” 这种通用组合。(昨天还有用户的数据库密码是 admin888,看着就……?如果设置这种密码,你还不如不改)

    < /dev/urandom tr -dc 'A-Za-z0-9!@#$%^&*()_+=-' | head -c 16; echo








    • 最好记录在密码管理器中,不要保存在笔记本或截图里。

    // 第二步:使用 SSH 密钥登录(彻底告别密码)

    如果你已经安装好了面板,可以直接在面板里设置;如果暂时没装面板,也可以通过命令行操作。以下方式二选一即可:

    方式一:通过面板进行设置

    • 登录宝塔面板,找到安全-SSH管理

      图片
    • 关闭SSH密码登陆,开启SSH密钥登陆

      图片
    • 开启成功后下载SSH密钥,后续登陆服务器使用SSH登陆即可

      图片


    方式二:通过命令设置













    # 在你自己电脑生成密钥ssh-keygen -t ed25519 -C "你的邮箱"# 把公钥复制到服务器:ssh-copy-id root@你的服务器IP# 完成后登陆服务器,登录成功后编辑 SSH 配置:vim /etc/ssh/sshd_config# 找到以下几行并修改(如前面有#注释请删除):PermitRootLogin prohibit-passwordPasswordAuthentication no# 保存退出后执行以下命令重启SSHsystemctl restart sshd# 重启完成进行测试,测试是否能使用密码登陆(预期不能)以及是否能正常使用密钥登陆

    第三步:给SSH加个“门禁系统”—— fail2ban

    防爆破神器 fail2ban,可以防止SSH密码爆破,并自动封禁恶意IP,同样你也可以通过面板设置,或者自行安装,以下方式二选一即可:

    方式一:通过面板进行设置

    • 登录宝塔面板,找到软件商店,并在软件商店中搜索Fail2ban并安装
      图片
    • 安装完成后点击设置,首次使用需要手动启动服务
      图片
    • 启动后点击服务保护,点击创建,设置SSH防爆破(最大重试次数默认30,建议大家自己改小一点,比如5),SSH端口默认22,如果你进行了修改,请填写修改后的端口
      图片
    • 配置完成后保存即可
      图片


    方式二:通过命令设置















    # 安装Fail2ban# Debian/Ubuntuapt install fail2ban -y# CentOS(需要启用EPEL源)yum install fail2ban -y# 创建配置文件vim /etc/fail2ban/jail.d/sshd.local# 在文件内粘贴以下内容[sshd]enabled = truemaxretry = 5bantime = 3600# 创建完成后重启服务systemctl restart fail2ban

    超过 5 次输错密码的 IP,会被封禁一小时。
    就像自动识别陌生访客的门禁系统。

    // 第四步:防火墙收口

    建议只开放必要端口,比如 22,80,443和面板端口,可以在面板防火墙直接进行设置

    图片

    当然,你也可以选择在在云控制台安全组里,同样关闭一切不必要的端口。在不用面板或者SSH的时候,你甚至可以把这两个端口一起关掉,只保留业务端口,比如80/443

    图片

    你不开放,黑客就找不到入口。

    // 第五步:定期自查

    可以在SSH或者面板终端中,执行以下命令,查看最近登录记录:


    last -a | head -n 20
    图片

    执行以下命令检查计划任务(这里顺便提一下:/www/server/cron/一堆字符的,大概率是面板创建的计划任务,你可以在面板计划任务中查看):

    图片

    如果发现陌生 IP或奇怪脚本,

    赶紧快照 + 备份 + 排查清理。

    // 第六步:面板加固(以 BasicAuth 为例)

    SSH 锁好只是第一层防线,面板安全同样重要。

    建议开启宝塔面板的 BasicAuth 认证,相当于在登录页前再加一层“暗门”。

    • 在面板左侧菜单栏中找到设置-安全设置

      图片
    • 点击开启BasicAuth认证,阅读相关说明

      图片
    • 设置用户名和密码

      图片
    • 下次访问面板时,浏览器会要求你先输入BasicAuth的用户和密码

      图片


    // 结尾 · 心态 × 信任

    安全,既是用户的责任,
    也是软件的责任。
    没有任何系统能百分之百避免漏洞,
    谁也无法保证永远没有“未知风险”。
    但能做到的,是持续更新、主动防御、及时修复。
    对于用户来说,
    改密码、关端口、配密钥、加验证——是日常安全的基本功;
    对于宝塔来说,
    我们同样在不断完善防护机制、加固代码、提升安全可见性。
    所以,安全不是一句口号,
    而是一种持续的行动。

    真正安全的服务器,

    不是永远没出过问题,

    而是你和它,都在认真防御。


    打赏

    本文链接:https://kinber.cn/post/5709.html 转载需授权!

    分享到:


    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

     您阅读本篇文章共花了: 

    群贤毕至

    访客