# SSH Log Analyzer CLI

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

GitHub
Python argparse Regex Logs Security basics

### Features

Log analysis

- Parse auth.log SSH auth events
- Count fails per IP address
- Threshold alerts flag suspicious IPs
- Top IPs quick summary
- JSON export report 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.py` parser + logic
- `logs/`sample auth logs
- `report.json` export output
- `README` usage + 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

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.

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.