Yhdistämällä Logwatch ja OSSEC - Osa 4

18 helmikuu 2010 Chris Jätä vastaus »

Minun viimeinen viesti asensimme Logwatch sekä OSSEC. Nyt on aika saada Logwatch ja OSSEC pelissä samassa hiekkalaatikossa. Tässä post tulen keskustelemaan, miten saada Logwatch yhteenvedon tiedot ovat tuottaman OSSEC.

Asennusvaihtoehdot

Meillä on kaksi polkuja voimme seurata teet asetukset:

  1. Onko Logwatch jäsentää OSSEC lokit suoraan.
  2. Onko OSSEC lähettää hälytyksiä Syslog tyyppi palvelimeen, suorita Logwatch siitä lokipalvelin.

Hyötyä optio # 1 on, että tarvitsemme vain yksi järjestelmä. Logwatch ajetaan järjestelmässä hosting OSSEC palvelimelle. Ongelma aiomme törmätä kuitenkin liittyy OSSEC hälytys tiedosto. Kirjaudu merkinnät eivät saa normalisoitunut. Tämä tarkoittaa muoto voi muuttua pääse pääsy, ja se voi jopa jakaa usealle riville. Se tulee olemaan todellinen painajainen luoda Logwatch komentosarjan, joka suodattaa ja yhteenveto ilmoituksilla.

Jos me mennä optio # 2, vaadimme toinen laatikko toimimaan Keskitettyjen kirjautumalla palvelimelle. Jotta OSSEC palvelin hyväksy lokitiedot ei-agentti järjestelmiä, se on kuuntelemaan UDP/514. Tämä on sama käyttämä portti keskitetysti kirjautumalla palvelimelle, ja et voi olla kaksi hakemusta sama portti (paitsi Windows, mutta socket-yhteys on erittäin sotkuinen). Hyvänä puolena, hälytys merkinnät saavat normalisoitui, kun ne siirretään lokipalvelin näin ollen syntyy Logwatch yhteenveto skripti on paljon helpompaa. Lisäksi Logwatch jo tietää standardin Syslog tiedostoja, joten meillä on vähemmän räätälöintiä työtä.

Lopuksi mainitsin aiemmin viesti, joka OSSEC ei ole suunniteltu SIM. Tämä johtuu siitä ei tallenna kaikkea, vain tapahtumia, jotka tuottavat hälytys. Joten olemme luultavasti menossa halua keskitetylle palvelimelle joka tapauksessa, ja on järkevää olla se tallentaa tiedot ovat tuottaman OSSEC.

Joten jos se kuulostaa Olen ohjausryhmän sinua kohti optio # 2 Olet täysin oikeassa. Tämän sanoi, olen todella tulee kattaa optio # 1, koska se on paljon monimutkaisempi setup.

Suhtautuminen pvm / aikaleimat

Tutustu tärkein OSSEC lokitiedostoon ja sinun pitäisi nähdä seuraavanlainen:

[Root @ Fubar lokit] # tail -3 / var / ossec / logs / ossec.log

18.02.2010 12:32:05 ossec-rootcheck: INFO: Ending rootcheck skannata.

18.02.2010 14:27:06 ossec-syscheckd: INFO: Starting syscheck skannata.

18.02.2010 14:39:21 ossec-syscheckd: INFO: Ending syscheck skannata.

Huomaa miten päivämäärä / aikaleima on alustettu. Tämä on erilainen kuin useimmat sovellukset, joten ensimmäinen asia, joka meidän tulee tehdä, on kertoa Logwatch miten käsitellä tätä muotoa. Meidän täytyy luoda skriptin, että voimme soittaa tarvittaessa joka ymmärtää muodossa yllä.

Aloita siirtymällä jaettu scripts hakemistossa:

cd / usr / share / logwatch / scripts / jaettu

Käyttämällä mielimuokkaimellasi, luo tiedosto nimeltä "applylongdate":

vi applylongdate

