iptables automatizacija

iptables je Linux vatrozidni alat koji filtrira mrežni promet na razini kernela. U skripti za automatizaciju, IP adrese iz threat feeda se dodaju kao INPUT DROP pravila — vatrozid odbacuje sve pakete s tih adresa.

iptables sintaksa za blokiranje

iptables -I INPUT 1 -s IP_ADRESA -j DROP
  • -I INPUT 1 — umetni na vrh INPUT chain-a (prioritet)
  • -s IP_ADRESA — source (izvorišna adresa)
  • -j DROP — tiho odbaci paket (bez odgovora)
  • vs -j REJECT — odbaci i pošalji ICMP poruku pošiljatelju

ip_block.sh — automatizacija

#!/bin/bash
while read ip; do
  iptables -I INPUT 1 -s $ip -j DROP
done < /root/evil_IP.feed
  • Čita svaki IP iz datoteke (jedan po redu)
  • Za svaki IP dodaje iptables pravilo
  • Izvodi se kao root (potrebne privilegije)

Threat feed i dedupliciranje

curl i preuzimanje feed-a

curl 127.0.0.1/evil_IP.feed
  • Threat feed = lista poznatih malicioznih IP adresa
  • Može sadržavati duplikate — potrebno deduplicirati

awk dedupliciranje

curl 127.0.0.1/evil_IP.feed | awk '!x[$0]++'
  • !x[$0]++ — ispisuje samo prvi pojava svake linije
  • $0 = cijela trenutna linija
  • x[$0] = associativni array koji broji pojave
  • Čita se: "ispiši liniju ako je x[$0] bio 0 (nije viđen prije)"

Kompletna pipeline naredba

curl 127.0.0.1/evil_IP.feed \
  | awk '!x[$0]++' \
  > /root/evil_IP.feed
  • 1. Preuzme feed s web servera
  • 2. Ukloni duplikate s awk-om
  • 3. Spremi u lokalnu datoteku
  • Zatim ip_block.sh pročita datoteku i doda pravila

Uklanjanje malwarea skriptom

remove-malware.sh — logika

#!/bin/bash
KNOWN_HASH="abc123def456..."
for file in $(find / -name "*.exe" 2>/dev/null); do
  FILE_HASH=$(sha256sum "$file" | cut -d' ' -f1)
  if [ "$FILE_HASH" = "$KNOWN_HASH" ]; then
    rm -f "$file"
    echo "Uklonjen: $file"
  fi
done

Princip rada

  • Skripta pretražuje datotečni sustav za sumnjive datoteke
  • Izračunava SHA256 hash svake pronađene datoteke
  • Uspoređuje s poznatim hash-om malwarea
  • Ako se poklapa → briše datoteku
  • Prednost: radi bez obzira na naziv datoteke
  • Mana: ne detektira nove/modificirane varijante
Automatizacija u SOC-u: Ove skripte su osnova za SOAR playbook akcije. Umjesto da analitičar ručno blokira stotine IP adresa, skripta to radi automatski iz threat feeda. Redovito pokretanje (cron) osigurava ažuran popis.
0 / 14
Odgovori na pitanja da vidiš rezultat.

1. Koja iptables naredba blokira dolazni promet s određene IP adrese?

iptables -I INPUT 1 -s IP -j DROP: -I INPUT 1 = umetni kao prvo pravilo u INPUT chain, -s = source (izvorišna adresa), -j DROP = tiho odbaci. Pozicija 1 = visoki prioritet.

2. Koja je razlika između -j DROP i -j REJECT u iptablesu?

DROP = paket se tiho odbacuje, pošiljatelj ne dobiva odgovor (connection timeout). REJECT = paket se odbacuje i pošiljatelju se šalje ICMP "destination unreachable" poruka. Za obranu, DROP je bolji jer ne otkriva napadaču da pravilo postoji.

3. Što radi awk filter !x[$0]++?

awk '!x[$0]++': $0 = cijela linija, x[$0] = array koji broji pojavljivanja. Uvjet !x[$0]++ je istinit samo za PRVO pojavljivanje (kad je x[$0]=0). Ispisuje samo prvu pojavu svake linije → deduplicira.

