zabbix6.0安装教程(二):Zabbix6.0安装最佳实践

news2024/10/5 15:00:11


zabbix6.0安装教程(二):Zabbix6.0安装最佳实践


目录

  • 概述
  • 一、Access control
    • 1.Zabbix agent 的安全用户
    • 2.UTF-8 编码
  • 二、Zabbix Security Advisories and CVE database
    • 1.为 Zabbix 前端设置 SSL
  • 三、Web server hardening
    • 1.在 URL 的根目录上启用 Zabbix
    • 2.在Web服务器上启用强制安全传输技术
    • 3.禁用曝光的 Web 服务器信息
    • 4.禁用默认 Web 服务器错误页面
    • 5.删除 Web 服务器的测试页面
    • 6.Zabbix 设置
    • 7.带有 OpenSSL 的在Windows上的zabbix agent
  • 四、Cryptography
    • 1.使用普通密码隐藏文件


概述

本章节内容提供了对于Zabbix6.0安装来说,可采用更加安全的安装方式。实现Zabbix的功能并不局限于该范例中所涉及的内容。但建议用户可通过参考该配置方式为Zabbix提供更好的系统安全性。

一、Access control

Zabbix应该始终遵守最小权限原则。 该原则意味着用户的账号(在Zabbix前端)或流程用户(对于Zabbix server/proxy或agent)仅具有执行预期功能所必需的权限。 换句话说,用户账号应始终以尽可能小的权限运行。

赋予“zabbix”用户提供额外权限将允许其访问配置文件,并执行可能损害基础架构整体安全性的操作。
最小权限原则,应考虑 Zabbix 前端用户类型。 重要的是要理解,虽然“管理员”用户类型的权限低于“超级管理员”用户类型,但它具有允许管理配置和执行自定义脚本的管理权限。

某些信息甚至适用于非特权用户。例如,虽然 Administration → Scripts 不适用于非超级管理员,但脚本本身可通过使用 Zabbix API 来进行检索。 应使用限制脚本权限和不添加敏感信息(如访问凭据等)来避免暴露全局脚本中可用的敏感信息。

1.Zabbix agent 的安全用户

在默认配置中,Zabbix server 和 Zabbix agent 进程共享一个“zabbix”用户。若希望确保 Zabbix agent 无法访问 Zabbix server配置中的敏感信息(例:数据库登录信息),则应以不同的用户身份运行Zabbix agent:

  1. 创建一个安全用户;
  2. 在 Zabbix agent 的 configuration file 中指定此用户(修改 ‘User’ 参数);
  3. 以管理员权限的用户重启 Zabbix agent。此后权限将赋予给先前指定的用户。

2.UTF-8 编码

UTF-8 是 Zabbix 唯一支持的编码类型。众所周知,应用该类型编码可使Zabbix正常运转且没有任何安全漏洞。请用户注意,如果使用其它一些编码类型,我们发现会出现许多安全问题。

二、Zabbix Security Advisories and CVE database

See Zabbix Security Advisories and CVE database.

1.为 Zabbix 前端设置 SSL

在 RHEL/Centos 操作系统上,安装 mod_ssl 包:

yum install mod_ssl

为 SSL keys 创建目录:

mkdir -p /etc/httpd/ssl/privatechmod 700 /etc/httpd/ssl/private

创建 SSL 证书:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/private/apache-selfsigned.key -out /etc/httpd/ssl/apache-selfsigned.crt

请用户根据需求适当填写下列提示内容。最重要的参数是请求 Common Name 参数。 您需要输入要与服务器关联的域名。 如果您没有域名,则可以输入公共IP地址。 下面将使用 example.com。

Country Name (两个字母) [XX]:
State or Province Name (全名) []:
Locality Name (eg, city) [默认的城市]:
Organization Name (eg, company) [默认的公司名]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
example.comEmail Address []:

编辑 Apache SSL 配置:vim /etc/httpd/conf.d/ssl.conf

DocumentRoot "/usr/share/zabbix"
ServerName example.com:443
SSLCertificateFile /etc/httpd/ssl/apache-selfsigned.crt
SSLCertificateKeyFile /etc/httpd/ssl/private/apache-selfsigned.key

