osquery+kolide fleet安装[通俗易懂]

osquery+kolide fleet安装[通俗易懂]osquery是用于记录本机的一些系统信息,如passwd文件的改变,用户的增加等,有了它,我们可以在系统发生改变后,能够及时查询出来。curl-Lhttps://pkg.osquery.io/rpm/GPG|tee/etc/pki/rpm-gpg/RPM-GPG-KEY-osqueryyum-config-manager–add-repohttps://pkg.osqu…

大家好,又见面了,我是你们的朋友全栈君。

 osquery是用于记录本机的一些系统信息,如passwd文件的改变,用户的增加等,有了它,我们可以在系统发生改变后,能够及时查询出来。

curl -L https://pkg.osquery.io/rpm/GPG | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
yum-config-manager --enable osquery-s3-rpm
yum install osquery -y
cp /usr/share/osquery/osquery.example.conf /etc/osquery/osquery.conf

osquery有两种运行模式:

一种是交互式运行:osqueryi

还有一种是后台进程模式:osqueryd

osquery存储日志的文件路径:/var/log/osquery/

osqueryd.INFO:保存了主机差异变化信息

osqueryd.results.log

osqueryd.snapshots.log:每次查询的结果记录

osquery的配置文件基础解析:osquery配置文件分为三打段

options:osquery daemon的一些配置,日志产生路径,线程数等。

schedule:设置定时任务

packs:osquery的规则配置

osquery默认有些规则,但是有时候也需要新增规则,下面是一个实用规则的地址,可以参考:

https://github.com/grayddq/HIDS

这个git仓库中,有个secrety.conf文件,该文件是系统主机的监控文件,可以放在/etc/osquery目录下,

修改osquery.conf文件,在packs下增加一行:

“secrity”: “/etc/osquery/secrity.conf”

然后重启osquery服务:systemctl restart osqueryd

kolide fleet安装

首先安装mysql:

wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum update
yum install -y mysql-community-server.x86_64 mysql-community-client.x86_64 -y
cat /var/log/mysqld.log    //读取mysql的初始化密码
mysql -uroot -pinit_password
//修改root密码
mysql > alter user "root"@"localhost" identified by "Root123...";   
mysql > flush privileges;
mysql > create database kolide;
mysql > exit

安装redis

注:此处安装只为了测试,为了安全,切勿在生成环境如此安装
wget http://download.redis.io/redis-stable.tar.gz
yum install -y gcc g++
tar -zxvf redis-stable.tar.gz && cd redis-stable
make && make install
cp redis.conf /etc/redis.conf
sed -i 's/daemonize no/daemonize yes/' /etc/redis.conf
redis-server /etc/redis.conf

安装fleet

从github上下载fleet.zip文件,

下载地址为:https://github.com/kolide/fleet/releases

下载fleet.zip后,解压:unzip fleet.zip

cp fleet/linux/fleet /usr/bin/fleet

cp fleet/linux/fleetctl /usr/bin/fleetctl

连接数据库:

/usr/bin/fleet prepare db --mysql_address=127.0.0.1:3306 --mysql_database=kolide --mysql_username=root --mysql_password=password

接下来配置证书
openssl genrsa -out /etc/pki/tls/private/server.key 4096
openssl req -new -key /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.csr
openssl x509 -req -days 3650 -in /etc/pki/tls/certs/server.csr -signkey /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.cert
创建日志目录:
mkdir /var/log/kolide

启动服务
/usr/bin/fleet serve \
    --mysql_address=127.0.0.1:3306 \
    --mysql_database=kolide \
    --mysql_username=root \
    --mysql_password=password \
    --redis_address=127.0.0.1:6379 \
    --server_cert=/etc/pki/tls/certs/server.cert \
    --server_key=/etc/pki/tls/private/server.key \
    --logging_json \
    --osquery_result_log_file=/var/log/kolide/osquery_result \
    --osquery_status_log_file=/var/log/kolide/osquery_status

在第一次执行上面的命令后,会让我们使用参数--auth_jwt_key进行认证,并给出一串key,
然后再上面的命令最后,加上这个参数,并附上key

/usr/bin/fleet serve \
    --mysql_address=127.0.0.1:3306 \
    --mysql_database=kolide \
    --mysql_username=root \
    --mysql_password=password \
    --redis_address=127.0.0.1:6379 \
    --server_cert=/etc/pki/tls/certs/server.cert \
    --server_key=/etc/pki/tls/private/server.key \
    --logging_json \
    --osquery_result_log_file=/var/log/kolide/osquery_result \
    --osquery_status_log_file=/var/log/kolide/osquery_status \
    --auth_jwt_key=your_key

