网络安全防御

网络监控基础

开源监控方案

  • 拥有集成化、自动化、Web管理等优势
  • 监控结果直观、支持报警插件

11.2.1

zabbix体系架构

  • 采集数据
  • 展示结果
  • 触发告警

11.2.2

11.2.3

确认zabbix主控机环境

一台openEuler 22.03主机

  • 主机名:zbx.ntd.cn,IP地址:192.168.10.233/24
1
2
3
4
5
6
7
8
9
10
[root@zbx ~]# nmtui                                                     //设置主机名为zbx.ntd.cn
[root@zbx ~]# vim /etc/hosts
192.168.10.223 zbx zbx.ntd.cn //添加zabbix主控机的域名映射记录
192.168.10.224 client1 client1.ntd.cn //添加client1被控机的域名映射记录

[root@zbx ~]# ping zbx
PING zbx (192.168.10.223) 56(84) 字节的数据。
64 字节,来自 zbx (192.168.10.223): icmp_seq=1 ttl=64 时间=0.048 毫秒
64 字节,来自 zbx (192.168.10.223): icmp_seq=2 ttl=64 时间=0.052 毫秒
64 字节,来自 zbx (192.168.10.223): icmp_seq=3 ttl=64 时间=1.70 毫秒 //ping域名能找到正确的IP地址

更换软件源设置

排除其他源干扰,安装更省事

  • 改用CentOS 9-stream的源,依赖包资源比较完整
1
2
3
4
5
6
7
8
9
10
11
[root@zbx ~]# rm -rf /etc/yum.repos.d/*.repo           //清理旧源
[root@zbx ~]# vim /etc/yum.repos.d/cs9.repo //配置新源
[BaseOS]
name=BaseOS
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os
gpgcheck=0

[AppStream]
name=appstream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os
gpgcheck=0

安全策略调整

  • 设置防火墙允许80端口通过
1
2
3
[root@zbx ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
//设置防火墙允许80端口通过
[root@zbx ~]# systemctl restart firewalld //重启防火墙
  • 禁用SELinux机制
1
[root@zbx ~]# setenforce 0           //使SELinux失效

快速安装LAMP平台

离线安装

  • 预先准备离线素材lamp80/,上传到/root/目录下
1
2
3
4
5
6
7
[root@zbx ~]# yum -y remove openEuler-logos                 //卸载冲突包

[root@zbx ~]# ls /root/lamp80/ //查看是否上传成功

[root@zbx ~]# yum -y install /root/lamp80/*.rpm //安装

[root@zbx ~]# systemctl enable httpd mariadb php-fpm --now //设置开机自启

部署zabbix主控端

安装zabbix服务

将目录zbx62_pkgs/上传到主控机/root目录下

  • 找到子目录zabbix62/下的*.rpm包,完成离线安装
1
2
3
4
5
6
7
8
9
10
[root@zbx ~]# ls zbx62_pkgs/                               //确认上传结果

[root@zbx ~]# yum -y install zbx62_pkgs/zabbix62/*.rpm //装离线包

[root@zbx ~]# yum list "zabbix*" //检查安装结果

Installed Packages
zabbix-agent.x86_64 6.2.3-release1.el9 @@commandline //zabbix代理
zabbix-server-mysql.x86_64 6.2.3-release1.el9 @@commandline //zabbix服务器
zabbix-web.noarch 6.2.3-release1.el9 @@commandline //网页前端

配置Web界面

1
[root@zbx ~]# systemctl restart httpd         //更新新安装的网页配置

11.2.4

  • 检查必要条件

11.2.5

  • 准备数据库环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@zbx ~]# mysql -uroot -p

MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
//建库
MariaDB [(none)]> create user zabbix@localhost identified by 'zbxdb@1234';
//建用户
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost;
//为用户授权
MariaDB [(none)]> set global log_bin_trust_function_creators=1;
//取消存储函数限制
MariaDB [(none)]> quit
//退出数据库