4. Zašto je dedupliciranje threat feeda važno prije dodavanja pravila u iptables?

Svako iptables pravilo se provjerava za svaki paket. Duplikatna pravila znače da se ista provjera radi više puta — što usporava procesiranje. Na velikom feedu (tisuće IP-jeva) duplikati mogu značajno opteretiti sustav.

5. Zašto remove-malware.sh koristi SHA256 hash umjesto naziva datoteke za identifikaciju malwarea?

Hash je kriptografski otisak sadržaja datoteke — neovisan o nazivu. Malware koji se preimenuje (npr. malware.exe → svchost.exe) ima isti hash. Uspoređujući hash, skripta identificira malware bez obzira na naziv.

6. Što znači -I (veliko i) u iptables naredbi za razliku od -A?

-I (Insert) umeće pravilo na određenu poziciju (npr. -I INPUT 1 = na vrh). -A (Append) dodaje na kraj chain-a. Redoslijed pravila je važan — iptables primjenjuje prvo pravilo koje odgovara paketu.

7. Koji je redoslijed koraka u potpunoj automatizaciji blokade iz threat feeda?

Ispravan redoslijed: 1. curl URL — preuzmi feed, 2. awk '!x[$0]++' — ukloni duplikate, 3. > datoteka — spremi, 4. ip_block.sh čita datoteku i za svaki IP dodaje iptables -I INPUT 1 -s IP -j DROP.

8. Koja naredba u Linuxu izračunava SHA256 hash datoteke?

sha256sum datoteka ispisuje SHA256 hash i naziv datoteke. Za samo hash: sha256sum datoteka | cut -d' ' -f1 — uzima samo prvi dio (hash, bez naziva datoteke). Remove-malware.sh koristi ovo za identifikaciju.

9. Kako bi izgledala cron unos za pokretanje ip_block.sh svakog dana u 3:00?

Crontab format: minuta sat dan_u_mj. mjesec dan_u_tjednu naredba. Za svaki dan u 3:00: 0 3 * * * (minuta=0, sat=3, ostalo *=bilo koji). Isti format kao block-DNS.sh iz Lab 22.

10. Što je "threat feed" i otkuda dolazi?

Threat feed (Threat Intelligence Feed) = lista IoC-ova (indikatora kompromisa) poput malicioznih IP adresa, domena, URL-ova, hasheva. Dolazi od: komercijalni davatelji (CrowdStrike, Recorded Future), besplatni (CISA, AlienVault OTX, Abuse.ch, Emerging Threats).

11. Koja je ograničenost hash-based detekcije malwarea skriptom?

Hash-based detekcija radi samo za poznate, točno iste varijante. Polimorfni malware, obfuscirani kod, ili bilo koja modifikacija (čak i jedan byte) mijenja SHA256 hash i nije detektiran. Heuristička ili bihevioralna analiza pokriva ovo.

12. Na koji chain se dodaju pravila za blokiranje dolaznog prometa u iptablesu?

INPUT chain procesira pakete namijenjene lokalnom sustavu (dolazni promet). OUTPUT = paketi koji odlaze s lokalnog sustava. FORWARD = paketi koji prolaze kroz sustav (router/gateway). Za blokiranje dolaznih napada koristimo INPUT.

13. Koja bash konstrukcija u ip_block.sh čita jednu po jednu IP adresu iz datoteke?

while read ip; do ... done < datoteka čita datoteku redak po redak — svaki redak se stavlja u varijablu ip. Ovo je standardna bash idiom za procesiranje datoteka s jednom stavkom po retku (npr. lista IP adresa).

14. Zašto automatizacija sigurnosnih zadataka skriptama (vs. ručno) poboljšava sigurnosni posture?

Automatizacija: smanjuje MTTR (reakcija u sekundama umjesto minutama), eliminiira human error (npr. pogrešno upisana IP adresa), skalabilnost (blokira 10.000 IP-jeva jednako brzo kao 10). SOC analitičari se fokusiraju na složene zadatke koji zahtijevaju rasuđivanje.
0 / 14
Riješi kviz da vidiš rezultat.