Iptables - kako radi i kako ga konfigurisati?

Što dvije? Gdje sam to rekao?
Rekao sam samo da želiš pomoću firewall-a da postigneš ono što možeš jednostavnim iskopčavanjem kabla iz mrežne kartice.

Gledaj o čemu se radi, ja imam LAN mrežu sa nekih 7-8 računara u njoj, što linux/unix što win mašina. e sad, koncept tog LAN-a je takav da stekneš osjećaj da si u stvari na Internetu, što zbog servisa što zbog koncepta tog LAN-a. e sad da bih Win klijentima pomoću jednog linuxa omogućio ili onemogućio pristup određenim servisima, plan je bio da se pokrene firewall koji bi to sve trebao da kontroliše. međutim koliko sam shvatio sve je to moguće uraditi sa iptables-om i naravno na toj mašini imam samo jednu mrežnu karticu. Znači LNX mašina mora biti nakačena na mreži jer samo na taj način ću postići ovo navedeno, a ne da je skidam sa mreže. naravno ja sam pronašao još informacija na nekim forumima vezano na ovu temu i vidio sam da svi imaju svoj način koji je po argumentima isti ili sličan ovdje navedenom, http://www.elitesecurity.org/tema/97066, http://www.elitesecurity.org/tema/127092 i slično. e sad mislim da sam malo bio jasniji. e ako ima neko neku sugestiju ili ispravku vrijednisti neka bude slobodan to učiniti, jer mi je cilj ovo shvatiti i naučiti, a ne tek letimično pregledati postove i klimnuti glavom :rolleyes: :rolleyes: :rolleyes: :smt024

Maide skrati sebi muke i koristi shorewall !
http://www.shorewall.net/shorewall_features.htm

Pomoću iptables na jednom računaru ti možeš da kontrolišeš samo onaj saobraćaj koji ide preko tog računara. Onaj saobraćaj koji razmjenjuju druga dva računara u mreži nema veze sa tim računarom i on ne može taj saobraćaj da kontroliše.
Na svakom Linux računaru moraš da podesiš iptables prema ovome, a na Win mašinama moraš instalirati neki firewall kao što je ZoneAlarm ili iskoristiti onaj koji dolazi uz WinXP.
Tada ćeš imati situaciju kao na Internetu.
Ako neki računar ima Web server kojem drugi treba da pristupe onda podesiš firewall na tom računaru.
Kod Linuxa:

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 80 -j ACCEPT

pa cilj i jeste da ta linux mašina bude gateway za druge mašine, naravno sve jer experiment nebi uspio. e sad ako mi je ta linux mašina GW onda je logično da bi ona trebala da filtrira saobračaj prema drugom djelu mreže i servisima na drugim serverima i slično???
ili griješim?

Onda moraš da imaš dvije mrežne kartice.

Ako napraviš sa jednom računari u mreži mogu “zaobići” tu zaštitu tako što promijene ip adresu.

Ne trebaju dvije kartice ako se radi DHCP sa dodjeljivanjem statičkih IP adresa, i ako se sukladno tome dobro naštimaju iptables.

/etc/dhcpd.conf:
host masina1 { hardware ethernet 00:07:95:1f:xx:xx; fixed-address 192.168.10.10; }

/etc/rc.d/rc.firewall:
iptables -A INPUT -p ALL -s 192.168.10.10 -m mac --mac-source '00:07:95:1f:xx:xx' -j ACCEPT
...
# pretpostavka je da je navedeno kao defaultni policy
iptables -P INPUT DROP
#dodati FORWARD i sl.

DHCP dio čisto zbog ugodnosti i kontrole.
Naravno, zanemarujem mogućnost lažiranja MAC adrese. Ako ima takvih diletanata sa unutrašnje strane firewall-a, pomaže samo kriptografija.

Ne kontam Adise, svako može setovati sebi IP adresu po želji bez obzira na DHCP, osim ako ukineš root pristup i povadiš CDROMove i floppyje iz računara :stuck_out_tongue:

Pitam se onda zašto sam stavio onu iptables komandu?

da, ali ajd da vidim kako ce neki pametnjakovic promjeniti MAC adresu bez cdroma, floppija i internet pristupa :wink:

DHCP nije sigurnosna mjera - to stoji vedrane ! MAC adrese ni danas vise nisu sigurne kao sto su nekad prije bile :wink: ali ipak one se koriste za provjeru najcesce u kombinaciji sa IP adresom ( kako je Adis naveo ).

Pozdrav

Ice

Ali mašina ima samo jednu mrežnu karticu!!! Aaaaaargghhhh! izgleda da ću morati da crtam :slight_smile: … Evo:

Kontaš? Nemaju veze mac adrese kad svaki kompjuter iz LAN mreže može pristupiti direktno Internetu (oblaku) promjenom gatewaya i eventualno IP adrese. Switch će proslijediti pakete na Internet (vjerovatno preko nekog stvarnog gatewaya npr. router, ADSL / ISDN router-gateway i slično) na osnovu IP adrese tako da oni neće ni doći do mašine sa iptables-om, MAC adresa je tu nebitna.