重启 Apache 服务使以上修改的配置生效:

$ systemctl restart httpd.service

三、Web server hardening

1.在 URL 的根目录上启用 Zabbix

将虚拟主机添加到 Apache 配置,并将文档根目录的永久重定向设置为 Zabbix SSL URL。 注意将 example.com 替换为服务器的实际名称。vim /etc/httpd/conf/httpd.conf

#Add lines
<VirtualHost *:*>   
 ServerName example.com    
 Redirect permanent / http://example.com</VirtualHost>

重启 Apache 服务使以上修改的配置生效:

$ systemctl restart httpd.service

2.在Web服务器上启用强制安全传输技术

为了保护Zabbix前端不受协议降级攻击,我们建议在Web服务器上启用HSTS策略
例如,要在Apache配置中为您的Zabbix前端启用HSTS策略:

vim /etc/httpd/conf/httpd.conf

将以下指令添加到虚拟主机的配置中:

<VirtualHost *:443>   
Header set Strict-Transport-Security "max-age=31536000"
</VirtualHost>

重新启动Apache服务以应用更改:

$ systemctl restart httpd.service

3.禁用曝光的 Web 服务器信息

建议在 Web 服务器强化过程中禁用所有 Web 服务器签名。 默认情况下,Web 服务器正在公开软件签名:

可以通过向 Apache(用作示例)配置文件添加两行来禁用签名:

ServerSignature Off
ServerTokens Prod

可以通过更改 php.ini 配置文件来禁用 PHP 签名(X-Powered-By HTTP header)(默认情况下禁用签名):

expose_php = Off

若使应用配置文件更改生效,需重新启动 Web 服务器。
通过在 Apache中 使用 mod_security(libapache2-mod-security2)可以实现额外的安全级别。 mod_security允许删除服务器签名,而不是仅仅从服务器签名中删除版本。 通过在安装mod_security之后将“SecServerSignature”更改为任何所需的值,可以将签名更改为任何值。
请参阅 Web 服务器的文档以获取有关如何删除/更改软件签名的帮助。

4.禁用默认 Web 服务器错误页面

建议禁用默认错误页面以避免信息泄露。 Web 服务器默认使用内置错误页面:

作为 Web 服务器强化过程的一部分,应替换/删除默认错误页面。 “ErrorDocument”指令可用于为 Apache Web 服务器定义自定义错误页面/文本(用作示例)。
请参阅您的 Web 服务器的文档以查找有关如何替换/删除默认错误页面的帮助。

5.删除 Web 服务器的测试页面

建议删除 Web 服务器测试页以避免信息泄露。 默认情况下,Web 服务器的 webroot 包含一个名为 index.html 的测试页(以Ubuntu上的 Apache2 为例):
在这里插入图片描述

应删除测试页面,或者应将其作为Web服务器强化过程的一部分使用。

6.Zabbix 设置

在默认情况下,Zabbix 配置了 *X-Frame-Options HTTP 响应头 *设置为 SAMEORIGIN,这意味着内容只能加载到与页面本身具有相同来源的框架中。
从外部 URL 中提取内容的 Zabbix 前端元素(即 URL dashboard widget)在启用了所有沙盒限制的沙盒中显示检索到的内容。
这些设置增强了 Zabbix 前端的安全性,并提供针对 XSS 和点击劫持攻击的保护。 超级管理员可以根据需要修改 iframe sandboxing 和 X-Frame-Options HTTP response header 参数。 在更改默认设置之前,请仔细权衡风险和效果。 不建议完全关闭沙盒及 X-Frame-Options。

7.带有 OpenSSL 的在Windows上的zabbix agent

使用 OpenSSL 编译的 Zabbix Windows agent将尝试访问 c:\openssl-64bit 中访问SSL配置文件。磁盘C上的“ openssl-64bit”目录可以由非特权用户创建。
因此,为了加强安全性,需手动创建此目录并撤销非管理员用户的写访问权限。
请注意,在Windows的32位和64位版本上,目录名称将有所不同。

