Hoe Linux-beveiliging te bewaken met OSQuery

Beveiliging moet altijd een van de belangrijkste redenen zijn waarom we zowel intern als extern integrale oplossingen zoeken op het niveau van hardware, services, processen en de gebruikers zelf. Ongetwijfeld kunnen we in Linux-omgevingen gebruik maken van de verschillende oplossingen die zijn ontwikkeld om de beveiliging van onze systemen te verbeteren en het is om deze reden dat Solvetic een speciale OSQuery zal uitleggen en we zullen begrijpen hoe dankzij het een meer beveiligingsniveau wordt toegevoegd aan ons systeem en als beheerders of IT-groep zullen we iets zelfverzekerder zijn, maar zonder ooit het traditionele beveiligingsadvies op te geven.

Wat is OSQueryOSQuery is ontwikkeld als instrumentatieraamwerk voor het besturingssysteem en is beschikbaar voor zowel Windows, OS X (macOS), Linux als FreeBSD. OSQuery heeft praktische, maar uitgebreide tools die verantwoordelijk zijn voor het uitvoeren van verschillende scans van het besturingssysteem op laag niveau en het op een uitgebreide manier bewaken van zowel de prestaties als elk proces.

OSQuery maakt gebruik van een eenvoudige plug-in en een extensie-API om SQL-tabellen te implementeren, maar er bestaat al een verzameling tabellen die klaar zijn voor gebruik, sommige van deze tabellen zijn alleen beschikbaar voor een speciaal systeem, bijvoorbeeld in het geval van Linux zullen we alleen de tabel kernel_modules zien.

Om te begrijpen hoe OSQuery werkt, stelt deze tool het besturingssysteem bloot als een krachtige relationele database, zodat dankzij deze blootstelling SQL-query's kunnen worden geschreven om de gegevens van het besturingssysteem op een veel diepere manier te verkennen. Bij gebruik van OSQuery worden SQL-tabellen weergegeven als abstracte concepten die lijken op lopende processen, geladen kernelmodules, open netwerkverbindingen, hardwaregebeurtenissen, bestandshashes of meer.

OSQuery-functies
Onder de verschillende functies van OSQuery vinden we:

  • Het heeft een krachtige, maar kleine, gedistribueerde host-monitoring-daemon genaamd osqueryd, waardoor het mogelijk zal zijn om query's te plannen om te draaien op de volledige infrastructuur die in de organisatie is gemonteerd.
  • Het door osqueryd gegenereerde register kan worden geïntegreerd in de interne registers dankzij een plug-in-architectuur om altijd betere beveiligingsopties beschikbaar te hebben.
  • Het heeft een interactieve queryconsole, osqueryi genaamd, een SQL-interface die is ontwikkeld om nieuwe query's te testen en het besturingssysteem grondig te verkennen. Deze console heeft alle voordelen van de volledige SQL-taal en heeft honderden geïntegreerde tabellen die van vitaal belang zijn voor incidenten. respons, probleemdiagnose op systeembewerkingsniveau en meer.
  • OSQuery is een cross-platform, ongeacht of deze applicatie gebruik maakt van de low-level besturingssysteem-API's, we zijn in staat om OSQuery te bouwen en te gebruiken op Windows-systemen, macOS, Ubuntu, CentOS en andere Linux-distributies op bedrijfsniveau.
  • OSQuery heeft native pakketten voor alle compatibele besturingssystemen, er zijn ook tools en veel documentatie over het maken van pakketten waarmee we middelen hebben voor hun beheer.
  • De OSQuery-codebase bestaat uit krachtige, modulaire componenten die openbare API's gebruiken om hun voordelen uit te breiden.

Nu gaan we kijken hoe we OSQuery op Linux kunnen installeren.

1. Installeer OSQuery op Linux

Stap 1
OSQuery kan worden geïnstalleerd vanuit de officiële repository met behulp van de apt-, yum- of dnf-pakketbeheertools, afhankelijk van de distributie die als volgt wordt gebruikt:

In Debian- of Ubuntu-omgevingen

 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://bit/debio /debquery 'sudo apt update sudo apt install osquery

In Fedora-omgevingen

 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

In CentOS 7-omgevingenVoor CentOS 7-omgevingen, die we in deze tutorial zullen gebruiken, gaan we elk van de volgende regels uitvoeren:

 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

Stap 2
Maar voor CentOS 7 hebben we de mogelijkheid om de RPM "auto-repo-add" te installeren of de bestemming van de repository toe te voegen. Deze RPM's werken op elke Linux x86-64 met een basisinstallatie uit het jaar 2011 en eerst voeren we het volgende uit:

 sudo rpm -ivh https://osquery-packages.s3.amazonaws.com/centos7/noarch/osquery-s3-centos7-repo-1-0.0.noarch.rpm

Stap 3
Vervolgens voeren we de OSQuery-installatie als volgt uit.

 sudo yum install osquery 

Stap 4
We voeren de letter y in om de download en installatie van OSQuery in CentOS 7 te bevestigen. Op een bepaald moment in de installatie moeten we de installatie van de GPG-sleutel autoriseren:

Stap 5
We voeren de letter s in om dit te bevestigen en we zullen zien dat OSQuery correct is geïnstalleerd in CentOS 7.

2. Gebruik OSQuery om Linux te analyseren

Stap 1
Zodra OSQuery correct is geïnstalleerd in CentOS 7, gaan we de osqueryi-shell starten om de query's van de status van het besturingssysteem te starten, hiervoor voeren we uit:

 osqueryi 

Stap 2
Om een ​​beknopte informatie over ons Linux-besturingssysteem te verkrijgen, gaan we de volgende opdracht uitvoeren:

 SELECTEER * VAN systeem_info; 
Stap 3
In de resultaten zullen we details zien zoals:
  • Hostnaam
  • IP adres
  • CPU-type gebruikt
  • UUID en meer

Stap 4
Als we een lijst willen krijgen van alle gebruikers op het Linux-systeem, gaan we de volgende OSQuery-query uitvoeren:

 SELECTEER * VAN gebruikers; 

Stap 5
Laten we het volgende uitvoeren om een ​​lijst te krijgen van alle Linux-kernelmodules en hun respectieve status.

 SELECTEER * VAN kernel_modules; 

Stap 6
Als het nodig is om toegang te krijgen tot de lijst met alle RPM-pakketten die zijn geïnstalleerd in CentOS, RHEL en Fedora, gaan we de volgende query uitvoeren:

 .alle rpm_packages;

Stap 7
Om toegang te krijgen tot informatie over het uitvoeren van processen op Linux, is de volgende query nuttig:

 SELECTEER DISTINCT process.name, listen_ports.port, processen.pid UIT listen_ports JOIN processen VIA (pid) WHERE listen_ports.address = '0.0.0.0'; 
Stap 8
Om alle geïmplementeerde tabellen weer te geven die we uitvoeren:
 .tafels 

Stap 9
Om het schema (kolommen, typen) van een specifieke tabel weer te geven, voeren we een van de volgende regels uit:

 .schema tabelnaam pragma tabel_info (tabelnaam);

Stap 10
Om de algemene hulp weer te geven gaan we het volgende uitvoeren:

 .helpen 

Stap 11
Om OSQuery af te sluiten, voeren we het volgende uit:

 .Uitgang 
Met OSQuery is het mogelijk om toegang te krijgen tot gedetailleerde informatie over veel systeemparameters om de beheertaken te verbeteren en altijd over geweldige functionaliteiten te beschikken.

wave wave wave wave wave