Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:android:wireguard_protokol [2020/01/09 14:04] lkudra završeno poglavlje što je vpn |
racfor_wiki:android:wireguard_protokol [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 1: | Redak 1: | ||
====== Wireguard protokol ====== | ====== Wireguard protokol ====== | ||
- | Uredi | ||
- | |||
- | Uredi | ||
===== Sažetak ===== | ===== Sažetak ===== | ||
- | The fact that we could even recover data from a formatted Hard Drive is kind of amazing. You choose | + | U ovom seminaru proučava se Wireguard protokol. Uspoređuje ga se s IPSec-om i OpenVPN-om te se navode prednosti i nedostaci u odnosu na ta dva popularna VPN protokola. |
+ | |||
+ | Analiziraju se performanse i sigurnost kao i način na koji radi Wireguard protokol. | ||
+ | |||
+ | Kao praktični dio, radi se uspostava Wireguard VPN mreže između udaljenog poslužitelja (VPS) i klijenta (osobno računalo) te se opisuju svi potrebni koraci za ostvarenje takve mreže. | ||
+ | |||
+ | Keywords: **VPN**; **Wireguard** | ||
+ | |||
+ | |||
+ | ===== Uvod u VPN ===== | ||
+ | |||
+ | VPN (engl. //Virtual private network//) proširuje privatnu mrežu preko javne mreže i omogućuje korisnicima slanje ili primanje podataka preko dijeljene ili javne mreže kao da su spojeni direktno na privatnu mrežu. VPN tehnologija je razvijena kako bi se udaljenim radnicima ili uredima omogućio pristup poslovnim aplikacijama i resursima. Kako bi se osigurala sigurnost privatna mreža uspostavljena je koristeći enkriptirani mrežni tunel i VPN korisnici koriste metode autentifikacije kao što su lozinke ili certifikati kako bi dobili pristup virtualnoj privatnoj mreži. U nekim drugim okolnostima obični korisnici interneta mogu koristiti VPN kako pristupili sadržaju koji je ograničen na neku geografsku lokaciju ili koji je cenzuriran u njihovoj državi ili da se spoje na //proxy// poslužitelj radi zaštite osobnog identiteta i lokacije te da ostanu anonimni na internetu. Način na koji VPN funkcionira grafički je prikazan na slici ispod. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Postojeći VPN protokoli ===== | ||
+ | |||
+ | Trenutno postoji nekoliko različitih mrežnih protokola koji se koriste za ostvarivanje VPN-a. Najrašireniji su OpenVPN i IPSec. | ||
+ | |||
+ | ==== OpenVPN ==== | ||
+ | |||
+ | OpenVPN je najpopularniji VPN protokol danas. Zbog velikog broja korisnika i otvorenosti koda, a i zbog toga jer je prošao razne nezavisne sigurnosne provjere mnogi ga smatraju i najsigurnijim VPN protokolom. | ||
+ | |||
+ | Ovaj protokol nema nativnu podršku od operacijskih sustava pa je potrebno koristiti posebne aplikacije | ||
+ | |||
+ | Sigurnost i performanse: | ||
+ | |||
+ | * koristi OpenSSL biblioteku (podržava razne algoritme i šifrate kao što su: AES, Blowfish, Camellia, ChaCha20) i TLS protokol za enkripciju. | ||
+ | * može koristiti TCP ili UDP s time da je brzina veća ako se koristi UDP, a pouzdanost veća ako se koristi TCP zbog načina na koji ti protokoli funkcioniraju. | ||
+ | * može se koristiti na bilo kojem TCP ili UDP portu. | ||
+ | |||
+ | ==== IPSec (Internet Protocol Security) ==== | ||
+ | |||
+ | IPSec je sigurni mrežni protokol koji autentificira i enkriptira pakete poslane preko mreže. IPSec radi u potpunosti na mrežnom sloju za razliku od OpenVPN-a koji za enkripciju koristi TLS koji radi na sloju iznad transportnog. Osim toga, IPSec je podržan nativno na većini operacijskih sustava i može se koristiti bez dodatnih VPN klijent aplikacija što je još jedna prednost u odnosu na OpenVPN. | ||
+ | |||
+ | IPSec enkriptira cijeli IP paket koristeći: | ||
+ | |||
+ | * AH (engl. // | ||
+ | * ESP (engl. // | ||
+ | |||
+ | Kada se koristi za ostvarivanje VPN-a IPSec se uparuje s protokolima za tuneliranje (IKEv2 i L2TP). Važno je napomenuti da je IPSec protokol navodno kompromitiran od stane NSA (engl. //National Security Agency//) što dovodi u pitanje njegovu sigurnost. Više o tome se može pročitati na poveznici: [[https:// | ||
+ | |||
+ | === IPSec / IKEv2 === | ||
+ | |||
+ | IKEv2 (engl. //Internet Key Exchange//) su razvili //Cisco //i // | ||
+ | |||
+ | Sigurnost i performanse: | ||
+ | |||
+ | * podržava različite kriptografske algoritme za enkripciju, a neki od njih su AES, Blowfish, Camellia i 3DES. | ||
+ | * smatra se da ima bolje performanse od OpenVPN-a zbog bolje iskorištavanja CPU-a | ||
+ | * koristi UDP port 500 za početnu razmjenu ključeva i UDP port 4500 za prolazak kroz NAT (engl. //Network Address Translation// | ||
+ | |||
+ | === IPSec / L2TP === | ||
+ | |||
+ | L2TP (engl. //Layer 2 Tunneling Protocol//) su također razvili //Cisco //i //Microsoft //i nativno je podržan na Windows-u i MacOS-u. | ||
+ | |||
+ | Sigurnost i performanse: | ||
+ | |||
+ | * za enkripciju koristi AES ili 3DES | ||
+ | * enkapsulira podatke dva puta, ali enkripcija i dekripcija se odvija u kernel-u pa je i dalje relativno brz | ||
+ | * podržava višedretvenost | ||
+ | * koristi UDP port 500 za početnu razmjenu ključeva, UDP port 1701 za početnu L2TP konfiguraciju i UDP port 4500 za prolazak kroz NAT. Zbog korištenja fiksnih port-ova lakše ga je blokirati od protokola koji ne koriste fiksne port-ove. | ||
+ | |||
+ | |||
+ | ===== Wireguard ===== | ||
+ | |||
+ | Wireguard je sigurni mrežni tunel koji radi na mrežnom sloju. Implementiran je kao virtualno mrežno sučelje u Linux-u.Trenutno je u fazi razvoja, ali već se može koristiti, a plan je da bude prihvaćen u // | ||
+ | |||
+ | Neki od ciljeva ovog protokola su: | ||
+ | |||
+ | * biti brži i jednostavniji za konfiguriranje od IPSec-a i OpenVPN-a. | ||
+ | * biti jednostavan za održavanje i recenziranje (trenutna implementacija ima oko 4000 linija koda) | ||
+ | * biti VPN koji se može koristiti na svim platformama (trenutno su podržane: GNU/Linux, Android, macOS, iOS, BSD, Windows) | ||
+ | |||
+ | ==== Wireguard mrežno sučelje ==== | ||
+ | |||
+ | Wireguard radi tako da se doda kao mrežno sučelje (isto kao i mrežno sučelje za LAN (//eth0//) ili WLAN (// | ||
+ | |||
+ | Wireguard povezuje IP adrese tunela s javnim ključevima i udaljenim krajnjim točkama. Kada sučelje šalje paket svom //peer//-u događa se sljedeće: | ||
+ | |||
+ | - Ovaj paket je namijenjen za 192.168.30.8, | ||
+ | - Enkriptira se cijeli IP paket koristeći javni ključ od //peer//-a '' | ||
+ | - Koja je udaljena krajnja točka //peer//-a '' | ||
+ | - Šalju se enkriptirani bajtovi iz koraka 2 preko interneta na 216.58.211.110: | ||
+ | |||
+ | Kada sučelje primi paket onda se radi sljedeće: | ||
+ | |||
+ | - Došao je paket s UDP port-a 7361 na poslužitelju 98.139.183.24, | ||
+ | - Dekriptirani paket autentificira //peer//-a '' | ||
+ | - Jednom kada je dekriptiran, | ||
+ | - Ako smije, prihvaća se paket na sučelju, ako ne paket se odbacuje. | ||
+ | |||
+ | ==== Upravljanje ključevima i IP adresama ==== | ||
+ | |||
+ | U WIreguard-u se koristi koncept naziva //Cryptokey Routing// | ||
+ | |||
+ | Primjerice, poslužitelj može imati ovakvu konfiguraciju:< | ||
+ | [Interface] | ||
+ | PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk= | ||
+ | ListenPort = 51820 | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg= | ||
+ | AllowedIPs = 10.192.122.3/ | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = TrMvSoP4jYQlY6RIzBgbssQqY3vxI2Pi+y71lOWWXX0= | ||
+ | AllowedIPs = 10.192.122.4/ | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = gN65BkIKy1eCE9pP1wdc8ROUtkHLF2PfAqYdyYBz6EA= | ||
+ | AllowedIPs = 10.10.10.230/ | ||
+ | </ | ||
+ | |||
+ | Klijent može imati ovakvu konfiguraciju: | ||
+ | |||
+ | < | ||
+ | [Interface] | ||
+ | PrivateKey = gI6EdUSYvn8ugXOt8QQD6Yc+JyiZxIhp3GInSWRfWGE= | ||
+ | ListenPort = 21841 | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = HIgo9xNzJMWLKASShiTqIybxZ0U3wGLiUeJ1PKf8ykw= | ||
+ | Endpoint = 192.95.5.69: | ||
+ | AllowedIPs = 0.0.0.0/0 | ||
+ | </ | ||
+ | |||
+ | U konfiguraciji poslužitelja svaki // | ||
+ | |||
+ | Nadalje, u konfiguraciji poslužitelja, | ||
+ | |||
+ | U klijentskoj konfiguraciji njegov jedini // | ||
+ | |||
+ | Ako mrežno sučelje klijenta želi poslati paket svom jedinom //peer//-u (poslužitelju), | ||
+ | |||
+ | Drugim riječima, kada se paketi šalju lista dozvoljenih IP adresa služi kao // | ||
+ | |||
+ | Može se koristiti bilo koja kombinacija IPv4 i IPv6 adresa za bilo koje od polja u konfiguraciji. Wireguard može i enkapsulirati jednu adresu unutar druge ako je to potrebno. | ||
+ | |||
+ | Budući da su svi paketi poslani kroz Wireguard mrežno sučelje enkriptirani i autentificirani te zbog bliske povezanosti između identiteta //peer//-a i dozvoljenih IP adresa //peer//-a, administratori ne moraju pisati komplicirane konfiguracije // | ||
+ | |||
+ | ==== Performanse ==== | ||
+ | |||
+ | Kada govorimo o performansama Wireguard-a najzanimljivija nam je usporedba s popularnijim VPN protokolima (IPSec-om i OpenVPN-om). U Wireguard-ovoj bijeloj knjizi (engl. //white paper//) navedena ja takva usporedba performansi. | ||
+ | |||
+ | Podaci su dobiveni korištenjem programa iperf3 između računala s procesorom Intel Core i7-3820QM i mrežnom karticom Intel 82579LM te računala s procesorom i7-5200U i mrežnom karticom Intel I218LM. Izračunat je prosjek u periodu od 30 minuta, a rezultati su prikazani na slici ispod: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Još je važno napomenuti da je CPU bio na 100% iskorištenja tijekom // | ||
+ | |||
+ | ==== Sigurnost ==== | ||
+ | |||
+ | S obzirom da se Wireguard protokol još uvijek naglo razvija i ima mali broj korisnika nije prošao niti približan broj revizija i sigurnosnih provjera kao primjerice OpenVPN koji je dokazano siguran protokol. Na Wireguard-ovoj web stranici stoji upozorenje svim korisnicima da je ovaj projekt još uvijek u razvoju i da nema stabilnu verziju ([[https:// | ||
+ | |||
+ | Osim što je protokol trenutno " | ||
+ | === Problemi sa zaštitom privatnosti === | ||
+ | |||
+ | - Javna IP adresa //peer//-a je stalno u memoriji | ||
+ | * U Wireguard-u ne postoji pojam konekcije, // | ||
+ | * Drugi VPN protokoli prate kada je // | ||
+ | - Wireguard ne pruža mehanizam alokacije IP adresa u tunelu | ||
+ | * Kako bi VPN mogao funkcionirati svaki tunel zahtjeva da se interna IP adresa tunela dodijeli na oba kraja. Protokoli kao što su OpenVPN i IPSec koriste DHCP za dinamičko dodjeljivanje IP adrese tunela tijekom spajanja // | ||
+ | * Wireguard ne može koristiti DHCP jer ne zna što je konekcija pa se koristi ili statička adresa ili se mora osmisliti neki mehanizam za dinamičko generiranje IP adrese tunela uz raspodjelu javnih ključeva prije uspostavljanja konekcije. | ||
+ | - Bez dinamičke alokacije IP adresa korisnici se mogu lakše pratiti u određenim okolnostima | ||
+ | * Privatna adresa tunela ne može se otkriti na javnom internetu jer je enkriptirana, | ||
+ | - Wireguard ne nudi //" | ||
+ | * Ako napadač snimi sav promet prema poslužitelju i od poslužitelja te zatim provali u poslužitelj i sazna Wireguard-ov privatni ključ moći će povezati snimljeni promet sa specifičnim korisnicima. | ||
+ | |||
+ | |||
+ | ===== Postavljanje Wireguard-a na udaljenom poslužitelju ===== | ||
+ | |||
+ | Kao što je prethodno napisano, jedan od glavnih ciljeva Wireguard protokola je da bude jednostavan za korištenje, | ||
+ | |||
+ | Arhitektura sustava opisana je sljedećom slikom: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Što je potrebno? | ||
+ | |||
+ | * VPS (engl. //Virtual Private Server//) s GNU/Linux operacijskim sustavom i instaliranim Wireguard-om | ||
+ | * osobno računalo s GNU/Linux operacijskim sustavom i instaliranim Wireguard-om | ||
+ | |||
+ | ==== Postavke na VPS-u ==== | ||
+ | |||
+ | === Instalacija Wireguard-a === | ||
+ | |||
+ | Najprije je potrebno instalirati Wireguard s obzirom da još uvijek ne dolazi s kernel-om. U ovom slučaju korišten je Ubuntu 18.04 i proces instalacije je sljedeći: | ||
+ | |||
+ | < | ||
+ | # add-apt-repository ppa: | ||
+ | # apt-get update | ||
+ | # apt-get install wireguard-dkms wireguard-tools linux-headers-$(uname -r) | ||
+ | </ | ||
+ | |||
+ | === Generiranje ključeva poslužitelja === | ||
+ | |||
+ | < | ||
+ | # wg genkey | tee privatekey | wg pubkey> publickey | ||
+ | </ | ||
+ | |||
+ | === Konfiguracija poslužitelja === | ||
+ | |||
+ | Potrebno je stvoriti datoteku ''/ | ||
+ | [Interface] | ||
+ | Address = 10.200.200.1/ | ||
+ | SaveConfig = true | ||
+ | PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT | ||
+ | PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT | ||
+ | ListenPort = 51820 | ||
+ | PrivateKey = <server private key> | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = <client public key> | ||
+ | AllowedIPs = 10.200.200.2/ | ||
+ | Endpoint = < | ||
+ | </ | ||
+ | |||
+ | Objašnjenje konfiguracije: | ||
+ | |||
+ | **Address = 10.200.200.1/ | ||
+ | |||
+ | **SaveConfig = true:** spremi konfiguraciju da ostane trajna i nakon prekida veze. | ||
+ | |||
+ | **ListenPort = 51820:** UDP port na kojem VPN čeka nadolazeći promet, može biti i neki drugi broj. | ||
+ | |||
+ | **PrivateKey = <server private key>:** ovo je sadržaj prethodno stvorene datoteke na poslužitelju '' | ||
+ | |||
+ | **PublicKey = <client public key>:** ovo je sadržaj datoteke publickey datoteke na klijentu | ||
+ | |||
+ | **AllowedIPs = 10.200.200.2/ | ||
+ | |||
+ | **Endpoint = < | ||
+ | < | ||
+ | PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT | ||
+ | PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | **PostUp **opisuje koja se pravila izvode kada se VPN veza uspostavlja: | ||
+ | |||
+ | **PostDown** opisuje koja se pravila izvode kada se VPN veza prekida. Pravila su jednaka kao i u **PostUp** samo što se ovdje brišu (zastavica -D) umjesto da se dodaju (zastavica -A). | ||
+ | === Omogućavanje Wireguard mrežnog sučelja na poslužitelju === | ||
+ | |||
+ | Najprije se postave ispravne dozvole na konfiguracijskim datotekama. | ||
+ | |||
+ | < | ||
+ | # chown -v root:root / | ||
+ | # chmod -v 600 / | ||
+ | </ | ||
+ | |||
+ | Nakon toga se podigne Wireguard sučelje: | ||
+ | |||
+ | < | ||
+ | # systemctl enable wg-quick@wg0.service | ||
+ | </ | ||
+ | |||
+ | Zatim je potrebno postaviti //IP forwarding// | ||
+ | < | ||
+ | # sed -i ' | ||
+ | </ | ||
+ | |||
+ | Kako se ne bi moralo ponovno pokrenuti poslužitelja mogu se izvršiti ove dvije naredbe. | ||
+ | |||
+ | < | ||
+ | # sysctl -p | ||
+ | # echo 1> / | ||
+ | </ | ||
+ | |||
+ | === Postavljanje firewall-a na poslužitelju === | ||
+ | |||
+ | Praćenje VPN konekcije: | ||
+ | |||
+ | < | ||
+ | # iptables -A INPUT -m conntrack –ctstate RELATED, | ||
+ | # iptables -A FORWARD -m conntrack –ctstate RELATED, | ||
+ | </ | ||
+ | |||
+ | Prihvati promet na UDP port-u kojeg koristi Wireguard: | ||
+ | |||
+ | < | ||
+ | # iptables -A INPUT -p udp -m udp –dport 51820 -m conntrack –ctstate NEW -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | Dozvoli rekurzivni TCP i UDP DNS promet: | ||
+ | |||
+ | < | ||
+ | # iptables -A INPUT -s 10.200.200.0/ | ||
+ | # iptables -A INPUT -s 10.200.200.0/ | ||
+ | </ | ||
+ | |||
+ | Dopusti prijenos podataka koji su u VPN tunelu (možda nije potrebno jer već postoji u Wireguard konfiguraciji, | ||
+ | |||
+ | < | ||
+ | # iptables -A FORWARD -i wg0 -o wg0 -m conntrack –ctstate NEW -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | Postavi nat (možda nije potrebno jer već postoji u Wireguard konfiguraciji, | ||
+ | |||
+ | < | ||
+ | # iptables -t nat -A POSTROUTING -s 10.200.200.0/ | ||
+ | </ | ||
+ | |||
+ | Spremi pravila da ostanu i nakon ponovnog pokretanja računala: | ||
+ | |||
+ | < | ||
+ | # apt-get install iptables-persistent | ||
+ | # systemctl enable netfilter-persistent | ||
+ | # netfilter-persistent save | ||
+ | </ | ||
+ | |||
+ | === DNS postavke === | ||
+ | |||
+ | Dobra je praksa osigurati da DNS promet bude siguran. Korištenjem ove konfiguracije štitimo naš poslužitelj od curenja DNS podataka, lažnih //proxy// konfiguracija i raznik // | ||
+ | |||
+ | Najprije moramo instalirati // | ||
+ | < | ||
+ | # apt-get install unbound unbound-host | ||
+ | </ | ||
+ | |||
+ | Zatim preuzmemo listu korijenskih DNS poslužitelja: | ||
+ | |||
+ | < | ||
+ | # curl -o / | ||
+ | </ | ||
+ | |||
+ | Nakon toga moramo napisati konfiguraciju ''/ | ||
+ | < | ||
+ | server: | ||
+ | |||
+ | num-threads: | ||
+ | |||
+ | # Enable logs | ||
+ | verbosity: 1 | ||
+ | |||
+ | # list of Root DNS Server | ||
+ | root-hints: "/ | ||
+ | |||
+ | # Use the root servers key for DNSSEC | ||
+ | auto-trust-anchor-file: | ||
+ | |||
+ | # Respond to DNS requests on all interfaces | ||
+ | interface: 0.0.0.0 | ||
+ | max-udp-size: | ||
+ | |||
+ | # Authorized IPs to access the DNS Server | ||
+ | access-control: | ||
+ | access-control: | ||
+ | access-control: | ||
+ | |||
+ | # not allowed | ||
+ | private-address: | ||
+ | |||
+ | # Hide DNS Server info | ||
+ | hide-identity: | ||
+ | hide-version: | ||
+ | |||
+ | # Limit DNS Fraud and use DNSSEC | ||
+ | harden-glue: | ||
+ | harden-dnssec-stripped: | ||
+ | harden-referral-path: | ||
+ | |||
+ | # Add an unwanted reply threshold to clean the cache and avoid when possible a DNS Poisoning | ||
+ | unwanted-reply-threshold: | ||
+ | |||
+ | # Have the validator print validation failures to the log. | ||
+ | val-log-level: | ||
+ | |||
+ | # Minimum lifetime of cache entries in seconds | ||
+ | cache-min-ttl: | ||
+ | |||
+ | # Maximum lifetime of cached entries | ||
+ | cache-max-ttl: | ||
+ | prefetch: yes | ||
+ | prefetch-key: | ||
+ | </ | ||
+ | |||
+ | Na kraju je samo još potrebno postaviti dozvole i pokrenuti // | ||
+ | < | ||
+ | # chown -R unbound: | ||
+ | # systemctl enable unbound | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Postavke na osobnom računalu (klijentu) ==== | ||
+ | |||
+ | === Instalacija Wireguard-a === | ||
+ | |||
+ | Način na koji se Wireguard instalira ovisi o distribuciji GNU/Linux-a koju koristite. | ||
+ | |||
+ | === Generiranje ključeva klijenta === | ||
+ | |||
+ | < | ||
+ | # wg genkey | tee privatekey | wg pubkey> publickey | ||
+ | </ | ||
+ | |||
+ | === Konfiguracija klijenta === | ||
+ | |||
+ | Potrebno je stvoriti datoteku ''/ | ||
+ | [Interface] | ||
+ | Address = 10.200.200.2/ | ||
+ | PrivateKey = <client private key> | ||
+ | DNS = 10.200.200.1 | ||
+ | |||
+ | [Peer] | ||
+ | PublicKey = <server public key> | ||
+ | Endpoint = < | ||
+ | AllowedIPs = 0.0.0.0/0 | ||
+ | PersistentKeepalive = 21 | ||
+ | </ | ||
+ | |||
+ | Objašnjenje konfiguracije: | ||
+ | |||
+ | **Address = 10.200.200.2/ | ||
+ | |||
+ | **PrivateKey = <client private key>:** sadržaj prethodno stvorene datoteke privatekey na klijentu. | ||
+ | |||
+ | **DNS = 10.200.200.1: | ||
+ | |||
+ | **PublicKey = <server public key>: **sadržaj datoteke publickey na poslužitelju. | ||
- | The purpose of this paper is to understand how data recovery works. To do so, we explain the steps and some technics. We will go through how a sinister leading to a try for data recovery can occur. Then, we will see a method that could have been used by computer forensics experts in order to find traces. To finish, we will mention methods to definitely erase data from Hard Drives to avoid leaving traces. | + | **Endpoint = < |
- | The reasons for those sinisters are numerous, but human mistakes are majorly involved. Peter Gutmann proposed through his papers an explanation of how this data could still be read on Hard Drives at that time, but also some advices to securely erase data. | + | **AllowedIPs = 0.0.0.0/0:** ovo je // |
- | This paper is some kind of a warning to all those selling Hard Drives | + | **PersistentKeepalive = 21:** pošalji autentificirani prazni paket //peer//-u svakih 21 sekundu da se spriječe potencijalni problemi s firewall-om ili NAT-om. |
+ | === Spajanje na VPN === | ||
- | Keywords: **recovery**; | + | Kako bi se spojili na VPN potrebno je aktivirati mrežno sučelje '' |
+ | < | ||
+ | $ sudo wg-quick up wg0 | ||
+ | </ | ||
- | Uredi | + | Nakon izvođenja ove naredbe trebali bi biti spojeni na VPN. Status možete provjeriti ovako: |
- | Uredi | + | < |
+ | $ sudo wg | ||
- | ===== Uvod ===== | + | Dobije se ispis: |
- | Data recovery consists of finding lost digital information. This loss may have various causes such as human mistake or material failure. The difficulty of the recovery of this data varies, but it may be a challenge. | + | interface: wg0 |
+ | public key: <public client key> | ||
+ | private key: (hidden) | ||
+ | listening port: 32801 | ||
+ | fwmark: 0xca6c | ||
- | What is at stake depends on the case. If we are dealing with a private person, the reasons for the willing of retrieving these data are mainly personal attachment to the files (holiday photos and videos). However, if we are talking of a company, then this seems much more important since data loss is the second threat to cloud security and 60% of companies that lose their data shut down within 6 months of this disaster. | + | peer: <public server key> |
+ | endpoint: < | ||
+ | allowed ips: 0.0.0.0/0 | ||
+ | latest handshake: 2 seconds ago | ||
+ | transfer: 2.04 MiB received, 4.51 MiB sent | ||
+ | persistent keepalive: every 21 seconds | ||
+ | </ | ||
- | In case of an accidentally deleted file, this file is not really removed from the guilty computer. What is really deleted is the path useful to grant access to the file. The space is now available again to re-write on it. But the data corresponding to this file is still stored, until something is stored at the same place. This means that you may be able to restore this data, even months later if no other file overwrote it. | + | VPN se može ugasiti naredbom: |
- | Uredi | + | < |
+ | $ sudo wg-quick down wg0 | ||
+ | </ | ||
- | Uredi | + | Za provjeru je li VPN upaljen može se koristiti alate // |
- | ===== Što je VPN ===== | + | VPN isključen: |
- | VPN (engl. //Virtual private network//) proširuje privatnu mrežu preko javne mreže i omogućuje korisnicima slanje ili primanje podataka preko dijeljene ili javne mreže kao da su spojeni direktno na privatnu mrežu. VPN tehnologija je razvijena kako bi se udaljenim radnicima ili uredima omogućio pristup poslovnim aplikacijama i resursima. Kako bi se osigurala sigurnost privatna mreža uspostavljena je koristeći enkriptirani mrežni tunel i VPN korisnici koriste metode autentifikacije kao što su lozinke ili certifikati kako bi dobili pristup virtualnoj privatnoj mreži. U nekim drugim okolnostima obični korisnici interneta mogu koristiti VPN kako pristupili sadržaju koji je ograničen na neku geografsku lokaciju ili koji je cenzuriran u njihovoj državi ili da se spoje na //proxy// poslužitelj radi zaštite osobnog identiteta i lokacije te da ostanu anonimni na internetu. | + | < |
+ | $ traceroute google.com | ||
+ | </code> | ||
- | Uredi | + | < |
+ | traceroute to google.com (216.58.207.174), | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 10 72.14.243.192 (72.14.243.192) | ||
+ | 11 74.125.242.227 (74.125.242.227) | ||
+ | 12 216.239.48.144 (216.239.48.144) | ||
+ | 13 172.253.70.102 (172.253.70.102) | ||
+ | 14 108.170.247.97 (108.170.247.97) | ||
+ | 15 * 209.85.252.235 (209.85.252.235) | ||
+ | 16 muc11s04-in-f14.1e100.net (216.58.207.174) | ||
+ | </ | ||
- | Uredi | + | VPN uključen: |
- | ===== Chapter 2 ===== | + | < |
+ | $ traceroute google.com | ||
+ | </ | ||
- | Uredi | + | < |
+ | traceroute to google.com (172.217.22.46), | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
- | Uredi | + | Vidimo da je s uključenim VPN-om prvi skok na adresu 10.200.200.1 što je adresa našeg poslužitelja u VPN-u. |
- | ===== Chapter 3 ===== | ||
- | Uredi | + | ===== Literatura ===== |
- | Uredi | + | [1] [[https:// |
- | ===== Chapter 4 ===== | + | [2] [[https:// |
- | Uredi | + | [3] [[https:// |
- | Uredi | + | [4] [[https:// |
- | ===== Chapter | + | [5] [[https:// |
- | Uredi | + | [6] [[https:// |
- | Uredi | + | [7] [[https:// |
- | ===== Chapter 6 ===== | + | [8] [[https:// |
- | Uredi | + | [9] [[https:// |
- | Uredi | + | [10] [[https:// |