当前位置:网站首页 >  攻略

一线实操:政务外网部署的宝塔面板全链路安全配置指南

时间:2026年05月31日 06:21:41 来源:易频IT社区

一、前置准备(政务场景必做)

先确保服务器满足两个核心条件,后续操作才能生效:

  • 操作系统版本锁定在CentOS 7.x/8.x或Ubuntu 20.04 LTS/22.04 LTS,这些是政务常用的稳定合规版本
  • 先断开服务器所有非必要连接,只保留本地SSH(需提前绑定IP白名单)或本地IP访问的备用后台

二、宝塔面板基础安全配置

1. 面板自身端口与登录加固

这是第一道防线,政务外网场景下必须修改默认设置:

  1. 登录旧版宝塔面板,进入【面板设置】
  2. 修改默认8888端口为20000-65535之间的随机高位端口(比如52147,建议提前向政务外网管理部门报备端口变更)
  3. 启用入口验证:开启安全入口(必须),复制生成的入口后缀保存到本地;可额外开启验证码验证微信/企业微信扫码绑定(仅限内部运维)
  4. 修改默认admin用户名(建议改为字母+数字+下划线的组合,比如zwbtadmin202X)
  5. 修改默认密码:长度≥16位,包含大写字母、小写字母、数字、特殊符号,不能用连续或重复字符
  6. 关闭面板API接口(除非有明确的第三方系统对接需求,否则必须关闭)
  7. 保存并重启面板:点击右下角“保存”后,在SSH执行bt restart生效

2. 系统防火墙与安全组联动

政务外网场景下,要同时配置服务器系统防火墙(iptables/ufw)云服务商安全组/政务物理防火墙,只开放必须端口:

  1. 在宝塔面板【安全】模块,删除所有默认开放端口(除了SSH端口、新修改的宝塔面板端口)
  2. 仅添加以下必要端口:
    • 若用HTTPS:443/TCP
    • 若用SFTP传输文件:22/TCP(同SSH端口,政务内网可选禁用SSH改用SFTP专属端口2222,具体操作见后续web加固)
    • 若有邮件服务:按需报备后开放465/TCP、993/TCP
    • 其他特殊业务端口:必须提前向政务外网管理部门申请IP+端口白名单,然后单独添加白名单规则
  3. 配置云服务商安全组/政务物理防火墙:
    • 严格按照上述端口白名单+IP白名单配置
    • 禁止所有入站UDP端口(除了特殊DNS需求的53/UDP,需双IP绑定DNS服务器)
    • 禁止所有主动出站连接(除了业务必须的,比如数据库同步、DNS查询,同样需报备IP+端口)
  4. 手动加固系统防火墙(CentOS 7/8为例,Ubuntu用ufw类似逻辑):

    一线实操:政务外网部署的宝塔面板全链路安全配置指南

     查看当前iptables规则
    iptables -L -n
    清空默认规则(操作前确认白名单SSH已生效!)
    iptables -F
    iptables -X
    设置默认策略为DROP(只允许已配置的入站/出站)
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP
    允许本地回环
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    允许已建立的连接(比如访问网站后的响应)
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    允许白名单IP访问宝塔面板端口(假设白名单IP是192.168.1.10,面板端口52147)
    iptables -A INPUT -s 192.168.1.10 -p tcp --dport 52147 -j ACCEPT
    允许白名单IP访问SSH端口(22或2222)
    iptables -A INPUT -s 192.168.1.10 -p tcp --dport 22 -j ACCEPT
    允许白名单IP访问HTTPS端口443
    iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j ACCEPT
    保存规则(CentOS 7)
    service iptables save
    保存规则(CentOS 8)
    firewall-cmd --runtime-to-permanent
    重启iptables(CentOS7)
    systemctl restart iptables
    重启firewalld(CentOS8)
    systemctl restart firewalld

三、Web服务全链路加固

1. 强制HTTPS加密与证书配置

