正在阅读关于BEAST的The Register中的一篇文章,该文章引导我进入关于SslStream,BEAST和TLS 1.1的SO帖子
似乎减轻漏洞的最佳方法是选择非CBC密码套件,例如rc4-sha.
Heroku目前更喜欢CBC密码连接吗?如果是这样,这是否意味着客户dynos目前容易受到BEAST的攻击?
我找到了测试SSL-TLS的OSWAP指南并做了一些本地测试.
我还发现了Heroku的Qualys SSL Labs测试结果
Cipher Suites (SSLv3+ suites in server-preferred order, then SSLv2 suites where used)
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 1024 bits (p: 128, g: 1, Ys: 128) 256
TLS_RSA_WITH_AES_256_CBC_SHA (0x35) 256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 1024 bits (p: 128, g: 1, Ys: 128) 128
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) 128
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x16) 168
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa) 168
TLS_RSA_WITH_RC4_128_SHA (0x5) 128
TLS_RSA_WITH_RC4_128_MD5 (0x4) 128
Run Code Online (Sandbox Code Playgroud)
由于服务器首选订单TLS_RSA_WITH_RC4_*位于列表的底部,我得出的结论是Heroku目前很容易受到BEAST的攻击.
很想听听在这个领域有更多经验的人.
BEAST攻击易受攻击的INSECURE(更多信息)
我注意到他们使用的是如何几个人发表意见||=来进行记忆化是"马虎",但他们就是这么做的"因为他们是在赶时间".
我还发现了ActiveSupport :: Memoizable.
我得出的结论是||=有缺点.
那他们是什么?
为什么if语句在下面的示例中起作用,而switch语句却没有.
工作:
if ''.class == String
puts "yep, that's a string"
end
Run Code Online (Sandbox Code Playgroud)不工作:
case ''.class
when String
puts "yep, that's a string, but this case is never triggered"
end
Run Code Online (Sandbox Code Playgroud)在上面的小例子,switch语句是矫枉过正,但也有明显的,其中一个switch语句会比干燥的情况链式elsif小号
在谷歌云存储开发者指南介绍了如何设置的Cache-Control头,并解释了API的一致性行为的重要影响,但头部没有提及也没有他们似乎从Cache-Control配置继承到期.
Expires标头似乎始终等于请求时间加1年,无论Cache-Control设置如何,例如.
$ gsutil setmeta -h "Cache-Control:300" gs://example-bucket/doc.html
Run Code Online (Sandbox Code Playgroud)
已通过Google Cloud Storage存储桶(示例存储桶)中的文档(doc.html)发出请求
$ curl -I http://example-bucket.storage.googleapis.com/doc.html
Run Code Online (Sandbox Code Playgroud)
它产生了以下标题
HTTP/1.1 200 OK
Server: HTTP Upload Server Built on Oct 3 2012 16:52:30 (1349308350)
Date: Sat, 13 Oct 2012 00:51:13 GMT
Cache-Control: 300, no-transform
Expires: Sun, 13 Oct 2013 00:51:13 GMT
Last-Modified: Fri, 12 Oct 2012 20:08:41 GMT
ETag: "28fafe4213ae34c7d3ebf9ac5a6aade8"
x-goog-sequence-number: 82
x-goog-generation: 1347601001449082
x-goog-metageneration: 1
Content-Type: text/html
Accept-Ranges: bytes
Content-Length: 7069
Vary: Origin
Run Code Online (Sandbox Code Playgroud) ruby ×2
coffeescript ×1
encryption ×1
heroku ×1
if-statement ×1
memoization ×1
security ×1
ssl ×1