如何在 Apache 中记录客户端的 HPKP 错误?

如何在 Apache 中记录客户端的 HPKP 错误?

是否可以在 Apache 中记录客户端的 HPKP 错误?这似乎可以在error_log或中记录ssl_request_log,但即使我设置了LogLevel debug,我也看不到任何有关固定错误的信息。我遗漏了什么吗?

答案1

使用report-uri

在 Apache 中使用它:

Header always set Public-Key-Pins "report-uri=\"http://example.site/pkp-report.pl\" pin-sha256=\"<EXAMPLEPIN>\";  max-age=5184000; includeSubDomains"

Perl 脚本只是将 POST 数据重定向到日志文件:

#!/usr/bin/perl

use strict;
use warnings;

use CGI;

open(my $outfh, ">>", "report-uri.txt") || die "can't open log file: $!";

while (<>) {
   print $outfh $_;
}

close($outfh);

print header();

对于 HPKP,http://example.site/pkp-report.pl必须与使用 HPKP 的 HTTPS 站点不同。对于 CSP 报告,可以相同。

相关内容