标签: ssl

自签名 SSL 证书安全吗?

我想有一个安全的连接,当我登录到我的 webmail、phpMyAdmin等时。

因此,我使用 OpenSSL 签署了自己的 SSL 证书,并告诉 Apache 侦听端口 443。

这实际上安全吗?我的所有密码是否真的通过安全可靠的层发送?如果我从Verisign购买 SSL 证书或签署我自己的证书,这有什么区别?在一天结束时,无论如何所有数据都将在我的服务器上。那么最大的区别是什么?

security ssl certificate openssl

34
推荐指数
3
解决办法
8215
查看次数

SSL 例程:SSL23_WRITE:ssl 握手失败

我正在尝试使用 OpenSSL 连接到 SSL 服务器。

当我运行时:

openssl s_client -connect myhost.com:443
Run Code Online (Sandbox Code Playgroud)

以下 SSL 客户端配置工作正常:

  • 窗户 ( OpenSSL 0.9.83e 23 Feb 2007)
  • Linux ( OpenSSL 0.9.8o 01 Jun 2010)
  • Linux ( OpenSSL 1.0.0-fips 29 Mar 2010)

任何成功连接的输出如下所示:

New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DES-CBC3-SHA
    Session-ID: (hidden)
    Session-ID-ctx:
    Master-Key: (hidden)
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK …
Run Code Online (Sandbox Code Playgroud)

ssl openssl

34
推荐指数
1
解决办法
9万
查看次数

限制 Apache 只允许使用 SSL 访问某些目录

我有一个带有 SSL 证书的 Apache 2.2 服务器,它托管了几个只能使用 SSL 访问的服务。

即:https://myserver.com/topsecret/应该被允许,而http://myserver.com/topsecret/应该被拒绝,或者理想情况下,重定向到 https。 http://myserver.com/public不应该有这个限制,并且应该使用 http 或 https 工作。
允许/拒绝 http 的决定是在顶级目录中做出的,并影响其下的所有内容。

是否有可以在 Apache 配置中放置的指令以这种方式限制访问?

ssl https apache-2.2

34
推荐指数
2
解决办法
8万
查看次数

在 IIS8 上设置默认 SSL 站点

我在 IIS8 上设置了几个网站,所有网站都使用相同的通配符 SSL 证书。某些站点需要旧版浏览器和操作系统才能访问,因此我无法使用“需要服务器名称指示”选项。

由于并非所有设备都支持 SNI,因此 IIS 显示以下警报:

“尚未创建默认 SSL 站点。为了支持没有 SNI 功能的浏览器,建议创建默认 SSL 站点。”

如何创建默认 SSL 站点?我找到的最接近的文章不是很清楚,我有一种感觉,必须有一个更简单的解决方案。

服务器详细信息:Windows Server 2012、IIS8、一个外部 IP 地址

ssl sni iis-8

34
推荐指数
1
解决办法
9万
查看次数

SSL 证书可以在文件中的一行中吗(没有换行符)?

默认情况下,SSL 证书在 67 个字符后有换行符。我正在尝试使用 Chef 创建 SSL 证书文件。本质上,我想从没有任何换行符的字符串变量中创建整个证书文件。我已经尝试了几次都无济于事(Apache 抱怨无法找到证书)。

我不明白为什么需要在 SSL 证书中换行。如果可以在文件中没有任何换行符的情况下获得证书,有什么想法吗?

linux ssl mod-ssl ssl-certificate apache-2.2

34
推荐指数
3
解决办法
6万
查看次数

nginx 权限拒绝为 ssl 配置证书文件

我正在我的 Fedora 服务器上安装一个 nginx ssl 代理。

我在 /etc/nginx.conf 下创建了一个证书和密钥对。它们看起来像这样:

ls -l /etc/nginx/
total 84
...
-rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt
-rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key

...
Run Code Online (Sandbox Code Playgroud)

作为 root,我正在尝试启动 nginx 服务:

systemctl start nginx.service
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

