Kohtvõrgu rajamine ja turvamine kasutades vabasid vahendeid

Sissejuhatus

Käesolev õppematerjal käsitleb kohtvõrgu rajamist ning turvamist kasutades Linux-põhiseid operatsioonisüsteemie (Ubuntu, Debian, jms). Tulemüüri vahenditest on kaetud netfilter ja iptables. Sisevõrgu DHCP-serverina ning DNS-vahemäluna on välja toodud dnsmasq. Räägitakse võrguliideste sildamisest bridge-utils abil. Kaughalduse teemas puudutakse põgusalt OpenSSH-d.

Virtuaalprivaatvõrkude teemas kaetakse tunneldamine alamvõrkude vahel kasutades OpenVPN-i TUN-režiimi, virtuaalse kommutaatori loomist OpenVPN-i TAP-režiimi abil ning ka pordi edasisuunamist OpenSSH abil. Erinevates vahendites kasutatava krüptograafilise võimekuse võtab kokku OpenSSL.

Õppematerjalid kättesaadavad siinsamas veebis 1 Creative Commons Attribution 3.0 2 litsentsi all. Materjalid valmisid Euroopa Struktuurifondide toel "Praktiline küberkaitse IT süsteemide administraatoritele" projekti raames 3. Koolituse läbi viimiseks on juhend saadaval 4 käesoleva materjali täiendamine on teretulnud Github vahendusel 5.

1

http://lauri.vosandi.com/lan/

2

http://creativecommons.org/licenses/by/3.0/

3

http://www.itcollege.ee/koostoo/projektid/projektid/kuberkaitse/

4

Koolitaja juhend

5

http://github.com/laurivosandi/lan-book/

Esialgne topoloogia

Alustame minimaalse võrgutopoloogiaga kuhu on lülitatud: Debianipõhine marsruuter (router) vahendab Internetist pakette kohtvõrku ning vastupidi. Ubuntupõhine veebiserver (web server) teenindab võrgurakenduse kasutajaid. Kommutaator (switch) vahendab pakette kohtvõrgu masinate vahel:

desktop.mati WAN web.mati router.mati

Minimaalne võrgu topoloogia

Kasutame Debian või Ubuntu põhiseid masinaid, sest mõlema puhul on tegu avatud lähtekoodiga ning vaba tarkvaraga. Debiani näol on tegemist ühe kõige vanema ning küpsema GNU/Linux tarkvara kogumikuga (distribution). Ubuntu puhul on tegemist Debiani edasiarendusega, mis on mitmeid aastaid juba kõige populaarsem valik tavakasutajate seas säilitades seejuures suures osas ühilduvuse Debianiga.

Koodinäited eeldavad, et on paigaldatud võrdlemisi hiline Linux-i tuuma (kernel) väljalase ning iproute2. Debian 7.0 (Wheezy) ning Ubuntu 12.04 LTS (Precise Pangolin) peal on koodinäited ka testitud. Sobiv peaks ka olema mitmesugustele marsruuteri karbitoodetele pakendatud tarkvara OpenWrt, küll aga tuleks tähelepanu pöörata sellele, et näiteks OpenWrt tulemüürireeglid on paigutatud eraldi failidesse, omamoodi süntaksiga.

Enne OpenVPN tunnelite seadistamist tuleks käima saada:

  • Marsruuteri masin peaks sisevõrgule IP-sid välja jagama DHCP-ga

  • Marsruuter peaks oskama lahendada domeeninimesid

  • Töölauamasin peaks aadressi küsima DHCP abil

  • Veebiserverile anda staatiline IP aadress

  • Marsruuterisse peaks saama sisse logida paroolita

  • Välisvõrgust tulles marsruuteri avalikule pordile 80 suunataks paketid edasi veebiserverisse

  • DNS ja DHCP teenused on nähtavad ainult sisevõrgust

Abiks on järgmine lugemismaterjal:

