日志审计数据库审计

日志审计数据库审计,第1张

WEB页面日志集中审计

一、日志审计基本结构图。



2.构建环境: *** 作系统为CentOS6.5x86_64,构建rsyslog+loganalyzer,日志存储在数据库服务中。

运维人员的很多故障排除问题都是通过分析日志来解决的,但是过于分散的日志会耽误故障排除的时间。对于在线服务器,要尽早发现问题,及时给出解决方案。当面对集群环境时,很可能会有几十台服务器集群在一起,故障排除会相当痛苦。这时候就需要对日志进行集中管理,不仅可以解决磁盘I/O能力,还可以通过WEB应用页面直观的显示错误位置。如果有条件,还可以做一个日志服务器集群,保证一个日志服务器挂机不丢失信息。



四。开始构建日志审计服务器。

1.)先安装php,由于之前安装的LAMP不支持gd模块,不会再编译。只有php可以重新编译。

# yum-y groupinstall "Desktop Platform Development" # yum-y install bzip2-devel libmcrypt-devel # tarxf php-5.4.26.tar.bz2  # cdphp-5.4.26 # ./configure--prefix=/usr/local/php5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir--with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr--enable-xml  --enable-sockets--enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d--with-bz2 --with-gd #--with-gd支持图片处理功   # make&& make install #编译安装 # mkdir-pv /var/www/log #创建loganalyzer存放路径 #vim /var/www/log/index.php #创建测试页 #cp php.ini-production /etc/php.ini #复制php配置文件an #cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #复制php启动脚本 #cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #复制php主配置文件 #cd /usr/local/php5/var/run/ #vim /usr/local/php5/etc/php-fpm.conf #编辑配置文件 pid = /usr/local/php5/var/run/php-fpm.pid  #修改pid路径 listen = 172.16.32.12:9000 #修改监听端口   #chmod +x /etc/init.d/php-fpm #给php启动脚本执行权限 #/etc/init.d/php-fpm start #启动php


启动php后,可以结合apache来测试新编译的-—with-gd模块。

日志也是私有的,所以是加密的,通过https传输。

原来有一个主机phpadmin也是加密的,下面创建一个虚拟主机

2.)http主机 *** 作。

# mkdir /var/www/log #创建网站目录 # vim /etc/httpd/extra/httpd-ssl.conf #编辑httpd配置文件 <VirtualHost _default_:443>        #基于域名的https虚拟主机     DocumentRoot "/var/www/log/"     #网站根目录    ServerNamelog.zhang.com:443     #域名及端口   ProxyRequests Off #关闭正向代理   ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.32.12:9000/var/www/log/$1 #反向代理指向php主机及目录           <Directory "/var/www/log"> #访问控制               Options none               AllowOverride none               Require all granted           </Directory> SSLCertificateFile"/etc/httpd/ssl/https.crt" #证书目录 SSLCertificateKeyFile"/etc/httpd/ssl/https.key" #密钥目录 </VirtualHost>   #service httpd restart #重启http


3.)结合php测试http。

Https生效,新添加的模块也生效。因为是自建CA服务器,浏览器说这个认证不合法。

数据库也是提前建好的,所以这里日志直接集中在一台服务器上。

4.)切换到数据库服务器。

安装数据库驱动程序。

# yum -y install rsyslog-mysql


Rsyslog-mysql生成三个文件。Ommysql.所以这是驱动模块,createDB.sql这是安装rsyslog-mysql时生成的数据库。

# rpm -ql rsyslog-mysql #查看rsyslog-mysql 生成的文件 /lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-mysql-5.8.10 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql


5.)编辑配置文件。

# Provides UDP syslog reception $ModLoad imudp #开启upd传输模块 $UDPServerRun 514 #udp传输端口   # Provides TCP syslog reception $ModLoad imtcp #tcp传输模块 $InputTCPServerRun 514 #upd端口   $ModLoad ommysql #指定新添加的模块,默认是没有的   #指定数据库,并且添加要授权的ip,账户等信息 *.info;mail.none;authpriv.none;cron.none:ommysql:172.16.32.10,Syslog,logadmin,123456


6.)httpphp主机 *** 作如下。

指定日志集中管理的服务器的IP地址。

*.info;mail.none;authpriv.none;cron.none                @172.16.32.10


7.)重启三台主机的rsyslog。

#service rsyslog restart


