Kā uzraudzīt Linux servera drošību ar Osquery


Osquery ir bezmaksas atvērtā koda, jaudīga un starpplatformu SQL bāzēta operētājsistēmas instrumentu izstrādes, uzraudzības un analīzes sistēma Linux, FreeBSD, Windows un Mac/OS X sistēmām, ko izveidojusi Facebook. Tas ir vienkāršs un ērti lietojams operētājsistēmas pētnieks.

Tas apvieno vairākus rīkus, kas veic zema līmeņa OS analīzi un uzraudzību; Šie rīki atklāj operētājsistēmu kā augstas veiktspējas relāciju datu bāzi, piemēram, MySQL/MariaDB, PostgreSQL un citas, kur OS koncepcijas ir attēlotas tabulas veidā, tādējādi ļaujot lietotājiem izmantot SQL komandas, lai veiktu sistēmas uzraudzību un analīzi.

Osquery izmanto vienkāršu spraudni un paplašinājumus API, lai ieviestu SQL tabulas, ir jau pieejama tabula, kas ir gatava lietošanai, un tiek rakstīts vēl vairāk. Dažas tabulas var atrast tikai noteiktā operētājsistēmā, piemēram, tabulu kernel_modules var atrast tikai Linux sistēmās.

Turklāt varat palaist vaicājumus, lai uzraudzītu un analizētu OS stāvokli vienā resursdatorā, izmantojot osqueryi apvalku, vai vairākos tīkla resursdatoros, izmantojot plānotāju, vai izpildīt tos no jebkuras jūsu pielāgotās lietojumprogrammas, izmantojot osquery Thrift API.

Kā instalēt Osquery Linux

Osquery var instalēt no oficiālā repozitorija, izmantojot dnf pakotņu pārvaldības rīku attiecīgajā Linux izplatīšanā, kā parādīts.

$ 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
$ 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-repo
$ sudo yum install osquery
$ 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

Kā uzraudzīt un analizēt Linux, izmantojot Osquery

Kad esat veiksmīgi instalējis Osquery savā sistēmā, palaidiet osqueryi apvalku, lai sāktu vaicāt OS stāvokli, kā parādīts.

$ osqueryi

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

Lai iegūtu apkopotu informāciju par Linux sistēmu, izpildiet šo komandu.

osquery> SELECT  * FROM system_info;

Lai iegūtu labi noformētu visu Linux sistēmas lietotāju sarakstu, izpildiet šo vaicājumu.

osquery> SELECT * FROM users;

Lai iegūtu visu Linux kodola moduļu un to statusa sarakstu, izpildiet šo vaicājumu.

osquery> SELECT * FROM kernel_modules;

Lai iegūtu visu CentOS, RHEL un Fedora instalēto RPM pakotņu sarakstu, izpildiet šo vaicājumu.

osquery> .all rpm_packages;

Lai iegūtu informāciju par Linux procesu palaišanu, izpildiet šādu vaicājumu.

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';

Ja datorā darbojas osquery un jums ir instalēta Firefox vai Chrome, varat uzskaitīt visus savus papildinājumus, izmantojot šo vaicājumu.

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

Lai parādītu visu Linux ieviesto tabulu sarakstu, izmantojiet komandu .tables, kā parādīts.

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

Osquery nodrošina arī failu integritātes uzraudzību (FIM), kā arī procesu un ligzdu audita funkcijas un citas funkcijas, tādējādi tas ir ielaušanās noteikšanas rīks, taču tas prasa noteiktas konfigurācijas, pirms varat to izvietot šādam nolūkam. Plašāku informāciju varat atrast Osquery Github repozitorijā.