Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
| | Useimmissa valmiissa reitittimissä on joku mini-Linux ja joihinkin saa jälkeenpäin asennettua [[OpenWRT]]:n. Valmiissa purkeissa turvallisuus on pääsääntöisesti varsin puutteellinen ja OpenWRT on vähän hankala ylläpitää. Mikään ei luomasta reititintä itse. Pelkkä [[Raspberry Pi]] tai vanhempi kannettava voi riittää jos tarvitsee vain Wifin. Joku sopiva mini-PC useammalla LAN-portilla toimii, ja jos haluaa oikean kotipalvelimen, voi käyttää jotain vanhaa desktop-konetta. |
|
| |
|
| {{Huomautus|Artikkeli on pahasti kesken ja sitä päivitetään lähitulevaisuudessa.}}
| | Sivulla esitetään kolmet ohjeet eri ratkaisuille. Ensimmäisessä tapauksessa tehdään PC-koneesta tavallinen lan-reititin, toisessa Virtualbox-virtuaalikoneesta [[Whonix]]-tyylinen portti [[tor]]-verkkoon ja kolmannessa Raspberry Pi:stä wifi-reititin. Ensimmäisessä tapauksessa käytetään 64-bittistä Debian-versiota 10.10.0, toisessa 32-bittistä Debian-versiota 9.13.0 ja kolmannessa kirjoitushetkellä uusinta Raspbiania. |
|
| |
|
| Useimmissa valmiissa reitittimissä on joku mini-Linux ja joihinkin saa jälkeenpäin asennettua [[OpenWrt]]:n. Valmiissa purkeissa turvallisuus on pääsääntöisesti varsin puutteellinen ja OpenWrt on vähän hankala ylläpitää. Mikään ei luomasta reititintä itse. Pelkkä [[Raspberry Pi]] tai vanhempi kannettava voi riittää jos tarvitsee vain [[WLAN|langattoman lähiverkon]]. Joku sopiva mini-PC useammalla LAN-portilla toimii, ja jos haluaa oikean kotipalvelimen, voi käyttää jotain vanhaa työpöytä-konetta.
| | Artikkeli on pahasti kesken ja sitä päivitetään lähitulevaisuudessa. |
| | |
| Sivulla esitetään kahdet ohjeet eri ratkaisuille. Ensimmäisessä tapauksessa tehdään PC-koneesta tavallinen lähiverkko-reititin, toisessa [[KVM]]-virtuaalikoneesta [[Whonix]]-tyylinen portti [[Tor]]-verkkoon. Ensimmäisessä tapauksessa käytetään 64-bittistä [[Debian]]-versiota 10.10.0 ja toisessa 64-bittistä Debian-versiota 11.0. Lähtökohtana on täysin uunituore, asetuksia vailla oleva Debian-asennus ilman mitään työkaluja (base system). Koneissa tulee olla kaksi verkkolaitetta.
| |
| | |
| == LAN-reititin ==
| |
| PC:stä voi tehdä LAN-reitittimen jos siinä on vähintään kaksi LAN-porttia. Tässä tapauksessa oletetaan että ne on nimetty enp3s0 ja enp4s0, ja että enp3s0 liitetään nettiin ja enp4s0 käyttäjän sisäverkkoon. Wifi-purkin tekeminen HostAPD:ta käyttäen mutta sitä ei käsitellä täällä verkkokorttien laajan kirjon takia.
| |
| Helpoiten selviää valitsemalla dnsmasq:in DNS- ja DHCP-palvelimeksi. Niiden lisäksi pitäisi konffata iptables, kiinteät ja oletettavasti dynaamiset ip-osoitteet sekä ottaa ip_forward käyttöön.
| |
| Ensin asennetaan dnsmasq käskyllä apt-get install dnsmasq. Seuraavaksi muokataan asetuksia tiedostossa /etc/dnsmasq.conf. Tiedoston kuuluu näyttää seuraavalta:
| |
| | |
| interface=enp4s0
| |
| bind-interfaces
| |
| dhcp-range=192.168.1.50,192.168.1.60,12h
| |
| | |
| Loput rivit voi poistaa tai kommentoida pois. Seuraavaksi asetetaan IP-osoitteet tiedostossa /etc/network/interfaces:
| |
| | |
| auto lo
| |
| iface lo inet loopback
| |
| | |
| allow-hotplug enp3s0
| |
| iface enp3s0 inet dhcp
| |
| | |
| auto enp4s0
| |
| iface enp4s0 inet static
| |
| address 192.168.1.250
| |
| netmask 255.255.255.0
| |
| gateway 192.168.1.250
| |
| network 192.168.1.0
| |
| | |
| Tallennetaan molemmat muutokset. Tässä vaiheessa dnsmasqin voi käynnistää käskyillä systemctl enable dnsmasq.service.
| |
| Seuraavaksi tehdään iptables-säännöt. Luodaan tiedosto käskyillä touch /etc/iptables.save ja muokataan sitä seuraavasti:
| |
| | |
| # Generated by iptables-save v1.8.7 on Sun Mar 27 12:52:14 2022
| |
| *filter
| |
| :INPUT DROP [174647:10066454]
| |
| :FORWARD ACCEPT [0:0]
| |
| :OUTPUT ACCEPT [24876483:69841164843]
| |
| -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
| |
| -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
| |
| -A INPUT -s 192.168.1.0/24 -d 192.168.1.250/32 -p udp -m udp --dport 53 -j ACCEPT
| |
| -A INPUT -i enp4s0 -p udp -m udp --dport 67 -j ACCEPT
| |
| -A FORWARD -i enp3s0 -o enp4s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
| |
| -A FORWARD -i enp4s0 -o ene3s0 -j ACCEPT
| |
| -A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
| |
| COMMIT
| |
| # Completed on Sun Mar 27 12:52:14 2022
| |
| # Generated by iptables-save v1.8.7 on Sun Mar 27 12:52:14 2022
| |
| *nat
| |
| :PREROUTING ACCEPT [243858:20317139]
| |
| :INPUT ACCEPT [29875:1979367]
| |
| :OUTPUT ACCEPT [61228:4493121]
| |
| :POSTROUTING ACCEPT [27228:1646052]
| |
| -A POSTROUTING -o enp4s0 -j MASQUERADE
| |
| COMMIT
| |
| # Completed on Sun Mar 27 12:52:14 2022
| |
| | |
| Tässä vaiheessa palomuurisäännöt ei vielä selviä uudelleenkäynnistyksestä. Sen voi tehdä vaikka asentamalla iptables-persistent-paketti.
| |
| Aivan lopulta muokataan tiedostoa /etc/sysctl.conf ja lisätään siihen net.ipv4.ip_forward=1.
| |
| Tässä vaiheessa tehdään uudelleenkäynnistys käskyllä reboot. Tämän jälkeen tietokoneen pitäisi toimia reitittimenä.
| |
| | |
| == Tor-reititin ==
| |
| Tarvitaan paketit <tt>apt-transport-tor</tt>, <tt>openssh-server</tt> ja <tt>isc-dhcp-server</tt>. iptables-säännöt otetaan käyttöön itsetehdyllä skriptillä ja unohdetaan esimerkiksi <tt>[[ufw]]</tt> ja <tt>iptables-persistent</tt>. Oleellisena erona wifi-reitittimeen tässä on se että palomuurin osoitemuunnokseen liittyvä MASQUERADE-sääntö ja systemd:n ip_forward jää käyttämättä. Lähtötilanne on kaksi KVM-konetta joista ensimmäinen on tor-proxy ja toinen ns. takakone jota käytetään surffailussa. Tor-proxylla on kaksi verkkolaitetta. Toinen niistä (enp1s0) on tavallisen NATin takana ja toinen (enp2s0) omassa eritetyssä verkossa. Takakoneella on yksi verkkolaite eristetyssä verkossa.
| |
| Ensin asennetaan DHCP-palvelin käskyllä apt-get install isc-dhcp-server. Ihan suoraan se ei lähde toimimaan vaan se pitää konfiguroida. Avataan /etc/dhcp/dhcpd.conf-tiedosto ja korvataan kaikki sisältö seuraavalla:
| |
| ddns-update-style none;
| |
| authoritative;
| |
| subnet 192.168.42.0 netmask 255.255.255.0 {
| |
| range 192.168.42.10 192.168.42.50;
| |
| option broadcast-address 192.168.42.255;
| |
| option routers 192.168.42.1;
| |
| default-lease-time 600;
| |
| max-lease-time 7200;
| |
| option domain-name "local";
| |
| option domain-name-servers 8.8.8.8, 8.8.4.4;
| |
| }
| |
| | |
| Seuraavaksi avataan /etc/default/isc-dhcp-server ja tehdään muokataan rivi
| |
| | |
| INTERFACESv4=""
| |
| | |
| muotoon
| |
| | |
| INTERFACESv4="enp2s0"
| |
| | |
| Pidetään mielessä että enp2s0 on nimenomaan sisäverkon laite.
| |
| Seuraavaksi asennetaan tor käskyllä apt-get install tor ja lisätään /etc/tor/torrc-tiedostoon seuraavat rivit
| |
| | |
| Log notice file /var/log/tor/notices.log
| |
| VirtualAddrNetwork 10.192.0.0/10
| |
| AutomapHostsSuffixes .onion,.exit
| |
| AutomapHostsOnResolve 1
| |
| TransPort 192.168.42.1:9040
| |
| DNSPort 192.168.42.1:53
| |
| | |
| Netistä löytää vielä vanhoja TransListenAddress- ja DNSListenAddress-asetuksia mutta ne on poistettu käytöstä ja niiden tiedot tulee nykyään TransPort- ja DNSPort-yhteyteen. Lopulta luodaan tor-lokitiedosto käskyillä touch /var/log/tor/notices.log, chown debian-tor /var/log/tor/notices.log ja chmod 644 /var/log/tor/notices.log.
| |
| Minimaalinen palomuurikonffaus luodaan tallentamalla seuraava tiedosto /etc/iptables-torproxy.conf-nimisenä:
| |
| | |
| # Generated by iptables-save v1.8.9 (nf_tables) on Thu Apr 18 23:22:16 2024
| |
| *filter
| |
| :INPUT DROP [219:20442]
| |
| :FORWARD DROP [0:0]
| |
| :OUTPUT DROP [1266:95320]
| |
| -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
| |
| -A INPUT -s 192.168.42.0/24 -d 192.168.42.1/32 -p tcp -m tcp --dport 9040 -j ACCEPT
| |
| -A INPUT -s 192.168.42.0/24 -d 192.168.42.1/32 -p udp -m udp --dport 53 -j ACCEPT
| |
| -A OUTPUT -s 192.168.42.1/32 -d 192.168.42.0/24 -p tcp -m tcp --sport 9040 -j ACCEPT
| |
| -A OUTPUT -s 192.168.42.1/32 -d 192.168.42.0/24 -p udp -m udp --sport 53 -j ACCEPT
| |
| -A OUTPUT -s 192.168.122.152/32 -d 192.168.122.1/32 -p tcp -m tcp --sport 22 -j ACCEPT
| |
| -A OUTPUT -m owner --uid-owner 106 -j ACCEPT
| |
| COMMIT
| |
| # Completed on Thu Apr 18 23:22:16 2024
| |
| # Generated by iptables-save v1.8.9 (nf_tables) on Thu Apr 18 23:22:16 2024
| |
| *nat
| |
| :PREROUTING ACCEPT [30:7663]
| |
| :INPUT ACCEPT [356:25004]
| |
| :OUTPUT ACCEPT [304:20876]
| |
| :POSTROUTING ACCEPT [2:120]
| |
| -A PREROUTING -i enp2s0 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
| |
| -A PREROUTING -i enp2s0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040
| |
| COMMIT
| |
| # Completed on Thu Apr 18 23:22:16 2024
| |
| | |
| Nämä iptables-säännöt ovat kattavammat ja tämän jälkeen sisäverkossa on auki vain portit 53 (DNS) ja 9040 (tor). Sopii myös huomioida että nämä iptables-säännöt on tehty Debianilla ja tässä tapauksessa käyttäjä 106 on debian-tor. Muissa jakeluissa voi olla toisin.
| |
| Sisäverkon laite pitää konffata. Avataan /etc/network/interfaces ja lisätään siihen rivit:
| |
| | |
| allow-hotplug enp2s0
| |
| iface enp2s0 inet static
| |
| address 192.168.42.1
| |
| netmask 255.255.255.0
| |
| up iptables-restore < /etc/iptables-torproxy.conf
| |
| | |
| Jälleen kerran on enp2s0 se sisäverkon laite. Tässä vaiheessa voi avata /etc/sysctl.conf-tiedosto ja varmustutaan siitä että asetus net.ipv4.ip_forward=1 on kommentoitu pois. Sisäkoneen ei kuulu päästä suoraan nettiin. Lopulta tallennetaan kaikki, uudelleenkäynnistetään proxy ja avataan sisäkoneesta osoite https://check.torproject.org.
| |
| | |
| [[Luokka:Järjestelmä]]
| |
| [[Luokka:Verkko]]
| |
| [[Luokka:Tietoturva]]
| |
| [[Luokka:Ylläpitotyökalut]]
| |
| [[Luokka:Komentorivin perustyökalut]]
| |
| {{Malline:Palvelin}}
| |