Maršrutētājs (ugunsmūris) uz ipchains

Maršrutētājs ir ierīce kura savieno divus dažādus datortīklus, un tā ir diezgan komplicēta ierīce ar plašām iespējām.

Šeit tiek apskatīti divi varianti izmantojot ipchains, kas ienāca ar Linux kodolu 2.2.xx - galvenokārt vārtejai uz Internet. Tiek pieņemts, ka datoram ir divi pieslēgumi - viens ar datortīkla karti uz savu (lokālo) tīklu, otrs - uz publisko (Internet) caur otru datortīkla karti:
eth0 - datortīkla karte uz iekšējo datortīklu
eth1 - datortīkla karte uz Internet
192.168.100.0/24 - iekšējā tīkla IP adreses

Uzstādīšana

Faila /etc/rc.d/rc.local beigās, kad abas tīkla kartes ir inicializētas, ierakstiet

/etc/rc.d/rc.firewall

Failu /etc/rc.d/rc.firewall izveidojam kā vienu no zemāk minētiem scenārijiem, vai lejupielādējiet gatavu lietošanai:

1) Visi Internet pakalpojumi ir atļauti

/sbin/ipchains -F
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.100.0/24

ar šīm rindiņam mēs atļaujam maršrutēt visu iekšējo tīklu uz āru. Un,

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

šī rindiņa atļauj Linux kodolam veikt pakešu maršrutēšanu.

Un tas pamatā ir viss. Augstāk minētās rindiņas nodrošina ne tikai pakešu maršrutizāciju no lokālā tīkla uz Internet, bet arī lokālā tīkla IP adrešu maskēšanu, jeb NAT (Network Address Translation). Ar šo funkciju Jūs varat pieslēgt pie Interneta visas savas darba stacijas izmantojot tikai vienu publisko IP adresi.

Pārējām lokālā tīkla darba stacijām kā gateway norādiet šī Linux datora iekšējās tīkla kartes IP adresi.

Pie nepieciešamības, pievienojiet arī sekojošo rindiņu, lai izmantotu FTP pakalpojumus:

/sbin/modprobe ip_masq_ftp

Lejupielādēt gatavu lietošanai paraugu

2) Pieejami tikai atļautie Internet pakalpojumi

Daudzos uzņēmumos Internet lietošanas politika liedz nodarboties ar failu apmaiņu izmantojot NAPSTER tipa klientus, jo tas ir autortiesību pārkāpums, un uzņēmums pakļaujas riskam to pieļaujot. Papildus šīs lejupielādes stipri "bremzē" pārējo lietotāju darbu datortīklā. Lai atļautu tikai uzņēmumam nepieciešamos Internet pakalpojumus izmantojiet:

/sbin/ipchains -F
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -i eth1 -p udp -s 192.168.100.0/24 -d 0.0.0.0 53
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 25
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 110
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 80
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 443
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 1774
/sbin/ipchains -A forward -j MASQ -i eth1 -p tcp -s 192.168.100.0/24 -d 0.0.0.0 3389
echo 1 > /proc/sys/net/ipv4/ip_forward

Šeit, trešā rindiņa atļauj veikt DNS pieprasījumus, ceturtā un piektā - atļauj izmantot e-pasta pakalpojumus ārpus vietējā tīkla, sestā un septītā - Internet pārlūkprogramma atvērtā un kriptētā, astotā - Unibankas datorprogrammas Akmens pakalpojumi, un beidzamā Microsoft Remote Desktop. Atstājiet tikai sev nepieciešamos pakalpojumus.

Papildus varat izmantot avota IP adreses -s un mērķa IP adreses -d atslēgas, lai specificētu konkrētus datorus pakalpojumu izmantošanai. Piem., e-pasta pakalpojumus atļaut izmantot tikai e-pasta serverim, tas ierobežotu dažu vīrusu izplatību no Jūsu datortīkla.

Lejupielādēt gatavu lietošanai paraugu

Drošibas pasākumi

Papildus būtu nepieciešams papildināt ar vismaz dažiem drošības pasākumiem. Piem., neatsaukties uz ping no ārpuses

/sbin/ipchains -A input -j DENY -p icmp --icmp-type echo-request -i eth1 -s 0/0 -d 0/0
/sbin/ipchains -A output -j DENY -p icmp --icmp-type echo-reply -i eth1 -s 0/0 -d 0/0

neļaut mainīt maršrutētāja tabulas no ārpuses

/sbin/ipchains -A input -j DENY -p icmp --icmp-type redirect -i eth1 -s 0/0 -d 0/0

neļaut skanēt iekšējo tīklu no ārpuses

/sbin/ipchains -A output -j DENY -p icmp --icmp-type destination-unreachable -i eth1 -s 0/0 -d 0/0

atteikt paketes no āras ar iekšējo adresi

/sbin/ipchains -A input -j DENY -p tcp -i eth1 -s 192.168.100.0/24 -d 0/0

atteikt MS Windows 95/98/NT/Me/2000/XP paketes

/sbin/ipchains -A input -j DENY -p udp -i eth1 -s 0/0 -d 0/0 135:139
/sbin/ipchains -A input -j DENY -p tcp -i eth1 -s 0/0 -d 0/0 135:139
/sbin/ipchains -A input -j DENY -p udp -i eth1 -s 0/0 -d 0/0 445
/sbin/ipchains -A input -j DENY -p tcp -i eth1 -s 0/0 -d 0/0 445

atteikt visas UDP paketes, izņemot pieprasījumus uz DNS

/sbin/ipchains -A input -j ACCEPT -p udp -i eth1 -s 0/0 53
/sbin/ipchains -A input -j DENY -p udp -i eth1

Norādes

[1] IPCHAINS-HOWTO
[2] IP-Masquerade-HOWTO
[3] Linux Router Project
[4] Firewall-HOWTO
[5] Networking-Overview-HOWTO