跳至主要內容

安全

evan大约 4 分钟

安全

一、https

为防止页面在网络中明文传输遭到劫持攻击,从而泄露用户账户和密码,外网访问iDocker时应使用https进行连接。 什么是http劫持open in new window

注意

iDocker在登录时会对密码进行含盐加密后再传到后台服务,可一定程度上降低密码泄露的风险,但由于加密逻辑在网页上,仍可以分析出加密方式导致密码泄露

可直接通过3543端口访问iDockerhttps服务,也可在服务器上部署nginx实现https访问,然后转发http请求到iDocker3580端口

提示

iDocker默认https证书为自签名证书,浏览器会提示警告,如下图:

Https Error
Https Error

可点击【高级】按钮继续访问。

1.1 更换证书

如果用户有CA机构签名的证书,可以将iDocker默认的自签名证书修改为CA证书

iDocker默认证书保存在/docker/idocker/ssl(容器内路径)文件下

提示

请将CA证书的key文件名修改为默认的idocker.key,密钥文件修改为默认的idocker.pem,否则,服务将无法启动

二、异常登录通知

在【设置】->【通知】->【通知发件箱】配置好通知发件箱后,如果密码登录失败超过尝试次数或者成功在新设备登录,则会发送邮件进行提醒。

相关信息

后续将增加IP黑白名单机制

提示

如果使用了nginx进行反向代理,可在转发路径增加下面请求头,这样iDocker才能拿到真实的用户IP和建立socket链接,以便进行流量控制和IP封禁和链接终端

  location / {
    ...
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

三、二次验证(2FA)

为保障iDocker的账户安全,iDocker支持二次验证功能

开启二次验证功能后,当用户在新设备上进行登录操作时,除了输入账户密码外,还要求输入二次验证码

目前支持邮箱验证和App验证。

3.1 邮箱验证

在【设置】->【用户信息】->【用户安全】->【验证方式】选择【通知邮箱】后保存

提示

邮箱验证需先设置通知邮箱才可启用,路径:【设置】->【通知】->【通知发件箱】

新设备登录弹出二次验证输入框时,iDocker会向通知发件箱发送二次验证码,5分钟内有效

3.2 App验证

在【设置】->【用户信息】->【用户安全】->【验证方式】选择【验证APP】后保存,然后使用验证APP(微软AuthenticatorGoogle Authenticator等)扫描右侧二维码即可绑定成功。将验证App中的验证码填入输入框点击右侧的验证测试可进行正确性验证

App验证
App验证

新设备登录弹出二次验证输入框时,打开验证App输入验证码即可登录,验证码30秒刷新一次

四、流量控制

为防止被恶意攻击导致服务崩溃,iDocker对服务、IP、接口进行了分级流量限制,当请求次数超过阈值时,会直接返回429错误同时提示【请求速度过快!,请稍后再试】

注意

为防止暴力破解,对于登录接口严格限制:单个IP5秒允许请求2两次。

目前暂不支持修改流量控制阈值,后续可能开放设置自定义阈值。

五、数据安全

iDocker不会上传用户数据至其他服务器,所有数据均保存在iDocker所在服务器本地,不放心的可以进行抓包分析或者不使用该工具,

相关信息

目前iDocker没有进行开源,未来是否开源待定,介意者勿用!

警告

软件不会主动删除用户数据,因操作不当或者软件bug导致的数据丢失,作者不承担责任,请做好数据备份工作!

六、声明

警告

软件仅用于交流、学习,方便管理自身服务器所用,不用用于发布任何非法的、违反国家规定的内容。

工具内的内容用户填写或上传,由用户对其提供并上传的所有信息承担相应法律责任

上次编辑于:
贡献者: evan.feng