Kako nadzorovati varnost strežnika Linux z Osqueryjem


Osquery je brezplačen odprtokodni, zmogljiv in med platformami temelječ sistem SQL za instrumentacijo, spremljanje in analitiko operacijskega sistema za sisteme Linux, FreeBSD, Windows in Mac/OS X, ki ga je izdelal Facebook. Je preprost in raziskovalec operacijskih sistemov, ki je enostaven za uporabo.

Združuje številna orodja, ki izvajajo analizo in spremljanje OS na nizki ravni; ta orodja razkrivajo operacijski sistem kot visoko zmogljivo relacijsko bazo podatkov, kot so MySQL/MariaDB, PostgreSQL in druge, kjer so koncepti OS predstavljeni v obliki tabele, kar uporabnikom omogoča uporabo ukazov SQL za spremljanje in analizo sistema.

Osquery uporablja preprost vtičnik in razširitveni API za izvajanje tabel SQL, obstaja zbirka tabel, ki je pripravljena za uporabo, in piše se več. Nekatere tabele lahko najdete samo v določenem operacijskem sistemu, na primer tabelo kernel_modules najdete le v sistemih Linux.

Poleg tega lahko izvajate poizvedbe za spremljanje in analizo stanja OS na enem samem gostitelju prek lupine osqueryi ali na več gostiteljih v omrežju prek razporejevalnika ali pa jih izvedete iz katere koli od vaših aplikacij po meri z uporabo osquery Thrift API -jev.

Kako namestiti Osquery v Linux

Osquery lahko namestite iz uradnega skladišča z orodjem za upravljanje paketov dnf na vaši distribuciji Linux, kot je prikazano.

$ 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

Kako spremljati in analizirati Linux z uporabo Osqueryja

Ko uspešno namestite Osquery v sistem, zaženite lupino osqueryi, da začnete poizvedovati o stanju vašega OS, kot je prikazano.

$ osqueryi

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

Če želite povzeti sistemske informacije o sistemu Linux, zaženite naslednji ukaz.

osquery> SELECT  * FROM system_info;

Če želite dobiti dobro oblikovan seznam vseh uporabnikov v sistemu Linux, zaženite naslednjo poizvedbo.

osquery> SELECT * FROM users;

Če želite dobiti seznam vseh modulov jedra Linuxa in njihov status, zaženite naslednjo poizvedbo.

osquery> SELECT * FROM kernel_modules;

Če želite dobiti seznam vseh nameščenih paketov RPM na CentOS, RHEL in Fedora, zaženite naslednjo poizvedbo.

osquery> .all rpm_packages;

Če želite izvedeti več o izvajanju procesov Linuxa, zaženite naslednjo poizvedbo.

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

Če uporabljate osquery na namizju in imate nameščen Firefox ali Chrome, lahko z naslednjo poizvedbo navedete vse svoje dodatke.

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

Če želite prikazati seznam vseh izvedenih tabel v Linuxu, uporabite ukaz .tables, kot je prikazano.

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

Osquery ponuja tudi nadzor integritete datotek (FIM) ter funkcije preverjanja procesov in vtičnic in še več, zato je orodje za odkrivanje vdorov, vendar to zahteva določene konfiguracije, preden ga lahko uporabite za ta namen. Več informacij najdete v skladišču Osquery Github.