Hajd ba vedrane, u tom slučaju, taj “inteligentni” ruter se da naštimati da i on filtrira saobraćaj iznutra, a u svakom slučaju bi trebao. Ili (moja) preferirana opcija, autentifikaciju (ppoe, vpn ili slično) radi Linux mašina.

Kakva bi to stupidna mreža bila da puštaš ko god ti se ušteka na LAN da ide vani kako on hoće …

Izvinjavam se IceBreakeru, greškom sam pritisnuo “Izmijeni” umjesto “Odgovori” :frowning: još jednom se izvinjavam :frowning: (Vedran)

Iz ovog posta:

zaključujem da mašina uistinu jeste gateway a ne neki servisi kojim treba ograničiti pristup. Znači, ona slika predstavlja kako sam ja shvatio floppy-ja (moguće i pogrešno? to nam samo floppy može reći) s tim što ja ne smatram “stupidnim” kada neko ne zna da paketi ne prolaze kroz mašinu na switchu ako se tako eksplicitno ne odredi. Jedino ispravno rješenje je da se u mašinu utaknu dvije mrežne kartice i time fizički razdvoji “unutrašnji” od “vanjskog” segmenta.

take a break :wink: preumoran si izgleda :wink: hehehe… ajd nije frka… ionako sam se samo divio tvom cisco catalystu :stuck_out_tongue:

slazem se ( a tako je i standardno u svijetu :stuck_out_tongue: ) da se eto racunar sa dvije mrezne kartice koristi kao router tj. za povezivanju dvaju mreza ili kad se radi o racunaru na kojem je prikljucen modem kao gateway.

ja stvarno ne znam kakvu konfiguraciju floppy ima, ali znam jedno - nesto je komplikovano :wink:

Pozdrav

Ice

PS: vedrane samo da znas da cu te tuziti Amili… hocu i ja status moderatora :wink:

Upravo to Vedrane želim da postignem, znači, odvajanje saobraćaja i paketa i slično. I naravno instalirao sam još jednu mrežnu karticu tako da ona nosi sistemski naziv eth1. e sad kad sam win mašini rekao da je ta eth1 sa svojom ip adresom njemu gateway on je poslušao i naravno prema vašim uputstvima sam napravio skripti i dvije linije koje sam ubacio su slijedećeg sadržaja:

iptables -A INPUT -i eth0 -s 192.168.0.21/255.255.255.0 -p tcp -m multiport -d 192.168.0.1-ports 80,137,138,139,445 -j DROP iptables -A INPUT -i eth0 -s 192.168.0.21/255.255.255.0 -p udp -m multiport -d 192.168.0.1-ports 80,137,138,139,445 -j DROP

i naravno kad startam tu bash skript sa slijedećom komandoma:

dobijam slijedeće upozorenje:

./firewall: line 17: 1122 Segmentation fault iptables -A INPUT -i eth0 -s 192.168.0.21/255.255.255.0 -p tcp -m multiport -d 192.168.0.1-ports 80,137,138,139,445 -j DROP ./firewall: line 18: 1123 Segmentation fault iptables -A INPUT -i eth0 -s 192.168.0.21/255.255.255.0 -p udp -m multiport -d 192.168.0.1-ports 80,137,138,139,445 -j DROP

znači nešto ne valja, jer je moj cilj bio da win mašini sa ip adresom 192.168.0.21 zabranim pristup na navedene portove prema source ip adresi 192.168.0.1 (eth0). i naravno ništa se nedešava. non top imam istu poruku. moram naglasiti da eth0 koristi ip adresu 192.168.0.1 dok eth1 koristi ip adresu 192.168.0.2. e sad kao što sam rekao win ima izlaz na eth1. i naravno prema konceptu win izlazi sa jedne kartice koja eth1 i pristupa drugoj tj. eth0 i servisima na njoj.

Fali ti jedan razmak ovdje:

između 192.168.0.1 i -ports

Interesantno je da svaki put kad probaš izvršiti naredbu iptables dobiješ nekakav Segmentation fault, to se i ranije dešavalo.

ne kontam kako da vidim dali je u pošte podigao ili startao iptables i ako ima ta greška, probao sam sa komandom ps -aux | grep iptables nemam ništa o tome izvještaj. znači nije startan ili nije aktivan, ili modul nije aktiviran. fakat neznam šta da radim. Ali non stop mi se samo ta poruka javlja. A što najgore što je linija koda apsolutno ispravna, naravno osim razmaka. mada mislim da i opet će mi ista poruka biti. ne kontam, fakat ne kontam.

iptables nije program, listu definisanih pravila vidiš sa iptables -L

E imam ideju - imaš li ti irc :slight_smile: dođi na server irc.freenode.net, kanal #lugbih

Trebalo bi ti jos jedno pravilo koje će raditi forwarding sa jedne na drugu adresu tj. karticu, koje izgleda ovako otprilike:

Obrati pažnju da adresa iza to-source je IP adresa koja je dodijeljena kartici eth1.