[root@zbx ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -pzbxdb@1234 zabbix
//导入初始表
  • 如果数据库连接正常,可以继续下一步,否则会报错

11.2.6

  • 后续步骤继续,确认安装以后,成功看到登录界面

11.2.7

登录zabbix网页前端

默认管理员:Admin,密码为zabbix

  • 如果zabbix-server服务未启动,登录网页前端后会报错

11.2.8

启用zabbix-server主控服务

  • 要告知zabbix-server如何访问数据库
1
2
3
4
5
[root@zbx ~]# vim /etc/zabbix/zabbix_server.conf

DBName=zabbix //数据库名
DBUser=zabbix //数据库用户
DBPassword=zbxdb@1234 //连接密码,注意删除首行#号
  • 启动zabbix-server服务
1
2
[root@zbx ~]# systemctl enable zabbix-server --now
//设置开机自启并立即启动

部署zabbix被控端

确认zabbix被控端环境

一台openEuler 22.03主机

  • 主机名:clinet1.ntd.cn,IP地址:192.168.10.233/24
1
[root@clinet1 ~]# nmtui                                                     //设置主机名为clinet1.ntd.cn
  • 关闭防火墙及SELinux
1
2
[root@clinet1 ~]# systemctl disable firewalld --now
[root@clinet1 ~]# setenforce 0

安装被控端组件

被监控的Linux主机需要部署zabbix-agent代理程序

1
2
3
4
[root@client1 ~]# yum  -y  install  zbx62_pkgs/zabbix62/zabbix-agent*.rpm         //安装agent代理包

[root@client1 ~]# yum list "zabbix*" //检查安装结果
zabbix-agent.x86_64 6.2.3-release1.el9 @@commandline

启用zabbix-agent被控服务

  • 调整监听设置,允许主控机来采集数据
1
2
3
4
5
[root@client1 ~]# vim  /etc/zabbix/zabbix_agentd.conf

Server=192.168.10.223 //添加主控机地址,多个地址以逗号分隔
ServerActive=192.168.10.223 //添加主控机地址,多个地址以逗号分隔
Hostname=client1.ntd.cn //本机的主机名(且主控机能ping通这个主机名)
  • 启用zabbix-agent服务
1
[root@client1 ~]# systemctl enable zabbix-agent --now        //设置开机自启

测试

在主控端进行测试

1
2
3
[root@zbx ~]# zabbix_get -s 192.168.10.224 -k agent.ping
1
//结果为1表示被控端可达

管理监控项

用户登录及账号控制

登入zabbix控制台http://192.168.10.223/zabbix/

  • 默认管理员账号Admin,密码是zabbix
  • 单击左侧栏User Setting,将界面语言修改为Chinese(zh_CN)

11.2.9

添加被控机

Zabbix导航边栏 => 监测 => 主机 => 创建主机

11.2.10

管理被控机

Zabbix导航边栏 => 配置 => 主机

  • 可添加新的被控机:指定主机名、可见名、agent接口地址
  • 可管理现有被控机:停用/启用、修改、选监控模板

设置监控项

单击被控主机右侧的“监控项”,可以管理监控项

  • 关联了OS Linux模板时,会自动添加大量监控项
  • 比如针对CPU、内存、登录用户数、运行任务数等指标的监控

11.2.11

zabbix自动发现,或管理员手动添加新监控项

  • 网卡入站流量 net.if.in[ens160]
  • 网卡出站流量 net.if.out[ens160]

11.2.12

监控结果分析

使用仪表盘

监测 => 仪表盘,用于集中展现监控指标、报告问题

  • 仪表板展示的数据块可以编辑

11.2.13

查看监控图形

监测 => 主机 => xx => 图形,查看主机的监控结果

  • 默认情况下,zabbix所绘制图形中的汉字会显示为方框,需要修正绘图所使用的字体

11.2.14

  • 修复中文显示
1
2
3
4
[root@zbx ~]# yum -y install wqy-zenhei-fonts               //安装中文字体

[root@zbx ~]# cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf //替换掉默认字体
cp:是否覆盖'/usr/share/zabbix/assets/fonts/graphfont.ttf'? y

创建监控图形

配置 => 主机 => xx => 图形 => 创建图表

  • 比如“网卡流量分析”图,整合入站/出站流量监控项

11.2.15