月度归档:2012年08月

Centos Zabbix

一、 Zabbix简介

Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:http://www.zabbix.com
Zabbix 1.8官方文档:http://www.zabbix.com/documentation/1.8/start
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据

Server:
通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix Server需运行在LNMP(Linux+Nginx+Mysql+PHP)环境下,对硬件要求低

Agent:
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows

SNMP:支持各类常见的网络设备
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器
支持分布式,能集中展示、管理分布式的监控点
扩展性强,server提供通用接口,可以自己开发完善各类监控

二、安装环境

centos下已经配置好LNMP
[root@localhost ~]#yum install zabbix zabbix-agent zabbix-server-mysql zabbix-web-mysql -y

三、数据库配置

[root@localhost ~]#service mysqld start
修改MySQL root用户密码(默认密码为空)
[root@localhost ~]#mysqladmin –u root –p
测试能否正常登陆数据库并创建Zabbix数据库
Mysql> create database zabbix character set utf8;
导入数据库sql脚本
[root@localhost ~]#mysql -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.14/create/schema/mysql.sql
[root@localhost ~]#mysql -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.14/create/data/data.sql
[root@localhost ~]#mysql -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.14/create/data/images_mysql.sql

四、配置文件修改

[root@localhost ~]nano /etc/zabbix/zabbix_server.conf
#基本不用修改,用默认配置即可,只需修改一项DBPassword=密码
[root@localhost ~]nano /etc/zabbix/zabbix_agentd.conf
#修改Agentd配置文件,更改HOST NAME 为本机的hostname,比如此处localhost

[root@localhost ~]# nano /etc/php.ini

max_execution_time = 300
max_input_time = 600
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2

[root@localhost ~]#service nginx restart

#添加web前端php文件如下
[root@localhost ~]#cp -a /usr/share/zabbix/* /var/www/html
[root@localhost ~]#chown 48:48 /var/www/html/ -R
[root@localhost ~]#service php-fpm restart

五、web测试

在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://ServerIP
按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。
Step 4 填入Zabbix Server 登陆mysql的用户和密码
配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix

通过init-connect + binlog 实现MySQL审计功能[转]

背景:

假设这么一个情况,你是某公司mysql-DBA,某日突然公司数据库中的所有被人为删了。

尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。

但是拥有数据库操作权限的人很多,如何排查,证据又在哪?

是不是觉得无能为力?

mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢?

本文就将讨论一种简单易行的,用于mysql访问审计的思路。

继续阅读

Centos PPTP VPN

一、简介

在介绍pptp VPN之前我们先来了解一下隧道技术。

隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。
目前VPN隧道协议有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5,我们这里只介绍点到点隧道协议PPTP。

PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送。可以对封装PPP桢中的负载数据进行加密或压缩。
下边简单描述PPTP 过程中涉及的封装和解封步骤。
封装
1.数据封装于IP(或IPX和NetBEUI)封包中。
2.该IP(或IPX和NetBEUI)封包封装在PPP帧中。
3.该PPP 帧封装在GRE 帧中(并加密)。
4.该GRE 帧封装在IP 封包中。
解封
1.移除IP 包头。
2.移除GRE 包头(解密过程)。GRE负载中是一个PPP帧。
3.移除PPP 包头。
4.将该IP(或IPX和NetBEUI)封包路由到其最终的目的地。
MPPE将通过由MS-CHAP、MS-CHAP v2或EAP-TLS身份验证过程所生成的加密密钥对PPP帧进行加密。为对PPP帧中所包含的有效数据进行加密,虚拟专用网络客户端必须使用MS-CHAP、MS-CHAP v2或EAP-TLS身份验证协议。PPTP将利用底层PPP加密功能并直接对原先经过加密的PPP帧进行封装。
PPTP协议将控制包与数据包分开,控制包采用TCP控制,客户端连接到VPN服务器TCP1723端口,用于控制和管理VPN隧道的功能。;数据包部分先封装在PPP协议中,然后封装到GRE V2协议中,最后封装到IP协议中传送。

说实在的我也觉得很啰嗦,来点实际的吧,let’go

二、PPTP VPN 安装

[root@gefire ~]# yum install pptpd -y
[root@gefire ~]# yum install ppp -y

嘿嘿 ,是不是很简单 ^_^

三、PPTP服务的配置

[root@gefire ~]#nano /etc/pptpd.conf
option /etc/ppp/pptpd-options#指定pptpd扩展属性配置文件options.pptpd
noipparam
logwtmp
localip 192.168.0.1#表示服务器的IP
remoteip 192.168.0.2-200#设置的是客户端连接到pptpd server 后可以分配置的IP地址范围

[root@gefire ~]# nano /etc/ppp/options.pptpd
name pptpd#是pptpd server的名称
refuse-pap#拒绝pap 身份验证模式
refuse-chap#拒绝chap 身份验证模式
refuse-mschap#拒绝mschap 身份验证模式
require-mschap-v2#在端点进行连接无收时需要使用微软的mschap-v2进行身份验证
require-mppe-128#MPPE模块使用128 为进行加密
ms-dns 8.8.4.4 ppp#为windows 客户端提供DNS,可指定两个DNS服务器地址
ms-dns 8.8.8.8
proxyarp#代理ARP代理键值
lock#锁定科幻的的PTY 设备文件
nobsdcomp#禁用BSD 压缩模式
novj
novjccomp#禁用Van Jacobson 压缩模式
nologfd#禁止将错误信息记录到标准错误输出设备

[root@gefire ~]# nano /etc/ppp/options
name pptpd
auth
require-chap
-chap
-mschap
+mschap-v2
require-mppe
lcp-echo-failure 30
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote
multilink
noipx
proxyarp
logfd 2
logfile /var/log/pptpd.log
debug
dump
lock

[root@gefire ~]# nano /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
yao.ming * yao.ming *
lang.lang * lang.lang *

#添加vpn用户名和密码
#用*表示不限制登录ip,可以通过指定ip地址来限制登录机器的Ip.防止账号被盗用。

[root@gefire ~]# service pptpd start

到此,PPTP VPN配置差不多完成啦。

四、配置iptables使客户端连接后能够访问外网

[root@gefire ~]# /sbin/iptables -F FORWARD
[root@gefire ~]# /sbin/iptables -P FORWARD ACCEPT
[root@gefire ~]# /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
[root@gefire ~]# /sbin/iptables-A INPUT -p tcp -m state –state NEW -m tcp –dport 47 -j ACCEPT
[root@gefire ~]# /sbin/iptables-A INPUT -p tcp -m state –state NEW -m tcp –dport 1723 -j ACCEPT
[root@gefire ~]# /sbin/iptablesA INPUT -p gre -j ACCEPT
[root@gefire ~]# echo 1 > /proc/sys/net/ipv4/ip_forward #打开ip转发功能
[root@gefire ~]# service iptables restart #重启iptables

好啦,全部over,如果你学会了,请向gefire献花,他会很开心滴,嘿嘿。

下面gefire将送上小笑话一则:

老师:“你现英语水平怎么样?”   同学:“和我的日语水平一样。”   老师:“你还会日语?”   同学:“不会。”   老师:“……”