- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想生成一个随机盐值并将其置于“应用程序”状态。
现在,我正在使用Web场,因此每台计算机的“应用程序”状态将有所不同。我也不想购买分布式州立农场应用程序。
那么..对此有什么解决方案?我以为我可以在代码或web.config文件中对其进行硬编码..但这意味着对eva使用相同的盐..不是很安全。
有人有什么建议吗?
记住-我追求的是唯一的 key (例如guid),该 key 在所有机器上都是相同的。也许配置文件是唯一的方法?
最佳答案
如果我理解正确,则您希望这些机器共享一个值,并且您不希望该值永远相同。理想情况下,您不希望存储它。
因此,请让“第一台”计算机在启动时生成一个随机值((使用/dev/random之类的任何熵)。如果您不需要安全值,并且在启动时没有足够的熵来创建一个随机值无论如何,请使用时间或其他任何时间),然后将其传达给所有其他人。当新计算机加入群集时,它们需要能够从群集中已存在的一台计算机中查找值。机器掉落没有任何区别。
“第一台”是哪台机器?好吧,如果您总是可以先引导一台计算机,然后给它时间来生成一个值,那么您可以使用简单的算法:
1)寻找其他机器。如果找到一个,请询问它的值。
2)如果找不到一个,请自己生成值。
如果同时启动多台计算机,则它们之间需要确定哪个是“领导者”。您可以通过自己选择一个主机来执行此操作(例如,一台计算机通过管理界面接收到特定的连接后便立即声明自己为“领导者”:启动时,每台计算机都将等待直到它获得该连接,或者从另一台计算机上听到了另一台计算机的声音。机器是领导者)。在 token 环上自动执行操作很简单:MAC地址最少的机器或任何引导者。但是没有人再使用 token 环...
在不可靠网络的相反极端情况下,我不确定它是否有可能,除非所有机器都知道总数将达到多少(在这种情况下,就像 token 环一样,只是它们彼此互相交谈直到它们已经弄清楚谁是领导者)。有了可靠的广播,这是您可以在以太网上的合理范围内假定的,我敢肯定某个地方发布了一种最佳算法,但是我忘了它是什么(如果我知道的话)。我猜想每个人都会定期播报他们认为的领导者名单(包括他们尚未看到更好的领导者时提出的主张)。听完足够长的时间(大约一个间隔)后,您将知道领导者是谁,然后就可以开始使用种子了。
如果该值是 secret 信息,则显然群集内的通信必须是安全的。您可能会免费获得它,具体取决于网络体系结构。
关于salt - 如何最好地为网站生成随机盐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/328711/
在设置了 salt-master 和一个 minion 后,我可以接受 master 上的 key 。运行 sudo salt-key -L表明它被接受。但是,当我尝试使用 test.ping 时命令
当我使用管道运行任何命令或在其中重定向时,它会失败。 master 和 minion 都在为测试 Salt 而创建的 Digital Ocean 上的新 Ubuntu 14.04 机器上运行。 两者都
这里的 Salt 中 [] 是什么意思? httpd: pkg.installed: [] file.managed: - name: /etc/httpd/conf/httpd.co
我正在寻找一种简单的方法来获取有关内存使用情况的信息,例如盐小兵的空闲内存。 到目前为止,我知道可以使用salt '*' grains.items列出总内存,但是我什至不知道如何仅列出总内存而不是所有
在 Saltstack 中,我有以下用例: 有一个状态 redis.sls 可以被其他状态包含。 redis.sls 的结果应该根据包含 redis.sls 的状态进行不同的配置。 例如: redis
我有一个带有盐状态的存储库,用于在云中配置我的服务器集群。随着时间的推移,我不断添加更多状态 - .sls文件 - 进入这个 repo。现在我开始挣扎什么是什么,什么是哪里。 我想知道是否有一些软件实
有没有办法加入两个支柱文件? 我有一个用户支柱。它是这样的: users: joe: sudouser: True jack: sudouser: False 现在我需要为某些
我在家庭实验室中使用 Saltstack,在测试它们时,我经常发现自己检查了一些稍有破坏的规则。我希望能够检查它们的有效性,否则在本地和 Jenkins 实例上对它们进行 lint,但我找不到任何有关
我有一个场景,如果另一个服务已经在运行,我需要采取行动。具体来说,我想安装 snmp 监控,例如,如果 mysql 已经在运行。 我知道这样做的“正确”方法是安装 mysql 及其基于支柱数据、gra
我正在尝试构建一个总是会重启服务的 .sls 文件: systemd-resolved: service.running: - restart: True 部署后,这会给出 I
(这是我在 salt 用户组 FWIW 上提出的问题的副本) 我需要编写一个状态来安装一些Windows服务器功能,重新启动minion,然后安装更多软件。似乎所有的部分都在那里(cmd.wait、s
“salt”在字符串到键 (s2k) 说明符中指什么? 它似乎是一个随机数生成器,可以改变事物,但我想知道“盐”代表什么? 例如这样写: 3.6.1.2. Salted S2K This inc
我正在尝试构建一个总是会重启服务的 .sls 文件: systemd-resolved: service.running: - restart: True 部署后,这会给出 I
我有一个 AWS 设置,其中有一个指定的 salt master,它接受所有传入的 key 和基于子网/指定 ip 地址的规定。如何在不登录主服务器的情况下立即在连接时配置我的 minions? 最佳
我想要一个 Salt 状态来管理我的 SSH 文件。这需要多个 file.line操作。我怎样才能做到这一点? 更新:请参阅问题底部以了解我当前的解决方法 我有的是这个: Secure SSH:
我正在验证用户电子邮件地址。 大多数人告诉的方式是创建一些独特的 token 并将其存储在 db 中 发送给用户。 我只是用全站盐散列(sha256)电子邮件地址来做这件事 并将此哈希发送给用户。 我
国家file.managed has defaults和 context模板渲染选项。两者都为模板变量提供上下文。 它们之间有什么区别? 最佳答案 defaults是在 context 情况下将传递给
我刚开始使用 Salt 而不是 Ansible。我不确定是从 master 调用以下脚本还是手动将命令输入 salt 状态。对于后者,任何人都可以建议如何使用 cmd.run 实现此目的。 #!/bi
我刚开始使用 Salt 而不是 Ansible。我不确定是从 master 调用以下脚本还是手动将命令输入 salt 状态。对于后者,任何人都可以建议如何使用 cmd.run 实现此目的。 #!/bi
我用了一个月的 salt 。每当我运行命令说 sudo salt '*' test.ping 时,master 就会对所有 minions 执行 ping 操作,响应是所有已启动并正在运行的 mini
我是一名优秀的程序员,十分优秀!