strongSwan是一个开源的基于IPsec的VPN解决方案,ipsec.secrets是strongSwan的关键配置,文件保存了strongSwan IPsec子系统用于IKE身份验证的密钥表信息。这些密钥被strongSwan互联网密钥交换(Internet Key Exchange,IKE)守护程序pluto(IKEv1)和charon(IKEv2)用于验证其他主机。这些密钥必须被妥善保管,该文件应为超级用户所有,其权限应设置为阻止其他人的所有访问。

strongSwan的配置和控制信息配置保存在ipsec.conf文件中。

该文件是一系列条目和include指令。下面是一个例子。

# /etc/ipsec.secrets - strongSwan IPsec secrets file

192.168.0.1 %any : PSK "v+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL"

: RSA moonKey.pem

alice@strongswan.org : EAP "x3.dEhgN"

carol : XAUTH "4iChxLT3"

dave : XAUTH "ryftzG4A"

# 从其他文件中获取密钥

include ipsec.*.secrets

文件中的每个条目都是可选的ID选择器列表,后跟一个密钥。这两部分由一个冒号(:)分隔,冒号前后有空格。如果未指定ID选择器,则该行必须以冒号开头。

选择器可以是一个IP地址,一个完全限定的域名,user@FQDN,%any或%any6(可能会有其他种类)。

将ID与选择器匹配相当简单:它们必须相等。在“Road Warrior”连接的情况下,如果找不到对等体ID的相同匹配项,并且它是IP地址的形式,则%any的选择器将匹配对等体的IP地址(如果是IPV4),而%any6的选择器将匹配对等体的IP地址(如果是IPV6)。目前,可以使用过时的符号0.0.0.0代替%any。

在IKEv1中,在通过预共享密钥进行身份验证的情况下,会产生额外的复杂性:响应者需要在对等体的ID有效载荷被解码之前查找该密钥,因此使用的ID将是IP地址。

为了验证两台主机之间的连接,将使用与主机和对等体ID最匹配的条目。没有选择器的条目将匹配任何主机和对等体。更具体地说,如果选择器匹配主机ID(不考虑对等体),则带有一个选择器的条目将匹配主机和对等体。更具体地说,如果主机ID和对等体ID都与其中一个选择器匹配,则具有多个选择器的条目将与主机和对等体匹配。如果密钥用于非对称身份验证技术(即RSA等公钥系统),则具有多个选择器的条目将与主机和对等体匹配,即使只有主机ID与选择器匹配(假定选择器都是主机的身份)。只要两个条目在密钥或私钥方面达成一致,就可以将其视为最佳匹配。

通过预共享密钥进行身份验证需要两个系统都找到相同的密钥(该密钥实际上不是通过IKE协议传输的)。如果主机和对等体都出现在选择器列表中,那么相同的条目将适用于两个系统,因此可以在系统之间使用逐字复制。这自然会延伸到分享相同密钥的更大群体。因此,多个选择器条目最适合PSK身份验证。

RSA等公钥系统的身份验证要求每个主机都有自己的私钥。主机可以合理地为不同的接口和不同的对等体使用不同的私钥。但在系统之间共享条目是不正常的。因此,没有选择器和一个选择器形式的条目通常对公钥身份验证有意义。

条目的密钥部分必须以指示密钥类型的令牌开头。目前支持以下类型的加密凭证:

PSK定义了一个预共享密钥;

RSA定义一个RSA私钥;

ECDSA定义ECDSA私钥;

P12定义了一个PKCS#12容器;

EAP定义EAP凭据;

NTLM定义NTLM凭据;

XAUTH定义XAUTH凭据;

PIN定义智能卡PIN。

下面给出了每种密钥的详细信息。

行尾的空格将被忽略。在行首或空格后,#到行尾的文本被视为注释。

include指令会导致在继续处理当前文件之前处理命名文件的内容。文件名受sh命令中的“globbing”约束,因此每个具有匹配名称的文件都会被处理。include可以嵌套到适当的深度(目前为10)。如果文件名不是以/开头,则包含当前文件的目录将在名称前面。include指令是一行,以单词include开头,后跟空格,后跟文件名(不能包含空格)。

密钥类型

[ <selectors> ] : PSK <secret>

预共享密钥可以最方便地表示为一个字符序列,该序列由双引号字符(“)分隔。该序列不能包含换行符或双引号字符。

或者,预共享的密钥可以表示为十六进制或Base64编码的二进制值。以0x开头的字符序列被解释为十六进制数字序列。类似地,以0开头的字符序列被解释为Base64编码的二进制数据。

: RSA <private key file> [ <passphrase> | %prompt ]

: ECDSA <private key file> [ <passphrase> | %prompt ]

对于私钥文件,接受绝对路径或相对于/etc/strongswan/ipsec.d/private的路径。如果私钥文件已加密,则必须定义密码短语。可以使用%prompt来代替密码短语,这会导致后台程序在需要解密密钥时询问用户密码。

: P12 <PKCS#12 file> [ <passphrase> | %prompt ]

对于PKCS#12文件,接受绝对路径或相对于/etc/strongswan/ipsec.d/private的路径。如果容器已加密,则必须定义密码短语。可以使用%prompt来代替密码短语,这会导致后台程序在需要解密容器时向用户询问密码。私钥、客户端和CA证书都是从容器中提取的。要在连接中使用这样的客户端证书,请将leftid设置为证书的主题之一。

