服务器新手的安全必修课:手把手修复6个常见的宝塔面板安全风险

前言

 

当你满怀激动地拥有了人生中第一台云服务器,安装好宝塔面板,准备大展拳脚时,点开“安全”菜单,看到那一长串红色的风险提示,你是否也曾感到一丝困惑和不安?“端口扫描”、“suid提权”、“跨站攻击”……这些名词听起来都像“武林高手”的招式,让新手望而生畏。

好消息是,这些看似复杂的风险,大部分都有清晰的修复路径。更重要的是,我们完全可以手动修复它们,而无需依赖付费的一键修复功能。本文将基于一次真实的安全加固经历,分享6个常见高、中危风险的原理和手动修复步骤,帮助你将服务器的安全性提升到一个全新的水平。

 

修复一:修复“无密码Sudo”,堵上最高权限的后门

 

  • 风险名称: 检查是否允许空密码sudo提权 (NOPASSWD)
  • 风险解读: sudo 是我们在Linux中执行管理员命令的“法宝”。而 NOPASSWD 配置意味着,任何一个能登录你服务器的普通用户,在使用 sudo 时都无需输入密码。如果你的网站或某个应用被攻破,攻击者获得了一个普通用户的控制权,他就可以用这个“后门”毫不费力地成为root,完全控制你的服务器。
  • 修复步骤:
    1. 登录宝塔面板,进入【文件】管理。
    2. 根据宝塔的风险提示,找到那个包含 NOPASSWD 配置的文件。它通常是 /etc/sudoers,或者是 /etc/sudoers.d/ 目录下的某个文件。
    3. 打开该文件,找到类似下面这样的一行:
      some_user_name ALL=(ALL) NOPASSWD: ALL
      
    4. 将这一整行用 # 号注释掉,或者直接删除。然后保存文件即可。此项修复立即生效。

 

修复二:关闭数据库公网访问,将“金库”锁进地下室

 

  • 风险名称: MySQL端口被任意服务器扫描
  • 风险解读: 将数据库的默认端口(如3306)暴露在公网上,就像把银行金库的大门直接开在喧闹的大街上。这会引来全世界的自动化程序进行24小时不间断的密码暴力破解,风险极高。
  • 修复步骤(宝塔图形化操作):
    1. 在宝塔面板,点击左侧菜单的【数据库】。
    2. 点击页面上方的【root密码】标签页。
    3. 在“权限”一栏,将访问权限从“所有人”修改为 “本地服务器”
    4. 点击提交。这样,数据库就只接受来自服务器内部的连接请求了。

 

修复三:移除SUID权限,解除系统工具的“定时炸弹”

 

  • 风险名称: 检查重要文件是否存在suid和sgid权限
  • 风险解读: suid 是一种特殊的文件权限,它允许普通用户在执行某个程序时,临时获得程序所有者(通常是root)的身份。这本身是一种方便的设计,但如果那个程序本身存在漏洞,就可能被攻击者利用,瞬间“借壳上市”获得root权限。
  • 修复步骤(SSH终端操作):
    1. 使用SSH工具登录你的服务器。
    2. 根据宝塔风险提示中列出的文件路径,逐个执行以下命令来移除 suid 权限:
      Bash

      # 示例,请根据你的实际提示修改文件名和路径
      chmod u-s /usr/bin/gpasswd
      chmod u-s /usr/bin/wall
      chmod u-s /usr/bin/chage
      # ...执行所有提示的文件
      

      这里的 chmod u-s 命令,意思就是“从文件所有者(u)身上,移除(-)suid权限(s)”。

 

修复四:强制SSH使用安全协议,加密你的远程连接

 

  • 风险名称: 未使用安全套接字层加密远程管理ssh
  • 风险解读: SSH协议有两个主要版本,V1版本存在严重的设计缺陷,容易被黑客窃听和劫持。我们必须强制服务器只使用更安全的V2版本。
  • 修复步骤(SSH终端操作):
    1. 在宝塔面板或通过SSH,编辑SSH配置文件:/etc/ssh/sshd_config
    2. 在文件任意空白处,添加一行:
      Ini, TOML

      Protocol 2
      
    3. 保存文件。然后通过SSH执行以下命令重启SSH服务:
      Bash

      systemctl restart sshd
      

 

修复五:开启防跨站攻击,给你的网站建一堵“防火墙”

 

  • 风险名称: 网站未开启防跨站功能 (open_basedir)
  • 风险解读: 如果你的服务器上运行了多个网站,一个网站的程序漏洞可能会被利用,去读取甚至篡改另一个网站的文件(比如包含数据库密码的配置文件)。open_basedir 功能就像是给每个网站的文件夹都建了一道坚固的围墙,禁止它“手伸得太长”。
  • 修复步骤(宝塔图形化操作):
    1. 在宝塔面板,点击【网站】,找到你的网站,点击【设置】。
    2. 在弹窗中,选择左侧的【网站目录】。
    3. 勾选【防跨站攻击(open_basedir)】,然后保存即可。

 

修复六:关闭PHP错误提示,别给黑客“看地图”

 

  • 风险名称: 未关闭PHP版本的错误提示信息
  • 风险解读: 当网站代码出错时,向访客显示详细的技术性错误报告,可能会暴露你服务器的文件路径、数据库表结构等敏感信息,这无异于给攻击者提供了一份详细的“藏宝图”。
  • 修复步骤(宝塔图形化操作):
    1. 在宝塔面板,点击【软件商店】,找到你网站正在使用的PHP版本,点击【设置】。
    2. 在弹窗中,选择【配置修改】。
    3. 找到 display_errors 这一项,将它的值从 On 修改为 Off
    4. 保存并按提示重启PHP服务。

 

结语

 

服务器安全是一个持续的过程,而不是一蹴而就的终点。但通过完成以上这几项关键的修复,你的服务器已经构建起了一个相当不错的安全基础。希望这篇文章能帮助每一位服务器新手,从容地迈出安全运维的第一步,将自己的数字资产牢牢掌握在自己手中。

发表回复

Your email address will not be published. Required fields are marked *.

*
*

Copyright © 2025 十两东日的随想. All Rights Reserved.

鄂ICP备2025140583号-1 | 鄂公网安备42011102005804号