我正在为 Intranet 创建一个证书颁发机构。
我已经生成了根和中间 CA,并使用中间 CA 成功签署了服务器证书。服务器证书具有CN=mysite.com
.
将来,此服务器证书将过期,我将需要颁发一个新证书。但是,如果我创建另一个相同的 CSR,CN=mysite.com
那么当我签署它时,我会得到
failed to update database
TXT_DB error number 2
Run Code Online (Sandbox Code Playgroud)
如果我用不同的 CN 创建一个新的 CSR,这个错误就会消失,但 CN 必须相同,否则浏览器不会说它有效,对吧?
我该如何解决?
编辑:我正在遵循本指南——在链接页面结束之前一切都很好,但是当我尝试重复此页面上的步骤以创建第二个证书时,openssl 要求我为新证书提供不同的 CN。
SUBJ="/C=$C/ST=$ST/L=$L/O=$O/OU=$OU/CN=$CN"
# Generate CSR
echo "$PW" | openssl req \
-config "$CAROOT/intermediate/openssl.cnf" \
-new -sha256 -subj "$SUBJ" -passin stdin \
-key "$PRIV_ENC" -out "$CSR_INT" >/dev/null 2>&1 ||
{
>&2 echo "Could not openssl req";
exit 1;
}
# Sign CSR
openssl ca \
-config "$CAROOT/intermediate/openssl.cnf" …
Run Code Online (Sandbox Code Playgroud) certificate openssl pki ssl-certificate certificate-authority
我对这个问题的答案并不满意:
$> sudo semanage port -d -p tcp -t foo...
ValueError: Port foo is defined in policy, cannot be deleted
Run Code Online (Sandbox Code Playgroud)
接受的答案是
SELinux 策略包括端口的定义...无需删除它们。
无需删除它们。好吧,但我还是想删除它们——我希望端口的 SELinux 可用性与端口的实际可用性相匹配,只是为了保持一致性。
如何获取semanage port -d
策略中定义的端口?(在我的例子中,ssh。)
我已经为我在 localhost 上运行的网站安装了自签名 SSL 证书。对于 SSL 和非 SSL 版本,到达浏览器的数据似乎是完整且正确的,但我收到了很多 apache 错误输出,这似乎表明情况并非如此。
当我点击刷新时,我立即在日志中得到了几行
AH01964: Connection to child 0 established
Run Code Online (Sandbox Code Playgroud)
子 2、6、4 等也可能出现,没有特定的顺序。
在接下来的几秒钟内,我得到了其中的几个
(70014)End of file found: [client 127.0.0.1:32839] AH01991: SSL input filter read failed.
[client 127.0.0.1:32840] AH01382: Request header read timeout
Run Code Online (Sandbox Code Playgroud)
我认为这些行的多样性是由于脚本、css 等原因,因为如果我转到“查看源代码”并刷新该窗口,我会得到其中之一
AH01964: Connection to child 4 established
Run Code Online (Sandbox Code Playgroud)
……没有别的。所有这一切只发生在 https 连接上。http 的日志是静默的。
是什么其实错了吗?我再说一遍,内容似乎完全正确地提供了,这似乎与日志中的“读取失败”和“超时”语言相矛盾。这些错误只是噪音还是我必须修复某些东西?
如果它们只是无害的噪音,我该如何关闭它们?
这是我如何设置一切。(我从各种教程中分段获得了这个过程,但没有完全理解它。)
在 /etc/hosts 我有
127.0.0.1 x.com
Run Code Online (Sandbox Code Playgroud)
我通过以下脚本创建了一个自签名 ssl 证书
openssl genrsa -des3 -out x.com.key 2048
openssl req -new -key x.com.key …
Run Code Online (Sandbox Code Playgroud) 我正在探索 CentOS 作为托管多个服务器(邮件、网络、数据库等)的可能性。每台机器都有一个目的,安全是重中之重。
在第一次安装时,我遇到了这个:
此处提供了有关这些政策的信息,但内容有点多。此外,如果你深入研究它,你会看到类似的东西
为确保系统可以加密验证来自 Red Hat 的基本软件包(并连接到 Red Hat Network 以接收它们),必须正确安装 Red Hat GPG 密钥。
大概并不是所有这些东西都可以准确地转换为 CentOS,但我是 Ubuntu 用户,所以我并不真正了解等效的程度。
似乎这些安全配置文件是出于法律合规性、审计和业务问题而创建的,而不是根据安全性本身进行严格定义。
“我不确定我在做什么,但现在我想成为偏执狂”的最佳选择是什么?
除了具有单一功能的每个服务器实例外,它们还将是具有 ssh 访问权限的非图形终端。
apache-2.2 ×1
centos ×1
certificate ×1
openscap ×1
openssl ×1
pki ×1
redhat ×1
security ×1
selinux ×1
ssl ×1