四、Cryptography

1.使用普通密码隐藏文件

增加密码复杂度避免暴力破解密码,建议修改Web服务器配置限制ui/data/top_passwords.txt文件的访问。 该文件包含最普通以及上下文特定的密码,防止用户设置这些密码,如果密码策略的Avoid easy-to-guess passwords参数被启用。
例如,使用location指令限制NGINX文件访问:

location = /data/top_passwords.txt { deny all; return 404; }

通过.htacess文件限制Apache:

<Files "top_passwords.txt">
Order Allow,Deny Deny from all 
</Files>

制作成员:
排版: 何翠婷
初审: 玩具熊
复审: 二月二

本篇教程来源乐维社区|专注IT运维技术分享,经本工作室二次编辑,如有侵权,请联系我们。
参考资料:
Best practices for secure Zabbix setup

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84598.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计SSM基于的开放式实验室预约系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

人家这才叫软件测试工程师,你那只是混口饭吃

前些天和大学室友小聚了一下&#xff0c;喝酒喝大发了&#xff0c;谈天谈地谈人生理想&#xff0c;也谈到了我们各自的发展&#xff0c;感触颇多。曾经找工作我迷茫过、徘徊不&#xff0c;毕业那会我屡屡面试失败&#xff0c;处处碰壁&#xff1b;工作两年后我一度想要升职加薪…

