如何使用Osquery监视Linux服务器安全性

Osquery是一个免费的开源,功能强大且跨平台的基于SQL的操作系统仪器,监控和分析框架,适用于由Facebook构建的Linux,FreeBSD,Windows和Mac / OS X系统。 它是一个简单易用的操作系统资源管理器。

它结合了许多执行低级操作系统分析和监控的工具; 这些工具将操作系统显示为高性能关系数据库,如MySQL / MariaDBPostgreSQL等,其中OS概念以表格形式表示,从而允许用户使用SQL命令来执行系统监视和分析。

Osquery使用一个简单的插件和扩展API来实现SQL表,现在有一组表可供使用,还有更多正在编写的表。 某些表只能在特定的操作系统上找到,例如,您只能在Linux系统上找到kernel_modules表。

此外,您可以运行查询以通过osqueryi shell在单个主机上监视和分析OS状态,或者通过调度程序在网络上的多个主机上运行查询或使用osquery Thrift API从任何自定义应用程序执行查询。

如何在Linux中安装Osquery

可以使用相应Linux发行版上的apt yumdnf软件包管理工具从官方存储库安装Osquery ,如图所示。

在Debian / Ubuntu上

$ export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
$ sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
$ sudo apt update
$ sudo apt install osquery

在RHEL / CentOS上

$ curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-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

在Fedora 22+上

$ curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
$ dnf config-manager --add-repo --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
$ sudo dnf config-manager --set-enabled osquery-s3-rpm
$ sudo dnf install osquery

如何使用Osquery监视和分析Linux

在系统上成功安装Osquery后 ,启动osqueryi shell以开始查询操作系统的状态,如图所示。

$ osqueryi
Using a virtual database. Need help, type '.help'
osquery> 

要获取汇总的Linux系统信息,请运行以下命令。

osquery> SELECT  * FROM system_info;

获取Linux系统信息

要获得Linux系统上所有用户的格式良好的列表,请运行以下查询。

osquery> SELECT * FROM users;

所有Linux用户列表

要获取所有Linux内核模块及其状态的列表,请运行以下查询。

osquery> SELECT * FROM kernel_modules;

列出Linux中的所有内核模块

要获取CentOS,RHEL和Fedora上所有已安装的RPM软件包列表 ,请运行以下查询。

osquery> .all rpm_packages;

列出所有已安装的RPM包

要获取有关运行Linux进程的信息,请运行以下查询。

osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';

列出Linux进程信息

如果您在桌面上运行osquery并安装了FirefoxChrome ,则可以使用以下查询列出所有加载项。

osquery> .all firefox_addons;
osquery> .all  chrome_extensions;

要在Linux中显示所有已实现表的列表,请使用.tables命令,如图所示。

osquery> .tables;	#list all implemented tables
osquery> .help; 	#view help message

Osquery还提供文件完整性监控( FIM ),进程和套接字审计功能等,因此它是一种入侵检测工具,但在为此目的进行部署之前,这需要某些配置。 您可以从Osquery Github存储库中找到更多信息。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