【原】无脑操作:Centos 7.6 + MariaDB + Rsyslog + LogAnalyzer环境搭建
背景:
网络安全法第三章第二十一条明确规定“采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月”。
为了满足合规性的要求,应当建设相应的日志采集存储系统。
市面上不少日志系统价格不菲,所以考虑在Centos 7.6环境下,基于MariaDB 和 Rsyslog,搭建开源免费的日志采集分析系统LogAnalyzer。
当然啦,ELK也可以,Prometheus + Grafana也OK。
本文参考了不少网络资料,感谢热爱分享的人们!
-------------------------------------------------------------------------------------------------------------------------------------------------------------
软件:
① VMware Workstation 15 Player
② CentOS-7-x86_64-Minimal-1810.iso
③ loganalyzer-4.1.11.tar.gz
④ loganalyzer-4.1.11中文语言包.zip
-------------------------------------------------------------------------------------------------------------------------------------------------------------
1、创建新虚拟机
2、稍后安装操作系统
3、选择Linux,版本为CentOS 7 64位
4、填写虚拟机名称:CentOS7,位置为C:\vm
5、设置磁盘大小为10G,选择将虚拟磁盘存储为单个文件
6、点击完成
7、点击编辑虚拟机设置
8、设置内存为2048MB
9、设置CD/DVD,使用的ISO文件为CentOS-7-x86_64-Minimal-1810.iso
10、设置网络适配器,网络连接为桥接模式
11、播放虚拟机
12、键盘上下键选中Install CentOS 7
13、出现VMware Tools,点击以后提醒我
14、选中语言为中文
15、点击系统,选择安装位置
16、使用自动配置分区,点击完成
17、点击开始安装
18、点击ROOT密码进行设置
19、设置ROOT密码为123456
20、正在安装
21、安装完成后重启虚拟机
22、重启后,输入账号:root,输入密码:123456进入系统
23、输入:cd /,输入:ip addr查看网络配置
24、输入:cd /etc/sysconfig/network-scripts/,输入:ls查看目录
25、输入:vi ifcfg-ens33,默认配置如下:
修改为如下:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.20.123
NETMASK=255.255.255.0
GATEWAY=192.168.20.240
输入:wq,进行保存
26、输入:service network restart,重启网络服务
27、尝试ping一下百度,输入:ping www.baidu.com,发现ping不通,怀疑是DNS问题
28、需要设置DNS,
输入:vi /etc/resolv.conf
29、填写DNS内容,
输入:nameserver 114.114.114.114
输入:nameserver 8.8.8.8
输入:wq,进行保存
30、再次重启网络服务,
输入:service network restart
31、再次输入:ping www.baidu.com,这下能ping通了
32、查看rsyslog是否安装,以及CentOS版本信息,
输入:cd /,输入:rpm –qa | grep rsyslog
输入:cat /etc/redhat-release
33、关闭防火墙,
输入:systemctl stop firewalld.service
输入:systemctl disable firewalld.service
输入:systemctl status firewalld.service
34、关闭selinux,输入:vi /etc/selinux/config,修改后重启操作系统
默认如下
设置SELINUX=disabled
35、查看MariaDB是否安装,输入:cd /,输入:rpm –qa | grep mariadb,发现只有mariadb-libs
36、安装MariaDB服务,
输入:yum -y install mariadb mariadb-server
37、再次查看MariaDB安装情况,输入:rpm –qa | grep mariadb
38、启动MariaDB服务,并设置为开机启动,
输入:systemctl start mariadb.service,
输入:systemctl enable mariadb
39、设置MariaDB的密码,
输入:cd /root
输入:/bin/mysql_secure_installation
设置账号root,密码123456
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):<– 初次运行直接回车
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次设置的密码
Password updated successfully!
Reloading privilege tables…
… Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <– 是否禁止root远程登录,根据自己的需求选择y并回车,建议禁止
… Success!
By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车
Dropping test database…
… Success!
Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
40、输入:mysql -uroot –p123456,进入MariaDB
41、创建rsyslog数据库(用来存放LogAnalyzer系统的配置信息),字符编码设置为utf-8,
输入:create database rsyslog character set utf8 collate utf8_bin;
42、查看当前有几个数据库,
输入:show databases;
43、为rsyslog数据库创建本地用户rsyslog,设置密码为rsyslog,权限为全部权限,
输入:grant all privileges on rsyslog.* to ‘rsyslog’@’localhost’ identified by ‘rsyslog’;flush privileges;
44、输入:exit
退出MariaDB
45、安装rsyslog的MySQL扩展程序包rsyslog-mysql,
输入:yum -y install rsyslog-mysql
46、将rsyslog的MySQL表导入创建的rsyslog数据库,
输入:mysql -uroot -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
47、查看当前有几个数据库,输入:show databases;
多了一个Syslog数据库
48、使用Syslog数据库,输入:use Syslog;
查看Syslog数据库下有几个表,输入:show tables;
显然SystemEvents表用来存放日志记录
49、为Syslog数据库创建本地用户rsyslog,设置密码为rsyslog,权限为全部权限,
输入:grant all privileges on Syslog.* to ‘rsyslog’@’%’ identified by ‘rsyslog’;flush privileges;
50、修改rsyslog配置文件,
输入:vi /etc/rsyslog.conf
默认如下:
修改为如下:
新增:
$ModLoad ommysql
*.*:ommysql:localhost,Syslog,rsyslog,rsyslog
去除如下内容前面的#:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
输入:wq,保存并退出
51、启动rsyslog服务并设置为开机启动,
输入:systemctl restart rsyslog.service
输入:systemctl enable rsyslog.service
52、安装LAMP环境,
输入:yum install httpd php php-mysql php-gd –y
53、创建相应的目录用来存放loganalyzer的解压文件和运行后生成的日志,
输入:mkdir -p /var/www/html/log
输入:mkdir -p /var/log/httpd/log
54、把loganalyzer-4.1.11.tar.gz上传到/opt目录下,并解压,
输入:tar –zxvf loganalyzer-4.1.11.tar.gz
55、输入:cd loganalyzer-4.1.11
输入:cp -r src/* /var/www/html/log
输入:cp -r contrib/* /var/www/html/log
56、输入:cd /var/www/html/log
输入:chmod +x configure.sh secure.sh
输入:./configure.sh
输入:./secure.sh
输入:touch config.php
输入:chmod 666 config.php
输入:chown -R apache.apache *
输入:systemctl start httpd
输入:systemctl enable httpd
输入:systemctl status httpd
57、地址栏输入:http://192.168.20.123/log,
点击Click here开始安装
58、第一步,准备工作
59、第二步、验证文件权限
60、第三步、基础配置,设置用户数据库,填写前面创建的rsyslog数据库,账号和密码都是rsyslog
61、第四步、创建表
62、第五步、检查SQL结果
63、第六步、创建系统的用户和密码,这儿都用的rsyslog
64、第七步、创建第一个数据源用来接收syslog数据,选择数据源类型为数据库,填写使用Syslog数据库的SystemEvents表,账号密码也是前面创建并赋了全部权限的rsyslog
65、第八步,前面都操作成功,完成安装
66、点击上图的Finish就能看到首页
67、点击Login,输入账号和密码,都是rsyslog
68、登录后看见下图
69、系统的基本设置,显示的字体设置为了Courier New
默认的字符编码设置为utf-8
70、中文语言包只是对菜单等进行了汉化,把中文语言包文件放入/var/www/html/log/lang目录下即可
【原】无脑操作:Centos 7.6 + MariaDB + Rsyslog + LogAnalyzer环境搭建的更多相关文章
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限
上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...
- 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改
Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子 ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- 【原】无脑操作:Eclipse + Maven + jFinal + MariaDB 环境搭建
一.开发环境 1.windows 7 企业版 2.Eclipse IDE for Enterprise Java Developers Version: 2019-03 (4.11.0) 3.JDK ...
- 【原】无脑操作:eclipse + maven搭建SSM框架
网上看到一些Spring + Spring MVC + MyBatis框架的搭建教程,不是很详细或是时间久远了,自己动手整一个简单无脑的! 0.系统环境 1)Windows 10 企业版 2)JDK ...
- 【原】无脑操作:ElasticSearch学习笔记(01)
开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...
- 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理
一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...
- 【原】无脑操作:Centos 7后台运行及终止jar包程序
1.后台运行jar包程序,输入:nohup java -jar /路径/程序.jar & 2.后台终止jar包程序,输入:ps -ef | grep java,查看使用java命令的进程,再输 ...
随机推荐
- 阿里云RDS物理备份恢复到本地
一:业务场景 验证阿里云备份文件可用性 二:恢复到本地过程中遇到的问题 1.修改密码报错 2.自定义函数不可用 三:恢复步骤 1.xtrabackup安装使用 请参考:https://www.cnbl ...
- 采用Sharding-JDBC解决分库分表
源码:Sharding-JDBC(分库分表) 一.Sharding-JDBC介绍 1,介绍 Sharding-JDBC是当当网研发的开源分布式数据库中间件,从 3.0 开始Sharding-JDBC被 ...
- 前端工程构建之谈:gulp3要不要升级到Gulp4
关于升级还是不升级,这是一个哲学问题. gulp4的语法更加现代,支持ES6的大部分写法,使用exports的方式去暴露任务组合,更加灵活和便捷. gulp4同时也提供了很多强大的API,例如para ...
- JavaScript中函数的调用!
JavaScript中函数的调用! 1 普通函数 // 1 普通函数 function fn() { console.log(123); } // 函数名 + 一个小括号! 或者 函数名.call() ...
- jmeter进行分布式压测过程与 注意事项
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...
- 设置一个两边固定中间自适应的css
1.两边浮动,中间自动宽度 给左右两个盒子设置左右浮动,中间的盒子不设置宽度,左右两边边距为左右盒子的宽度,中间盒子的位置必须写在右盒子下面,不然会把右盒子挤下去 如: <div class ...
- Compile-time Dependency Injection With Go Cloud's Wire 编译时依赖注入 运行时依赖注入
Compile-time Dependency Injection With Go Cloud's Wire - The Go Blog https://blog.golang.org/wire Co ...
- Quartz.Net 组件的封装使用Quartz.AspNetCore
Quartz.Net 组件的封装使用 Quartz.Net是面向.NET的一款功能齐全的开源作业调度组件,你可以把它嵌入你的系统中实现作业调度,也可以基于Quartz.Net开发一套完整的作业调度系统 ...
- scala之map,List,:: , +:, :+, :::, +++操作
scala之map,List操作 1.Map操作 2.List操作 2.1Demo1 2.2Demo2 3.:: , +:, :+, :::, +++ 1.Map操作 Map(映射)是一种可迭代的键值 ...
- c++指针 c指针 改变值
1. #include <iostream>using namespace std;void move(int *p) ====>void move(*&p){ ...