政务外网要求所有Web访问必须使用HTTPS,禁止HTTP明文:

  1. 登录宝塔面板,进入【网站】,点击对应站点的【设置】
  2. 申请合规的SSL证书:政务外网优先使用政务云服务商提供的免费或付费SSL证书,或内部CA签发的证书(内部CA证书需配置客户端信任)
  3. 申请成功后,在【SSL】标签页强制开启HTTPS,勾选【HSTS】(建议设置max-age=31536000,includeSubDomains,preload可选但需提前报备)
  4. 手动修改Nginx配置(Apache类似逻辑,先停Apache转Nginx更安全):
    • 在站点设置【配置文件】标签页,找到server块,添加以下内容(替换已有HTTP块或新增强制跳转块):
       HTTP强制跳转HTTPS
      server {
      listen 80;
      server_name yourdomain.com www.yourdomain.com;
      return 301 https://$server_name$request_uri;
      禁用所有不需要的HTTP方法
      if ($request_method !~ ^(GET|POST|HEAD)$ ) {
      return 405;
      }
      }
      HTTPS配置
      server {
      listen 443 ssl http2;
      server_name yourdomain.com www.yourdomain.com;
      证书路径替换为实际路径
      ssl_certificate /www/server/panel/vhost/cert/yourdomain.com/fullchain.pem;
      ssl_certificate_key /www/server/panel/vhost/cert/yourdomain.com/privkey.pem;
      SSL安全协议配置(禁用TLS1.0/1.1,政务可选禁用TLS1.2仅留TLS1.3)
      ssl_protocols TLSv1.2 TLSv1.3;
      SSL加密套件配置(仅用强加密)
      ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
      ssl_prefer_server_ciphers on;
      ssl_session_cache shared:SSL:10m;
      ssl_session_timeout 1d;
      ssl_session_tickets off;
      HSTS(需替换max-age等参数)
      add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
      禁用XSS、点击劫持、嗅探
      add_header X-Frame-Options "SAMEORIGIN" always;
      add_header X-XSS-Protection "1; mode=block" always;
      add_header X-Content-Type-Options "nosniff" always;
      add_header Referrer-Policy "no-referrer-when-downgrade" always;
      add_header Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' data:; img-src 'self' data:; font-src 'self' data:;" always;
      禁止访问隐藏文件
      location ~ /\. {
      deny all;
      access_log off;
      log_not_found off;
      }
      禁止访问敏感文件(根据业务调整)
      location ~ \.(sql|bak|log|conf|ini|sh|py)$ {
      deny all;
      access_log off;
      log_not_found off;
      }
      }
    • 点击【保存】,然后重启Nginx(宝塔面板【软件商店】【已安装】Nginx【重启】

2. 禁用SFTP默认22端口,改用专属端口

避免SSH与SFTP共用端口,降低被暴力破解的风险:

  1. 登录宝塔面板,进入【软件商店】【已安装】OpenSSH Server【设置】
  2. 【配置修改】标签页,找到Port 22,在下方新增一行Port 2222
  3. 找到Subsystem sftp /usr/libexec/openssh/sftp-server,替换为:
    Subsystem sftp internal-sftp
  4. 在配置文件最后添加以下内容(仅限SFTP用户使用,假设SFTP用户名为zwbtftp,家目录为/www/wwwroot/yourdomain.com):
    Match User zwbtftp
    ChrootDirectory /www/wwwroot
    ForceCommand internal-sftp
    AllowTcpForwarding no
    PermitTunnel no
    X11Forwarding no
  5. 点击【保存】,然后重启OpenSSH Server
  6. 修改SFTP用户家目录权限(必须为root:root,权限755):
    chown root:root /www/wwwroot
    chmod 755 /www/wwwroot
    业务目录权限需调整为www:www(假设用Nginx+PHP)
    chown -R www:www /www/wwwroot/yourdomain.com
    chmod -R 755 /www/wwwroot/yourdomain.com
    上传目录权限需调整为775
    chmod -R 775 /www/wwwroot/yourdomain.com/uploads
  7. 在系统防火墙和安全组中新增白名单IP访问2222/TCP的规则,删除之前的22/TCP规则

四、数据库与文件系统加固

1. MySQL/MariaDB数据库加固

政务场景下数据库是核心,必须严格配置:

  1. 登录宝塔面板,进入【数据库】删除所有默认root用户(除本地root)
  2. 修改本地root用户密码:长度≥16位,包含大写字母、小写字母、数字、特殊符号
  3. 创建业务专用数据库用户:权限仅为SELECT、INSERT、UPDATE、DELETE(根据业务调整,禁止ALL PRIVILEGES),且只允许绑定服务器本地IP或固定的业务服务器IP访问
  4. 禁用远程root登录:在SSH执行mysql -u root -p,输入密码后执行:
    DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
    FLUSH PRIVILEGES;
  5. 修改MySQL/MariaDB默认3306端口:在宝塔面板【软件商店】已安装MySQL/MariaDB【设置】【配置修改】标签页,找到port=3306,修改为20000-65535之间的随机高位端口(比如53248),保存后重启数据库
  6. 在系统防火墙和安全组中关闭数据库端口的所有入站连接(除非有跨服务器业务需求,否则必须关闭)

五、日志审计与备份

政务场景下要求日志留存≥6个月,备份留存≥3个月:

  1. 启用宝塔面板日志审计:进入【面板设置】【日志】,勾选【系统操作日志】【面板登录日志】【网站访问日志】【数据库操作日志】,设置日志保留时间为210天(6个月)
  2. 配置自动备份:进入【计划任务】,添加以下任务:
    • 数据库备份:每天凌晨2点执行,保留90天(3个月),备份到本地+云存储/政务专属备份服务器
    • 网站文件备份:每天凌晨3点执行,保留90天,备份到本地+云存储/政务专属备份服务器
    • 宝塔面板配置备份:每周日凌晨4点执行,保留180天,备份到本地+云存储/政务专属备份服务器
  3. 定期检查日志:每周至少检查一次面板登录日志和系统操作日志,发现异常IP或操作立即处理

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图