在启动后,查看8080端口是否起来

然后通过https://IP:8080登陆,注意,这里必须使用https进行登陆

登陆了fleet后,进行密码初始化,初始化完成后,开始添加主机:

点击右上角的add new host出现如下图的界面:

osquery+kolide fleet安装[通俗易懂]

复制下面的enroll secret

在主机上执行:echo ‘your enroll secret’ > /var/osquery/enroll_secret

接下来,点击fetch fleet certificate,下载证书:

下载后,执行:mv yourCertificate.pem /var/osquery/server.pem

然后再重新执行osqueryd

/usr/bin/osqueryd \
    --enroll_secret_path=/var/osquery/enroll_secret \
    --tls_server_certs=/var/osquery/server.pem \
    --tls_hostname=YourServerIP:8080 \
    --host_identifier=hostname \
    --enroll_tls_endpoint=/api/v1/osquery/enroll \
    --config_plugin=tls \
    --config_tls_endpoint=/api/v1/osquery/config \
    --config_tls_refresh=10 \
    --disable_distributed=false \
    --distributed_plugin=tls \
    --distributed_interval=3 \
    --distributed_tls_max_attempts=3 \
    --distributed_tls_read_endpoint=/api/v1/osquery/distributed/read \
    --distributed_tls_write_endpoint=/api/v1/osquery/distributed/write \
    --logger_plugin=tls \
    --logger_tls_endpoint=/api/v1/osquery/log \
    --logger_tls_period=10

执行完后,刷新页面,可以看到有主机添加,

上面就是osquery+kolide fleet的安装

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131271.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 连接LDAP服务器用户,使用 LDAP 服务器进行连接

    连接LDAP服务器用户,使用 LDAP 服务器进行连接使用LDAP服务器进行连接如果使用的是Windows(WindowsMobile除外)或Unix平台,则可以指定一个中央LDAP服务器来跟踪企业中的所有数据库服务器。如果数据库服务器在LDAP服务器中自行注册,客户端便可以查询LDAP服务器,找到其要查找的数据库服务器,无论这些服务器是在WAN、LAN上还是位于防火墙的后面。客户端不需要指定IP地址(HOST=)。…

    2022年5月15日
  • 什么是Deeplink?以及Deeplink的原理

    什么是Deeplink?以及Deeplink的原理先说一个日常场景帮大家理解。最近双十一、双十二,不知道大家有没有被亲友们发的某宝、某东、或拼夕夕的各类信息轮番轰炸?小编的亲友群、闺蜜群里常年有这类链接挂着,小红薯的笔记分享,某宝的化妆品、衣服链接分享等等,这一个个的分享链接织成一张张网,真可谓是增加亲友亲密度,快速获取优质好物的利器。这背后有个特别容易忽视却又极其重要的知识点。比如你在社交媒体上分享给翠花一个某App上的精选好店,翠花想要查看有几种操作方式:l如果翠花已经安装了该App,那她只要点开链接就可以跳转到App;l如果…

    2022年6月16日
  • 计算机中一个字等于多少个字节

    计算机中一个字等于多少个字节转:https://blog.csdn.net/Fabulous1111/article/details/79525384这个概念问题一段时间后就容易忘记,还是记录一下:一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。正确的说法:①:1字节(byte)=8位(bit)②:在16位的系统中(比如8086微机)1字(word)=2字节(byte)=16(bit)在32位的系统中(比如win32)1字(word)=4字节(by

    2022年10月1日
  • 【Android】Android长按复制文本功能[通俗易懂]

    【Android】Android长按复制文本功能[通俗易懂]安卓一般能用到长按复制的控件Textview,Editext,可能也有WebView在开始之前先说一个我遇到的一个坑:viewGroup中有一个这个属性android:descendantFocusability=”blocksDescendants”这个属性有三个值:beforeDescendants:viewgroup会优先其子类控件而获取到焦点afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点blocksDescendants:vie

    2022年9月28日
  • 什么是反射机制?_java的反射是如何实现的

    什么是反射机制?_java的反射是如何实现的   Java反射学习步骤:1、 什么是反射机制?2、 获取字节码文件对象(class)3、 (Consrtuctor)用字节码对象(class)new一个对象4、 获取和设置字段(Field)对象的值5、获取指定class的函数(Method)并对其调用6、反射实例什么是反射机制?说全:Java反射机制是在运行状态中,对于任意一个类(Class文件),都能够知道这个类的属性和方法;  …

    2022年10月29日
  • Mit6.S081学习记录

    Mit6.S081学习记录这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年6月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号