我的目标是确保客户端连接到我的 nginx 的适当安全性。我正在按照Mozilla 的指南在我的 nginx 安装上正确配置 TLS,但我没有对实践中使用的实际协议/密码套件的概述。
我现在所拥有的:
server {
listen 443;
ssl on;
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_dhparam /path/to/dhparam.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'the_long_ciphersuite_listed_there';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我想记录用于连接的 SSL 协议以及在客户端/服务器协商后选择的密码套件。例如:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
Run Code Online (Sandbox Code Playgroud)
到
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我可以快速识别使用不支持 PFS 或其他相关安全启用技术的过时浏览器或自动化机器的客户端。
如何配置 nginx 以记录此信息?
我正在尝试将基于文件的磁盘热添加到正在运行的 KVM 虚拟服务器。我使用命令从头开始创建了一个新磁盘
dd of=/home/cloud/vps_59/test.img bs=1 seek=5G count=0
Run Code Online (Sandbox Code Playgroud)
我希望通过在 virsh shell 中执行此操作来将其热添加到来宾中:
virsh # attach-disk vps_59 /home/cloud/vps_59/test.img \
vdd --driver=file --subdriver=raw
Run Code Online (Sandbox Code Playgroud)
然后域的 XML 定义变为:
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/home/cloud/vps_59/root.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='file' device='disk'>
<driver name='file' type='raw'/>
<source file='/home/cloud/vps_59/test.img'/>
<target dev='vdd' bus='virtio'/>
</disk>
Run Code Online (Sandbox Code Playgroud)
如您所见,驱动程序名称错误,应该是driver name='qemu'
现有vda
磁盘。我已经尝试过,--drive=qemu
但它表示它不受支持。
其次,一旦我重新启动运行 Ubuntu 10.04.4 LTS 的虚拟机,我只会“看到”新添加的驱动器。如何使驱动器“热插拔”?我希望虚拟机无需重新启动即可立即“看到”新驱动器。
virtualization storage virtual-machines libvirt kvm-virtualization
我在 Ubuntu 12.04 上从他们的 PPA运行 ZoL 0.6.2 。它位于具有 16GB 内存的主机上,旨在使用 KVM/Libvirt 运行一些 VM。一段时间后,ZoL 使用了大量内存,在某些 VM 运行时达到了 98% 的 RAM 使用率。这导致新进程拒绝启动“无法分配内存”。我什至无法再启动我所有的 VM,在使用 ZFS 之前,它们使用了大约 40-50% 的 RAM。
据我了解,无需调整,一旦系统内存不足,ZoL 应该立即释放内存。好吧,它没有。所以我决定将设置arc_max
设置为 1GB。
# echo 1073741824 >> /sys/module/zfs/parameters/zfs_arc_max
Run Code Online (Sandbox Code Playgroud)
尽管如此,它不会释放任何内存。
正如您从下面的 ARC 统计数据中看到的,它使用的内存比配置的要多(比较c
=7572030912
和c_max
= 1073741824
)。
我在这里做错了什么?
# cat /proc/spl/kstat/zfs/arcstats
4 1 0x01 84 4032 43757119584 392054268420115
name type data
hits 4 28057644
misses 4 13975282
demand_data_hits 4 19632274
demand_data_misses 4 571809
demand_metadata_hits 4 6333604
demand_metadata_misses …
Run Code Online (Sandbox Code Playgroud) 在我启用 TLS 的 OpenVPN 配置中,我想使用通过使用tls-auth
. 好消息是,它按预期工作。但是,我对可选key-direction
参数有疑问(作为tls-auth
选项的第二个参数或作为key-direction
选项)。
手册页中对配置参数的描述如下(版本 2.3.x,相关代码段):
--tls-auth file [direction]
Add an additional layer of HMAC authentication on top of the TLS control
channel to protect against DoS attacks.
In a nutshell, --tls-auth enables a kind of "HMAC firewall" on OpenVPN's
TCP/UDP port, where TLS control channel packets bearing an incorrect HMAC
signature can be dropped immediately without response.
file (required) is a key file which can be in one of …
Run Code Online (Sandbox Code Playgroud) # puppetca --list
-bash: puppetca: command not found
Run Code Online (Sandbox Code Playgroud)
我是 Puppet 服务器的新手,但我认为我已经正确安装了 puppet-server。
人偶怎么获得?
在运行 Debian Wheezy 的面向 Internet 的 Postfix SMTP 服务器上,我想与一些已知服务器建立安全连接。有些是我自己的,运行我自己的 PKI/CA,有些是公共 SMTP 服务器,如 Google 的 Gmail 服务器。要检查我自己运行的服务器上的证书,我已指定
smtp_tls_CAfile = /usr/local/share/ca-certificates/Gert_van_Dijk_Root_CA_2014.crt
Run Code Online (Sandbox Code Playgroud)
并确保公共服务器也可以根据内置系统证书存储进行验证,我已经明确指定
tls_append_default_CA = yes
Run Code Online (Sandbox Code Playgroud)
为了确保 Postfix 正确验证证书,我将全局 TLS 安全级别设置为“安全”。我将这一回“可能”与某些领域改变secure
在smtp_tls_policy_maps
一旦我完成调试这里介绍这个问题。
smtp_tls_security_level = secure
Run Code Online (Sandbox Code Playgroud)
它可以很好地验证我自己的服务器!这些都使用由Gert_van_Dijk_Root_CA_2014.crt
. 但是,当 SMTP 客户端tls_append_default_CA
尝试将邮件发送到 Google 的 SMTP 服务器时,它似乎实际上并未通过设置附加证书。我希望它能够附加/etc/ssl/certs
Debian 上的那些内容。
postfix/smtp[32271]: effective TLS level: secure
[...]
postfix/smtp[32271]: < alt1.gmail-smtp-in.l.google.com[64.233.164.26]:25: 220 2.0.0 Ready to start TLS
[...]
postfix/smtp[32271]: DE6D0403EB: Server certificate not verified
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
master.cf
像这样为 smtp 客户端禁用 chroot :
smtp …
Run Code Online (Sandbox Code Playgroud)我正在设置 Icinga(Nagios fork)并且我有一些具有多个接口的机器。有些服务只监听其中一个并正确检查它们,我想知道是否可以为 Icinga 中的单个主机配置多个 IP 地址。
这是一个最小的例子:
远程服务器:
1.2.3.4
公网IP)10.1.2.3
私有IP,安全隧道)1.2.3.4:80
. (仅限公开)10.1.2.3:22
. (仅限内部网络)0.0.0.0:25
(所有接口)冰加服务器:
10.2.3.4
私有IP,上网)现在,如果我定义一个主机:
define host {
use generic-host
host_name server1
alias server1.gertvandijk.net
address 10.1.2.3
}
Run Code Online (Sandbox Code Playgroud)
这不会正确检查 HTTP 状态。并定义一个额外的主机:
define host {
use generic-host
host_name server1-public
alias server1.gertvandijk.net
address 1.2.3.4
}
Run Code Online (Sandbox Code Playgroud)
将检查所有内容,但显示为两个独立的主机。现在我想“聚合”这两个主机以显示为单个主机,同时提供一个简单的配置来检查它们正确地址上的服务。
对此,最优雅的节省配置行数的解决方案是什么?我阅读了几个可用于解决此问题的插件,但我无法弄清楚当前的解决方法是什么。解决方案可以追溯到 2003 年,但我正在运行 Icinga 1.7.1,它已经能够address6
选择,但这会触发仅对主机名进行 IPv6 解析...
理想情况下,我希望将 Icinga 配置为足够智能以知道运行的 Postfix 实例与两个警报10.1.2.3:25
相同1.2.3.4:25 …