当前位置:论坛首页 > Linux面板 > 建议

关于面板安全问题的建议

发表在 Linux面板2018-12-17 16:32 [复制链接] 1 2013

本帖最后由 七七八八 于 2018-12-17 16:32 编辑

1.面板建议默认开启SSL,因为面板端口入口文件等都做了设置,而传输数据却在面板设置SSL界面却提示用户谨慎开启,个人以为应该引导用户配置SSL。
2.phpMyAdmin端口修改,也应该支持SSL
3.宝塔服务器,包提供的服务器应该全部采用SSL,如果这些包服务器感染了,哭都哭不出来。。

附 phpMyAdmin 开启SSL以及修改端口方法:
修改 nginx的配置文件,找到PHPMYADMIN的配置段 添加,如下代码(端口、和证书地址请根据情况修改)

  1. listen 888 ssl http2;
  2.    
  3.         #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  4.         #error_page 404/404.html;
  5.         #HTTP_TO_HTTPS_START
  6.         if ($server_port !~ 888){
  7.             rewrite ^(/.*)$ https://$host:888$1 permanent;
  8.         }
  9.         #HTTP_TO_HTTPS_END
  10.         ssl_certificate    /etc/letsencrypt/live/xxxx/fullchain.pem;
  11.         ssl_certificate_key    /etc/letsencrypt/live/xxxxx/privkey.pem;
  12.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  13.         ssl_ciphers Exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
  14.         ssl_prefer_server_ciphers on;
  15.         ssl_session_cache shared:SSL:10m;
  16.         ssl_session_timeout 10m;
  17.         error_page 497  https://$host$request_uri;
  18.         #SSL-END
复制代码


这样修改了后可以通过https 访问phpmyadmin ,但是面板后台 数据库管理的 phpmyadmin链接地址错误了。
修改  /www/server/panel/BTPanel/__init__.py
约203行左右
  1. session['phpmyadminDir'] = 'https://' + public.GetHost() + ':'+ pmd[1] + '/' + pmd[0];   // 修改HTTPS
复制代码
以及如下正则表达式部分
  1. def get_phpmyadmin_dir():
  2.         path = public.GetConfigValue('setup_path') + '/phpmyadmin'
  3.         if not os.path.exists(path): return None
  4.         
  5.         phpport = '888';
  6.         try:
  7.             import re;
  8.             if session['webserver'] == 'nginx':
  9.                 filename =public.GetConfigValue('setup_path') + '/nginx/conf/nginx.conf';
  10.                 conf = public.readFile(filename);
  11.                 rep = "listen\s+([0-9]+)\s*";
  12.                 rtmp = re.search(rep,conf);
  13.                 if rtmp:
  14.                     phpport = rtmp.groups()[0];
  15.             else:
  16.                 filename = public.GetConfigValue('setup_path') + '/apache/conf/extra/httpd-vhosts.conf';
  17.                 conf = public.readFile(filename);
  18.                 rep = "Listen\s+([0-9]+)\s*\n";
  19.                 rtmp = re.search(rep,conf);
  20.                 if rtmp:
  21.                     phpport = rtmp.groups()[0];
  22.         except:
  23.             pass
  24.             
  25.         for filename in os.listdir(path):
  26.             filepath = path + '/' + filename
  27.             if os.path.isdir(filepath):
  28.                 if filename[0:10] == 'phpmyadmin':
  29.                     return str(filename),phpport
  30.         return None
复制代码
希望官方提供这个功能
举报 只看该作者 回复
发表于 2018-12-19 14:54:18 | 显示全部楼层
默认使用SSL,会给新手用户带来巨大的困扰,且中途被抓包的概率不。
举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表