Slackware Logo
Slackware Logo

Lugons

Info

Prevodioci

Greške

 
 LUGONS Slackbook prevod

14.2 Kontrola pristupa

14.2.1 iptables

iptables je program za podešavanje filterovanja paketa u Linux-u 2.4 i višim. Kernel 2.4 (2.4.5, da budemo tačni) je prvi ovo uveo u Slakcware (kao opciju) u verziji 8.0 i napravljeno je podrazumevanim u verziji Slackware 8.1. Ova sekcija pokriva samo osnove njegovog korišćenja i trebali bi pogledati http://www.netfilter.org/ za više detalja. Ove komande mogu biti unešene u /etc/rc.d/rc.firewall, koji mora biti postavljen kao izvršni kako bi ova pravila bila primenjena prilikom startovanja. Zapamtite da nepravilne iptables mogu da vam bukvalno zaključaju mašinu i da vam pristup bude zabranjen. Ukoliko niste 100% sigurni u svoje veštine, uvek osigurajte da imate lokalni pristup mašini.

Prva stvar koju bi većina ljudi trebala da uradi je podese podrazumevano pravilo za svaki dolazni lanac na DROP (odbaci):

# iptables -P INPUT DROP
# iptables -P FORWARD DROP

Kada je sve odbijeno, možete početi dozvoljavati stvari. Prva stvar za dozvolu je bilo kakav saobraćaj za sesije koje su već uspostavljene:

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Iz razloga da se ne bi ometala bilo koja aplikacija koja komunicira koristeći loopback adresu, obično je mudro da se doda i ovakvo pravilo:

# iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT

Ovo pravilo dozvoljava bilo koji saobraćaj od i do 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) na loopback (lo) interfejsu. Kada se pišu pravila, dobra je ideja biti specifičan što je više moguće, kako bi se osigurali da vaša pravila nenamerno ne dozvole bilo šta zlo. Time rečeno, pravila koja dozvoljavaju premalo znače više pravila i više kucanja.

Sledeće stvar je da se dozvoli pristup određenim servisima koji se izvršavaju na vašoj mašini. Ako, na primer, želite da izvršavate Web server na svojoj mašini, koristićete pravilo slično ovome:

# iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT

Ovo će dozvoliti pristup sa svake mašine na port 80 vašeg računara preko ppp0 interfejsa. Možda ćete želeti da dozvolite pristup ovom servisu samo određenim mašinama. Ovo pravilo dozvoljava pristup vašem web servisu sa 64.57.102.34:

# iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT

Dopuštanje ICMP saobraćaja može biti korisno za dijagnostičke svrhe. Da biste uradili ovo, koristite ovakvo pravilo:

# iptables -A INPUT -p icmp -j ACCEPT

Većina ljudi će takođe želeti da podesi Prevođenje Mrežnih Adresa (Network Address Translation, NAT) na svojim gateway mašinama, tako da druge mašine na njihovim mrežama mogu pristupiti Internetu kroz njih. Koristićete sledeće pravilo kako biste to postigli:

# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Takođe ćete trebati da uključite prosleđivanje IP-a (IP forwarding). Ovo možete uraditi privremeno, koristeći sledeću komandu:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Da bi se prosleđivanje IP-a uključilo za stalno (tj. da ta promena ostane posle restarta) moraćete otvoriti fajl /etc/rc.d/rc.inet2 u vašem omiljenom editoru u promeniti sledeću liniju:

IPV4_FORWARD=0

...u ovo:

IPV4_FORWARD=1

Za više informacija o NAT-u, pogledajte link NAT HOWTO.

14.2.2 tcp omotači

tcp omotači (tcpwrappers) kontrolišu pristup demona na aplikacijskom nivou, pre nego na IP nivou. Ovo može pružiti dodatni sloj zaštite u trenutcima kada kontrole pristupa na IP nivou (npr. Netfilter) ne funkcionišu ispravno. Na primer, ukoliko ponovo kompajlirate kernel, ali zaboravite da uključite podršku za iptables, vaša zaštita na IP nivou neće uspeti, ali tcp omotači će i dalje pomagati u odbrani vašeg sistema.

Pristup servisima koje štite tcp omotači može biti kontrolisan korišćenjem /etc/hosts.allow i /etc/hosts.deny.

Većina ljudi će imati samo jednu liniju u svom /etc/hosts.deny fajlu koja će podrazumevano braniti pristup svim demonima. Ova linija je:

ALL : ALL

Kada ste ovo uradili, možete se koncentrisati na dozvoljavanje pristupa servisima za specifične računare, domene ili opsege IP adresa. Ovo može biti urađeno u fajlu /etc/hosts.allow koji poštuje isti format.

Mnogi će početi tako što će prihvatiti sve konekcije od strane localhost-a. Ovo se može postići korišćenjem:

ALL : 127.0.0.1

Da biste dopustili pristup SSH demonu sa 192.168.0.0/24, možete koristi jedno od sledećih pravila:

sshd : 192.168.0.0/24
sshd : 192.168.0.

Takođe je moguće ograničiti pristup računarima u određenim domenima. To se može postići ako se koristi sledeće pravilo (zapamtite da se ovo oslanja na unos reverznog DNS-a kako bi se osiguralo da je računar koji se konektuje baš taj kojim se predstavlja, pa bih ja stoga preporučio da se ovaj način ne koristi na računarima koji su povezani na Internet):

sshd : .slackware.com