8.)将数据导入数据库。

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql MariaDB [(none)]> source/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql #使用source导入安装rsyslog-mysql生成的数据库 Query OK, 1 row affected (0.00 sec)   Database changed Query OK, 0 rows affected (0.03 sec)   Query OK, 0 rows affected (0.04 sec)   MariaDB [Syslog]> SHOW DATABASES; #查看新增加的数据库 +--------------------+ | Database          | +--------------------+ | information_schema | | Syslog            | | bbsdb             | | mysql             | | performance_schema | | test              | | wpdb              | +--------------------+ 7 rows in set (0.05 sec)   MariaDB [Syslog]> USE Syslog; #切换进Syslog数据库 Database changed MariaDB [Syslog]> SHOW TABLES; #查看Syslog的表 +------------------------+ | Tables_in_Syslog       | +------------------------+ | SystemEvents           | | SystemEventsProperties | +------------------------+ 2 rows in set (0.00 sec) MariaDB [Syslog]> GRANT ALL ON Syslog.*TO'logadmin'@'172.16.32.12' IDENTIFIED BY '123456'; # 授权php主机   Query OK, 0 rows affected (0.01 sec)   MariaDB [Syslog]>  FLUSH PRIVILEGES; #刷新权限 Query OK, 0 rows affected (0.00 sec)


9.)出来后重启rsyslog,让日志开始记录到数据库。

# service rsyslog restart


10.)检查数据库记录日志。

MariaDB [Syslog]> SELECT * FROM SystemEvents; # 查看日志 +----+------------+---------------------+---------------------+----------+----------+----------+-----------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+ | ID | CustomerID | ReceivedAt          | DeviceReportedTime  | Facility | Priority | FromHost |Message                                                                                            |NTSeverity | Importance | EventSource | EventUser | EventCategory | EventID |EventBinaryData | MaxAvailable | CurrUsage | MinUsage | MaxUsage | InfoUnitID |SysLogTag | EventLogType | GenericFileName | SystemID | +----+------------+---------------------+---------------------+----------+----------+----------+-----------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+ |  1 |       NULL | 2014-08-20 15:14:30 | 2014-08-2015:14:30 |        0 |        6 | Server   | imklog 5.8.10, log source = /proc/kmsgstarted.                                                    |       NULL |       NULL | NULL        | NULL      |         NULL |    NULL | NULL            |         NULL |      NULL |    NULL |     NULL |          1 | kernel:   | NULL        | NULL            |     NULL | |  2 |       NULL | 2014-08-20 15:14:30 | 2014-08-2015:14:30 |        5 |        6 | Server   | [origin software="rsyslogd" swVersion="5.8.10"x-pid="1929" x-info="http://www.rsyslog.com"] start |       NULL |       NULL | NULL        | NULL      |         NULL |    NULL | NULL            |         NULL |      NULL |    NULL |     NULL |          1 | rsyslogd: | NULL         | NULL            |     NULL | +----+------------+---------------------+---------------------+----------+----------+----------+-----------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+ 2 rows in set (0.00 sec)


1.)当数据库的这一面完成后,返回php主机。

# pwd /var/www # mkdir log  # cp -rf loganalyzer-3.6.5/src/* /var/www/log #将需要用到的文件复制到log目录下 # cp -rf loganalyzer-3.6.5/contrib/* /var/www/log # cd log # chmod +x configure.sh secure.sh #给configure.sh执行权限,生成config.php文件 # ./configure.sh ; ./secure.sh  # chmod 666 config.php  #给config.php 可写入权限 # scp -r log/ 172.16.32.11:/var/www/log  #将图片相关复制到http主机网站目录下


12.)输入地址并开始安装。


现在它们都是通过https传输,并通过https://log.zhang.com直接访问,设置一个密码。


13.)回到http主机,加密网站。

创建用户验证相关文件。

# ./htpasswd -c -m /etc/httpd/.httpdpasswd zhang New password:  Re-type new password:  Adding password for user zhang


14.)编辑http-ssl.conf配置文件并指定加密目录。

# vim /etc/httpd/extra/httpd-ssl.conf  <Directory "/var/www/log">          #指定加密目录     Optionsnone                     #用户访问时无任何选项    AllowOverride AuthConfig         #认证相关     AuthTypeBasic                   #认证类型     AuthName"system log!"           #提示信息    AuthBasicProvider file           #文件方式存储用户 密码    AuthUserFile "/etc/httpd/.httpdpasswd" #指定用户加密文件路径            Require valid-user       #合法用户可以访问 </Directory> # /etc/init.d/httpd restart


15.)测试加密效果。


好了,加密完成了。


摘要:createDB.sql导入数据库后,您不会立即看到日志。如果此时查看表中的数据,会显示不存在。您需要重新启动rsyslog来查看日志记录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/784380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存