Cum se monitorizează securitatea serverului Linux cu Osquery


Osquery este un cadru de instrumentare, monitorizare și analiză a sistemului de operare bazat pe SQL, cu sursă deschisă gratuită, puternic și multiplatformă pentru sistemele Linux, FreeBSD, Windows și Mac/OS X, construit de Facebook. Este un sistem de operare simplu și ușor de utilizat.

Combină o serie de instrumente care efectuează analize și monitorizare a sistemului de operare la nivel scăzut; aceste instrumente dezvăluie un sistem de operare ca o bază de date relațională de înaltă performanță, cum ar fi MySQL/MariaDB, PostgreSQL și multe altele, unde conceptele de SO sunt reprezentate în formă tabelară, permițând astfel utilizatorilor să utilizeze comenzi SQL pentru a efectua monitorizarea și analiza sistemului.

Osquery folosește un plugin simplu și extensii API pentru a implementa tabele SQL, există o colecție de tabele gata de utilizare și se scriu mai multe. Unele tabele pot fi găsite doar pe un anumit sistem de operare, de exemplu, tabelul kernel_modules îl găsiți doar pe sistemele Linux.

În plus, puteți rula interogări pentru a monitoriza și analiza starea sistemului de operare pe o singură gazdă prin intermediul osquery shell sau pe mai multe gazde dintr-o rețea printr-un planificator sau să le executați din oricare dintre aplicațiile dvs. personalizate folosind osquery Thrift API-uri.

Cum se instalează Osquery în Linux

Osquery poate fi instalat din depozitul oficial folosind instrumentul de gestionare a pachetelor apt yum sau dnf pe distribuția Linux respectivă, așa cum se arată.

Pe 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

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

Pe 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

Cum să monitorizezi și să analizezi Linux folosind Osquery

După ce ați instalat cu succes Osquery pe sistemul dvs., lansați shell-ul osqueryi pentru a începe să interogați starea sistemului de operare, așa cum se arată.

osqueryi

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

Pentru a obține informații rezumate ale sistemului Linux, rulați următoarea comandă.

osquery> SELECT  * FROM system_info;

Pentru a obține o listă bine formatată a tuturor utilizatorilor din sistemul Linux, rulați următoarea interogare.

osquery> SELECT * FROM users;

Pentru a obține o listă cu toate modulele kernel-ului Linux și starea acestora, rulați următoarea interogare.

osquery> SELECT * FROM kernel_modules;

Pentru a obține o listă cu toate pachetele RPM instalate pe CentOS, RHEL și Fedora, rulați următoarea interogare.

osquery> .all rpm_packages;

Pentru a obține informații despre rularea proceselor Linux, rulați următoarea interogare.

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

Dacă rulați osquery pe un desktop și aveți instalat Firefox sau Chrome, puteți lista toate suplimentele folosind următoarea interogare.

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

Pentru a afișa o listă a tuturor tabelelor implementate în Linux, utilizați comanda .tables așa cum se arată.

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

Osquery oferă, de asemenea, monitorizarea integrității fișierelor (FIM), și funcții de auditare a proceselor și a soclului și multe altele, prin urmare este un instrument de detectare a intruziunilor, dar acest lucru necesită anumite configurații înainte de a putea desfășurați-l într-un astfel de scop. Puteți găsi mai multe informații din depozitul Osquery Github.