监控与安全

zabbix

实施监控的几个方面:

数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集) 

数据存储:使用mysql数据库     

数据展示:通过web页面   

zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示,需要安装nginx。

zabbix运行需要zabbix账户

nginx运行期间,调用php-fpm服务,php-fpm需要向web目录中修改文件。php-fpm的运行用户是apache,所以apache用户需要对该目录有写权限:

  chown -R apache:apache /usr/local/nginx/html/

zabbix web依赖配置文件目录  /etc/php.ini

在zabbix web管理平台中配置监控

主机:安装了agent,被监控的主机

agent配置文件目录: /usr/local/etc/zabbix_agentd.conf

主机组:根据需求,将多台主机加入到一个主机组中,方便管理。系统默认已经创建了一些主机组。

模板:是监控项的集合。将模板应用到主机,主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。

自定义监控项

实现监控web1用户数量的监控项

1.在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。 

key的语法格式
UserParameter=key[*], $1
key[*]中的*是参数,将会传给后面的位置变量$1

key的文件的目录:/usr/local/etc/zabbix_agentd.conf.d/

 2.在web页面中创建监控项。监控项对应key值。   

3.监控项存在应用集中。应用集就是相似监控项的集合。   

4.应用集存在模板中。一个模板可以包含多个应用集。

模板-------包含------应用集-------包含------监控项-------对应-------Key

配置告警

默认情况下,监控项不会自动发送告警消息 

需要配置触发器与告警,并且通过通知方式发送信息给联系人   

触发器:设置条件,当条件达到时,将会执行某个动作   

动作:触发器条件达到之后要采取的行为,比如发邮件或执行命令

自动发现

当被监控的设备非常多的时候,手工添加将会变得非常不方便   

可以使用自动发现功能,实现添加主机、添加到主机组、 链接模板   

自动发现流程:     

创建自动发现规则   

创建动作,当主机被发现之后,执行什么操作 

通过动作,添加主机,将模板应用到发现的主机

实施主动监控

默认zabbix使用的是被动监控,主被动监控都是针对被监控主机而言的。 

被动监控:Server向Agent发起请求,索取监控数据。此种模式常用   

主动监控:Agent向Server发起连接,向Server汇报

监控nginx示例

stub_status模块

用于实时监控nginx的网络连接,这个模块是nginx官方提供的一个模块。

Prometheus

也是一款监控软件,也是一个时序数据库。 

主要用在容器监控方面,也可以用于常规的主机监控。 

使用google公司开发的go语言编写。   

Prometheus是一个框架,可以与其他组件完美结合。

prometheus监控配置文件: /usr/local/prometheus/prometheus.yml 

添加被监控端

监控方式:

 拉取:pull。监控端联系被监控端,采集数据   

推送:push。被监控端主动把数据发给监控端。在prometheus中,push的方式需要额外的组件pushgateway   

被监控端根据自身运行的服务,可以运行不同的exporter(被监控端安装的、可以与Prometheus通信,实现数据传递的软件)

部署通用的监控exporter

node-exporter用于监控硬件和系统的常用指标   

exporter运行于被监控端,以服务的形式存在。每个exporter所使用的端口号都不一样。   

在node1[192.168.4.11]上部署node exporter

grafana可视化

grafana是一款开源的、跨平台的、基于web的可视化工具   

展示方式:客户端图表、面板插件 

数据源可以来自于各种源,如prometheus

kali

nmap扫描

一般来说扫描是攻击的前奏。 

扫描可以识别目标对象是什么系统,开放了哪些服务。 

获知具体的服务软件及其版本号,可以使得攻击的成功率大大提升。   

扫描可以检测潜在的风险,也可以寻找攻击目标、收集信息、找到漏洞   

windows下,扫描可以使用xscan / superscan   Linux,扫描可以采用nmap

使用john破解密码

在线破解哈希值的网站:md5在线解密破解,md5解密加密

哈希是算法,英文hash的音译,包括md5、sha等

kali系统提供了一个名为john的工具,可用于密码破解

iptables

iptables有多种功能,每一种功能都用一张表来实现   

最常用的功能是防火墙和NAT 

从RHEL7开始,默认的防火墙为firewalld,但是它的底层仍然调用iptables   

安装iptables服务

iptables   包含 过滤表  地址转换表  包标记表  状态跟踪表

filter中的三条链

INPUT:数据包的目标地址是自己,则进入INPUT链

OUTPUT:数据包的源地址是自己,则进入OUTPUT链

FORWARD:数据包穿过自己,则进入FORWARD链

             iptables操作

iptables的语法

iptables [-t 表名] 选项 [链名] [条件] [-j 满足条件的操作]

-A 追加规则-->iptables -A INPUT
-D 删除规则-->iptables -D INPUT 1(编号)
-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-L 查看规则-->iptables -L INPUT 列出规则链中的所有规则

通用参数:
-p 协议  例:iptables -A INPUT -p tcp
-s源地址 例:iptables -A INPUT -s 192.168.1.1
-d目的地址 例:iptables -A INPUT -d 192.168.12.1
-sport源端口 例:iptables -A INPUT -p tcp --sport 22
-dport目的端口 例:iptables -A INPUT -p tcp --dport 22
-i指定入口网卡 例:iptables -A INPUT -i eth0
-o指定出口网卡 例:iptables -A FORWARD -o eth0

-j 指定要进行的处理动作
常用的ACTION:
DROP:丢弃
REJECT:明示拒绝
ACCEPT:接受

NAT

NAT:网络地址翻译、网络地址转换   

NAT技术产生,主要是解决IPV4地址不够用。   

NAT一般用于将私有地址转成全球唯一的公有地址。   

私有地址:    

A类:10.x.x.x   

B类:172.16.x.x-172.31.x.x   

C类:192.168.x.x     

私有地址,如果需要访问互联网中的公有地址,进行上网,可以通过NAT技术,将私有地址转成公有地址,再访问外界。

你可能感兴趣的:(安全,apache,mysql)