背景:
我终于留出一些时间加入 21 世纪,看看 Puppet。
就目前而言,我们在办公室内部保存的存储库中对所有服务器配置进行版本控制。当需要进行更新时,更改会被检回存储库并手动推送到有问题的机器上。这通常意味着 SFTP 到远程机器,然后将文件从 shell 移动到具有相关权限的位置。
所以我希望 Puppet 将成为我们已有的简单而惊人的扩展。
现在我考虑我们目前必须合理安全的流程。假设我们的内部网络总是比我们数据中心的公共网络相对更安全。
过程总是一种方式。变化从安全的环境到不安全的环境,而不会反过来。
主存储在最安全的地方。通过窃取配置或发送恶意修改的危害风险大大降低。
题:
根据我对 Puppet 服务器/客户端模型的理解,客户端直接从服务器轮询和拉取更新。流量是 SSL 包装的,因此不能被拦截或欺骗。但它与我们目前所做的不同,因为 Puppet 服务器 [s] 需要托管在公共位置。要么集中,要么针对我们维护的每个数据中心站点。
所以我想知道:
我是否对从推到拉的变化感到不必要的偏执?
我是否对在公共网络上集中存储所有这些信息感到不必要的偏执?
其他人如何维护多个网络——每个站点都有单独的服务器?
09 年 7 月 30 日更新:
我想我的另一个大问题是必须信任一台机器。puppetmaster(s) 将被防火墙保护,安全等。但即便如此,任何具有侦听服务的公共机器都有一定规模的攻击面。
据推测,如果 master 有权更新任何一个 puppet 客户端上的任何文件,那么它的妥协最终会导致其所有客户端的妥协。可以说是“国王到王国”。
这个假设正确吗?
有什么办法可以缓解吗?
我使用过像 puppet 这样的工具来管理单个系统,通常取得了很高的成功。puppet 失败的地方在于它不擅长管理单个服务器之外的依赖项。
例如,在 MySQL 服务器上,我将 puppet 配置为执行以下操作:
在这组步骤中,解决了许多依赖项 - 例如,除非我安装了软件包,否则我无法启动数据库服务,除非正确配置了 apt 存储库,否则我无法启动。
这个 MySQL 服务器是 master->master 复制设置中的一个盒子。在理想的世界中,puppet(或其他类似工具)会让我表示服务器 B 需要等到服务器 A 可用,然后尝试与其建立复制关系的事实。
这里有很多文字 - 基本上我要问的是:有没有像 puppet 这样的工具可以像这样管理机器间的依赖关系?
有人知道名称服务器 4.2.2.2 的所有者是谁吗?我找到了 whois,但我不知道该组织。有人知道吗?
以前有人搜索过吗?
谢谢你的帮助!
序幕:
在许多恰好充当 NFS 客户端的机器上,netstat报告两个打开的端口,但没有列出关联守护程序的 PID。通常这可能有点令人担忧。
# netstat -lnp | egrep -- '- +$'
tcp 0 0 0.0.0.0:57448 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:48933 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
另外netcat确认 TCP 端口确实是打开的。
# nc -v localhost 57448
localhost [127.0.0.1] 57448 (?) open
^C
Run Code Online (Sandbox Code Playgroud)
然而lsof,这两个端口没有报告任何内容。阴谋增长。
# lsof -i TCP:57448 -i UDP:48933
Run Code Online (Sandbox Code Playgroud)
然而,rpcinfo最终为我们指明了正确的方向。它由nlockmgr,又名lockdNFS保持开放。取消搜索。
# rpcinfo -p | egrep '57448|48933'
100021 1 udp 48933 nlockmgr
100021 3 udp 48933 nlockmgr
100021 4 udp 48933 …Run Code Online (Sandbox Code Playgroud) 我想将两个命令输出到一个文件。我希望每 5 分钟将准确的时间(日期)和温度(传感器)归档。我知道如何将一个命令输出到一个文件,但是两个呢?这样的脚本怎么写?
我完成了以下步骤来生成我的 SSL 证书请求:
openssl genrsa -out key 2048
openssl req -new -key key -out csr
Run Code Online (Sandbox Code Playgroud)
然后我将我的 csr 提交给我的签名机构,并取回了我的证书。
我放入了一个名为“cert”的文件
现在我想验证证书是否正确。
openssl verify cert
Run Code Online (Sandbox Code Playgroud)
我得到了原始的 O 和 OU 结果,但另外我收到以下错误:
error 20 at 0 depth lookup:unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)
我是否正确验证了证书,如果是,为什么会出现此错误?如果没有,我做错了什么?
我正在使用带有 RHEL 5.3 和 XEN 内核默认值的戴尔 2950 服务器,我需要绑定我的 2 giga nic,我正在使用以下脚本之一:
ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.2.0
NETMASK=255.255.255.0
IPADDR=192.168.1.1
USERCTL=no
Run Code Online (Sandbox Code Playgroud)
ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Run Code Online (Sandbox Code Playgroud)
ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Run Code Online (Sandbox Code Playgroud)
/etc/modprobe.conf
alias bond0 bonding
alias eth0 e100
alias eth1 e100
options bonding mode=0 miimon=100
Run Code Online (Sandbox Code Playgroud)
/etc/xen/xend-config.sxp
(净*将 eth0 更改为 bond0)
但是我得到了 16MB/s 并且我有千兆交换机和 cat6 网络...如果有人告诉我如何在我的网络上获得更高的速度以将服务器上的 500GB 复制到其他...
谢谢