Linuxilistes on tulemüür realiseeritud kahe komponendina. Kerneli koosseisu kuuluva osa nimeks on netfilter ning Käsurearakendiks on iptables mis manipuleerib kerneli käsutuses olevaid reegleid. Käesoleva materjali valimimisel olid abiks mitmed materjalid. 6 7

6

iptables puust ja punaseks

7

Linux Advanced Routing & Traffic Control

Site-to-site tunnel

Kui sisevõrk toimib on aeg seadistada OpenVPN tunnel kahe marsruuteri vahele nii et kahe sisevõrgu vaheline liiklus liigub läbi krüpteeritud tunneli:

desktop.mati WAN web.mati router.mati desktop.kati web.kati router.kati

Järgmine samm topoloogia arenduses

Abiks on järgnev:

Sülearvutite ühendamine

Järgmine samm on seadistada teine OpenVPN-i instants pakkuma rändlusteenust sülearvutitele ning paika panna kiirusepiirangud:

desktop.matiWANweb.matirouter.matilaptop.mati

Kõik töötab!

Abiks on jällegi mõned lingid:

Domeenikontrolleri lisamine

Selles peatükis lisame võrku domeenikontrolleri:

ubuntu-mate.matiWANdc1.matirouter.matiweb.matiwindoge.mati

Domeenikontroller, veebiserver ning tööjaamad

Ruuterisse paigalduseks sobib OpenWrt, aga usinamad võivad ülal näidatud juhendite järgi Debiani ka marsruutima panna.

Domeenikontrolleri ning teenusserverid võib paigaldada ühte füüsilisse masinasse, kuhu võib paigaldada Debiani. Teenusserverite isoleerimiseks võib kasutada konteinereid. Eraldi konteinerisse paigalda Samba4 domeenikontrolleri.

Paigalda eraldi masinasse Windows 8.1 Professional ning Remote Server Administration Tools 8 ja liida masin domeeni ning kasuta Active Directory Users and Computers tarkvara domeeni haldamiseks. Paigalda eraldi masinasse Ubuntu MATE 15.04 seadista Kerberos ning liida tööjaam domeeni.

8

http://www.microsoft.com/en-us/download/details.aspx?id=39296

Failiserveri lisamine

Selles peatükis lisame Samba baasil failiserveri.

desktop.matiWANdc1.matirouter.matiweb.matifileserver.matiwindoge.mati

Topoloogiasse lisandus failiserver.

Eelnevas sektsioonis paigaldatud domeenikontrolleri masinasse võib eraldi konteinerisse paigaldada Samba4 failiserveri. Täiendavalt võib failiserveris Kerberiseerida OpenSSH.

Pilveserveri lisamine

Lisaks failiserverile võib paigaldada ownCloud pilveserveri eraldi konteinerisse.

desktop.matiWANdc1.matirouter.matiweb.matifileserver.matiwindoge.matiowncloud.mati

Topoloogiasse lisandus ownCloud pilveserver.

Juhtmeta võrgu kontroller

Selles peatükis on lahti seletatud suurema juhtmeta võrgu rajamine kasutades vabasid vahendeid

802.1Q VLAN sildistamine WPA2 turvatud 802.11abgn Avalik võrk 802.11abgn Internet DHCP server DNS puhver

Keskse kontrolleriga topoloogia

Lugemismaterjali:

Kokkuvõte

Koolitusel käsitletud marsruutimise ja kiiruse piiramise teemad võtab kokku järgnev joonis:

desktop.mati www.google.com Routing decision Routing decision PREROUTING -t mangle -j MARK POSTROUTING -t nat -j MASQUEARADE -t mangle -j CLASSIFY POSTROUTING -t nat -j SNAT -t mangle -j CLASSIFY FORWARD -t filter -t mangle -j CLASSIFY Uplink traffic shaping PREROUTING -t nat -j DNAT -t mangle -j MARK FORWARD -t filter -t mangle -j CLASSIFY Downlink traffic shaping

Pakettide töötlemine marsruuteris

Misc

System Message: WARNING/2 (./pages/lan/index.rst, line 230)

Explicit markup ends without a blank line; unexpected unindent.

iptables ESF OpenVPN training küberkaitse netfilter