Så här övervakar du Linux -säkerhet med OSQuery

Säkerhet bör alltid vara en av huvudorsakerna till att vi söker integrerade lösningar både internt och externt på hårdvara, tjänster, processer och användarna själva. Utan tvekan kan vi i Linux -miljöer använda de olika lösningarna som utvecklats för att förbättra säkerheten för våra system och det är av denna anledning som Solvetic kommer att förklara en special som kallas OSQuery och vi kommer att kunna förstå hur tack vare det en mer säkerhetsnivå läggs till vårt system och som administratörer eller IT -grupp kommer vi att vara något mer självsäkra, men utan att någonsin ge upp traditionell säkerhetsrådgivning.

Vad är OSQueryOSQuery utvecklades som en instrumentationsram för operativsystemet och är tillgänglig för både Windows, OS X (macOS), Linux och FreeBSD. OSQuery har praktiska, men heltäckande verktyg som är ansvariga för att köra olika lågnivåoperativsystemsskanningar och övervaka både prestanda och varje process på ett heltäckande sätt.

OSQuery använder ett enkelt plugin och ett tilläggs -API för att implementera SQL -tabeller, men det finns redan en samling tabeller som är klara att använda, några av dessa tabeller är endast tillgängliga för ett speciellt system, till exempel i I fallet med Linux kommer vi bara att se tabellen kernel_modules.

För att förstå hur OSQuery fungerar exponerar detta verktyg operativsystemet som en högpresterande relationsdatabas så att tack vare denna exponering kan SQL-frågor skrivas för att utforska operativsystemdata på ett mycket djupare sätt. När du använder OSQuery representeras SQL -tabeller som abstrakta begrepp som liknar körprocesser, laddade kärnmoduler, öppna nätverksanslutningar, maskinvaruhändelser, filhascher eller mer.

OSQuery -funktioner
Bland de olika funktionerna i OSQuery hittar vi:

  • Den har en högpresterande, men lågt avtryckt, distribuerad värdövervakningsdemon som kallas osqueryd, tack vare vilken det kommer att vara möjligt att schemalägga frågor för att köra på hela infrastrukturen som är monterad i organisationen.
  • Registret som genereras av osqueryd kan integreras i de interna registren tack vare en plugin -arkitektur för att alltid ha bättre säkerhetsalternativ tillgängliga.
  • Den har en interaktiv frågekonsol, kallad osqueryi, som är ett SQL -gränssnitt utvecklat för att testa nya frågor och grundligt utforska operativsystemet, den här konsolen har alla fördelar med hela SQL -språket och har hundratals integrerade tabeller som kommer att vara avgörande för händelser svar, problemdiagnostik på systemoperationsnivå och mer.
  • OSQuery är en plattform, oavsett om denna applikation använder lågnivåer för operativsystemets API: er, kan vi bygga och använda OSQuery på Windows-system, macOS, Ubuntu, CentOS och andra Linux-distributioner på företagsnivå.
  • OSQuery har inbyggda paket för alla kompatibla operativsystem, det finns också verktyg och mycket dokumentation om skapandet av paket som vi har resurser för deras administration med.
  • OSQuery-kodbasen består av högpresterande, modulära komponenter som använder offentliga API: er för att utöka sina fördelar.

Nu ska vi se hur vi installerar OSQuery på Linux.

1. Installera OSQuery på Linux

Steg 1
OSQuery kan installeras från det officiella förvaret med hjälp av pakethanteringsverktygen apt, yum eller dnf beroende på vilken distribution som används så här:

I Debian- eller Ubuntu -miljöer

 exportera 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] /debquery 'sudo apt update sudo apt install osquery

I Fedora -miljöer

 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

I CentOS 7 -miljöerFör CentOS 7 -miljöer, som vi kommer att använda i den här självstudien, kommer vi att köra var och en av följande rader:

 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-aktivera osquery-s3-rpm sudo yum install osquery

Steg 2
Men för CentOS 7 har vi möjlighet att installera RPM "auto-repo-add" eller lägga till destinationen för förvaret. Dessa varvtal fungerar på alla Linux x86-64 med en basinstallation från 2011 och först kör vi följande:

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

Steg 3
Sedan kör vi OSQuery -installationen så här.

 sudo yum installera osquery 

Steg 4
Vi anger bokstaven y för att bekräfta nedladdning och installation av OSQuery i CentOS 7. Någon gång i installationen måste vi godkänna installationen av GPG -nyckeln:

Steg 5
Vi anger bokstaven s för att bekräfta detta och vi kommer att se att OSQuery är korrekt installerat i CentOS 7.

2. Använd OSQuery för att analysera Linux

Steg 1
När OSQuery är installerat korrekt i CentOS 7 kommer vi att starta osqueryi -skalet för att starta frågorna om operativsystemets status, för detta kör vi:

 osqueryi 

Steg 2
För att få en sammanfattande information om vårt Linux -operativsystem kommer vi att utföra följande kommando:

 VÄLJ * FRÅN system_info; 
Steg 3
I resultaten kommer vi att se detaljer som:
  • Värdnamn
  • IP-adress
  • CPU -typ används
  • UUID och mer

Steg 4
Om vi ​​vill få en lista över alla användare på Linux -systemet kommer vi att köra följande OSQuery -fråga:

 VÄLJ * FRÅN användare; 

Steg 5
För att få en lista över alla Linux -kärnmoduler och deras respektive status, låt oss köra följande.

 VÄLJ * FRÅN kernel_modules; 

Steg 6
Om det är nödvändigt att komma åt listan över alla RPM -paket som är installerade i CentOS, RHEL och Fedora kommer vi att utföra följande fråga:

 .all rpm_packages;

Steg 7
För att komma åt information om hur man kör processer på Linux, kommer följande fråga att vara användbar:

 VÄLJ DISTINCT process.name, listening_ports.port, process.pid FRÅN listening_ports GÅ MED processer ANVÄNDNING (pid) WHERE listening_ports.address = '0.0.0.0'; 
Steg 8
För att lista alla de implementerade tabellerna kör vi:
 . tabeller 

Steg 9
För att lista schemat (kolumner, typer) för en specifik tabell kör vi en av följande rader:

 .schema tabellnamn pragma tabellinfo (tabellnamn);

Steg 10
För att visa den allmänna hjälpen kommer vi att utföra följande:

 .hjälp 

Steg 11
För att avsluta OSQuery kör vi:

 .utgång 
Med OSQuery kommer det att vara möjligt att få tillgång till detaljerad information om många systemparametrar för att förbättra administrationsuppgif.webpter och alltid ha fantastiska funktionalitetsfunktioner.

wave wave wave wave wave