[附源码]Python计算机毕业设计SSM基于的二手车商城(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

第五款!美创数据水印溯源系统通过中国信通院数据安全能力评测

近期&#xff0c;中国信息通信研究院安全研究所发布“数据安全产品能力验证计划”第六期通过企业名单。美创科技数据水印溯源系统顺利通过测试&#xff0c;成为美创第五款通过权威检验测评的数据安全产品&#xff01; 此前&#xff0c;中国信息通信研究院安全所开展数据安全类产…

分布式系统中的数据复制

什么是数据复制 数据复制是制作数据的多个副本并将其存储在不同位置的过程&#xff0c;用于备份目的、容错和提高它们在网络中的整体可访问性。与数据镜像类似&#xff0c;数据复制可以应用于单个计算机和服务器。复制的数据可以存储在同一系统、现场和非现场主机以及基于云的…

FT 在图形渲染中的应用:基于 FFT 的海浪模拟

接上文&#xff1a;FT 在图像处理中的应用 五、一个大型案例&#xff1a;基于 FFT 的海浪模拟 前置&#xff1a;​​​​​ 傅里叶级数与傅里叶变换离散傅里叶变换(DFT)​​​​​​​​FT 在图像处理中的应用​5.1 FFT 海洋公式&#xff1a;二维 IDFT https://tore.tuhh.de…

Abz-G-F(4NO2)-P-OH, 67482-93-3

Fluorogenic (FRET) substrate for angiotensin I-converting enzyme (ACE). Enzymatic cleavage of Abz-Gly-Nph-Pro yields Abz-Gly-OH emitting at 420 nm. 血管紧张素I转换酶&#xff08;ACE&#xff0c;ACE2&#xff09;底物 血管紧张素i转换酶(ACE)的荧光底物。Abz-Gly-N…

docker 报错 No space left on device

问题&#xff1a; 在 Linux 环境上使用 docker 命令 <docker pull 镜像> 拉取镜像的时遇到了 No space left on device 的问题。 排查过程&#xff1a; 初步分析可能是存储镜像的路径磁盘满了。 但是使用 df -h 命令之后&#xff0c;发现磁盘还有空间。于是猜测应该是…

【Linux】Linux软件包管理器yum

希望你今天有一个好心情 文章目录一、(客户端&&服务器) (软件包&&软件包管理器yum) (利益链&&逻辑链)1.客户端&&服务器2.软件包&&软件包管理器3.一条利益链一条逻辑链二、Linux下包管理器yum的使用(root身份或sudo提权进行搜索list…

【安全】免密登陆SQLSERVER 之 Token 窃取

先"灌肠" 往往在高版本系统 或者 在强密码的等等 特殊情况下我们无法获得 明文密码。那么我们该如何在没有明文密码及有windows哈希的情况下登陆 SQLSERVER呢(当然我并没有sa等任何账号); 默认安装点击登陆名 发现有好几个可以登陆的用户在users 组里都可以登陆 (基本…

WLAN二层旁挂组网与三层旁挂组网

第一部分&#xff1a;关于底层逻辑问题 1、WLAN二层组网与三层组网到底是指哪里是二层哪里是三层&#xff0c;两者有什么区别&#xff1f; WLAN的二层组网与三层组网指的是AP与AC之间建立的Capwap隧道是二层的还是三层的&#xff0c;以此来区分是二层组网还是三层组网。注意&…

使用微信部署ChatGPT

使用微信部署ChatGPT 一、介绍 最近ChatGPT爆火&#xff0c;网上出现了很多ChatGPT项目&#xff0c;有部署到微信的&#xff0c;有部署到QQ机器人的&#xff0c;今天介绍一种部署到微信的方法。 此项目参考github上https://github.com/869413421/wechatbot项目&#xff0c;需…

Ajax简介与基本使用

前言 本文为Ajax简介与基本使用相关知识&#xff0c;首先将对Ajax进行简介&#xff08;包含&#xff1a;什么是Ajax、Ajax的作用、Ajax的好处&#xff09;&#xff0c;然后介绍JS方式Ajax的实现&#xff08;包含发送 Ajax 请求的五个步骤、创建 XMLHttpRequest 对象、向服务器发…

通用的融合框架:IFCNN

IFCNN: A general image fusion framework based on convolutional neural network &#xff08;IFCNN: 基于卷积神经网络的通用图像融合框架&#xff09; 在本文中&#xff0c;我们提出了一种基于卷积神经网络的通用图像融合框架&#xff0c;称为IFCNN。**受变换域图像融合算…

测试人生 | 折腾 6 年踩坑无数的”笨小孩“:方向对了,路就不会遥远!

image1080459 72.4 KB 编者按&#xff1a;本文来自霍格沃兹测试学院学员 笨小孩 的分享&#xff0c;从退伍军人到测试小白&#xff0c;从培训被坑再到经历各种小公司倒闭、裁员、6年间几番折腾&#xff0c;最终靠“笨功夫”成功转型测试开发&#xff0c;年薪近 30W&#xff0c…

番外8:ADS导出DWG文件并交给工厂制板

番外8&#xff1a;ADS导出DWG文件并交给工厂制板 &#xff08;功率放大器板子和散热器&#xff09; 将ADS源文件导出PCB与散热器文件&#xff08;功率放大器&#xff09; 导出文件并预处理 打开制作好的版图文件&#xff0c;在原有基础上打好散热孔和固定孔&#xff0c;散热…

Deep Learning Architecture for Automatic Essay Scoring

1. Introduction 利用手工制作的特征&#xff0c;如文章长度、句子长度、语法正确性或可读性来评分的文章面临以下问题。首先&#xff0c;它可能被学生用作欺骗系统的一种选择&#xff0c;即写出并提交一篇结构良好但偏离主题**的文章。由于文字结构和表面等语言特征&#xff…

[附源码]Python计算机毕业设计电影网站系统设计Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

OpenAi[ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人-学习详解篇

文章大部分来自&#xff1a;https://lucent.blog 原文博客地址&#xff1a;https://blog.ideaopen.cn 最近火热全文的ChatGPT&#xff0c;被很多人玩出了花&#xff0c;我们在Github上可以看到几个常见的逆向SDK包&#xff0c;这一篇我将以学习的方式来写这一篇文章。 这些SDK不…

NeurIPS 2022 | 浙大与SEA AI Lab提出高表现力可泛化语音合成

语音合成旨在根据文本合成特定说话人的语音。先进语音合成模型展示了强大的生成能力&#xff0c;无论是生成高水平的细节还是其生成的多样性&#xff0c;都让人印象深刻。个性化语音生成需求的增加对语音合成模型提出了挑战&#xff0c;尤其是在域外&#xff08;OOD; Out-Of-Di…