配置安全协议和密码 - Amazon Relational Database Service

配置安全协议和密码

您可以使用数据库参数打开和关闭某些安全协议和密码。您可以配置的安全参数(TLS 版本 1.2 除外)如下表所示。

数据库参数 允许的值(默认值以粗体显示) 描述
rds.tls10 默认值,启用,禁用 TLS 1.0。
rds.tls11 默认值,启用,禁用 TLS 1.1。
rds.tls12 默认值 TLS 1.2。您无法修改此值。
rds.fips 0, 1

将参数设置为 1 时,RDS 会强制使用符合美国联邦信息处理标准 (FIPS) 140-2 标准的模块。

有关详细信息,请参阅 Microsoft 文档中的 Use SQL Server 2016 in FIPS 140-2-compliant mode(在 FIPS 140-2 合规模式下使用 SQL Server 2016)。

rds.rc4 默认值,启用,禁用 RC4 流密码。
rds.diffie-hellman 默认值,启用,禁用 Diffie-Hellman key-exchange 加密。
rds.diffie-hellman-min-key-bit-length 默认值,1024,2048,4096 Diffie-Hellman 密钥的最小位长度。
rds.curve25519 默认值,启用,禁用 Curve25519 elliptic-curve 加密密码。并非所有引擎版本都支持此参数。
rds.3des168 默认值,启用,禁用 具有 168 位密钥长度的三重数据加密标准 (DES) 加密密码。
注意

对于 16.00.4120.1、15.00.4365.2、14.00.3465.1、13.00.6435.1 和 12.00.6449.1 之后的次要引擎版本,数据库参数 rds.tls10rds.tls11rds.rc4rds.curve25519rds.3des168 的默认设置处于禁用状态。否则,默认设置为启用

对于 16.00.4120.1、15.00.4365.2、14.00.3465.1、13.00.6435.1 和 12.00.6449.1 之后的次要引擎版本,rds.diffie-hellman-min-key-bit-length 的默认设置为 3072。否则,默认设置为 2048。

使用以下过程配置安全协议和密码:

  1. 创建自定义数据库参数组。

  2. 修改参数组中的参数。

  3. 将数据库参数组与数据库实例相关联。

有关数据库参数组的更多信息,请参阅 使用参数组

创建安全相关的参数组

为与 SQL Server 版本和数据库实例版本相对应的安全相关参数创建参数组。

以下过程为 SQL Server 标准版 2016 创建一个参数组。

创建参数组
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 选择创建参数组

  4. 创建参数组窗格中,执行以下操作:

    1. 对于参数组系列,选择 sqlserver-se-13.0

    2. 对于组名称,输入参数组的标识符,如 sqlserver-ciphers-se-13

    3. 对于描述,输入 Parameter group for security protocols and ciphers

  5. 选择创建

以下过程为 SQL Server 标准版 2016 创建一个参数组。

创建参数组
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-parameter-group \ --db-parameter-group-name sqlserver-ciphers-se-13 \ --db-parameter-group-family "sqlserver-se-13.0" \ --description "Parameter group for security protocols and ciphers"

    对于 Windows:

    aws rds create-db-parameter-group ^ --db-parameter-group-name sqlserver-ciphers-se-13 ^ --db-parameter-group-family "sqlserver-se-13.0" ^ --description "Parameter group for security protocols and ciphers"

修改安全相关参数

修改与 SQL Server 版本和数据库实例版本对应的参数组中的安全相关参数。

以下过程修改您为 SQL Server 标准版 2016 创建的参数组。此示例关闭 TLS 版本 1.0。

修改参数组
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 选择参数组,例如 sqlserver-ciphers-se-13

  4. 参数下,从参数列表中筛选 rds

  5. 选择编辑参数

  6. 选择 rds.tls10

  7. 对于,选择已禁用

  8. 选择 Save changes(保存更改)

以下过程修改您为 SQL Server 标准版 2016 创建的参数组。此示例关闭 TLS 版本 1.0。

修改参数组
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds modify-db-parameter-group \ --db-parameter-group-name sqlserver-ciphers-se-13 \ --parameters "ParameterName='rds.tls10',ParameterValue='disabled',ApplyMethod=pending-reboot"

    对于 Windows:

    aws rds modify-db-parameter-group ^ --db-parameter-group-name sqlserver-ciphers-se-13 ^ --parameters "ParameterName='rds.tls10',ParameterValue='disabled',ApplyMethod=pending-reboot"

将安全相关参数组与您的数据库实例关联

要将参数组与数据库实例关联,请使用 AWS Management Console或 AWS CLI。

您可以将参数组与新的或现有的数据库实例关联:

您可以将参数组与新的或现有的数据库实例关联。

使用参数组创建数据库实例
  • 指定在创建参数组时使用的相同数据库引擎类型和主要版本。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 13.00.5426.0.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --db-parameter-group-name sqlserver-ciphers-se-13

    对于 Windows:

    aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 13.00.5426.0.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --db-parameter-group-name sqlserver-ciphers-se-13
    注意

    作为安全最佳实践,请指定除此处所示提示以外的密码。

修改数据库实例并关联参数组
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --db-parameter-group-name sqlserver-ciphers-se-13 \ --apply-immediately

    对于 Windows:

    aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --db-parameter-group-name sqlserver-ciphers-se-13 ^ --apply-immediately