文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Linux上使用Osquery设置文件完整性监控

2023-06-06 01:24

关注

这篇文章主要讲解了“怎么在Linux上使用Osquery设置文件完整性监控”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上使用Osquery设置文件完整性监控”吧!

Osquery是一个SQL驱动操作系统检测和分析工具,它由Facebook创建,支持像SQL语句一样查询系统的各项指标,可以用于OSX和Linux操作系统。

Osquery是一个多平台软件,可以安装在Linux,Windows,MacOS和FreeBSD上。它允许我们使用基于SQL的查询来处理操作系统的配置文件、性能、安全检查等。

在本教程中,我们将向您展示如何使用Osquery设置文件完整性监控(FIM)。我们使用的linux操作系统是Ubuntu 18.04和CENTOS 7。

条件

步骤一:在Linux服务器上安装osquery

Osquery为所有的安装平台提供了自己的存储库,我们要做的第一步是从官方的osquery存储库安装osquery包。

在Ubuntu上

将osquery密钥添加到系统。

Export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B 
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ OSQUERY_KEY

添加osquery存储库并安装。

sudo add-apt-repository'deb [arch = amd64] https://pkg.osquery.io/deb deb 
main'sudo apt install osquery -y

在CentOS上

将osquery密钥添加到系统。

curl -L https://pkg.osquery.io/rpm/GPG | sudo tee / etc / pki / rpm-gpg / RPM-GPG-KEY-osquery

添加并启用osquery存储库,然后安装该软件包。

Sudo yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo 
sudo yum-config-manager --enable osquery-s3-rpm 
sudo yum install osquery -y

等待安装所有软件包

怎么在Linux上使用Osquery设置文件完整性监控

注意:如果您收到关于yum-config-manager命令的错误消息。

sudo: yum-config-manager: command not found

安装'yum-utils'包。

yum -y install yum-utils

步骤二:启用Osquery的Syslog Consumption

Osquery提供了一些功能,可以使用Apple system Log (ASL)读取Apple MacOS上的系统日志,对于Linux则使用syslog。

在此步骤中,我们将通过rsyslog启用osquery的syslog consumption。

在Ubuntu上

使用如下apt命令安装rsyslog

sudo apt install rsyslog –y

在CentOS上

使用如下yum命令安装rsyslog包。

sudo yum install rsyslog -y

安装完成后,转到'/etc/rsyslog.d'目录并创建一个新的配置文件osquery.conf。

cd /etc/rsyslog.d/
vim osquery.conf

然后粘贴如下配置

template(  name =“OsqueryCsvFormat”  type =“string”  string =“%timestamp ::: date-rfc3339,csv%,%hostname ::: csv%,%syslogseverity ::: csv%,%syslogfacility-text ::: csv%,%syslogtag ::: csv%,%msg ::: csv%\ n“)*。* action(type =”ompipe“Pipe =”/ var / osquery / syslog_pipe“template =”OsqueryCsvFormat“)

保存并退出

怎么在Linux上使用Osquery设置文件完整性监控

步骤三: osquery基本配置

osquery默认配置是'osquery.conf',通常位于'/ etc / osquery'目录中。

在这一步,我们将了解osquery配置组件,创建自定义osquery配置,然后将osqueryd部署为服务。

格式化为JSON 文件的osquery 配置包含如下规范:

转到'/ etc / osquery'目录并创建一个新的自定义配置'osquery.conf'。

cd / etc / osquery / 
vim osquery.conf

粘贴以下配置。

{    “options”:{        “config_plugin”:“filesystem”,        “logger_plugin”:“filesystem”,        “logger_path”:“/ var / log / osquery”,        “disable_logging”:“false”,        “log_result_events”:“true” ,        “schedule_splay_percent”:“10”,        “pidfile”:“/ var / osquery / osquery.pidfile”,        “events_expiry”:“3600”,        “database_path”:“/ var / osquery / osquery.db”,        “verbose” :“false”,        “worker_threads”:“2”,        “enable_monitor“:”true“,        ”disable_events“:”false“,        ”disable_audit“:”false“,        ”audit_allow_config“:”true“,        “host_identifier”:“hakase-labs”,        “enable_syslog”:“true”,        “syslog_pipe_path”:“/ var / osquery / syslog_pipe”,        “force”:“true”,        “audit_allow_sockets”:“true”,        “schedule_default_interval” :“3600”    },      “schedule”:{        “crontab”:{            “query”:“SELECT * FROM crontab;”,            “interval”:300        },        “system_info”:{            “query”:“SELECT hostname,cpu_brand, physical_memory FROM system_info;“,            “interval”:3600        },        “ssh_login”:{            “query”:“SELECT username,time,host FROM last WHERE type = 7”,            “interval”:360        }    },     “decorators”:{        “load”:[            “SELECT uuid AS host_uuid FROM system_info;”,            “SELECT user AS username FROM logged_in_users ORDER BY time DESC LIMIT 1;”        ]    },     “packs”:{        “osquery-monitoring”:“/ usr / share / osquery / packages / osquery -monitoring.conf”    }}

