源码编译Zabbix 6 HA高可用部署
Zabbix HA概述Zabbix HA解决方案由多个zabbix_zabbix-mysql实例或节点组成。每个节点独立配置,但数据库是使用同一个实例。
Zabbix HA节点包括以下几种状态:
active(活动)
standby(备用)
unavailable(不可用)
stopped(停止)
在同一个Zabbix HA集群中,只有一个实例或节点处于active(活动)状态,standby(备用)节点不进行数据收集、处理或其他任务,并且不监听端口,并保持一个最少的数据库连接。
Zabbix 6.0 LTS 是第一个在这个流行的监控工具中包含备受期待的本机高可用性的主要版本。
详细的官方文档说明大家可以参考:官方HA介绍
环境说明环境准备
主机名
IP地址
系统版本
安装方式
软件
zabbix-server01
192.168.40.106
6.0 LTS
源码
Zabbix、PHP、Nginx
zabbix-server02
192.168.40.107
6.0 LTS
源码
Zabbix、PHP、Nginx
zabbix-server03
192.16 ...
Linux分区之EXT2,EXT3,EXT4,XFS
当涉及到Linux系统上的文件系统时,EXT2、EXT3、EXT4和XFS是一些常见的选择
特点EXT2(第二扩展文件系统)
EXT2是Linux上最早的可靠文件系统之一,它是EXT文件系统的第一个版本。
它采用了较简单的设计,支持文件和目录,并提供基本的权限和属性。
EXT2没有日志功能,这意味着在系统崩溃后,可能需要较长时间来进行文件系统检查和修复。
由于缺乏日志记录,EXT2在某些情况下可能更容易导致数据丢失或损坏。
EXT3(第三扩展文件系统)
EXT3是EXT2的改进版本,引入了日志功能以提高文件系统的可靠性。
它支持文件和目录,并提供更好的性能和数据一致性。
EXT3的日志功能可以记录文件系统操作,以便在系统崩溃后快速恢复文件系统的一致性。
由于日志功能的引入,EXT3比EXT2更可靠,但相对而言性能较低。
EXT4(第四扩展文件系统)
EXT4是EXT3的进一步改进和扩展,旨在提供更高的性能和可靠性。
它支持更大的文件系统和更大的文件大小,以及更快的文件系统检查和修复。
EXT4引入了更高级的数据结构和技术,如多块分配、延迟分配和快速修复。
它在处理大型文件和大量 ...
安全基线-未授权访问
检测项
检测项描述
处理建议
检测规则
威胁等级
Redis 基线合规检测
如果 Redis 以 root 权限启动且未授权访问,则会造成任意文件写入,最终导致命令执行漏洞。通过命令注入漏洞,黑客可以在服务器上执行任意系统命令,获取服务器权限,造成服务器敏感信息和源代码泄漏。
1. 以低权限用户权限启动 Redis;2. 如非业务需要,绑定 Redis 在 具体IP 而非 0.0.0.0;3. 删除 Redis 的 CONFIG、SAVE 等命令4. 开启 AUTH 密码验证(仍然有被利用的风险,所以不会取消安全提醒)
Redis 基线合规检测
高危
Kubelet 未授权访问
Kubelet 未限制访问来源且未配置任何认证,导致攻击者可以在任意 Pod 中执行任意代码。也可以造成 Pod 泄漏导致敏感信息泄漏等。
1. kubelet 监听在本地:—address=127.0.0.12. kubelet server 禁止匿名访问:—anonymous-auth=false如果已经通过防火墙等方式对端口访问进行限制,请忽略。3. 配置证书:—client-ca-f ...
Harbor私有镜像仓库部署
什么是Harbor?Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理 (RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
基于角色的访问控制 - 用户与 Docker 镜像仓库通过 “项目” 进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker ...
Kubernetes集群部署
环境规划
Kubernetes 集群大致分为两类:一主多从和多主多从。(1)一主多从(单 master ):一个 Master 节点,多台 Node 节点,搭建简单,但是有单机故障风险,适合用于测试环境。(2)多主多从(高可用):多台 Master 节点和多台 Node 节点,搭建麻烦但安全性高,适合用于生产环境。
kubernetes有多种部署方式,目前主流的方式有kubeadm、minikube、二进制包三种。简介如下:(1)minikube:一个用于快速搭建单节点的kubernetes工具。(2)kubeadm:一个用于快速搭建kubernetes集群的工具。(3)二进制包:从官网上下载每个组件的二进制包依次安装,此方式对于理解kubernetes组件更加有效。
集群类型:一主多从
安装方式:使用kubeadm工具快速搭建kubernetes集群
主机规划
角色
IP地址
实验环境
Master
192.168.40.101
Centos7.9
Node1
192.168.40.102
Centos7.9
Node2
192.168.40.103
...
Django单元测试快速指南
前言
本文受《Python测试驱动开发》启发,书中内容很详尽,章节也很多,比较偏向于新手向,从如何安装Django1.11到如何使用Git工具都有教,没接触过这些的人都能看懂,有一定基础的人可以略读,值得一看。本文绝大部分内容并不来自该书,更多的是我的个人见解和对官方文档的一些整理。
本文主要介绍Django跟unittest有区别的地方,以及如何去使用Django内置的测试模块进行测试,适合有一定Python基础和Django基础的人。
自动测试的理念TDDTDD(Test Driven Development),中文名是“测试驱动开发”,这是一个编程理念,类似于面向对象编程,你可以不用,但是如果你用了,你会发现你的开发过程会非常的顺畅,非常的有底气,你对代码所做的每一处修改,都在你的可控范围内,出错也很容易找到问题所在,并且先测试再开发的过程更有利于你设计一个功能或者设计整个产品,在你的大脑中会非常清晰地知道你想要实现什么功能,而不需要先想着代码应该怎么实现,就像API文档一样,每个功能、每个模块都可以一目了然,这就是测试的作用。
个人见解通过这段时间编写测试代码的经历,对自动测 ...
VIM使用手册
查找在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。
Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。
大小写敏感查找在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:
1/foo\c
将会查找所有的"foo","FOO","Foo"等字符串。
大小写敏感配置Vim 默认采用大小写敏感的查找,为了方便我们常常将其配置为大小写不敏感:
1234" 设置默认进行大小写不敏感查找set ignorecase" 如果有一个大写字母,则切换到大小写敏感查找set smartcase
将上述设置粘贴到你的~/.vimrc,重新打开Vim即可生效
查找当前单词在normal模式下按下*即可查找光标所在单词(word), 要求每次出现的前后为空白字符或标点符号。例如当前为foo, 可以匹配foo b ...
PostgreSQL新手入门
一、安装首先,安装PostgreSQL客户端。
sudo apt-get install postgresql-client
然后,安装PostgreSQL服务器。
sudo apt-get install postgresql
正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。
如果还想安装图形管理界面,可以运行下面命令,但是本文不涉及这方面内容。
sudo apt-get install pgadmin3
二、添加新用户和新数据库初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。
下面,我们使用postgres用户,来生成其他用户和新数据库。好几种方法可以达到这个目的,这里介绍两种。
第一种方法,使用PostgreSQL控制台。
首先,新建一个Linux新用户,可以取你想要的名字,这里为dbuser。
sudo adduser dbuser
然后,切换到postgres用户。
sudo su - postgres
...
安全基线-弱密码检测
检测项
检测项描述
处理建议
检测规则
威胁等级
Tomcat 弱口令检测
Tomcat 存在弱口令,攻击者可以部署 war 文件,导致控制服务器;更多详情请访问参考链接。
修改 conf/tomcat-users.xml,更换更加强壮的口令(可参照参考链接操作)。
Tomcat 弱口令检测
高危
Rsync 弱口令检测
当 Rsync为弱口令时,攻击者可以直接获取 Rsync 配置路径下的文件,若可写,会造成信息泄漏、信息丢失等情况,严重时可危害服务器安全。
增加密码强度
Rsync 弱口令检测
高危
MySQL 弱口令检测
MySQL 采用弱口令容易被黑客猜解从而获取数据权限,导致数据被黑客偷窃、删除等;同时,黑客可能再基于数据库进一步获取系统权限。
1. 改用更复杂的密码,推荐字母、数字、特殊符号组合,长度高于 10 位;2. 选择使用腾讯云 CDB。3. 如果直接删除账户,需执行 OPTIMIZE TABLE mysql.user; 命令进行优化。
MySQL 弱口令检测
高危
Xampp 默认 FTP 密码
Xampp 存在一个默认 FTP 账号密 ...
【Docker存储】Docker设置CPU和内存
背景容器资源配置
CPU利用率控制
内存限额
构建容器时指定资源参数设置12345678910111213141516171819202122232425262728293031323334353637383940414243--build-arg=[] :设置镜像创建时的变量;--cpu-shares :设置cpu使用权重;--cpu-period :限制CPU CFS周期;--cpu-quota :限制cPU CFS配额;--cpuset-cpus :指定使用的CPU id;--cpuset-mems :指定使用的内存id;--disable-content-trust :忽略校验,默认开启;-f :指定要使用的Dockerfile路径;--force-rm :设置镜像过程中册删除中间容器;--isolation :使用容器隔离技术;--label=[ ] :设置镜像使用的元数据;-m :设置内存最大值;--memory-swap :设置Swap的最大值为内存+swap, "-1"表示个/限swap;--no-cache :创建镜像的过程不使用缓存;--p ...