Jump to content
HellScream

SNORT logging

Recommended Posts

Bine v-am regasit. Ma intorc acasa, cu dorinta de a gasi un ajutor din partea comunitatii. 

Din respect pentru cei mai avansati, nu am sa va cer detalii specifice, ci doar indrumare.

Dupa ce am defenitivat micul proiect cu bios-ul, acum ma intorc pentru un nou proiect. Va rog sa imi intelegeti discretia in detalii.

Incerc sa ma joc cu Snort .Monitorizez traficul eth1->eth0 , creez logurile in alert.log si aplic o lista de reguli.

Cum pot face ca snort sa creeze log in sistem/kernel/consola daca minim 5 reguli au fost incalcate in interval de 24 de ore?

Ma gadeam la un mic script care sa monitorizeze alert.log. (tali. -vf /snort/logs/alrert.log). Dar nu stiu cum sa declar numarul minim de reguli si intervalul. In alte cuvinte nu stiu sa scriu scriptul (sunt prost).

Ce recomandati ,sa incerc sa creez scriptul extern? Ca un mic executabil care sa monitorizeze alert.log? 

Sau ca o regula interna care sa monitorizeze celelate reguli? 

Daca il creez ca script extern, in ce il scriu?

Daca il creez ca regula, cum o scriu? Ar trebui sa fac referire la config.cfg unde am lista de reguli.

Din motive de OS nu pot folosi barnyard. Sunt blocat intre batch  scripting , python, pearl si cam atat. Incerc sa tin totul cat mai basic. 

 

Ma bate porcul nasos. AJUTOR!!!!

  • Upvote 1
Link to comment
Share on other sites

Nu am lucrat cu snort dar cred ca un script in privinta asta ar fi destul de usor de facut.Atat bash cat si python sunt niste variante destul de bune si accesibile daca nu ai un nivel ridicat de cunostiinte in programare. Ai putea sa faci un script care sa ruleze in fundal si sa verifice mereu sau la un interval de timp fisierul respectiv.Sunt functii predefinite pentru a masura timpul.De exemplu in python, pentru a masura cat timp a trecut de la un moment anume ai avea ceva de genul, start=time.time() , end=time.time(), elapsed=end-start(din biblioteca time).Timpul returnat este in secunde. Poti pune o limita superioara de timp de 24 ore dupa care variabila start sa se reinitializeze cu timpul curent. De fiecare data cand ai citi log-ul de alerte, ai cauta numarul lor(depinde de formatul in care sunt scrise) si punand un prag(5 in cazul tau), sa se afiseze un mesaj(un simplu print pentru cazul afisarii in consola) daca pragul este trecut.

Link to comment
Share on other sites

OK. Dupa multe probleme intampinate pe parcurs, am realizat ca abordam problema cu totul gresit. 

Cine ma poate ajuta cu un bash/python script care sa faca urmatoarele.

Daca intr-un fisier FILE se cauta 3 cuvinte:

Something

Somethingelse

Somethingelseagain

 Pentru fiecare cuvant cautat, scriptul trebuie sa creeze log in system iar in functie de logul creat  verifice starea unui process si sa actioneze corespunzator. Daca procesul este pornit, scriptul nu face nimic, daca procesul este oprit, sa porneasca procesul respectiv. 

Am 3 cuvinte care creeaza 3 loguri iar pentru fiecare log creat  am un proces special care trebuie rulat. 

Cam la asta am ajuns momentan:

for i in  grep  "string1|string2|string3"  text
do
logger Something on $string1
logger Somethingelse on $string2
logger Somethingelseagain on $string3
done

logread -f | awk '/Something/'
if pgrep -x "shell.sh" > /dev/null
then
    echo "shell.sh is Running"
else
    start shell.sh
fi

logread -f | awk '/Somethingelse/'
if pgrep -x "shell2.sh" > /dev/null
then
    echo "shell2.sh is Running"
else
    start shell2.sh
fi

logread -f | awk '/Somethingelseagain/'
if pgrep -x "shell3.sh" > /dev/null
then
    echo "shell3.sh is Running"
else
    start shell3.sh
fi

 

Cine ma poate ajuta sa scriu scriptul cum trebuie?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...