保存并退出

注意:

启动osqueryd daemon service(使其在每次系统引导时启动)。

systemctl start osqueryd 
systemctl enable osqueryd

重新启动rsyslog服务

systemctl restart rsyslog

osquery基本配置完成。

怎么在Linux上使用Osquery设置文件完整性监控

步骤四:使用osquery配置文件完整性监控(FIM)

Osquery使用Linux和FSEvents提供Linux和MacOS Darwin上的文件完整性监控。简单地的说,它使用'file_path'检测定义目录上的任何一个文件的更改,然后将所有活动存储到file_events表中。

在这个步骤中,我们将配置Osquery来使用自定义FIM包监视重要目录,如HOST、SSH目录,以及tmp和www web根目录等。

转到“/usr/share/osquery/packs”目录,创建一个新的软件包配置文件“fim.conf”。

cd / usr / share / osquery / packs 
vim fim.conf

配置如下:

{  "queries": {    "file_events": {      "query": "SELECT * FROM file_events;",      "removed": false,      "interval": 300    }  },  "file_paths": {    "homes": [      "/root/.ssh/%%",      "/home/%/.ssh/%%"    ],      "etc": [      "/etc/%%"    ],      "home": [      "/home/%%"    ],      "tmp": [      "/tmp/%%"    ],      "www": [      "/var/www/%%"      ]  }}

保存并退出

返回到 '/etc/osquery'配置目录,编辑osquery.conf文件。

cd /etc/osquery/
vim osquery.conf

在 'packs' 中添加文件完整性监控包配置。

   "packs": {        "osquery-monitoring": "/usr/share/osquery/packs/osquery-monitoring.conf",        "fim": "/usr/share/osquery/packs/fim.conf"    }

怎么在Linux上使用Osquery设置文件完整性监控

保存并退出,然后重新启动osqueryd服务。

systemctl restart osqueryd

怎么在Linux上使用Osquery设置文件完整性监控

注意:继续使用JSON linter“ http://jsonlint.com/ ” 检查JSON配置文件,确保没有错误。

步骤五:测试

我们将通过在定义的目录“home”和“www”上创建一个新文件来测试文件完整性监控包。

转到“/var/www/”目录,创建一个名为“howtoforge.md”的新文件。

cd /var/www/
touch howtoforge.md

转到'/ home / youruser /'目录并创建一个名为'hakase-labs.md'的新文件。

cd / home / vagrant / 
touch hakase-labs.md

使用实时交互模式osqueryi 和osquery 的结果日志检查所有日志监控。

怎么在Linux上使用Osquery设置文件完整性监控

osqueryi

运行下面的osqueryi命令。

osqueryi --config-path /etc/osquery/osquery.conf

检查'file_events'表中文件更改的所有日志。

对于全局更改。

select * from file_events;

对于'home'目录。

select target_path, category, action, atime, ctime, mtime from file_events WHERE category="home";

对于'www' web root目录。

select target_path, category, action, atime, ctime, mtime from file_events WHERE category="www";

怎么在Linux上使用Osquery设置文件完整性监控

osqueryd 结果日志

转到'/ var / log / osquery'目录,您将获得'osqueryd.results.log'文件。

cd / var / log / osquery / 
ls -lah osqueryd.results.log

使用'grep'命令筛选osquery日志。

grep -rin howtoforge.md osqueryd.results.log 
grep -rin hakase-labs.md osqueryd.results.log

你将看到所有已创建的文件信息

怎么在Linux上使用Osquery设置文件完整性监控

使用osquery在Linux Server Ubuntu和CentOS上安装和配置文件完整性监控(FIM)已成功完成。

感谢各位的阅读,以上就是“怎么在Linux上使用Osquery设置文件完整性监控”的内容了,经过本文的学习后,相信大家对怎么在Linux上使用Osquery设置文件完整性监控这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