本文档介绍了数据安全和加密的常见问题。

设置集群白名单常见问题

  • Q:如何指定服务器只能访问集群中的某个节点?

    A:使用自定义集群地址访问集群,就只能访问集群中的特定节点。

  • Q:IP白名单最多支持填写多少个IP地址?

    A:IP白名单最多可以填写1000个IP地址或地址组。安全组关联的IP不受此限制。

  • Q:已添加ECS的IP地址到IP白名单中,为何还是无法访问集群?
    A:请按以下步骤进行排查:
    1. 确认IP白名单是否正确。如果是通过内网地址访问,需添加ECS的私网IP地址;如果是通过公网地址进行访问,需添加ECS的公网IP地址。
    2. 确认网络类型是否一致。如果ECS实例的网络类型是经典网络,可参见经典网络迁移到专有网络方案将ECS实例迁移至PolarDB所在的专有网络。
      说明 如果该ECS还要访问其他经典网络内网资源,请勿操作,因为迁移后会无法访问经典网络。

      或者通过ClassicLink打通经典网络到专有网络的网络。

    3. 确认是否位于同一个VPC。如果不是,需要重新购买一个PolarDB,或者通过云企业网来打通两个VPC网络实现访问。
  • Q:什么原因会导致公网连接失败?
    A:公网连接失败的原因如下所示:
    1. 如果是ECS通过公网地址进行访问,请确认添加的是ECS的公网IP地址,而不是私网IP地址。
    2. IP白名单设置为0.0.0.0/0,然后尝试访问,如果能成功访问,表示IP白名单中之前填写的公网地址错误。请参见申请集群地址和主地址确定真正的公网地址。
  • Q:如何限制某个用户只能从特定的IP地址访问PolarDB
    A:您可以使用以下命令创建高权限账号,并使用高权限账号对普通账号限定访问IP。命令行
  • Q:已设置集群白名单,为什么访问不了数据库?
    A:检查是否设置了白名单,如果允许全网访问,则白名单中的IP地址设置为0.0.0.0/0,且不能设置为0.0.0.0。如果设置了集群白名单,请按照如下步骤校验设置的白名单是否正确。
    1. 检查设置的白名单格式。
      • 如果将固定的IP地址设置为白名单,则不需要设置网段。如将IP地址1.1.1.1设置为白名单,则不可以设置为1.1.1.1/2
      • 如果将白名单设置为网段格式,则格式为x.x.x.x/x
    2. 如果在白名单中设置公网地址,则查询当前环境的出口IP地址数量(多次刷新看出口IP地址是否有变化),如果有多个,则需要将多个公网地址全部加入白名单中。如果已经将当前环境的所有公网地址全部加入白名单中,或在私网环境下访问异常,则执行步骤3。
    3. 将白名单中的IP地址设置为0.0.0.0/0。
    4. 连接数据库,执行select user(),current_user();命令,并将查询到的IP地址加入到白名单中。
    5. 删除白名单中的IP地址0.0.0.0/0。
  • Q:数据库被攻击了怎么办?

    A:查看集群白名单中的IP地址是否设置为0.0.0.0/0。

  • Q:为什么无法通过ECS访问PolarDB数据库?
    A:请按以下步骤进行排查:
    1. 检查ECS和PolarDB是否位于同一地域。
    2. 检查ECS和PolarDB的网络类型是否相同,如果ECS和PolarDB网络类型都是VPC,则必须位于同一个VPC网络。如果不在同一个VPC网络,则可以使用云企业网实现同地域VPC互通(基础版)
    3. 检查是否将ECS的IP地址添加到集群白名单中,如果使用公网访问PolarDB数据库,则需要将ECS的公网IP地址添加到PolarDB集群白名单中,添加白名单详情请参见设置白名单

设置SSL加密常见问题

Q:SSL证书到期后不更新会有什么影响?会影响实例运行或数据安全吗?

A:SSL证书到期后不更新,会导致使用加密连接的客户端程序无法正常连接实例,不会影响实例运行或数据安全。

设置透明数据加密TDE常见问题

  • Q:开启TDE后,常用数据库工具(Navicat等)还能正常使用吗?

    A:可以正常使用。

  • Q:加密后查看数据为什么还以明文显示?

    A:查询数据时会解密并读取到内存,所以是明文显示。开启TDE后存储的数据是加密的。

安全管理常见问题

  • Q:什么是TDE加密?

    A:透明数据加密TDE(Transparent Data Encryption)可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。PolarDB MySQL版的TDE加密采用国际流行的AES算法,密钥长度为256比特。TDE加密使用的密钥由密钥管理服务(KMS)产生和管理,PolarDB MySQL版不提供加密所需的密钥和证书。详情请参见设置透明数据加密TDE

  • Q:什么是SSL加密?

    A:SSL是Netscape公司所提出的安全保密协议,在浏览器和Web服务器之间构造安全通道来进行数据传输,采用RC4、MD5、RSA等加密算法实现安全通讯。为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到需要的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接响应时间。详情请参见设置SSL加密

  • Q:TDE加密和SSL加密有什么区别?

    A:数据文件加密需要开启TDE,传输加密需要开启SSL。

  • Q:TDE可以使用自定义密钥吗?
    A:可以。
    • 如果没有自定义密钥,需要先创建,在密钥管理服务控制台创建密钥并导入自带的密钥材料。详情请参见创建密钥
    • 使用已有自定义密钥时,需要注意以下几点:
      • 禁用密钥、设置密钥删除计划或者删除密钥材料都会造成密钥不可用。
      • 撤销授权关系后,重启PolarDB集群会导致PolarDB集群不可用。
      • 需要使用阿里云账号或者具有AliyunSTSAssumeRoleAccess权限的账号。
  • Q:如何管理TDE的自定义密钥?

    A:密钥默认是系统内置,由KMS管理。用户也可以自定义密钥,自定义密钥也可以在KMS中进行管理。详情请参见设置透明数据加密TDE

  • Q:如何配置SQL防火墙?

    A:PolarDB的Proxy提供了SQL防火墙功能,该功能通过设置黑白名单规则来识别需要放行和拦截的SQL语句。具体操作请参见设置黑名单规则

  • Q:已经开启TDE,数据都能被加密了吗?

    A:开启TDE后,您还需要登录数据库对MySQL的表进行DDL操作才能进行数据加密或者解密,不同内核版本的加密和解密操作存在差异。详情请参见设置透明数据加密TDE