petarmiketa :: project

SSH Log Analyzer CLI

CLI alat za analizu SSH authentication logova i detekciju potencijalnih brute-force napada.

Python argparse Regex Logs Security basics

Features

Log analysis
  • Parse auth.logSSH auth events
  • Count failsper IP address
  • Threshold alertsflag suspicious IPs
  • Top IPsquick summary
  • JSON exportreport output
Zašto ovo ima smisla? SSH je često izložen internetu i meta automatiziranih pokušaja. Logovi ti daju “forenzičku sliku” bez aktivnog pristupa.

Files

Project structure
  • analyzer.pyparser + logic
  • logs/sample auth logs
  • report.jsonexport output
  • READMEusage + examples

Kako koristiti (brzo)

Pokreni analizu iz foldera projekta:

python analyzer.py --file logs/sample_auth.log
python analyzer.py --file logs/sample_auth.log --threshold 3
python analyzer.py --file logs/sample_auth.log --export report.json

Writeup

INFO: Ovaj alat se može koristiti s bilo kojim SSH authentication logovima. Nije ograničen na priložene primjere — možete analizirati svoje log datoteke.

Teorijska pozadina

SSH (Secure Shell) je standard za udaljeni pristup serverima i često je izložen internetu. Zbog toga je česta meta automatiziranih brute-force pokušaja. Jedan promašen pokušaj nije problem, ali višestruko ponavljanje s iste IP adrese već izgleda sumnjivo.

Što se nalazi u auth logovima

Logovi obično sadrže vrijeme događaja, rezultat prijave (uspjeh/neuspjeh), korisnika i IP adresu izvora. Analizom tih zapisa dobiješ sliku što se događa na sustavu bez ikakvog “aktivnog” pristupa.

Strategija detekcije

  • Program uzima samo linije koje sadrže Failed password
  • Iz svake relevantne linije izvlači IP adresu (regex nakon from)
  • Broji koliko se puta ista IP pojavljuje
  • Ako broj pokušaja prijeđe prag (threshold), IP ide u alert
Threshold example
Primjer podešavanja praga (--threshold) i kako se alert lista mijenja ovisno o vrijednosti.

Threshold (prag za alert)

Threshold je broj neuspješnih pokušaja nakon kojeg se IP smatra “sumnjivim”. Tako se smanjuje šansa za false-positive (npr. korisnik par puta krivo upiše lozinku).

Izlaz i export podataka

Nakon obrade, alat ispisuje sažetak: ukupan broj failova, broj jedinstvenih IP adresa, top IP listu i alerte. Isti rezultati se mogu spremiti u JSON format za daljnju analizu.

JSON export example
Primjer JSON izvještaja generiranog nakon analize i spremljenog na disk.
Zaključak: Ovo je jednostavan, ali realan workflow: iz logova izvući signal, odvojiti normalno ponašanje od sumnjivog i spremiti rezultat za monitoring/SIEM.