是否有一种通用方法可以确保与服务的任何连接都经过加密?我的意思是,您可以使用 HTTP 用于网络、SFTP 用于文件传输、SSMTP 用于邮件等。但是,有没有办法确保任何服务都通过加密连接进行通信?有点像隧道,但是是服务器端的。
我认为 VPN 是一种选择,但可能还有其他选择,有什么建议吗?
我目前在 Wireshark 中解密 IMAPS 流量时遇到问题。我使用正确的 IP 地址、端口 993 和协议设置了 SSL 密钥imap。钥匙是正确的。
这就是我在 SSL 日志中看到的内容:
dissect_ssl enter frame #136 (already visited)
conversation = 0x7fdb633e83f8, ssl_session = (nil)
record: offset = 0, reported_length_remaining = 229
dissect_ssl3_record: content_type 23
association_find: TCP port 59182 found (nil)
association_find: TCP port 993 found 0x7fdb77125e80
Run Code Online (Sandbox Code Playgroud)
另外,Wireshark 在TLSv1包中向我显示,现在应该有 IMAP 数据,但当我执行“遵循 SSL 流”时,我看不到任何内容。
SSL 包如下所示:
0000 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 08 00 ........ ........
0010 …Run Code Online (Sandbox Code Playgroud) 我看到存储 Apache 自签名 SSL 证书的不同位置。
在什么情况下应该使用哪一个?
我正在两台服务器之间移动。在第一台服务器上,我生成了 .key 证书,并提交了 csr 代码以从 Comodo 购买证书。
Comodo 给了我链文件和证书,我将其安装在第一台服务器上。
现在,我要转移到另一台服务器,我的问题是:由于我没有在第二台服务器上生成 .key 文件,如果我只是将 3 个证书文件从服务器 1 复制并粘贴到服务器 2,我的 SSL 是否可以工作?
或者我是否需要使用第二台服务器生成密钥文件,然后再次购买第二台服务器的证书?
编辑:证书用于域,我已经在 AWS 上设置了托管区域,最后一步是简单地更改名称服务器。
我有一个来自 Let's Encrypt 的网站 (*.storyfortwo.com) 的通配符证书。
当我访问 http://storyfortwo.com或http://www.storyfortwo.com(无 SSL)时,它们都被重定向到https://www.storyfortwo.com并且加载正确。
在https://www.storyfortwo.com(带有 WWW)上一切都很好。
当我访问https://storyfortwo.com(没有 WWW)时,它给我 ERR_CERT_COMMON_NAME_INVALID 错误。
我将 Apache2 (2.4.29) 与 VirtualHost 文件一起使用:
<VirtualHost *:80>
ServerName storyfortwo.com
ServerAlias www.storyfortwo.com
DocumentRoot /var/www/storyfortwo.com/www
# Redirect Requests to SSL
Redirect permanent / https://www.storyfortwo.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
和
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName storyfortwo.com
ServerAlias www.storyfortwo.com
DocumentRoot /var/www/storyfortwo.com/www
ErrorLog ${APACHE_LOG_DIR}/storyfortwo.com.error.log
CustomLog ${APACHE_LOG_DIR}/storyfortwo.com.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/storyfortwo.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/storyfortwo.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/storyfortwo.com/chain.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /var/www/storyfortwo.com/www>
SSLOptions …Run Code Online (Sandbox Code Playgroud) 我有一个cloudera管理的Hadoop集群,我在所有服务器上安装了SSL证书。不幸的是,服务器上的主机名与通过 dns 配置的主机名不同。
当运行 hostname -f 时,它给出: server1.x 但是当我从客户端计算机执行 nslookup 时,我得到: server1.xy
显然,从浏览器访问 server1.xy 会出现身份错误,因为它只信任 server1.x 我想知道是否可以在主题备用名称中添加 server1.xy 并且浏览器会开始信任该证书吗?
我正在尝试解析 SSL 客户端的一些输出,以检查一组服务器是否具有有效的证书。我正在查看该命令的输出:
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -subject -dates
Run Code Online (Sandbox Code Playgroud)
我注意到 Let's Encrypt 颁发的通配符证书仅在“主题”字段中列出“CN = example.com”,而其他 CA 颁发的通配符证书则使用“CN = *.example.com”
这是正常的吗?是否会有一些在“主题”字段中列为“CN = example.com”的证书,这些证书不是通配符,如果我尝试打开“subdomain.example.com”,这些证书会在浏览器中中断?
或者是否有更好的方法来验证命令行上的证书是否适用于正确的域?
谢谢。
我猜测 certbot 必须作为 Linux 上持续运行的服务运行,但是在使用psLet's Encrypt 证书自动续订的服务器上使用时,我没有看到 certbot 的任何明显过程。如果运行成功,certbot 是否有一个中央进程?如果有,它是什么?
apt-cache policy certbot | grep Installed在我的例子中,我可以找到带有 - 的版本0.25.0-1~bpo9+1
我有一个 apache 网络服务器,其公共 IP 地址为 xxxx
我购买了域名 somename.com
我的管理员已将 IP 地址映射到域名。
我有一个为域名颁发的 SSL 证书,并且该证书安装在 Web 服务器上。
当用户(浏览器)输入 Web url 时,请求将转到 IP 地址(Web 服务器,通过 DNS 服务器)。Web 服务器将响应用户(浏览器)。
但SSL证书只映射到域名,而不是IP地址。那么针对域名颁发SSL证书时,如何映射到服务器IP呢?
ssl ×10
apache2 ×2
apache-2.2 ×1
apache-2.4 ×1
certbot ×1
certificate ×1
encryption ×1
https ×1
imap ×1
lets-encrypt ×1
linux ×1
openssl ×1
security ×1
sniffing ×1
wireshark ×1