<user id> : EAP <secret>

密钥的格式与PSK密钥的格式相同。

EAP密钥仅适用于IKEv2。

<user id> : NTLM <secret>

secret的格式与PSK secrets的格式相同,但该密钥存储为NTLM哈希,即MD4(UTF-16LE(secret)),而不是明文。

NTLM密钥只能与eap-mschapv2插件一起使用。

[ <servername> ] <username> : XAUTH <password>

密码的格式与PSK密钥相同。XAUTH的密钥仅限于IKEv1。

: PIN %smartcard[<slot nr>[@<module>]]:<keyid> <pin code> | %prompt

智能卡选择器始终需要keyid来唯一选择正确的密钥。插槽号定义了令牌上的插槽,模块名称指的是strongswan.conf中定义的模块名称。可以指定%prompt,而不是静态地指定pin码,这会导致守护进程向用户请求pin码。

strongSwan之ipsec.secrets配置手册相关推荐

  1. strongswan之ipsec.conf配置手册

    ipsec.conf是strongSwan的关键配置,文件指定了strongSwan IPsec子系统的大部分配置和控制信息.主要的例外是身份验证的密钥,配置保存在ipsec.secrets文件中. ...

  2. strongSwan:ipsec.secrets - 用于IKE/IPsec身份验证的机密

    文件描述 文件ipsec.secrets包含一个机密表.这些机密被StrongSwan的网络密钥交换(IKE)守护程序pluto(IKEv1)和charon(IKEv2)使用,来验证其他主机. 保护这 ...

  3. 基于Strongswan的IPSec部署

    1. 简介 ​ IPSec全称Internet Protocol Security,是通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议集,IPSec的主要用途之一就是建立虚拟专用网络. ...

  4. strongSwan:ipsec.conf – IPsec 的配置和连接

    配置文件描述 可选的ipsec.conf文件指定了strongSwan IPsec子系统的大多数配置和控制信息. 主要的例外是身份验证的机密:见ipsec.secrets(5).其内容不是安全敏感的. ...

  5. StrongSwan安装部署、配置使用方法总结

    StrongSwan官网:https://www.strongswan.org/ 下载地址:https://www.strongswan.org/download.html 一.StrongSwan安 ...

  6. strongswan 搭建 IPSec 实验环境

    使用两个CentOS7虚拟机,基于strongswan搭建IPSec VPN实验环境,通过是否配置加密算法,达到产生正常和非正常ESP数据包的目的.本篇为自己填坑记录. 目录 1.准备两个CentOS ...

  7. Juniper 防火墙简明配置手册

    Juniper SRX防火墙简明配置手册  SRX系列防火墙是Juniper公司基于JUNOS操作系统的安全系列产品,JUNOS集成了路由.交换.安全性和一系列丰富的网络服务.目前Juniper公司的 ...

  8. VS code 插件配置手册

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 VS code 插件配置手册 C/C++ Tools插件---C/ ...

  9. 03-2 BGP专有命令--BGP命令与配置手册

    Technorati 标签: BGP,配置,CCIE,CCNP,实验 该文档涉及的命令有: bgp fast-external-fallover bgp cluster-ID x.x.x.x/xxxx ...

  10. F5负载均衡配置手册-实操后的

    这是可以使用的F5 配置手册对于小白十分好用 转载于:https://blog.51cto.com/huagongxiaodi/1878088

最新文章

  1. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用
  2. 区块链第二层扩容方案Plasma和Rollups
  3. 坦白讲!做 Java 工程师,挺好!
  4. shell input value from console
  5. 安装MySql出现Error Nr.1045的解决办法
  6. 程序员修神之路--分布式系统使用网关到底是好还是坏?
  7. python 使用requests模块进行 视频文件的下载
  8. 单例模式到Java内存模型
  9. 阿里电商架构演变之路(二)
  10. AI ProCon 2020第一天:40+大厂专家共话AI技术应用下一个十年!
  11. 线上不修改mysql的存储引擎对emoji标签做删除处理(PHP)
  12. zipfian 参数是什么 Zipfian distribution 齐夫定律
  13. 怎样让网站显示在 Google 搜索结果中?
  14. linux下mysql定时备份
  15. SRCNN-pytoch代码讲解
  16. 初中计算机excel考试系统,基于Excel构建计算机考试系统
  17. excel工具栏隐藏了怎么办_办公丨Excel表格新手入门基本操作技巧
  18. HFSS和CST电磁仿真的硬件选型指南(纯个人经验)
  19. 二十多个免费高清图片素材网站送给你
  20. python金融量化分析 | 闲杂笔记

热门文章

  1. 七段数码管显示原理研究
  2. Linux:进程(一)
  3. 太励志!考研哈工大高数39分,但逆袭成为院士,做出诺奖级发现
  4. 程序人生|毕业一年有感
  5. 【踩坑】解决springboot注入yml配置文件 list报错
  6. DOJO Dijit布局
  7. 假设检验、显著性水平α、P值、置信区间
  8. GIS方法类期刊和论文的综述(Introduction)怎么写?
  9. 音频采集 via Media Foundation
  10. 今天,IT女神们是怎么度过的(文末送礼品)