赞
踩
(1) IPSec对等体连接完毕后在服务器输入 sudo ip xfrm state 可以看到源地址到目的地址的SPI值,加密/认证算法、加密/认证密钥等。
(2) Wireshark点击ESP报文协议首选项 -》选择ESP字段-》点击ESP SAs -》 添加两条IPv4协议的解密规则,输入两个方向的SPI值,选择加密/认证算法,加密/认证密钥,点击OK即可。
(1)ISAKMP报文加密密钥需要在服务器Strongwan的日志中查看,默认的存放在/var/log/syslog中,但不会显示加密密钥,需要手动设置日志路径,并把日志等级设置为4.
修改strongwan配置文件,/etc/strongwan.conf 内容如下:
charon { load_modular = yes plugins { include strongswan.d/charon/*.conf } filelog { charon { path = /var/log/charon.log # add a timestamp prefix time_format = %b %e %T # prepend connection name, simplifies grepping ike_name = yes # overwrite existing files append = no # increase default loglevel for all daemon subsystems default = 4 # flush each line to disk flush_line = yes } stderr { # more detailed loglevel for a specific subsystem, overriding the # default loglevel. ike = 2 knl = 3 } } }
default定义的是日志的级别,默认日志级别为:-1,0,1,2,3,4,-1是完全没有日志,
0只告诉你建立连接,连接关闭;
1只输出错误提示,
2会输出错误,警告和调试信息;
3会把连接传输的数据也打印;
4则会把密钥内容这些敏感数据也打印。
(2)如果在Ubuntu运行 sudo ipsec restart 后未生成 /var/log/charon.log 这个文件(我在运行时就遇到过),那么极有可能是apparmor配置导致日志文件无法读写,可以在 /var/log/syslog 中找到类似这种打印:
buntu kernel: [ 2250.553437] audit: type=1400 audit(1524560552.427:182): apparmor="DENIED" operation="mknod" profile="/usr/lib/ipsec/charon" name="/var/log/strongswan.log" pid=4557 comm="charon" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
这是由于在Ubuntu中使用了apparmor配置,需要在相应配置文件中修改相应文件权限控制。
参考文章:Ubuntu由于apparmor配置导致日志文件无法读写
解决方法:
1. 修改apparmor配置
sudo vim '/etc/apparmor.d/usr.lib.ipsec.charon'
大括号中其他文件权限配置之后,添加(前面的内容为定义的log文件的路径,后面的是分配的权限),
由于我在strongswan.conf中filelog的路径配置的为/var/log/charon.log,
因此我配置的权限如下:
/var/log/charon.* rwk,
2. 重载apparmor
sudo /etc/init.d/apparmor reload
3.重启strongswan(IPSec)
sudo ipsec restart
(3)IPSec对等体连接建立完毕后,或者抓包时能看到ISAKMP交互的几个过程报文后,就可在日志文件中找到 encryption key 字段,复制其后面的16进制数据(F5-6C这一段)
(4)Wireshark在ISAKMP报文中复制Initiator SPI,并将其和 encryption key 配置到协议首选项中,点击OK即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。