Zabbix如何实现Server和Agent的通信加密

简介:

一、加密介绍

1、总览

    Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密。

    加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信。

    关于porxy的配置设备,我这里就不在介绍了,大家可以去看官方文档。

    但是并不是所有的通信都进行了加密,下面的几点就是没有覆盖到。

  • Private keys are stored in plain text in files readable by Zabbix components during startup.

  • Pre-shared keys are entered in Zabbix frontend and stored in Zabbix database in plain text.

  • Built-in encryption does not protect communications:

    • between web server running Zabbix frontend and user web browser,

    • between Zabbix frontend and Zabbix server,

    • between Zabbix server (proxy) and Zabbix database.

  • Currently each encrypted connection opens with a full TLS handshake, no session caching and tickets are implemented.

  • Adding encryption increases time of checks and actions, depending on network latency.
    For example, if packet delay is 100ms then opening a TCP connection and sending unencrypted request takes around 200ms.
    With encryption about 1000 ms are added for establishing TLS connection.
    Timeouts may need to be increased, otherwise some items and actions running remote scripts on agents may work with unencrypted connections but fail with timeout with encrypted.

  • Encryption is not supported by network discovery. Zabbix agent checks performed by network discovery will be unencrypted and if Zabbix agent is configured to reject unencrypted connections such checks will not succeed.

2、编译支持加密功能

    要想支持加密功能,我们必须在编译安装的时候把加密库编译进Zabbix里面。

    编译的时候加上 --with-openssl

1
2
3
4
5
6
7
8
9
. /configure  \
--prefix= /usr/local/zabbix  \
--sysconfdir= /etc/zabbix  \
-- enable -server \
-- enable -agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-openssl

二、使用预共享密钥(PSK)

1、生成psk

1
2
# openssl rand -hex 32
af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429

2、配置agent

    创建一个文件/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk,存入刚刚生成的psk。

    编辑/etc/zabbix/zabbix_agentd.conf,添加如下内容。

1
2
3
4
TLSConnect=psk
TLSAccept=psk
TLSPSKFile= /etc/zabbix/zabbix_agentd .conf.d /zabbix_agentd .psk
TLSPSKIdentity=PSK 001

    然后重启agent,在server上面测试看看加密连接。

1
zabbix_get -s 127.0.0.1 -k  "system.cpu.load[all,avg1]"  --tls-connect=psk --tls-psk-identity= "PSK 001"  --tls-psk- file = /etc/zabbix/zabbix_agentd .conf.d /zabbix_agentd .psk

    测试下来没有什么问题,那我们就配置WEB页面。

wKioL1lV8W-g-I_WAABTQ7x2uKs835.jpg

    等待一段时间,就生效了哦。

wKiom1lV8pfDZ86ZAABiuIaGWbo751.jpg


三、使用证书通信加密

待完成……







     本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1943419,如需转载请自行联系原作者


相关文章
|
安全 算法 物联网
SSL/TLS:互联网通信的加密基石与安全实践
**简介:** 在数字化时代,互联网每天传输海量敏感数据,网络攻击频发。SSL/TLS协议作为网络安全的基石,通过加密技术确保数据安全传输。本文解析SSL/TLS的技术架构、密码学原理、应用场景及常见误区,探讨其在未来的发展趋势,强调持续演进以应对新型威胁的重要性。 SSL/TLS不仅保障Web安全,还广泛应用于API、邮件、物联网等领域,并遵循合规标准如PCI DSS和GDPR。
|
监控 Linux 网络安全
Zabbix Agent使用介绍
Zabbix Agent使用介绍
1212 10
|
监控 Linux
Zabbix 5.0 LTS的agent服务部署实战篇
文章介绍了如何在CentOS 7.6操作系统上部署Zabbix 5.0 LTS版本的agent服务,包括配置软件源、安装agent、修改配置文件、启动服务,并在Zabbix web界面添加监控。
794 4
Zabbix 5.0 LTS的agent服务部署实战篇
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
380 2
zabbix agent集成percona监控MySQL的插件实战案例
|
网络协议 安全 网络安全
中间人攻击之未加密的通信
【8月更文挑战第12天】
459 2
|
安全 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
[flask]使用mTLS双向加密认证http通信
569 0
|
网络协议 应用服务中间件 Go
[golang]使用mTLS双向加密认证http通信
[golang]使用mTLS双向加密认证http通信
511 0
|
存储 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
【7月更文挑战第16天】在Flask应用中实现mTLS双向TLS加密认证可增强HTTP通信安全性。步骤包括: 1. 使用OpenSSL为服务器和客户端生成证书和密钥。 2. 配置Flask服务器使用这些证书: - 安装`flask`和`pyopenssl`. - 设置SSL上下文并启用mTLS验证: 注意事项: - 保持证书有效期并及时更新. - 确保证书链信任. - 充分测试mTLS配置.
623 2
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
|
安全 数据安全/隐私保护 Python
【计算巢】端到端加密通信:保障即时通讯的安全性
【5月更文挑战第31天】端到端加密通信确保了信息在传输过程中的安全,防止他人窥探和篡改。只有通信双方能解密消息,类似使用只有两人才能打开的锁。通过一个简单的Python加密代码示例展示了加密原理。理解并掌握端到端加密对于保护个人及企业信息安全至关重要。在信息时代,注重隐私和安全,利用加密技术保障通信安全。
538 1

推荐镜像

更多