nginx[30854]: nginx: [emerg]
SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed (SSL: error:0200100D:system     library:fopen:Permission denied...e:system lib)
nginx[30854]: nginx: configuration file /etc/nginx/nginx.conf test failed
Run Code Online (Sandbox Code Playgroud)

这些文件的权限有问题吗?

ssl nginx ssl-certificate

33
推荐指数
2
解决办法
6万
查看次数

查看立即重定向到另一个页面的 SSL 证书

所以我为此搜索了很多,但似乎我的 google-fu 失败了 - 如果这是一个微不足道且已经回答的问题,我很抱歉,我找不到任何关于此的信息

我正在尝试诊断 SSL 证书主机名不匹配。当我访问有问题的 url 时,它会将我重定向到另一个具有正确 SSL 证书的页面。但是,一些客户端报告他们收到 SSL 证书主机名不匹配错误。我唯一的假设是重定向页面有错误的证书,并且一些客户端让它滑动,因为它使用具有正确证书的新页面解析。

(问题的方式和原因并不是真正的问题)

问题:

从外到内(又名,作为世界上的客户) - 如何查看由自动重定向到另一个页面的页面提供的证书?

ssl ssl-certificate 301-redirect

33
推荐指数
3
解决办法
1万
查看次数

IIS 7 仍在提供旧的 SSL 证书

我在 IIS7 中安装了一个新的 SSL 证书,删除了旧证书并设置了新证书的绑定 - 所以 https 现在只绑定到新证书。

我重新启动了 IIS7(以及 Windows 2008 Server 本身)并使用以下命令检查了证书:

netsh http show sslcert
Run Code Online (Sandbox Code Playgroud)

正如我所料,这仅显示了新证书

certutil -store MY
Run Code Online (Sandbox Code Playgroud)

正如我所料,这也只显示了新证书而不是旧证书

我还打开了 mmc 并检查了那里的证书,我只看到了新的而不是旧的。

我也在使用具有管理员权限的帐户。

但是 - 当我打开浏览器(从任何计算机)并转到 https 站点时,它仍在使用旧证书。即使我从浏览器中删除旧证书,它仍然会发送旧证书而不是新证书。

谁能帮我弄清楚我哪里出错了?旧的幻象证书如何驱除?

windows-server-2008 ssl iis-7

32
推荐指数
2
解决办法
6万
查看次数

SSL 和 TLS 差异的功能含义

我知道 TLS 本质上是 SSL 的更新版本,并且它通常支持将连接从不安全转换为安全(通常通过 STARTTLS 命令)。

我不明白的是为什么 TLS 对 IT 专业人员很重要,为什么我会选择一个而不是另一个。TLS 真的只是一个较新的版本,如果是,它是否是兼容的协议?

作为 IT 专业人员:我什么时候使用哪个?我什么时候不使用哪个?

security ssl tls

31
推荐指数
4
解决办法
1万
查看次数

SSL & Ngnix:在 SSL 握手时监听 SSL 端口的服务器中没有定义“ssl_certificate”

我已经成功地使用 LE 创建了我的证书,没有错误,我还设法将我的流量从端口 80 重定向到端口 443。但是当我重新加载我的 nginx 服务器时,我无法访问我的网站。Ngnix 错误日志显示这一行:

4 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.0.104, server: 0.0.0.0:443
Run Code Online (Sandbox Code Playgroud)

我认为这意味着它找不到我然后导航到证书路径的证书,它们都在那里,可能是什么问题?这是我的 Ngnix 配置的样子:

server {
       listen         80;
       server_name    pumaportal.com www.pumaportal.com;
       return         301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;

    server_name pumaportal.com www.pumaportal.com;

    add_header Strict-Transport-Security "max-age=31536000";

    ssl_certificate /etc/letsencrypt/live/pumaportal.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/pumaportal.com/privkey.pem;

    ssl_stapling on;
    ssl_stapling_verify on;

    access_log /var/log/nginx/sub.log combined;

    location /.well-known {
       alias /[MY PATH]/.well-known;
    }

    location / {
        proxy_pass http://localhost:2000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx lets-encrypt

31
推荐指数
3
解决办法
6万
查看次数