Security doesn't exist, no system is safe

You are not logged in.

#1 2015-05-28 12:12:49

Mirko
Significant
Registered: 2012-01-04
Posts: 32

Raspberry-Pi: VPN, TOR i Tor Proxy

Podczas porzadkow na dysku znalazlem jeden ciekawy i praktyczny poradnik. Zajumane bodajze z ToRepublic albo innych for... Niestety nie podlinkuje, ale mam nadzieje, ze autor ponizszego poradnika nie obrazi sie za szerzenie wiedzy dalej... ;-)

(Pisownia oryginalna)

Część 1: OpenVPN
Część 2: Klient TOR
Część 3: Tor Proxy

Instrukcje podawane na przykładzie dystrybucji Raspbian

Część 1: OpenVPN

Krok 1: Aktualizujemy listę pakietów

sudo apt-get update

Krok 2: Instalujemy OpenVPN oraz OpenSSL

sudo apt-get install openvpn openssl

Krok 3: Przechodzimy do katalogu OpenVPN i kopiujemy do niego potrzebne nam pliki

cd /etc/openvpn
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

Krok 4: Edytujemy plik easy-rsa/vars dowolnym tekstowym edytorem np. vi, nano i nanosimy drobne zmiany:

export EASY_RSA="`pwd`"
export EASY_RSA="/etc/openvpn/easy-rsa"

Dodatkowo możemy już wprowadzić informację na temat wielkości klucza, ważności certyfikatu dla CA oraz klientów

export KEY_SIZE=xxx

wielkość klucza, zalecana 4096 (UWAGA! Przy takiej wielkości klucza czas jednorazowego generowania DH może wynieść nawet kilkanaście godzin! Należy uzbroić się w cierpliwość  )

export CA_EXPIRE=xxx
długość życia certyfikatu dla CA
export KEY_EXPIRE=xxx
długość życia certyfikatu klienta

Krok 5: Przechodzimy do katalogu easy-rsa, logując się jako root i wykonujemy kilka operacji

cd easy-rsa
sudo su
source vars
./clean-all
./pkitool --initca
ln -s openssl-1.0.0.cnf openssl.cnf

Krok 6: Generujemy certyfikaty dla CA, serwera oraz klientów VPN

./build-ca OpenVPN
./build-key-server server
./build-key klient

Krok 7: Generujemy DH (czas generowania od kilku minut do kilkunastu godzin), po wygenerowaniu wychodzimy z konsoli roota

./build-dh
exit

Krok 8: Przechodzimy do katalogu o poziom wyżej i tworzymy plik konfiguracyjny openVPN’a i wstawiamy do niego podstawowe ustawienia

cd ..
sudo touch openvpn.conf
sudo nano openvpn.conf
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem 
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo
DHxxxx.pem nazwa pliku będzie się różnić w zależności od długości klucza.

Krok 9: Tworzymy forwardowanie pakietów dla klientów połączonych przez VPNa

sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE
eth0 zamieniamy na inną nazwę interfejsu jeśli np. łączymy się przez wifi

Krok 10:
Usuwamy komentarz przy linii z forwardowaniem pakietów (net.ipv4.ip_forward=1) w pliku sysctl.conf

cd ..
sudo nano sysctl.conf

Krok 11: Dodanie forwardowania pakietów do crontaba, aby przy każdym restarcie Raspberry wszystko grało jak powinno (zamienić eth0 jeśli używamy innego interfesju)

crontab -e
@reboot sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

Krok 12: Tworzymy plik konfiguracyjny dla klienta łączącego się z naszą bramą

sudo su
cd /etc/openvpn/easy-rsa/keys
touch raspberrypi.ovpn
nano raspberrypi.ovpn
dev tun
client
proto udp
remote RASPBERRY-PI-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
Remote RASPBERRY-PI-IP 1194 -> ip i port serwera nasłuchującego
Ca ca.crt -> nazwa certyfikatu CA Serwera
Cert klient.crt -> nazwa certyfikatu klienta
Key klient.key -> nazwa klucza klienta

Krok 13: Tworzymy paczkę z plikami potrzebnymi klientowi do nawiązania połączenia z bramą, po czym wysyłamy spakowaną paczkę do klienta (via ssh, ftp – co kto lubi)

tar czf nazwa_paczki_z_kluczami.tgz ca.crt klient.crt  klient.key raspberrypi.ovpn
exit

Krok 14: Restartujemy serwer VPN

sudo /etc/init.d/openvpn start

Przechodzimy do części 2 związanej z instalacją klienta TORa (pracującego w trybie klienta)

Część 2: TOR

Krok 1: Pobieramy paczkę z TORem

sudo apt-get install tor

Krok 2: Kopiujemy przykładowy config do głównego katalogu TORa

cp /etc/tor/torrc.sample /etc/tor/torrc

Krok 3: Edytujemy config TORa

