(图片来源网络,侵删)
Osquery是一个SQL驱动操作系统检测和分析工具,它由Facebook创建,支持像SQL语句一样查询系统的各项指标,可以用于OSX和Linux操作系统osquery是一个多平台软件,可以安装在Linux,Windows,MacOS和FreeBSD上它允许我们使用基于SQL的查询来处理操作系统的配置文件、性能、安全检查等在本教程中,我们将向您展示如何使用OsQueq设置文件完整性监控(FIM)我们使用的linux操作系统是Ubuntu 18.04和CENTOS 7条件Linux(Ubuntu或CentOS)Root权限完成了第一个osquery指南步骤一:在Linux服务器上安装osqueryosquery为所有的安装平台提供了自己的存储库,我们要做的第一步是从官方的osquery存储库安装osquery包在Ubuntu上将osquery密钥添加到系统Export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80Bsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ OSQUERY_KEY添加osquery存储库并安装sudo add-apt-repository'deb [arch = amd64] https://pkg.osquery.io/deb debmain'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.reposudo yum-config-manager --enable osquery-s3-rpmsudo yum install osquery -y等待安装所有软件包注意: 如果您收到关于yum-config-manager命令的错误消息sudo: yum-config-manager: command not found安装'yum-utils'包yum -y install yum-utils步骤二:启用Osquery的Syslog Consumptionosquery提供了一些功能,可以使用Apple system Log (ASL)读取Apple MacOS上的系统日志,对于Linux则使用syslog在此步骤中,我们将通过rsyslog启用osquery的syslog consumption在Ubuntu上使用如下apt命令安装rsyslogsudo apt install rsyslog –y在CentOS上使用如下yum命令安装rsyslog包sudo yum install rsyslog -y安装完成后,转到'/etc/rsyslog.d'目录并创建一个新的配置文件osquery.confcd /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“)保存并退出步骤三: osquery基本配置osquery默认配置是'osquery.conf',通常位于'/ etc / osquery'目录中在这一步,我们将了解osquery配置组件,创建自定义osquery配置,然后将osqueryd部署为服务格式化为JSON 文件的osquery 配置包含如下规范:Options:osqueryd CLI命令的一部分,它决定应用程序的启动和初始化Schedule:将计划的查询名称的Flow定义到查询详情Decorators:用于向结果和快照日志添加额外的“decorations”Packs:一组调度查询More:File Path, YARA, Prometheus, Views, EC2, Chef Configuration转到'/ etc / osquery'目录并创建一个新的自定义配置'osquery.conf'cd / etc / osquery /vim osquery.conf粘贴以下配置保存并退出注意:我们使用'filesystem'作为配置文件和记录器插件定义'/ var / log / osquery'目录的记录器路径将SysLog-PIP启用到'/Va/ysLogy/SySalpJixBube文件中在调度程序中,我们定义了三个查询来检查crontab, system info, 和ssh login.启用名为“osquery-monitoring”的osquery包,并将该包放置在'/Ur/Stuts/OsQue/Pokes’目录中启动osqueryd daemon service(使其在每次系统引导时启动)systemctl start osquerydsystemctl enable osqueryd重新启动rsyslog服务systemctl restart rsyslogosquery基本配置完成步骤四:使用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 / packsvim fim.conf配置如下:保存并退出返回到 '/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\" }保存并退出,然后重新启动osqueryd服务systemctl restart osqueryd注意: 继续使用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 的结果日志检查所有日志监控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\";osqueryd 结果日志转到'/ var / log / osquery'目录,您将获得'osqueryd.results.log'文件cd / var / log / osquery /ls -lah osqueryd.results.log使用'grep'命令筛选osquery日志grep -rin howtoforge.md osqueryd.results.loggrep -rin hakase-labs.md osqueryd.results.log你将看到所有已创建的文件信息使用osquery在Linux Server Ubuntu和CentOS上安装和配置文件完整性监控(FIM)已成功完成
0 评论