25.7./etc/ipsec.secrets文件

该文件ipsec.secrets存储 pluto 守护进程用于验证两个网关之间通信的密钥。该文件中可以配置两种不同类型的密钥,即预共享密钥和 RSA 私钥。您必须检查此文件的模式和权限,以确保超级用户root拥有该文件,并且其权限设置为阻止其他用户的所有访问。

  1. 默认情况下,文件中提供了一个示例密钥。ipsec.secrets您应该通过创建自己的密钥来更改它。使用自动密钥时,您可以拥有一个最多 256 位的共享密钥,该密钥在密钥交换期间使用,以确保不会发生中间人攻击。要创建新的共享密钥,请使用以下命令
    [root@deep] /# ipsec ranbits 256  > temp
    
    新的随机密钥使用 ranbits(8) 实用程序在名为temp 的文件中创建。如果熵不足,ranbits 实用程序可能会暂停几秒钟。

    Caution

    完成操作后,不要忘记删除临时文件。

  2. 现在,我们的新共享密钥已在temp文件中创建,我们必须将其放入/etc/ipsec.secrets文件中。编辑ipsec.secrets文件时,您应该在文本编辑器中看到类似以下内容。每行都有两个网关的 IP 地址以及密钥。它应该看起来像这样
    # This file holds shared secrets which are currently the only inter-Pluto
    # authentication mechanism.  See ipsec_pluto(8) manpage.  Each secret is
    # (oversimplifying slightly) for one pair of negotiating hosts.
    
    # The shared secrets are arbitrary character strings and should be both
    # long and hard to guess.
    
    # Note that all secrets must now be enclosed in quotes, even if they have
    # no white space inside them.
    
    10.0.0.1 11.0.0.1         "jxVS1kVUTTulkVRRTnTujSm444jRuU1mlkklku2nkW3nnVu
    V2WjjRRnulmlkmU1Run5VSnnRT"
    
    

    1. 编辑 ipsec.secrets 文件,vi/etc/ipsec.secrets并更改默认密钥
      10.0.0.1 11.0.0.1  " jxVS1kVUTTulkVRRTnTujSm444jRuU1mlkklku2nkW3nnVu
      V2WjjRRnulmlkmU1Run5VSnnRT "
      
      以读取
      208.164.186.1 208.164.186.2 "0x9748cc31_2e99194f_d230589b_cd846b57_dc070b01_74b66f34_19c40a1a_804906ed"
      
      其中208.164.186.1208.164.186.2是两个网关的 IP 地址,而"0x9748cc31_2e99194f_d230589b_cd846b57_dc070b01_74b66f34_19c40a1a_804906ed" 请注意,引号是必需的 是我们上面使用命令生成的共享密钥ipsec ranbits 256 > temptemp文件中。

  3. 文件ipsec.confipsec.secrets必须复制到第二个网关机器,以便两端都相同。唯一的例外是ipsec.conf文件,如果第二个网关的接口设置与第一个网关不同,则该文件必须包含一个由 config setup 行标记的部分,其中包含第二个网关的正确接口设置。与ipsec.secrets文件相反,RSA 私钥,在两个网关上应该绝对具有相同的共享密钥。

Important: 该文件/etc/ipsec.secrets应具有权限rw-------(600) 并且应由超级用户root。该文件/etc/ipsec.conf安装时具有权限rw-r--r(644) 并且也必须由root。