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 linijax[$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
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?
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?
5. Zašto remove-malware.sh koristi SHA256 hash umjesto naziva datoteke za identifikaciju malwarea?
6. Što znači -I (veliko i) u iptables naredbi za razliku od -A?
7. Koji je redoslijed koraka u potpunoj automatizaciji blokade iz threat feeda?
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?
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?
11. Koja je ograničenost hash-based detekcije malwarea skriptom?
12. Na koji chain se dodaju pravila za blokiranje dolaznog prometa u iptablesu?
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?