10.predvaja

Submitted by uros.prosenik on Thu, 06/19/2014 - 00:13

Namen vaje

  • Namestitev svojega virtualnega pod omrežja(VPN)
  • Postavitev certifikatne agencije, ki podpisuje ključe
  • Ustvarjanje javnih in zasebnih ključev
  • Konfiguriranje ter uporaba NFS protokola za prenos datotek

 

Naloga na hitro

Ustvarite certifikatno agencijo - CA, server, na katerem bo postavljeno virtualno podomrežje(VPN), ter uporabnika, kateri se bo na to virtualno podomrežje povezal. Na server ter uporabnika namestite tudi NFS protokol, z katerim boste prenašali datoteke.

 

Navodila

 

  1. Navodila za virtualko: Server, Uporabnik, Certifikatna Agencija. Zaženite vse tri virtualke in pri vseh najprej počistite liste, da pri namestitvi OpenVPN ne pride do napake. To storite z: Rm /var/lib/apt/lists/* -vf. Ko se datoteke pobrišejo, vse virtualke ponovno posodobite: apt-get update.
  2. Na vse virtualke posnemite OpenVPN z Easy-RSA kodiranjem ter OpenSSH-Server z katerim boste prenašali ključe. 
    apt-get install openvpn
    apt-get install openssh-server
    ... pi snemaju obeh med snemanjem potrditev opravite z vpisom » ter klikom na »Enter«.
  3. Navodila za virtualko: Server. Prestavite se v domačo mapo: cd , ter ustvarite datoteko za certifikate in se nato postavite v njo: 
    make-cadir server
    cd server
  4. Z urejevalnikom texta odprite datoteko »vars« ter vrednosti naslednjih podatkov spodaj izbrišite ter pustite prazne :  nano vars
    ... pikazane podatke odkomentirajte po potrebi(zbrišite # pred podatkom) ter spremenite po spodnjem zgledu:
    export KEY_CN = "NALOGA" (Isto kot boste nastavili pri CA!)
    export KEY_NAME = "SERVER"
    export KEY_OU = "FRI"

    Datoteko shranite ter zaprite ( če uporabljate nano, pritisnite »ctrl« + »x«, da nato shranite   spremembne pritisnite »Y« in potrdite z »ENTER« - ne spreminjajte imena datoteke tako da se spremembe shranijo v to isto datoteko)
  5. Posodobite vars ter nato počistite vse nezaželjene certifikate:  
    source vars
        
    ./clean-all
  6. Pojdite skozi konfiguracijo »build« ter ponastavite vrednosti:
    ./build-key-server --csr server
    Vse vrednosti lahko pustite prazne (vse potrdite z tipko »Enter«)
  7. Ustvarili ste ključa "server.key" ter "server.csr" v datoteki »keys«. Pošljite »server.csr« do CA virtualke, da ta to lahko ključ podpiše:
    scp keys/server.csr root@<IP_CA virtualke>:
    Vpraša vas ali ste prepričani o želji povezovanja, potrdite tako da vtipkate »yes« ter kliknete na »Enter«, nato je potreben vnos gesla virtualke CA: kaboom
    ... <IP_CA virtualke> pridobite tako, da na CA vtipkajte: ifconfig
  8. Navodila za virtualko: Client. Prestavite se v domačo mapo: cd , ter ustvarite datoteko za certifikatein se nato postavite v njo:
    make-cadir client
    cd client

  9. Z urejevalnikom texta odprite datoteko »vars« ter vrednosti naslednjih podatkov spodaj izbrišite ter pustite prazne :
    nano vars
    ... pikazane podatke odkomentirajte po potrebi(zbrišite # pred podatkom) ter spremenite po spodnjem zgledu:
    export KEY_CN = "NALOGA"  (Isto kot boste nastavili pri CA!)
    export KEY_NAME = "CLIENT"
    export KEY_OU = "FRI"

    Datoteko shranite ter zaprite ( če uporabljate nano, pritisnite »ctrl« + »x«, da nato shranite   spremembne pritisnite »Y« in potrdite z »ENTER« - ne spreminjajte imena datoteke tako da se spremembe shranijo v to isto datoteko)

  10. Posodobite vars ter nato počistite vse nezaželjene certifikate:
    source vars
    ./clean-all
  11. Pojdite skozi konfiguracijo »build« ter ponastavite vrednosti:
    ./build-req client
    Vse vrednosti lahko pustite prazne (vse potrdite z tipko »Enter«)
  12. Ustvarili ste ključa "client.key" ter "client.csr" v datoteki »keys«. Pošljite »client.csr« do CA virtualke, da ta to lahko ključ podpiše:
    scp keys/client.csr root@<IP_CA virtualke>:
    Vpraša vas ali ste prepričani o želji povezovanja, potrdite tako da vtipkate »yes« ter kliknete »Enter«, nato je potreben vnos gesla virtualke CA: kaboom
    ... <IP_CA virtualke> pridobite tako, da na CA vtipkajte: ifconfig
  13. Navodila za virtualko: Certifikatna Agencija. Prestavite se v domačo mapo: cd , ter ustvarite datoteko za certifikate in se nato postavite v njo:
    make-cadir ca
    cd ca/ 
  14. Z urejevalnikom texta odprite datoteko »vars« ter vrednosti naslednjih podatkov spodaj izbrišite ter pustite prazne :
    nano vars
    ... pikazane podatke odkomentirajte po potrebi(zbrišite # pred podatkom) ter spremenite po spodnjem zgledu:
    export KEY_CN = "NALOGA"  (vrednost katera je pri CA,Server in Client enaka)
    export KEY_NAME = "CA"
    export KEY_OU = "FRI"

    Datoteko shranite ter zaprite ( če uporabljate nano, pritisnite »ctrl« + »x«, da nato shranite   spremembne pritisnite »Y« in potrdite z »ENTER« - ne spreminjajte imena datoteke tako da se spremembe shranijo v to isto datoteko)
  15. Posodobite vars ter nato počistite vse nezaželjene certifikate:
    source vars
    ./clean-all
  16. Pojdite skozi konfiguracijo »build« ter ponastavite vrednosti:
    ./build-ca 
    Vse vrednosti lahko pustite prazne (vse potrdite z tipko »Enter«)
    (v primeru da pride do napake, zakomentirajte v datoteki /root/ca/openssl-1.0.0.cnf vrstici 198 ter 220:
    nano /root/ca/openssl-1.0.0.cnf           (v kateri vrstici ste preverite z »Crtl« + »C«)
    subjectAltName=$ENV::KEY_ALTNAMES  à  #subjectAltName=$ENV::KEY_ALTNAMES 
  17. Ustvarili ste ključa "ca.key" ter "ca.csr" v datoteki »keys«. Sedaj v mapo »keys« prestavite tudi certifikata od Serverja ter Clienta katera ste prej poslali na CA.
    mv ~/client.csr keys/            ter            mv ~/server.csr keys/
  18. Prepričajte se da se nahajate v /root/ca/ direktoriju (ukaz »pwd«). Za podpis certifikatov uporabite naslednja ukaza:
    ./sign-req –server server
    ./sign-req client

    Dvakrat je potrebno potrditi proces podpisovanja z »Y« ter klikom na »Enter«
  19. Sedaj imate v mapi »keys« zraven vseh ostalih datotek, 3 podpisane certifikate, »ca.crt«, »server.crt« ter »client.crt«, katere bo potrebno spraviti nazaj na Server ter Clienta.
  20. Preverite kakšna IP-ja imata Server ter Client, ter jima z naslednjimi ukazi vrnite podpisane certifikate:
    scp keys/server.crt root@<IP_SERVER>:server/keys/
    scp keys/ca.crt root@<IP_SERVER>:server/keys/
    scp keys/client.crt root@<IP_CLIENT>:client/keys/
    scp keys/ca.crt root@<IP_CLIENT>:client/keys/

    Pri vseh je včasih potrebno potrditi prenos z »yes« ter klikom na »Enter« , potem pa z vnosom gesla odjemalca, komu pošiljamo datoteko(v našem primeru imajo vsi isto geslo): kaboom
  21. Navodila za virtualko: Server. V direktoriju /root/server/ (preverimo z ukazom »pwd«) zaženemo ukaz ./build-dh, s katerim ustvarimo (Diffie-Hellman) število za izmenjevanje skrivnosti (počakajte). Ko nonča se vam je v datoteki »keys« zgenerirala datoteka »dh2048.pem«
  22. V datoteko »keys« skopirajte datoteko »/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz« katero nato odzipajte:
    cp  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz keys/
    gunzip keys/server.cong.gz
  23. Z tekstovnim urejevalnikom odprite »server.conf« ter preverite da so ».crt«, ».key« ter »dh« datoteke pravilno naslovljene. V našem primeru je potrebno spremeniti samo »dh«:
    nano keys/server.conf             ter spremenite             dh dh1024.pem   v     dh dh2024.pem
  24. Premaknite se v datoteko »keys« : cd keys/ , ter zaženite OpenVPN z ukazom:
    openvpn –config server.conf

    Uspešno ste ustvarili OpenVPN strežnik, na katerega se z potrjenimi certifikati lahko priključijo klienti. Adapter ki ga uporabljamo je tun0 na naslovu 10.8.0.1. Priključimo še našega »Client«-a;
     

  25. Navodila za virtualko: Client. V datoteko »keys« skopirajte datoteko »/usr/share/doc/openvpn/examples/sample-config-files/client.conf« -
    cp  /usr/share/doc/openvpn/examples/sample-config-files/client.conf keys/
  26. Z tekstovnim urejevalnikom odprite »client.conf« ter preverite da so ».crt« ter ».key« datoteke pravilno naslovljene ter poimenovane. V našem primeru je potrebno spremeniti samo »remote my-server-1 1194«:
    nano keys/client.conf            
    … ter popravite       remote my-server-1 1194   na  remote <IP_SERVER> 1194 
  27. Prestavite se v mapo »keys« : cd keys/ , ter zaženite OpenVPN clienta z ukazom:
    openvpn –config client.conf

    Uspešno ste priključili klienta na OpenVPN.
     

  28. Postavitev NFS. Navodila za virtualko: Client, Server. Na obeh/vseh virtualkah posnemite NFS:
    apt-get install nfs-common 
  29. Navodila za virtualko: Server. Na Serverju namestite še NFS-KRNEL-SERVER:
    apt-get install nfs-kernel-server
  30. Navodila za virtualko: Server, Client. Da preverite če vam NFS deluje/se izvaja preverite »rpcinfo«:
    rpcinfo –p | grep nfs
  31. Preverite tudi ali vaš sistem podpira NFS in izpisati se vam more nekaj takšnega:
    cat /proc/filesystems | grep nfs
  32. V primeru da vaš izpis ni kot omenjen na prejšnji točki morate naložiti NFS:
    modprobe nfs
  33. Sedaj bi moral »portmap« poslušati na Serverju in Clientu:
    Rpcinfo –p | grem portmap
  34. Navodila za virtualko: Server. Na Serverju ustvarite direktorij, v katerem boste imeli vašo datoteko:
    mkdir /home/nfs/              … ter vanj skopirajte vašo datoteko       cp <datoteka> /home/nfs/
  35. Potrebno je dodeliti pravice, kdo vse se bo lahko priklopil (mountal) do katere datoteke, ter kakšne pravice bo imel. V našem primeru je potrebno omejiti dostop datoteke samo preko VPN mreže. Če želite dovoliti večim v mreži samo ponovite ta postopek z različnimi IP-ji oziroma dodate masko (primir: /home/nfs/ 10.8.0.0/255.255.255.0(rw,sync)   … pomeni da je direktorij /home/nfs/ dostopen vsem z IP-ji med 10.8.0.0 à10.8.0.255). Trenutno dodajmo pravice samo Clientu, kateri se nahaja na naslovu 10.8.0.6
    echo '/home/nfs/ 10.8.0.6(rw,sync)' > /etc/exports
  36. Po spremembi datoteke »exports« je potrebno ponovno zagnati NFS server oziroma osvežiti exporte:
    /etc/init.d/nfs-kernel-server restart        …oziroma        exporfs -ra   
  37. Navodila za virtualko: Client. Ustvarite direktorij, v katerega se bo datoteka preko NFS prenesla:
    mkdir /home/nfs_local
  38. »Mountajte« se do Serverja, ki ima 2 naslova, svoj IP (preko njega ne boste mogli dostopati do direktorija, saj ni v VPN omrežju na katerega ste pravice dostopa direktorija omejili), ter naslov 10.8.0.1 kateri je naslov VPN omrežja in tudi preko tega je datoteka sedaj dostopna iz naslova 10.8.0.6 . Na koncu dopišete direktorij v katerega se bo direktorij »mountal«:
    mount –t nfs 10.8.0.1:/home/nfs /home/nfs_local


    Čestitke, nalogo ste uspešno opravili!

Tags