我正在尝试设置一个 apache-ubuntu-php 网络服务器。我的网络服务器将托管多个 SSL 站点,每个 SSL 站点都有自己的 IP 地址(除非有更好的方法来做到这一点)。
所以我想第一步是让 apache 识别至少两个不同的 IP 地址。现在,我有一个网站的 SSL 和非 SSL 版本,分别是http://mysite.com和https://mysite.com。尽管两者目前都在我的服务器上运行,但我无法让两者都使用不同的 IP 地址。现在,两者都使用 IP 1.1.1.1。我购买了第二个 IP 地址 2.2.2.2,但https://mysite.com不接受它,firefox 抱怨错误“ssl_error_rx_record_too_long”。这是我的 2 个 vhost 文件
/etc/apache2/site-enabled/000-default
#NameVirtualHost 1.1.1.1:80
#<VirtualHost 1.1.1.1:80>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order …Run Code Online (Sandbox Code Playgroud) 我试图说服客户为需要登录的网站支付 SSL 费用。我想确保我正确理解了有人可以看到正在发送的密码的主要场景。
我的理解是,在沿途的任何跃点都可以使用数据包分析器来查看正在发送的内容。 这似乎要求任何黑客(或他们的恶意软件/僵尸网络)与数据包到达目的地所需的任何跃点位于同一子网上。那正确吗?
假设这个子网要求的某种风格成立,我需要担心所有的跃点还是只需要担心第一个?第一个我显然可以担心它们是否在公共 Wifi 网络上,因为任何人都可能在监听。我是否应该担心数据包将在此之外传输的 子网中发生了什么? 我对网络流量一无所知,但我认为它流经主要运营商的数据中心,并且那里没有很多多汁的攻击媒介,但如果我错了,请纠正我。
除了使用数据包分析器收听的人之外,还有其他需要担心的向量吗?
我是一个网络和安全新手,所以如果我在其中使用了错误的术语,请随时纠正我。
我想在 haproxy 1.4 前面放置 stunnel 来处理 HTTPS 流量。我还需要 stunnel 添加X-Forwarded-For标头。这可以通过 haproxy 网站上的“stunnel-4.xx-xforwarded-for.diff”补丁来实现。
但是,描述中提到:
请注意,此补丁不适用于 keep-alive,...
我的问题是:这对我来说在实践中意味着什么?我不确定,
我有特权每周处理约 5 个 SSL CSR,在将它们传递给我们的 CA 采取行动之前检查它们的有效性。我在 Ubuntu 机器上使用 OpenSSL 来检查它们是否有效,测试诸如正确的 OU 名称、合理的 CN、密钥大小 >=2048 位等,因为我们的请求有时不正确。
前几天我收到了来自 IIS7 机器的续订请求。我根本不知道如何使用 OpenSSL 来阅读它。它是有效的,因为我的 CA 已经接受了它......
'file(1)' 说它是一个“RFC1421 安全证书签名请求文本”,这就是我这里大约 50% 的 CSR 所说的(其余是“PEM 证书请求”)。
$ head iis7rcsr
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIQsQYJKoZIhvcNAQcCoIIQojCCEJ4CAQExCzAJBgUrDgMCGgUAMIIJegYJKoZI
hvcNAQcBoIIJawSCCWcwggljMIIIzAIBADCB2zELMAkGA1UEBhMCTloxDTALBgNV
BBEMBDkwNTQxDjAMBgNVBAgMBU90YWdvMRAwDgYDVQQHDAdEdW5lZGluMRwwGgYD
...
...
Run Code Online (Sandbox Code Playgroud)
openssl req, 读取 CSR (PKCS#10) 无法理解它......
$ openssl req -in iis7rcsr -text
unable to load X509 request
5156:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1316:
5156:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509_REQ_INFO
5156:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:748:Field=req_info, Type=X509_REQ
5156:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 …Run Code Online (Sandbox Code Playgroud) 我遵循了本指南:http : //hints.macworld.com/article.php?story=20041129143420344
这是我的虚拟主机定义
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine On
RequestHeader set Front-End-Https "On"
CacheDisable *
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
DocumentRoot "/Users/me/projects/myproject/public"
ServerName ssl.mydomain.com
ServerAlias *.ssl.mydomain.com
SSLCertificateKeyFile "/private/etc/apache2/certs/webserver.nopass.key"
SSLCertificateFile "/private/etc/apache2/certs/newcert.pem"
SSLCACertificateFile "/private/etc/apache2/certs/demoCA/cacert.pem"
SSLCARevocationPath "/private/etc/apache2/certs/demoCA/crl"
ErrorLog "/Users/me/Desktop/ssl.log"
ProxyPass / https://localhost:3002/
ProxyPassReverse / https://localhost:3002
ProxyPreserveHost on
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我尝试连接到 Web 浏览器的 sevre viov 时,出现此错误:
[Thu Feb 02 16:50:40 2012] [error] (502)Unknown error: 502: proxy: pass request body failed to 127.0.0.1:3002 (localhost)
[Thu Feb 02 16:50:40 2012] [error] [client 96.11.81.39] proxy: Error during SSL Handshake …Run Code Online (Sandbox Code Playgroud) 客户端仅具有域的 www.site.com 版本的 SSL 证书,而不是 site.com。
通过 mod_rewrite 重定向常规 HTTP 不是问题。
但是,对于 HTTPS,这种方法对我们来说似乎失败了。
我们想将https://site.com请求重定向到https://www.site.com。
这是否可以在不在浏览器中引发无效证书警告或获取通配符证书的情况下完成?
对于作为欧洲网格基础设施 (EGI) 一部分的项目,我们需要对在 nginx 上运行的服务进行 SSL 客户端证书验证。由于 EGI 中允许有多个根 CA,我们需要 nginx 在客户端证书验证期间检查它们。在 nginx 的文档中,我只能找到ssl_client_certificate允许指定一个包含根证书的文件的参数。
有没有办法在 nginx 中为客户端证书验证指定多个根 CA 或者我必须为此使用 Apache?
我在 AWS 弹性负载均衡器上安装 SSL 证书时遇到了一些困难。我有来自 GoDaddy 的通配符证书,需要将其指向 ELB。
我已经运行了命令(我在负载均衡器后面的一台服务器上运行了它):
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
然后我已将 .csr 文件发送给 GoDaddy。此时,他们返回了一个 zip 文件夹,其中包含两个文件:gd_bundle.crt和mydomain.com.crt. gd_bundle.crt 在查看它时似乎有两个唯一的键(两个 base 64 编码的字符串)。
Amazon ELB 要求提供公钥和私钥,根据我所做的,我不确定哪个是什么。从这一点来看,我不知道该怎么做才能全部加载。
任何帮助将不胜感激。
在工作中,我有一堆使用普通 http 或自签名证书的 Web 界面(负载平衡器管理界面、内部 wiki、cacti 等)。
无法从特定的 vlan/网络外部访问。
对于家庭使用,我使用cacert SSL 证书。
我想知道我是否应该建议我的雇主使用 cacert SSL 证书而不是自签名证书和普通的 http。有人在生产中使用 cacert ssl 吗?有什么优点/缺点?它提高了安全性吗?是否更容易管理?有什么意外吗?它会影响质量扫描吗?我怎样才能说服他们?
当然,公共网站的付费证书将保持不变。
编辑 :
(只是好奇)公司提供的免费 ssl 证书似乎不是 3 级。我必须出示护照并亲自到场才能从 cacerts 获得 3 级证书。每个类别 1 的浏览器中没有警告吗?
无论如何,我对任何免费 CA 都会有同样的问题:它比使用自签名和普通 http 更好,为什么?
我会这样做是为了便于管理,服务器端。我错过了什么吗?
免责声明:我不是cacert 协会成员,甚至不是 Assurer,只是一个普通的快乐用户。
从性能和安全的角度来看,openvpn 应该使用哪种密码?
根据http://openvpn.net/index.php/open-source/documentation/howto.html#security,默认为 Blowfish,建议/示例是使用 AES-256-CBC,因为它的密钥大小较大. 256 位 AES 是最佳实践吗?
ssl ×10
https ×4
apache-2.2 ×3
certificate ×2
openssl ×2
security ×2
virtualhost ×2
amazon-ec2 ×1
amazon-elb ×1
hacking ×1
haproxy ×1
iis-7 ×1
mod-rewrite ×1
networking ×1
nginx ×1
openvpn ×1
stunnel ×1
tcp ×1
ubuntu ×1