Tässä on mitä tarvitset sisällä kyseisen tiedoston. Voit vapaasti kopioida / liittää tältä sivulta:

käyttää Logwatch ": päivämäärät";

my $ Debug = $ ENV {'LOGWATCH_DEBUG "} | | 0;

$ SearchDate = TimeFilter ('% Y /% m /% d% H:% M:% S ");

if ($ Debug> 5) {

Tulosta stderr "DEBUG: Inside ApplyLongDate ... \ n";

Tulosta stderr "DEBUG: Looking For:". $ SearchDate. "\ N";

}

while (määritelty ($ ThisLine = <STDIN>)) {

if ($ ThisLine = ~ m / ^ $ SearchDate / o) {

print $ ThisLine = ~ s / ^ .... \ / .. \ / .. ..:..:.. / /;

print $ ThisLine;

}

}

# VI: shiftwidth = 3 syntaksi = perl tabstop = 3 et

Kun olet tallentanut tiedoston, meidän täytyy nyt asettaa käyttöoikeudet:

chmod 755 applylongdate

Määritä Lokitiedostot

Seuraavaksi meidän täytyy kertoa Logwatch jossa OSSEC lokitiedostot sijaitsevat. Aina kun lisäät uusia lokitiedostot tai luoda uusia palveluja seuraamaan Logwatch, sinun tulee tehdä muutoksia alla / etc / logwatch hakemistosta. Aiomme luoda kaksi asetustiedostoja. Ensimmäinen käsittelee OSSEC viestejä, ja toinen käsittelee OSSEC hälytykset ja aktiivinen vaste muuttuu.

Aloitetaan luomalla konfigurointitiedostoa tärkein OSSEC lokitiedosto:

cd / etc / logwatch / conf / lokitiedostot

vi ossec.conf

Tiedoston sisältö pitäisi olla seuraa:

Logfile = / var / ossec / logs / ossec.log

* ApplyLongDate =

Voit nyt tallentaa ja poistua tiedosto. Seuraavaksi luomme config tiedostosta jäljellä lokitiedostot:

VI ossec-alert.conf

Tämän tiedoston sisällön pitäisi olla seuraa:

Logfile = / var / ossec / logs / aktiivinen-responses.log

Logfile = / var / ossec / logs / ilmoitukset / alerts.log

Logfile = / var / ossec / logs / palomuuri / firewall.log

Kun olet valmis, tallenna ja poistu. Oletuskäyttöoikeuksia pitäisi hyväksyä meidän setup.

Konfigurointi OSSEC Palvelut

Seuraavaksi meidän on määriteltävä OSSEC palvelut ja selvittää, mitä haluamme käyttää nimenä, kun raportteja syntyy. Näin voit luoda ensimmäisen tiedoston:

cd / etc / logwatch / conf / palvelut

vi ossec.conf

Tämän tiedoston sisällön on melko yksinkertainen:

Title = "OSSEC viestit"

Logfile = ossec

Kun olet valmis voit tallentaa ja poistua. Meidän on luotava yksi tiedosto tähän hakemistoon:

VI ossec-alert.conf

Tämän tiedoston sisällön pitäisi olla:

Title = "OSSEC hälytykset"

Logfile = ossec-hälytys

Kun olet valmis, tallenna ja poistu normaalisti.

Jäsennys Merkinnät

Seuraavaksi meidän täytyy kertoa Logwatch kuinka muotoilla lokitiedot sisällä raportti. Meidän on luotava räätälöinnin käsikirjoitus kullekin laajemman palveluvalikoiman. Aiomme aloittaa käyttämällä Logwatch mukana testikoodi, vain varmista, kaikki toimii.

Aloita siirtymällä asianmukainen hakemisto:

cd / etc / logwatch / scripts / palvelut

Käytä mielimuokkaimellasi luomaan ensimmäinen käsikirjoitus:

vi ossec

Sisältö käsikirjoituksen pitäisi olla seuraa:

#! / Bin / bash

# Tämä on niin mukavaa skripti, joka näyttää sinulle linjat tulet

# Voidaan käsittely ja raportointi. Se ensimmäinen näyttö

# Vakio ympäristömuuttujat ja kestää STDIN ja

# Dumpata sen takaisin ulos STDOUT.

# Nämä ovat standardin ympäristömuuttujat. Voit määritellä

# Enemmän palveluksessasi config tiedosto (ks. edellä).

echo "Ajanjakso: $ LOGWATCH_DATE_RANGE"

echo "Detail Level: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp Dir: $ LOGWATCH_TEMP_DIR"

echo "Debug Level: $ LOGWATCH_DEBUG"

# Nyt ottaa STDIN ja dumpata se STDOUT

kissa

Nyt Luo Toisella koodilla:

VI ossec-hälytys

ja sisältää täsmälleen sama sisältö:

#! / Bin / bash

# Tämä on niin mukavaa skripti, joka näyttää sinulle linjat tulet

# Voidaan käsittely ja raportointi. Se ensimmäinen näyttö

# Vakio ympäristömuuttujat ja kestää STDIN ja

# Dumpata sen takaisin ulos STDOUT.

# Nämä ovat standardin ympäristömuuttujat. Voit määritellä

# Enemmän palveluksessasi config tiedosto (ks. edellä).

echo "Ajanjakso: $ LOGWATCH_DATE_RANGE"

echo "Detail Level: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp Dir: $ LOGWATCH_TEMP_DIR"

echo "Debug Level: $ LOGWATCH_DEBUG"

# Nyt ottaa STDIN ja dumpata se STDOUT

kissa

Lopuksi meidän on asetettava tarvittavat oikeudet:

chmod 755 ossec *

Testaus Setup

Helpoin tapa testata uuden asennuksen on ajaa komento:

logwatch | less

Jos haluat vain nähdä muutokset, voit suorittaa raportin kunkin palvelun, yksi kerrallaan:

logwatch-palvelu ossec | less

logwatch-palvelun ossec-hälytys | less

Muokata edelleen

Kun saat kaikki edellä toimii, voit keskittyä saamaan Logwatch suodattaa ja tiivistää lokitiedot. Logwatch on melko joustava, ja voit muokata lähtö haluamallasi tavalla. Yksi mukavia asioita edellä testikoodi yläpuolella on, että se näyttää sinulle täsmälleen, mitä sinun täytyy työskennellä. Joten hieman säännöllinen lauseke magic voit tehdä yhteenvetoja merkinnät kun pitävät asianmukaisina. Joillekin ideoita, tutustu tiedostojen alla:

/ Usr / share / logwatch / scripts / palvelut

Nämä ovat oletuksena yhteenveto skriptejä mukana Logwatch. Erityisesti on tarkasteltava tiedostot "pam" ja "sshd". Ne ovat erinomaisia ​​esimerkkejä sekä yksinkertaisia ​​ja monimutkaisia ​​yhteenveto suodattimia.

Kun kehität skriptejä, kiinnitä huomiota $ LOGWATCH_DETAIL_LEVEL "muuttuja. Tämän ansiosta voit muokata lähtötasoa raportin riippuen siitä kuinka paljon näyttötaso käyttäjä etsii. Esimerkiksi kun olet vielä edellä palveluiden hakemistoon, suorita seuraava komento:

vähemmän sshd

Kun ensimmäisen sivun tiedoston sisältö näytetään, kirjoita:

/ Detail <Anna Key>

Kenoviiva auttaa meitä etsiä tiedoston tietyn merkkijonon. Tässä tapauksessa Etsimme sana "Detail". Kun painat Enter haku hyppää läpi tiedosto kunnes se löytää ensimmäisen oikeusasteen merkkijono. Siinä korostuvat myös hakumerkkijonon. Ensimmäisessä ottelussa huomaat, että kirjailija määritetty muuttujaan "$ Detail" olla sama kuin muuttuja $ LOGWATCH_DETAIL_LEVEL ". Näin pyritään säästämään heille joitakin kirjoittamalla.

Paina nyt kenoviiva näppäintä uudelleen sen jälkeen Enter-näppäintä. Tämä hyppää läpi tiedosto seuraavaan esiintymään "Detail". Sinun pitäisi nähdä:

if ($ tietoja> = 20) {

$ Käyttäjät {$ user} {$ host} {$ Method} + +;

} Else {

if ($ isäntä! ~ / $ IgnoreHost /) {

$ Käyttäjät {$ user} {$ host} {"(kaikki )"}++;

Huom kirjailija saa lisää tietoa, jos yksityiskohtien määrä on asetettu 20 (välissä pieni ja keskisuuri) tai korkeampi. Pidä hyppäämällä läpi tiedoston ja näet muita esimerkkejä, joissa kirjailija velkarahalla tätä tekniikkaa.

Nyt sivu alas tiedoston loppuun ja sinun pitäisi nähdä tämä lausunto:

if (avaimet% OtherList) {

print "\ n ** Ylivertainen Entries ** \ n";

print "$ _: $ OtherList {$ _} Aika (s) \ n" foreach avaimet% OtherList;

}

Tämä osio on erittäin tärkeä, koska se on lopullinen Haavi. Ajattele palomuurin politiikan hetkeksi. Useimmat meistä luoda lopullinen sääntö, joka sanoo, "Jos en ole erikseen salli laskukierroksessa läpi, kieltää". Toisin sanoen, jos jotain yllättävää tapahtuu, näin minä haluan teidän käsitellä sitä.

Lausumassa palvelee samaa tarkoitusta jäsennettäessä lokitiedostoon. Kaikki aiemmat "jos" lausunnot yrittää sovittaa tietyn tekstin merkkijono lokimerkintä jotta alustaa sen kunnolla. Tämä artikkeli sanoo "Jos et ole sovitettu ja painettu erityinen lokitapahtuman vielä, tulosta se on osio" ** Ylivertainen Entries ** ". Tämä vaihe on erittäin tärkeä, koska ilman sitä emme koskaan näe odottamattomia merkinnät. Se on odottamaton merkinnät, jotka luultavasti tärkein ja kiinnostavin.

Exec Yhteenveto

Sekä OSSEC ja Logwatch ovat erinomaisia ​​ilmaisia ​​työkaluja. OSSEC kunnostautuu varoittaa, kun tunnettu hyökkäys kuvio tapahtuu. Logwatch on loistava työkalu yhteenvedon aika kimpale lokit jotta ihmiset voivat todella saada tolkkua, mitä tapahtuu. Yhdistämällä kaksi työkalua voit luoda paljon vakaampi puolustus syvällistä asennon. Koko tulee enemmän kuin osiensa summa.

Liittyvien virkojen:

  1. Yhdistämällä Logwatch ja OSSEC
  2. Yhdistämällä Logwatch ja OSSEC - Osa 3
  3. Yhdistämällä Logwatch ja OSSEC - Osa 2
  4. Perustamalla Security Information Management System-Part5
  5. Perustamalla Security Information Management System-Part4

Mainos

3 kommenttia

  1. John Li sanoo:

    Kiitos hienosta työstä. Käytän molempia OSSEC ja logwatch ja voin ehdottomasti parantaa ryhtiä ja opastusta täällä.

  2. Chris sanoo:

    Glad voisin auttaa! :)

  3. cozmic sanoo:

    Hyviä vinkkejä yhdistää ossec tukkien logwatch!
    Oletko onnistunut hakea päivämäärän muotoa ossec-alert logfile myös?

    Juuri nyt saan koko ossec-alert logfile minun yhteenveto, ei vain päivämääräväli määritelty logwatch (eli eilen). Se toimii hyvä ossec.log.

    Kiitos

Jätä kommentti