Securitatea ar trebui să fie întotdeauna unul dintre principalele motive pentru care căutăm soluții integrale atât la nivel intern, cât și extern, la nivel de hardware, servicii, procese și utilizatorii înșiși. Fără îndoială, în mediile Linux putem folosi diferitele soluții dezvoltate pentru a îmbunătăți securitatea sistemelor noastre și din acest motiv Solvetic va explica un special numit OSQuery și vom putea înțelege cum, datorită nivelul de securitate este adăugat la sistemul nostru și ca administratori sau grup IT vom fi oarecum mai încrezători, dar fără a renunța vreodată la sfaturile tradiționale de securitate.
Ce este OSQueryOSQuery a fost dezvoltat ca un cadru de instrumentare pentru sistemul de operare și este disponibil atât pentru Windows, OS X (macOS), Linux și FreeBSD. OSQuery are instrumente practice, dar cuprinzătoare, care sunt responsabile pentru rularea diverselor scanări ale sistemului de operare la nivel scăzut și pentru monitorizarea atât a performanței, cât și a fiecărui proces într-un mod cuprinzător.
OSQuery folosește un plugin simplu și un API de extensii pentru a implementa tabele SQL, dar există deja o colecție de tabele gata de utilizare, unele dintre aceste tabele sunt disponibile numai pentru un sistem special, de exemplu, în Linux vom vedea doar tabelul kernel_modules.
Pentru a înțelege cum funcționează OSQuery, acest instrument expune sistemul de operare ca o bază de date relațională de înaltă performanță, astfel încât, datorită acestei expuneri, pot fi scrise interogări SQL pentru a explora datele sistemului de operare într-un mod mult mai profund. Când se utilizează OSQuery, tabelele SQL sunt reprezentate ca concepte abstracte similare proceselor care rulează, modulelor kernel încărcate, conexiuni de rețea deschise, evenimente hardware, hash-uri de fișiere sau multe altele.
Caracteristici OSQuery
Printre diferitele caracteristici ale OSQuery găsim:
- Are un daemon de monitorizare a gazdei distribuit performant, dar cu o amprentă redusă, numit osqueryd, datorită căruia va fi posibil să programați interogări pentru a rula pe întreaga infrastructură montată în organizație.
- Registrul generat de osqueryd poate fi integrat în registrele interne datorită unei arhitecturi de pluginuri pentru a avea întotdeauna disponibile opțiuni de securitate mai bune.
- Are o consolă de interogare interactivă, numită osqueryi, care este o interfață SQL dezvoltată pentru a testa noi interogări și pentru a explora cu atenție sistemul de operare, această consolă are toate avantajele limbajului SQL complet și are sute de tabele integrate care vor fi vitale pentru incident. răspuns, diagnosticarea problemelor la nivel de operațiuni ale sistemului și multe altele.
- OSQuery este o platformă multiplu, indiferent dacă această aplicație folosește API-urile sistemului de operare de nivel scăzut, suntem capabili să construim și să utilizăm OSQuery pe sisteme Windows, macOS, Ubuntu, CentOS și alte distribuții Linux la nivel de companie.
- OSQuery are pachete native pentru toate sistemele de operare compatibile, există și instrumente și o mulțime de documentații despre crearea pachetelor cu care avem resurse pentru administrarea lor.
- Baza de cod OSQuery este alcătuită din componente modulare performante, care utilizează API-uri publice pentru a-și extinde beneficiile.
Acum vom vedea cum se instalează OSQuery pe Linux.
1. Instalați OSQuery pe Linux
Pasul 1
OSQuery poate fi instalat din depozitul oficial folosind instrumentele de gestionare a pachetelor apt, yum sau dnf, în funcție de distribuția utilizată astfel:
În mediile Debian sau Ubuntu
export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ OSQUERY_KEY sudo add-apt-repository 'deb [arch = amd64] deb https: // pkg / deb64] debit / debquery 'sudo apt update sudo apt install osquery
În mediile Fedora
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
În mediile CentOS 7Pentru mediile CentOS 7, pe care le vom folosi în acest tutorial, vom executa fiecare dintre următoarele linii:
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
Pasul 2
Dar pentru CentOS 7 avem posibilitatea de a instala RPM „auto-repo-add” sau de a adăuga destinația depozitului. Aceste RPM funcționează pe orice Linux x86-64 cu o instalare de bază din anul 2011 și mai întâi executăm următoarele:
sudo rpm -ivh https://osquery-packages.s3.amazonaws.com/centos7/noarch/osquery-s3-centos7-repo-1-0.0.noarch.rpm
Pasul 3
Apoi executăm instalarea OSQuery astfel.
sudo yum instala osquery
Pasul 4
Introducem litera y pentru a confirma descărcarea și instalarea OSQuery în CentOS 7. La un moment dat în instalare trebuie să autorizăm instalarea cheii GPG:
Pasul 5
Introducem litera s pentru a confirma acest lucru și vom vedea că OSQuery este instalat corect în CentOS 7.
2. Utilizați OSQuery pentru a analiza Linux
Pasul 1
Odată ce OSQuery este instalat corect în CentOS 7, vom porni shell-ul osqueryi pentru a porni interogările privind starea sistemului de operare, pentru aceasta executăm:
osqueryi
Pasul 2
Pentru a obține o informație sumară a sistemului nostru de operare Linux, vom executa următoarea comandă:
SELECT * FROM system_info;Pasul 3
În rezultate vom vedea detalii precum:
- Numele gazdei
- adresă IP
- Tipul procesorului utilizat
- UUID și multe altele
Pasul 4
Dacă dorim să obținem o listă a tuturor utilizatorilor de pe sistemul Linux, vom executa următoarea interogare OSQuery:
SELECT * DE LA utilizatori;
Pasul 5
Pentru a obține o listă a tuturor modulelor kernel Linux și a stării lor respective, să rulăm următoarele.
SELECT * FROM kernel_modules;
Pasul 6
Dacă este necesar să accesați lista tuturor pachetelor RPM instalate în CentOS, RHEL și Fedora, vom executa următoarea interogare:
.all rpm_packages;
Pasul 7
Pentru a accesa informații despre cum să rulați procese pe Linux, următoarea interogare va fi utilă:
SELECT DISTINCT proċese.nume, ascultare_porturi.port, procese.pid DIN ascultare_porturi ÎNREGISTRARE procese UTILIZARE (pid) UNDE ascultare_porturi.adresă = '0.0.0.0';Pasul 8
Pentru a lista toate tabelele implementate pe care le executăm:
.Mese
Pasul 9
Pentru a lista schema (coloanele, tipurile) unui anumit tabel executăm una dintre următoarele linii:
.schema table_name pragma table_info (table_name);
Pasul 10
Pentru a afișa ajutorul general, vom executa următoarele:
.Ajutor
Pasul 11
Pentru a ieși din OSQuery executăm:
.IeșireCu OSQuery va fi posibil să accesați informații detaliate despre mai mulți parametri de sistem pentru a îmbunătăți sarcinile de administrare și pentru a avea întotdeauna funcționalități excelente.