sudo nano /etc/tor/torrc

I zmieniany następujące parametry:

SocksBindAddress Adres_ip_maliny(wewnętrzny oczywiście)
SocksPolicy accept tu wprowadzamy adres sieci raspberry, dla której TOR będzie zezwalał na połączenia, uwzględniamy VPN’a (np. 192.168.1.1/24 i 10.0.0.0/8)
SocksPolicy reject *

Krok 4: Restartujemy TORa

sudo /etc/init.d/tor restart

To tyle jeśli chodzi o konfiguracje TORa (prawda, że proste?  ) najwięcej roboty było przy VPN.
Czas na część 3: Konfigurowanie Tor Proxy

Część 3: TOR Proxy

Krok 1: Pobieramy paczkę privoxy

sudo apt-get install privoxy

Krok 2: Edytujemy plik /etc/privoxy/config i dodajemy jedną linię, wprowadzając ip naszego Raspberry (najlepiej na początku, gdyż plik jest ogromny)

forward-socks4a / ip_raspberry:9050 .

Krok 3: Restartujemy Privoxy

sudo /etc/init.d/privoxy restart

Krok 4: Wprowadzamy dane do przeglądarki odnośnie proxy:

Jako port wpisujemy 8118
Jako IP wprowadzamy adres raspberry.

Krok 5: Cieszymy się w pełni działającym TORem na Raspberry

---

Mam nadzieje, ze komus przydatnym beda powyzsze wypociny. smile

LinuxFirefox 38.0

Offline

#2 2015-05-28 12:15:35

modInfo
CEO & Founder ITUnix.eu
From: Fulda
Registered: 2012-01-04
Posts: 472
Website

Re: Raspberry-Pi: VPN, TOR i Tor Proxy

Jak juz ktos robi w konsoli na malinie to moze chciec pozbyc sie z default instalki syfu. Tutaj kompilacja tego co znalazlem w sieci.
Mozna sprawdzic ile system zajmuje miejsca przed i po wywaleniu tego wszystkigo.

apt-get --yes purge xserver* x11-common x11-utils x11-xkb-utils x11-xserver-utils xarchiver xauth xkb-data console-setup xinit lightdm libx{composite,cb,cursor,damage,dmcp,ext,font,ft,i,inerama,kbfile,klavier,mu,pm,randr,render,res,t,xf86}* lxde* lx{input,menu-data,panel,polkit,randr,session,session-edit,shortcut,task,terminal} obconf openbox gtk* libgtk* alsa* nano python-pygame python-tk python3-tk scratch tsconf desktop-file-utils python3-numpy python3 python omxplayer
apt-get --yes autoremove
apt-get --yes autoclean
apt-get --yes clean

Jak komenda wywala cos za duzo to edytowac/doinstalowac potem.

Co do samej maliny: do zabawy jest ok ale nie polecam dla adeptow ciemnej strony bo firma robiaca maliny nie uwolnila oprogramowania i z KAZDYM systemem operacyjnym dostarczanym na maline jest skompilowany plik w ktorym zawarte jest
oprogramowanie do obslugi maliny, ale chuj wie co tak naprawde jest do konca w nim...

Jako alternatywe polecam BeagleBone Black - troche drozej ale jest full open source.

--edit
tutaj także minimalny debian wheezy dla rpi, właśnie ten image mam na swojej malince
https://www.linuxsystems.it/raspbian-wh … mal-image/
mój mirror: http://tmp.itunix.eu/raspbian_wheezy_20140726.img.7z


sysadmin

LinuxFirefox 38.0

Offline

#3 2015-12-24 12:43:18

villalobos
Member
Registered: 2015-12-23
Posts: 6

Re: Raspberry-Pi: VPN, TOR i Tor Proxy

Zamieszczam link do tutka autorstwa krokodyl911 bo wydaje się być tutorial aktualizowany:
nco5ranerted3nkt.onion/viewtopic.php?pid=31799#p31799
Może się okazać że TR już nie wstanie dlatego tutka umieszczam również w załączniku.


Attachments:
zip ToRepublic.zip, Size: 32.37 KiB, Downloads: 125
LinuxIceweasel 38.5.0

Offline

#4 2016-05-06 14:17:46

modInfo
CEO & Founder ITUnix.eu
From: Fulda
Registered: 2012-01-04
Posts: 472
Website

Re: Raspberry-Pi: VPN, TOR i Tor Proxy

villalobos wrote:

Zamieszczam link do tutka autorstwa krokodyl911 bo wydaje się być tutorial aktualizowany:
nco5ranerted3nkt.onion/viewtopic.php?pid=31799#p31799
Może się okazać że TR już nie wstanie dlatego tutka umieszczam również w załączniku.

Ciekawe, dzięki!


sysadmin

LinuxChrome 51.0.2704.36

Offline

Board footer

Powered by FluxBB