Tor-verkko tunnetaan yleensä anonyymin selaamisen työkaluna, mutta sama verkko taipuu myös toiseen suuntaan: voit julkaista palvelun, jonka sijaintia kukaan ei pysty jäljittämään. Tätä kutsutaan piilopalveluksi (hidden service), ja sen osoite päättyy aina tunnukseen .onion. Tässä oppaassa pystytämme oman piilopalvelun tyhjästä Linux-palvelimelle 12 vaiheessa, noin 90 minuutissa. Käymme läpi torrc-määritykset, nginx-yhdistämisen, suojauksen ja yleisimmät sudut, joihin suomalaiset ja pohjoismaiset käyttäjät ovat törmänneet foorumeilla vuosina 2025-2026.

Opas sopii sekä ensimmäistä kertaa Tor-daemonia komentoriviltä käyttävälle että ylläpitäjälle, joka haluaa siirtää olemassa olevan sisäisen työkalun turvallisemmalle alustalle. Emme oleta aiempaa Tor-kokemusta, mutta perustason Linux-komentorivin hallinta nopeuttaa etenemistä huomattavasti. Jokainen vaihe sisältää suoraan kopioitavan komennon, odotetun tulosteen ja tavallisimman virhetilanteen ratkaisun, jotta et jää jumiin yksittäiseen kohtaan.

Mikä Tor-piilopalvelu on ja miksi isännöidä omaa?

Piilopalvelu on palvelin, joka ei koskaan avaa yhteyttä suoraan julkiseen internetiin. Sen sijaan Tor-daemon rakentaa molempiin suuntiin salatun piirin Tor-verkon kautta, jolloin sekä palvelimen IP-osoite että käyttäjän IP-osoite pysyvät piilossa toisiltaan. Tavallinen VPS tai kotipalvelin paljastaa aina isäntänsä verkko-osoitteen jollekin taholle, mutta piilopalvelu ei paljasta sitä edes Tor-verkon omille solmuille kokonaisuudessaan.

Mekanismin ydin on niin kutsuttu kohtauspiste (rendezvous point). Piilopalvelu valitsee muutaman Tor-solmun sisääntulopisteiksi ja ilmoittaa ne verkon hakemistoon yhdessä julkisen avaimensa kanssa. Kun kävijä haluaa ottaa yhteyttä, hän neuvottelee oman satunnaisen kohtauspisteensä ja pyytää piilopalvelua yhdistämään siihen oman piirinsä kautta. Kumpikaan osapuoli ei koskaan näe toisen todellista IP-osoitetta, koska molemmat rakentavat oman erillisen kolmen solmun piirinsä ja tapaavat vasta neutraalilla kolmannella solmulla verkon keskellä.

Käytännön syitä oman piilopalvelun pystyttämiseen on useita. Toimittajat ja tietovuotoja käsittelevät organisaatiot tarjoavat lähteille turvallisen yhteyskanavan ilman IP-lokia. Kehittäjät testaavat sovelluksia, jotka toimivat myös sensuroiduissa maissa ilman VPN-riippuvuutta. Yksityishenkilö taas voi jakaa tiedostoja tai ylläpitää keskustelupalstaa ilman, että palvelimen sijainti tai omistaja on jäljitettävissä WHOIS-tietojen tai palveluntarjoajan lokien kautta. Toisin kuin tavallinen www-sivusto, piilopalvelu ei tarvitse julkista IP-osoitetta, porttiohjausta reitittimellä eikä edes kiinteää verkkoyhteyttä: se toimii NAT:n takana, mobiiliverkossa tai kannettavassa tietokoneessa.

Tunnetuimmat esimerkit tulevat mediatalojen lähdesuojatyökaluista. Useat suuret uutisorganisaatiot ylläpitävät SecureDrop-järjestelmää nimenomaan piilopalveluna, jotta ilmiantajat voivat toimittaa asiakirjoja ilman, että yhteydenotto koskaan näkyy tavallisessa verkkoliikenteessä tai palomuurilokissa. Sama malli sopii pienemmässäkin mittakaavassa: yritys, joka haluaa tarjota työntekijöilleen anonyymin väylän ilmoittaa väärinkäytöksistä, tai kansalaisjärjestö, joka toimii maassa, missä tavallinen verkkosivu suljetaan sensuurilla, hyötyy samasta arkkitehtuurista. Koska palvelu ei koskaan tarvitse julkista IP-osoitetta, se toimii identtisesti riippumatta siitä, sijaitseeko taustapalvelin Helsingissä, Tukholmassa vai kannettavalla tietokoneella junassa.

Tässä oppaassa käytämme kolmatta sukupolvea onion-osoitteita (v3), jotka ovat 56 merkkiä pitkiä ja perustuvat ed25519-käyräsalaukseen. Tor-projekti sulki vanhat 16-merkkiset v2-osoitteet käytöstä lokakuussa 2021, joten uusi palvelu syntyy aina v3-muodossa. Jos törmäät ohjeisiin, joissa mainitaan HiddenServiceVersion 2, ohita ne suoraan.

Moni sekoittaa piilopalvelun tavalliseen VPS-palvelimeen, jonka edessä pyörii VPN. Ero ei ole vain kosmeettinen. VPN piilottaa yhteytesi lähtöosoitteen palvelimelta, mutta palvelin itsessään on silti jäljitettävissä IP-osoitteesta, DNS-tietueista ja usein myös maksukortista, jolla vuokra maksettiin. Tor-piilopalvelu taas ei koskaan varaa julkista IP-osoitetta ollenkaan, joten sillä ei ole mitään verkko-osoitetta, jonka poliisi, hyökkääjä tai kilpailija voisi jäljittää takaisin fyysiseen konesaliin. Alla tiivistetty vertailu, joka kannattaa käydä läpi ennen kuin päätät kumpaa tarvitset, tai tarvitsetko molempia.

OminaisuusVPS + VPN edessäTor-piilopalvelu
Julkinen IP-osoite palvelimellaKyllä, jäljitettävissäEi koskaan
Riippuvuus maksutavastaVPS-lasku paljastaa maksajanRiippuu vain hosting-valinnasta
Suojaa myös palvelimen sijainninEi, vain käyttäjänKyllä, molemmat suunnat
Vaatii DNS-tietueenKylläEi, osoite on kryptografinen
Tyypillinen käyttötapausJulkinen sivusto, jonka sisältöä ei tarvitse piilottaaLähdesuoja, sensuurin kierto, anonyymi julkaisu

Esivaatimukset: ohjelmistot ja versiot elokuussa 2026

Ennen kuin avaat päätteen, varmista että palvelimesi täyttää seuraavat vaatimukset. Tor-daemonin nykyinen vakaa versio on 0.4.9.11, ja Tor Browser on versiossa 15.0.20 (elokuu 2026) testausta varten. Mitään näistä ei tarvitse asentaa käsin tarkkaan versionumeroon: pakettivarastot pitävät version ajan tasalla, kunhan käytät ylläpidettyä jakelua.

KomponenttiSuositeltu versioKäyttötarkoitus
KäyttöjärjestelmäDebian 13 “Trixie” (13.6) tai Ubuntu 26.04 LTSPalvelimen alusta, pitkä tukisykli
Tor-daemon0.4.9.11 tai uudempi vakaaPiiliverkon reititys ja onion-osoite
Tor Browser (testaukseen)15.0.20Piilopalvelun toiminnan varmistus
nginx1.30.4 tai uudempi vakaaPaikallinen web-palvelin, joka sidotaan localhostiin
RAM / levytila1 GB RAM, 10 GB levyä (minimi)Kevyt tekstipohjainen palvelu
Vanguards-lisäosauusin GitHub-versioSuojaa liikenneanalyysiä vastaan

Lisäksi tarvitset pääkäyttäjän oikeudet (sudo), perustason komentorivitaidot ja mieluiten palvelimen, joka ei sijaitse samassa verkossa kuin henkilökohtainen kotisi, jos anonymiteetti on todellinen tavoite. Pelkkä koti-VPS riittää harjoitteluun ja opetteluun.

Kannattaa myös varata itselleen riittävästi aikaa ensimmäistä kertaa tehdessä. Vaikka yksittäiset komennot ajetaan sekunneissa, Tor-verkon piirien rakentuminen ja piilopalvelun ilmoittautuminen hakemistosolmuille kestää minuutteja, ja jokainen torrc-muutos vaatii palvelun uudelleenkäynnistyksen sekä uuden odotusajan. 90 minuutin aika-arvio tässä oppaassa sisältää nämä odotusajat, ei pelkkää komentojen kirjoittamista.

Hosting-tarjoajan valinta kannattaa tehdä ajatuksella, jos anonymiteetti on todellinen tavoite eikä pelkkä tekninen harjoitus. Osa palveluntarjoajista hyväksyy maksun kryptovaluutalla ilman henkilöllisyyden todistamista, mikä poistaa suoran linkin maksukortista todelliseen henkilöllisyyteen. Toiset vaativat aina henkilötodistuksen tai luottokortin, jolloin koko piilopalvelun hyöty jää puolitiehen, vaikka itse Tor-määritys olisi tehty oppikirjan mukaan. Tarkista tarjoajan käytännöt etukäteen, älä vasta sen jälkeen kun palvelu on jo tuotannossa.

Vaihe 1-2: Palvelimen valmistelu ja Tor-paketin asennus

Aloita päivittämällä järjestelmä ja lisäämällä Tor-projektin virallinen pakettivarasto. Debianin ja Ubuntun omat repot sisältävät Tor-paketin, mutta ne jäävät usein pari versiota jälkeen. Virallinen repo takaa turvapäivitykset heti julkaisupäivänä.

sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https gnupg2 curl

# Lisää Tor-projektin repo (Debian 13 "trixie")
echo "deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] \
https://deb.torproject.org/torproject.org trixie main" | \
sudo tee /etc/apt/sources.list.d/tor.list

curl -fsSL https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/tor-archive-keyring.gpg

sudo apt update
sudo apt install -y tor nginx

# Varmista asennettu versio
tor --version

Onnistuneen asennuksen jälkeen komento tulostaa jotain vastaavaa: “Tor version 0.4.9.11.” Jos näet huomattavasti vanhemman numeron, pakettivarasto ei ole vielä päivittynyt tai käytät jakelun omaa oletuspakettia. Tässä vaiheessa Tor pyörii jo taustapalveluna, mutta piilopalvelua ei ole vielä määritelty.

Debianin ja Ubuntun Tor-paketti asentaa mukana myös valmiin AppArmor-profiilin, joka rajoittaa Tor-prosessin pääsyn vain sille tarpeellisiin tiedostoihin ja kansioihin. Tämä on hyvä oletus, mutta se myös selittää yhden yleisen sekaannuksen: jos siirrät HiddenServiceDir-kansion myöhemmin muualle kuin oletuspolulle /var/lib/tor alle, AppArmor saattaa estää pääsyn hiljaa ilman selkeää virheilmoitusta. Tarkista tilanne komennolla “sudo aa-status | grep tor,” jos palvelu käynnistyy mutta hostname-tiedostoa ei koskaan synny.

Vaihe 3-4: torrc-tiedoston määrittäminen

Kaikki piilopalvelun asetukset kirjoitetaan tiedostoon /etc/tor/torrc. Kaksi pakollista direktiiviä ovat HiddenServiceDir, joka kertoo missä Tor säilyttää palvelun yksityisavaimen ja hostname-tiedoston, ja HiddenServicePort, joka yhdistää onion-osoitteen paikalliseen palveluun.

sudo nano /etc/tor/torrc

# Lisää tiedoston loppuun:
HiddenServiceDir /var/lib/tor/oma_sivusto/
HiddenServicePort 80 127.0.0.1:8080

# Valinnainen: pakota vain v3-osoitteet (oletus jo uusissa versioissa)
HiddenServiceVersion 3

# Rajoita liikenne vain paikalliseen porttiin
SocksPort 0

Huomaa, että HiddenServicePort-rivin muoto on “julkinen_portti kohde_ip:kohde_portti.” Tässä esimerkissä ulkopuolinen Tor Browser -käyttäjä ottaa yhteyden porttiin 80, mutta Tor välittää liikenteen sisäisesti localhostin porttiin 8080, jossa nginx kuuntelee. Tämä kaksinkertainen porttierottelu estää nginxiä koskaan kuulemasta ulkoiseen verkkoon suoraan.

DirektiiviSelitysEsimerkkiarvo
HiddenServiceDirKansio yksityisavaimelle ja hostname-tiedostolle/var/lib/tor/oma_sivusto/
HiddenServicePortJulkinen portti -> paikallinen kohde80 127.0.0.1:8080
HiddenServiceVersionOnion-osoitteen protokollaversio3
HiddenServiceMaxStreamsYhtäaikaisten yhteyksien katto per piiri10
HiddenServiceAuthorizeClientRajoittaa pääsyn tiettyihin asiakkaisiin (v2-aikaista syntaksia, v3:ssa oma auth-mekanismi)ei käytössä oletuksena

Tallenna tiedosto ja tarkista syntaksi ennen käynnistystä komennolla “sudo tor –verify-config.” Tämä säästää turhilta virheilmoituksilta lokissa, sillä yksikin väärä välilyönti torrc-tiedostossa estää palvelun käynnistymisen kokonaan.

Taulukon direktiivien lisäksi kannattaa tuntea HiddenServiceNumIntroductionPoints, joka määrittää kuinka moneen Tor-solmuun palvelu ilmoittautuu sisääntulopisteeksi. Oletusarvo riittää useimmille, mutta suuren kävijämäärän palvelu hyötyy suuremmasta arvosta, koska se vähentää yksittäisen ruuhkautuneen sisääntulopisteen vaikutusta. Vältä kuitenkin nostamasta arvoa liikaa ilman syytä, sillä jokainen ylimääräinen sisääntulopiste on myös yksi ylimääräinen paikka, josta piiriä voidaan yrittää analysoida.

Vaihe 5: Nginx-web-palvelimen asennus ja sitominen paikalliseen porttiin

Piilopalvelun taustalla voi pyöriä mikä tahansa TCP-pohjainen palvelu: SSH, IRC tai tiedostojaon protokolla. Suurin osa käyttäjistä haluaa kuitenkin yksinkertaisen www-sivun, joten käytämme nginxiä. Kriittinen kohta on sitoa nginx ainoastaan 127.0.0.1-osoitteeseen, ei koskaan 0.0.0.0:aan, jotta palvelu ei vahingossa vuoda julkiseen verkkoon ohi Tor-piirin.

Apache toimii yhtä hyvin, jos se on jo tuttu, mutta nginx on kevyempi ja sen konfiguraatiotiedosto on yksinkertaisempi lukea jälkikäteen, kun tarkistat mihin porttiin palvelu todella kuuntelee. Kumpi tahansa valitset, sama sääntö pätee: web-palvelin ei koskaan saa avata julkista porttia, sillä koko piilopalvelun turvallisuus nojaa siihen, että ainoa reitti sisään kulkee Tor-daemonin kautta.

sudo nano /etc/nginx/sites-available/onion-sivusto

server {
    listen 127.0.0.1:8080;
    server_name oma_sivusto.onion;

    root /var/www/onion-sivusto;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    # Piilota nginxin versiotiedot vastausotsikoista
    server_tokens off;
}

sudo ln -s /etc/nginx/sites-available/onion-sivusto /etc/nginx/sites-enabled/
sudo mkdir -p /var/www/onion-sivusto
echo "

Toimii Tor-verkossa

" | sudo tee /var/www/onion-sivusto/index.html sudo nginx -t && sudo systemctl reload nginx

Komento “nginx -t” testaa konfiguraation ennen käyttöönottoa. Jos se palauttaa “syntax is ok” ja “test is successful,” voit ladata sivun uudelleen ilman katkoa. Muista poistaa oletussivusto käytöstä (“sudo rm /etc/nginx/sites-enabled/default”), ettei se vahingossa vastaa väärään porttiin.

Vaihe 6: Palvelun käynnistäminen ja onion-osoitteen hakeminen

Kun torrc on tallennettu ja nginx kuuntelee oikeassa portissa, käynnistä Tor uudelleen. Tor luo ensimmäisellä käynnistyskerralla ed25519-avainparin ja kirjoittaa julkisen onion-osoitteen hostname-tiedostoon.

sudo systemctl restart tor
sudo systemctl status tor

# Odota 10-30 sekuntia, että piiri rakentuu, ja hae osoite:
sudo cat /var/lib/tor/oma_sivusto/hostname

# Esimerkkitulostus (osoite on aina uniikki, tämä on esimerkki):
# a3f7k29dmz8x4qphrltbcvuwn5yse6jgo1hdi0kf72m6bnrcxwzyad.onion

56-merkkinen merkkijono ennen “.onion”-päätettä on julkinen osoitteesi. Se on johdettu suoraan yksityisavaimesta, joten sitä ei voi vaihtaa muuttamatta koko avainparia. Jos komento “systemctl status tor” näyttää tilan “active (running)” ja lokissa lukee “Bootstrapped 100% (done): Done,” palvelu on käytettävissä koko Tor-verkossa.

Vaihe 7: Piilopalvelun testaus Tor Browserilla

Avaa Tor Browser (versio 15.0.20 tai uudempi) toisella koneella tai edes samalla palvelimella, jos sillä on graafinen käyttöliittymä. Liitä hostname-tiedostosta löytynyt osoite osoiteriville. Sivun pitäisi latautua muutamassa sekunnissa, joskus hitaamminkin ensimmäisellä kerralla, koska Tor rakentaa uuden kolmen solmun piirin sekä sinulle että palvelimelle.

Jos sivu ei lataudu, älä muuta torrc-tiedostoa vielä. Odota ensin pari minuuttia, sillä piilopalvelun ilmoittaminen Tor-verkon hakemistosolmuille (HSDir) kestää alkuun kauemmin kuin normaali Tor-yhteys. Vasta jos tilanne ei muutu 5-10 minuutissa, siirry vianmääritysosioon tämän oppaan lopussa.

Kannattaa myös testata palvelu eri verkoista, esimerkiksi kotikoneelta ja mobiiliyhteydellä, koska joskus paikallinen palomuuri tai reititin estää lähtevän Tor-liikenteen vain tietyssä verkossa. Avaa samalla Tor Browserin osoiterivin vieressä oleva piiritietonäkymä (onion-kuvake), joka näyttää, minkä solmujen kautta yhteys kulki. Jos piiritietoja ei näy ollenkaan, ongelma on todennäköisesti omassa selaimessasi tai paikallisverkossasi, ei palvelimella.

Vaihe 8: HTTPS-varmenne ja Onion-Location-otsikko

Tor-piiri salaa liikenteen jo itsessään, joten TLS ei ole pakollinen kuten julkisessa webissä. Monet vakavasti otetut piilopalvelut, kuten uutisorganisaatiot, käyttävät silti HTTPS:ää lisäkerroksena ja todistaakseen sivuston aitouden itse allekirjoitetulla tai DigiCertin onion-varmenteella. Kevyempi ja yleisempi tapa on Onion-Location-HTTP-otsikko, jonka avulla tavallinen www-sivu ilmoittaa selaimelle vaihtoehtoisesta .onion-osoitteestaan.

# Lisää julkisen www-palvelimesi nginx-konfiguraatioon (ei piilopalvelimeen):
add_header Onion-Location http://a3f7k29dmz8x4qphrltbcvuwn5yse6jgo1hdi0kf72m6bnrcxwzyad.onion$request_uri;

Tämä otsikko toimii vain, kun kävijä käyttää jo Tor Browseria julkisella sivustollasi. Tuolloin selain tarjoaa automaattisesti vaihtoehtoa siirtyä onion-osoitteeseen, mikä parantaa yksityisyyttä ja usein myös nopeutta, koska liikenne pysyy kokonaan Tor-verkon sisällä ilman exit-solmua.

Yritykset, jotka haluavat todistaa sivuston aitouden vielä vahvemmin, voivat hankkia EV-tyyppisen onion-varmenteen tunnetulta varmentajalta. Tällöin selain näyttää vahvistetun organisaationimen osoitepalkissa, mikä auttaa kävijää erottamaan aidon palvelun huijaussivustosta, joita liikkuu Tor-verkossa yhtä lailla kuin tavallisessakin webissä. Pienemmälle projektille itse allekirjoitettu varmenne riittää, kunhan onion-osoite itsessään pysyy muuttumattomana ja luotettavana tunnisteena.

Vaihe 9-10: Asiakastodennus ja Vanguards-suojaus

Jos piilopalvelu on tarkoitettu vain rajatulle joukolle, kuten tiimillesi tai lähteillesi, ota käyttöön v3-onion-osoitteiden oma client authorization -mekanismi. Se eroaa vanhasta v2-ajan HiddenServiceAuthorizeClient-direktiivistä ja perustuu erillisiin avaintiedostoihin.

# Luo asiakasavain palvelimella
sudo mkdir -p /var/lib/tor/oma_sivusto/authorized_clients
sudo tor-gencert --create-identity-key   # tai vastaava avainten luontityökalu

# Lisää torrc-tiedostoon
echo "HiddenServiceDir /var/lib/tor/oma_sivusto/" | sudo tee -a /etc/tor/torrc
echo "HiddenServiceOnionKey" | sudo tee -a /etc/tor/torrc

sudo systemctl restart tor

Toinen, laajemmin käytetty suojauskerros on Vanguards-lisäosa, jonka Tor-projektin yhteisö kehittää GitHubissa. Se puolustaa niin sanottuja “guard discovery” ja liikenneanalyysihyökkäyksiä vastaan valitsemalla vakaammat sisääntulosolmut ja rajoittamalla piirien uusiutumista. Asennus tapahtuu Python-skriptinä, joka pyörii Tor-palvelun rinnalla omana systemd-yksikkönään.

sudo apt install -y python3-pip
sudo pip3 install --break-system-packages vanguards
sudo vanguards --config /etc/tor/torrc &

# Tarkista, että Vanguards löytää ControlPortin
sudo tail -f /var/log/syslog | grep -i vanguard

Vanguards ei korvaa hyvää OpSec-käytäntöä, mutta se pienentää riskiä, että pitkäaikainen piilopalvelu paljastaa palvelimen sijainnin ajan myötä tilastollisen analyysin kautta. Client authorization -mekanismi puolestaan perustuu x25519-avainpareihin: jaat julkisen avaimen luotetulle käyttäjälle, joka lisää sen omaan Tor Browser -asennukseensa, ja vain se, jolla on vastaava yksityinen avain, pystyy edes muodostamaan yhteyden palveluun. Muille kävijöille palvelu näyttäytyy täysin olemattomana, ei edes virheilmoituksena, mikä on huomattavasti vahvempi suoja kuin pelkkä salasanakysely sovellustasolla.

Vaihe 11-12: Palomuuri, verkkoeristys ja lokien poisto

Palomuurin tehtävä ei ole päästää liikennettä sisään, sillä piilopalvelu ei koskaan kuuntele julkista porttia. Sen tehtävä on estää palvelinta itseään vuotamasta tietoa ulos ohi Tor-piirin, esimerkiksi virheellisen sovelluksen tai päivityspalvelun kautta. Tätä kutsutaan egress-suodatukseksi, ja se on yksi eniten laiminlyödyistä suojauskerroksista tavallisilla palvelimilla, koska useimmat palomuuriohjeet keskittyvät vain sisääntulevaan liikenteeseen.

Käytännön riski on konkreettinen: jos palvelimelle asennettu sovellus, kirjastopäivitys tai jopa vahingossa asennettu analytiikkatyökalu yrittää ottaa suoran yhteyden ulos Tor-piirin ohi, se paljastaa palvelimen todellisen IP-osoitteen sille palvelimelle, johon yhteys muodostuu. Oletuksena deny-asetettu lähtevä liikenne pakottaa jokaisen uuden ohjelmiston reitittymään tietoisesti Torin kautta, mikä tekee vahingoista huomattavasti vaikeampia.

Testaa palomuurisäännöt heti käyttöönoton jälkeen yrittämällä tietoisesti muodostaa yhteys johonkin ulkopuoliseen osoitteeseen ohi sallitun listan, esimerkiksi komennolla “curl -m 5 https://example.com.” Yhteyden pitäisi aikakatketa tai epäonnistua välittömästi. Jos se onnistuu, palomuurisäännöissä on aukko, joka kannattaa korjata ennen kuin palvelu otetaan tuotantokäyttöön.

sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on lo
sudo ufw allow out to 127.0.0.1 port 9050 proto tcp   # Tor SocksPort, jos käytössä
sudo ufw allow out to any port 443 proto tcp comment "vain pakettipäivitykset"
sudo ufw enable

# Poista nginxin oletuslokit, jotka tallentavat kävijöiden pyyntöjä
sudo sed -i 's/access_log .*/access_log off;/' /etc/nginx/nginx.conf
sudo sed -i 's/error_log .*warn;/error_log \/dev\/null crit;/' /etc/nginx/nginx.conf
sudo systemctl reload nginx

Lokien sammuttaminen on OpSec-perusasia: palvelin ei koskaan tiedä kävijöidensä IP-osoitteita Tor-liikenteessä, mutta nginxin oletuskäytäntö kirjaa silti pyyntöjen ajankohdat ja polut. Nämä tiedot ovat hyödyttömiä anonyymiydelle mutta hyödyllisiä kenelle tahansa, joka takavarikoi palvelimen.

Lisäsuojaus: systemd-koventaminen Tor- ja nginx-palveluille

Palomuuri suojaa verkkoliikennettä, mutta se ei rajoita sitä, mitä itse prosessi saa tehdä palvelimella. Moderni systemd tukee sandboxing-direktiivejä, jotka estävät Tor- ja nginx-palveluita lukemasta tai kirjoittamasta mihin tahansa levyllä, vaikka jompikumpi murrettaisiin haavoittuvuuden kautta. Tämä on erillinen suojauskerros, joka ei vaadi mitään ylimääräisiä paketteja, koska direktiivit ovat osa systemd:tä itseään.

sudo systemctl edit nginx.service

# Lisää avautuvaan tiedostoon:
[Service]
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
NoNewPrivileges=true
ReadWritePaths=/var/www/onion-sivusto /var/log/nginx

sudo systemctl daemon-reload
sudo systemctl restart nginx

Samaa mallia kannattaa soveltaa Tor-yksikköön, joskin varovaisemmin: ReadWritePaths pitää sisältää vähintään /var/lib/tor ja /run/tor, muuten palvelu ei pysty kirjoittamaan ed25519-avaintiedostoja tai hostname-tiedostoa. Testaa aina “systemctl status tor” muutoksen jälkeen ennen kuin siirryt eteenpäin, sillä liian tiukka ReadWritePaths-rajaus estää Toria käynnistymästä kokonaan.

Onion v2 vs v3 -osoitteet: miksi versio ratkaisee

Jos löydät vanhoja blogikirjoituksia tai StackExchange-vastauksia vuosilta 2018-2020, ne saattavat yhä neuvoa v2-syntaksia. Tor-projekti sammutti v2-tuen lokakuussa 2021, joten mikä tahansa 16-merkkinen .onion-osoite ei enää toimi. Tämä on hyvä muistaa erityisesti silloin, kun etsit lisäohjeita hakukoneesta: monet vuosien 2016-2020 kirjoitukset ovat edelleen korkealla hakutuloksissa, vaikka niiden komennot eivät enää toimi nykyisellä Tor-daemonilla. Alla ero tiivistettynä.

Ominaisuusv2 (poistettu käytöstä)v3 (nykystandardi)
Osoitteen pituus16 merkkiä56 merkkiä
SalausalgoritmiRSA-1024ed25519-käyräsalaus
Tuen tila 2026Ei toimi, sammutettu 2021Ainoa tuettu vaihtoehto
AsiakastodennusHiddenServiceAuthorizeClientErillinen client authorization -avainmekanismi
Osoitteen ennustettavuusOsittain törmäysherkkäKäytännössä arvaamaton

Nykyinen Tor-daemon 0.4.9.11 luo v3-osoitteen automaattisesti eikä tue enää v2-direktiivien lisäämistä torrc-tiedostoon. Jos näet virheen “Invalid HiddenServiceVersion,” syynä on lähes aina kopioitu vanha ohje. Vaihda kaikki löytämäsi ohjeet v3-muotoon ja poista mahdolliset vanhat avainkansiot ennen uudelleenkäynnistystä, sillä Tor ei osaa muuntaa vanhaa v2-avainparia uudeksi v3-osoitteeksi automaattisesti.

Vaihto ei ollut vain kosmeettinen päivitys. RSA-1024, jota v2 käytti, oli jo vanhentunut avainkoko modernin laskentatehon näkökulmasta, kun taas ed25519 tarjoaa saman tai paremman turvatason huomattavasti pienemmillä avaimilla ja nopeammalla laskennalla. Käytännössä tämä näkyy myös nopeampana piirin rakentumisena, koska allekirjoitusten tarkistus vie vähemmän suoritinaikaa jokaisella Tor-solmulla, joka osallistuu piirin muodostamiseen.

Löydettävyys: miten kävijät löytävät piilopalvelusi

Tavallinen sivusto löytyy Googlesta hakusanoilla, mutta piilopalvelu ei näy tavallisissa hakukoneissa lainkaan, koska niiden botit eivät indeksoi Tor-verkkoa. Tämä on ominaisuus, ei puute: se tarkoittaa, että sivustosi ei tule löydetyksi vahingossa. Jos haluat, että kävijät löytävät palvelusi, on kolme käytännön tapaa. Ensimmäinen ja yleisin on jakaa osoite suoraan luotetulle kohderyhmälle esimerkiksi salatussa viestissä tai olemassa olevalla julkisella sivustolla Onion-Location-otsikon kautta, kuten aiemmin tässä oppaassa näytettiin.

Toinen tapa on rekisteröityä onion-hakukoneisiin, kuten Ahmiaan, joka indeksoi vapaaehtoisesti ilmoitettuja piilopalveluita ja suodattaa laittoman sisällön pois hakutuloksista. Kolmas tapa sopii organisaatioille: monet mediatalot ja kansalaisjärjestöt listaavat oman .onion-osoitteensa suoraan julkisen verkkosivunsa yhteystiedoissa, jolloin osoite on löydettävissä tavallisen haun kautta, vaikka itse piilopalvelu ei ole indeksoitu. Valitse tapa sen mukaan, haluatko palvelun olevan laajasti löydettävissä vai vain rajatun kohderyhmän tiedossa.

Huomioi myös, että osoitteen jakaminen luotettavasti on oma haasteensa. Koska 56-merkkinen merkkijono on mahdoton muistaa, moni kopioi sen sähköpostiin tai viestisovellukseen, mikä avaa mahdollisuuden osoitteen huijaamiseen matkalla. Turvallisin tapa jakaa osoite on allekirjoittaa se PGP-avaimella tai julkaista se useassa riippumattomassa kanavassa samanaikaisesti, jolloin kävijä voi tarkistaa, että kaikki lähteet osoittavat samaan .onion-merkkijonoon ennen kuin luottaa siihen.

Yleisimmät sudut piilopalvelun pystytyksessä

Foorumeilla ja Reddit-ketjuissa 2025-2026 toistuvat samat virheet uudestaan. Suurin osa niistä ei liity Tor-verkon toimintaan vaan tavallisiin palvelinhallinnan lipsahduksiin, jotka korostuvat piilopalvelussa tavallista pahemmin. Alla viisi yleisintä, jotka kannattaa tarkistaa ennen kuin epäilet Tor-verkkoa itseään.

SuduSeurausKorjaus
Nginx sidottu 0.0.0.0-osoitteeseenPalvelu vuotaa julkiseen verkkoon ohi TorinSido aina 127.0.0.1:porttiin
Oikeudet HiddenServiceDir-kansiossa väärinTor kieltäytyy käynnistymästä, lokissa “Permissions on directory… are too permissive”chmod 700 ja chown debian-tor kansiolle
Palvelimen kellonaika väärinTor ei pysty rakentamaan piiriä, sertifikaattivirheitäAsenna ja aktivoi chrony tai systemd-timesyncd
Sama palvelin ajaa julkista ja piilotettua sivustoa identtisellä sisällölläKorrelaatiohyökkäys paljastaa palvelimen sijainninErottele sisältö tai käytä eri palvelinta
Vanhan v2-ohjeen kopiointi torrc-tiedostoon“Invalid HiddenServiceVersion” -virhe käynnistyksessäPoista v2-direktiivit, anna Torin luoda v3 oletuksena

Neljäs rivi taulukossa ansaitsee erityishuomion, koska se on hienovaraisin. Jos sama fyysinen palvelin ajaa sekä julkista sivustoa että piilopalvelua identtisellä sisällöllä tai samalla palvelinohjelmistolla, tutkija voi verrata julkisen sivun latausaikoja, virhesivuja ja käyttäytymistä piilopalvelun vastaaviin ja päätellä niiden olevan sama kone. Tämä niin sanottu korrelaatiohyökkäys ei vaadi Tor-verkon murtamista, vain kärsivällistä havainnointia kahdesta eri lähteestä.

Vianmääritys: yleisimmät ongelmat ja ratkaisut

Jos jokin vaihe ei toiminut odotetusti, käy läpi seuraava lista ennen kuin aloitat asennuksen alusta. Suurin osa ongelmista ratkeaa yhdellä komennolla, eikä koko määritystä tarvitse yleensä purkaa ja rakentaa uudelleen. Tarkista aina ensin lokit komennolla “journalctl -u tor -n 100 –no-pager,” koska Tor kirjoittaa selkokielisen virheilmoituksen lähes jokaisessa epäonnistuneessa käynnistyksessä.

OngelmaTodennäköinen syyRatkaisu
hostname-tiedostoa ei löydyTor ei ole vielä käynnistynyt onnistuneestiTarkista “systemctl status tor” ja lokit “journalctl -u tor -n 50”
Tor Browser näyttää “Onionsite Not Found”HSDir-ilmoitus ei ole vielä levinnyt verkkoonOdota 5-10 minuuttia, kokeile uudelleen
“Bootstrapped” jää jumiin alle 100 %Palomuuri estää Tor-liikenteen ulospäinSalli lähtevä liikenne portteihin 443 ja 80, tarkista ufw-säännöt
nginx palauttaa 502 Bad Gatewaynginx ei kuuntele porttia, johon HiddenServicePort osoittaaVertaa torrc:n ja nginx-konfin porttinumeroita
“Permissions on directory are too permissive”HiddenServiceDir-kansion oikeudet liian avoimetsudo chmod 700 /var/lib/tor/oma_sivusto/
Palvelu toimii, mutta erittäin hitaastiPalvelin valitsi huonon Tor-piirin, tai RAM loppuuNosta RAM 1 GB:sta 2 GB:aan, käynnistä Tor uudelleen
Vanguards ei löydä ControlPortiaControlPort ei ole avattu torrc:ssaLisää “ControlPort 9051” ja “CookieAuthentication 1”
Osoite vaihtuu joka uudelleenkäynnistykselläHiddenServiceDir-kansio poistuu tai tyhjeneeVarmuuskopioi kansio, älä käytä /tmp-hakemistoa

Jos onion-osoite katoaa yllättäen kokonaan uudelleenkäynnistyksen jälkeen, syy on lähes aina se, että HiddenServiceDir osoitti väliaikaishakemistoon. Yksityisavain säilyy vain, jos kansio on pysyvällä levyllä eikä esimerkiksi tmpfs-muistilevyllä. Käy koko lista läpi järjestyksessä ylhäältä alas, sillä ongelmat kasautuvat usein: väärä kellonaika voi esimerkiksi aiheuttaa sekä Bootstrap-jumiutumisen että myöhemmin epäloogisia sertifikaattivirheitä, vaikka juurisyy on sama.

Edistyneet vinkit: skaalaus, vanity-osoitteet ja monitorointi

Kun perusasennus toimii, seuraava askel on usein osoitteen ulkoasu. Vanity-osoitteen generointi tarkoittaa sitä, että etsit ed25519-avainparia, jonka onion-osoite alkaa halutulla merkkijonolla, esimerkiksi organisaation nimellä. Tähän käytetään avoimen lähdekoodin työkaluja, jotka kokeilevat miljoonia avainpareja sekunnissa. Neljän-viiden merkin etuliite löytyy tavallisella kannettavalla muutamassa minuutissa, mutta jokainen lisämerkki kasvattaa hakuaikaa moninkertaisesti.

Suuremman kävijämäärän palveluille kannattaa harkita useampaa Tor-instanssia kuormantasauksella. Tor tukee tätä OnionBalance-yhteensopivalla määrityksellä, jossa yksi julkinen onion-osoite jakaa liikenteen useammalle taustapalvelimelle. OnionBalance-projekti ylläpitää tähän omaa työkaluaan, joka toimii erillisenä kerroksena tavallisen Tor-asennuksen päällä. Käytännössä yksi frontend-solmu jakaa pyynnöt useammalle backend-palvelimelle, joista jokaisella on oma yksityisavaimensa, mutta kaikki näyttäytyvät kävijälle samana julkisena onion-osoitteena.

Tämä arkkitehtuuri tuo mukanaan myös vikasietoisuutta: jos yksi backend-palvelin kaatuu, OnionBalance ohjaa liikenteen automaattisesti jäljelle jääville solmuille ilman, että kävijä huomaa katkoa tai osoite muuttuu. Isommissa käyttöönotoissa kannattaa sijoittaa backend-palvelimet eri hosting-tarjoajille ja mieluiten eri maihin, jotta yksittäinen palveluntarjoajan häiriö tai takavarikointi ei kaada koko palvelua kerralla.

Monitorointia varten älä käytä ulkoisia uptime-palveluita, jotka pingaavat onion-osoitetta julkisesta verkosta käsin: ne eivät toimi, koska .onion ei resolvoidu tavallisen DNS:n kautta. Aja sen sijaan monitorointiskripti paikallisesti palvelimella ja tarkkaile Tor-lokia sekä nginxin prosessin tilaa systemd-timerilla. Näin vältät ylimääräisen ulkoisen riippuvuuden, joka voisi paljastaa palvelun olemassaolon kolmannelle osapuolelle.

Suorituskyvyn optimointi: miten pienennät latausaikoja

Tor-liikenne kulkee aina useamman solmun kautta, joten piilopalvelu ei koskaan ole yhtä nopea kuin sama sivusto suoraan julkisessa webissä. Tämä ei tarkoita, että sivun täytyisi tuntua hitaalta. Suurin osa hitaudesta johtuu raskaasta sisällöstä, ei itse Tor-piiristä. Pakkaa kuvat mahdollisimman pieniksi, vältä ulkoisia fontteja ja JavaScript-kirjastoja, jotka ladataan CDN-palvelusta, koska CDN-osoitteet eivät useinkaan ole saavutettavissa Tor-verkosta tai ne paljastavat kävijän vierailun kolmannelle osapuolelle.

# Ota käyttöön gzip-pakkaus nginxissä piilopalvelun konfiguraatiossa
sudo nano /etc/nginx/sites-available/onion-sivusto

gzip on;
gzip_types text/css text/plain application/javascript application/json;
gzip_min_length 512;
keepalive_timeout 65;

sudo nginx -t && sudo systemctl reload nginx

Pidä myös keepalive-yhteydet päällä, koska jokainen uusi TCP-yhteys Tor-piirin sisällä maksaa ylimääräisen kättelyn verran viivettä. Staattinen HTML ilman ulkoisia riippuvuuksia latautuu tyypillisesti muutamassa sekunnissa, kun taas raskas JavaScript-sovellus voi kestää kymmeniä sekunteja tai epäonnistua kokonaan hitaan piirin yli.

Jos palvelu tarjoaa tiedostolatauksia, harkitse osien jakamista pienempiin paketteihin ja jatkettavan latauksen tukea (HTTP Range -otsikot), koska pitkä yhtäjaksoinen Tor-piiri voi vaihtua kesken siirron ja katkaista latauksen. Tallenna suuret tiedostot pakattuina ja tarkista, että palvelin tukee osittaista latausta, jotta käyttäjä ei joudu aloittamaan katkennutta siirtoa aivan alusta.

Varmuuskopiointi ja palautuminen tuhotilanteessa

Onion-osoitteen menettäminen on peruuttamatonta, joten varmuuskopiointi ei ole valinnainen lisä vaan osa perusasennusta. Ainoa asia, jota tarvitset osoitteen palauttamiseen toiselle palvelimelle, on hs_ed25519_secret_key-tiedosto sekä sen pariksi kuuluva public key -tiedosto. Näiden kahden tiedoston kopioiminen turvalliseen, salattuun paikkaan riittää täydelliseen palautumiseen.

# Ota salattu varmuuskopio avainkansiosta
sudo tar -czf onion-avaimet-varmuuskopio.tar.gz -C /var/lib/tor oma_sivusto/
gpg --symmetric --cipher-algo AES256 onion-avaimet-varmuuskopio.tar.gz
shred -u onion-avaimet-varmuuskopio.tar.gz

# Palautus uudelle palvelimelle:
gpg --decrypt onion-avaimet-varmuuskopio.tar.gz.gpg > palautus.tar.gz
sudo tar -xzf palautus.tar.gz -C /var/lib/tor/
sudo chown -R debian-tor:debian-tor /var/lib/tor/oma_sivusto
sudo chmod 700 /var/lib/tor/oma_sivusto
sudo systemctl restart tor

Säilytä salattu varmuuskopio eri fyysisessä sijainnissa kuin itse palvelin, esimerkiksi salatulla USB-tikulla. Jos palvelimen tarjoaja sulkee tilin tai palvelin kaatuu pysyvästi, voit palauttaa täsmälleen saman onion-osoitteen uudelle koneelle muutamassa minuutissa, kunhan avaintiedostot ovat tallessa.

Harkitse myös nginxin sisällön (/var/www/onion-sivusto) sisällyttämistä samaan varmuuskopiointirutiiniin, jos sivusto sisältää muutakin kuin staattisia tiedostoja, kuten tietokannan. Erota tällöin sisällön varmuuskopiointi ja salausavainten varmuuskopiointi toisistaan: avaimet tarvitaan vain kerran palautuksessa, mutta sisältö voi muuttua päivittäin ja vaatii oman aikataulunsa, esimerkiksi öisin ajettavan cron-tehtävän kautta.

Ylläpitäjän oma anonymiteetti: näin hallinnoit palvelinta paljastamatta itseäsi

Tekninen piilopalvelu voi olla täydellisesti pystytetty ja silti epäonnistua täysin, jos ylläpitäjä itse jättää jäljen. Tähän mennessä olemme keskittyneet palvelimen omaan suojaukseen, mutta yhtä tärkeää on se, miten sinä itse otat siihen yhteyttä. Yleisin virhe on kirjautua palvelimelle SSH:lla suoraan omasta kotiverkosta, jolloin hosting-yhtiö näkee suoran yhteyden ylläpitäjän kotiosoitteeseen jokaisella kirjautumiskerralla. Reititä ylläpitoyhteydet aina Torin kautta, esimerkiksi asettamalla SSH kuuntelemaan vain paikallisesti ja luomalla sille oma HiddenServicePort-rivi, jolloin kirjaudut sisään omalla .onion-osoitteellasi Tor Browserin sijaan komentoriviltä torify-työkalulla.

Toinen usein unohdettu kohta on hosting-tilauksen maksutapa. Jos vuokraat VPS:n luottokortilla, joka on suoraan yhdistettävissä henkilöllisyyteesi, koko piilopalvelun tekninen anonymiteetti menettää merkityksensä heti kun joku pyytää lokitietoja hosting-yhtiöltä. Sama koskee sähköpostiosoitetta, jolla tili rekisteröitiin, ja aikaleimoja: jos palvelin käynnistetään aina samaan kellonaikaan omasta aikavyöhykkeestäsi, se muodostaa oman tunnistettavan kuvion. Whonixin tai Tails-käyttöjärjestelmän käyttäminen hallintakoneena lisää vielä yhden kerroksen, koska tällöin edes oma työasemasi ei koskaan avaa suoraa yhteyttä hosting-palveluun.

Kolmas kohta liittyy koodiin ja sisältöön itseensä. Kuvatiedostot voivat sisältää metatietoja, kuten kameran sarjanumeron tai GPS-koordinaatit, jotka paljastavat enemmän kuin itse teksti. Puhdista kaikki ladattavat tiedostot metatiedoista ennen julkaisua, ja vältä käyttämästä samaa kirjoitustyyliä, käyttäjänimeä tai PGP-avainta, jota olet käyttänyt muualla tunnistettavasti. Nämä pienet yksityiskohdat ovat useimmiten se kohta, josta pitkäaikaiset anonyymit julkaisijat on jäljitetty, ei itse Tor-verkon tekninen murtaminen.

Kokoa nämä käytännöt yhteen tarkistuslistaksi ennen kuin siirrät palvelun tuotantoon: hallintayhteys aina Torin kautta, hosting maksettu tavalla joka ei ole suoraan jäljitettävissä, kellonajat ja käynnistyskuviot satunnaistettu, sekä kaikki julkaistava sisältö puhdistettu metatiedoista. Yksikin unohdettu kohta riittää murtamaan koko ketjun, vaikka tekninen Tor-määritys olisi tehty täydellisesti.

Mitä tehdä, jos epäilet piilopalvelusi paljastuneen

Jos huomaat merkkejä siitä, että palvelimen sijainti tai omistaja on saattanut paljastua, esimerkiksi odottamattomia kirjautumisyrityksiä, tuntematonta liikennettä palvelimen omalta julkiselta verkkoliitännältä tai hosting-yhtiön yhteydenoton, toimi nopeasti mutta harkiten. Älä sammuta palvelinta paniikissa ennen kuin olet varmuuskopioinut ed25519-avaimet, jos haluat säilyttää saman onion-osoitteen jatkossa.

Siirrä palvelu ensin uudelle, riippumattomalle palvelimelle käyttäen varmuuskopioituja avaimia, jotta osoite pysyy samana mutta fyysinen sijainti vaihtuu. Tarkista sen jälkeen kaikki lokit, joita olet mahdollisesti vahingossa jättänyt päälle, ja vaihda kaikki hallintasalasanat sekä SSH-avaimet. Jos epäilet, että paljastuminen johtui omasta OpSec-virheestä, kuten suorasta SSH-yhteydestä ilman Tor-reititystä, dokumentoi tapahtuma itsellesi ja korjaa sama virhe ennen kuin palvelu palaa käyttöön uudella palvelimella.

Pidä mielessä, että pelkkä epäily ei aina tarkoita todellista paljastumista. Tor-verkon liikennemäärät vaihtelevat, ja yksittäinen epätavallinen yhteys voi olla täysin viatonta liikennettä. Ylireagointi, kuten toistuva palvelun sammuttaminen ja uudelleenkäynnistäminen eri osoitteilla, voi itsessään luoda tunnistettavan kuvion. Arvioi tilanne rauhassa saatavilla olevan näytön perusteella ja toimi harkiten sen sijaan, että vaihdat koko infrastruktuuria jokaisen epäilyttävän rivin takia lokitiedostossa.

Täydellinen esimerkkiprojekti: kaikki tiedostot yhdessä

Kokoa lopuksi koko asennus yhdeksi tarkistettavaksi kokonaisuudeksi. Alla on toimivan piilopalvelun täydellinen tiedostorakenne ja keskeiset sisällöt, jotka voit käyttää suoraan pohjana omalle projektillesi.

/etc/tor/torrc
    HiddenServiceDir /var/lib/tor/oma_sivusto/
    HiddenServicePort 80 127.0.0.1:8080
    HiddenServiceVersion 3
    ControlPort 9051
    CookieAuthentication 1
    SocksPort 0

/etc/nginx/sites-available/onion-sivusto
    server {
        listen 127.0.0.1:8080;
        server_name oma_sivusto.onion;
        root /var/www/onion-sivusto;
        index index.html;
        server_tokens off;
        access_log off;
    }

/var/lib/tor/oma_sivusto/
    hostname                 <- julkinen 56-merkkinen onion-osoite
    hs_ed25519_secret_key    <- YKSITYINEN, älä koskaan jaa
    hs_ed25519_public_key
    authorized_clients/      <- valinnainen, rajatulle käyttäjäjoukolle

/var/www/onion-sivusto/
    index.html

Käynnistyskomennot:
sudo systemctl enable --now tor
sudo systemctl enable --now nginx
sudo ufw enable

Varmuuskopioi ehdottomasti kansio /var/lib/tor/oma_sivusto/ heti ensimmäisen onnistuneen käynnistyksen jälkeen. Tiedosto hs_ed25519_secret_key on ainoa asia, joka määrittää onion-osoitteesi: jos se katoaa, palvelu joutuu ottamaan käyttöön kokonaan uuden osoitteen eikä vanhaa saa koskaan takaisin.

Lainsäädäntö Suomessa ja Pohjoismaissa: mitä pitää huomioida

Tor-verkon käyttö ja piilopalvelun ylläpito on täysin laillista sekä Suomessa että muissa Pohjoismaissa. Mikään laki ei kiellä anonyymin julkaisukanavan pystyttämistä, eikä Tor-liikenne itsessään ole merkki rikollisesta toiminnasta. Vastuu syntyy sisällöstä, ei tekniikasta: sama lainsäädäntö, joka koskee tavallista www-sivustoa, koskee myös .onion-osoitteessa julkaistua sisältöä.

Jos piilopalvelu kerää käyttäjätietoja, esimerkiksi lomakkeiden tai kirjautumisen kautta, tavallinen tietosuoja-asetus eli GDPR pätee siihen aivan kuten mihin tahansa muuhun palveluun, joka käsittelee EU-kansalaisten henkilötietoja. Anonyymi julkaisualusta ei vapauta rekisterinpitäjän velvollisuuksista, jos kerättävä tieto on tunnistettavissa yksittäiseen henkilöön. Käytännössä turvallisin ratkaisu on suunnitella palvelu niin, ettei se kerää mitään henkilötietoja lainkaan: ei lokitietoja, ei evästeitä eikä rekisteröitymistä ilman selkeää tarvetta.

Yhteenveto: 12 vaiheen tarkistuslista

Käy tämä lista läpi ennen kuin julkistat piilopalvelun osoitteen kenellekään. Jokainen kohta viittaa oppaan vastaavaan vaiheeseen, joten voit palata tarkistamaan yksityiskohdat, jos jokin kohta ontuu.

  1. Palvelin päivitetty ja Tor-projektin virallinen pakettivarasto lisätty
  2. Tor asennettu ja versio varmistettu komennolla tor --version
  3. torrc-tiedostoon lisätty HiddenServiceDir ja HiddenServicePort
  4. torrc-syntaksi tarkistettu ennen käynnistystä
  5. nginx sidottu vain 127.0.0.1-osoitteeseen, ei 0.0.0.0:aan
  6. Tor käynnistetty uudelleen ja onion-osoite haettu hostname-tiedostosta
  7. Osoite testattu Tor Browserilla useammasta verkosta
  8. Onion-Location-otsikko lisätty, jos julkinen rinnakkaissivusto on olemassa
  9. Client authorization ja Vanguards otettu käyttöön tarpeen mukaan
  10. Palomuuri asetettu oletuksena estämään lähtevä liikenne (egress-suodatus)
  11. nginxin lokit sammutettu ja systemd-sandboxing otettu käyttöön
  12. Avaimet varmuuskopioitu salattuna eri fyysiseen sijaintiin

Usein kysytyt kysymykset

Tarvitseeko piilopalvelu julkisen IP-osoitteen?
Ei tarvitse. Piilopalvelu ei koskaan avaa porttia julkiseen verkkoon, joten se toimii NAT:n takana, kotiverkossa tai mobiiliyhteydellä ilman porttiohjausta.

Onko piilopalvelun ylläpito laillista Suomessa?
Kyllä, Tor-verkon käyttö ja piilopalvelun ylläpito on Suomessa laillista. Palvelun sisältö ratkaisee lainmukaisuuden, ei tekniikka itsessään.

Voiko onion-osoitteen vaihtaa myöhemmin muuksi kuin satunnaiseksi merkkijonoksi?
Osoite on aina suoraan johdettu ed25519-avainparista. Voit hakea vanity-osoitteen, jossa alku muistuttaa haluamaasi sanaa, mutta täysin vapaasti valittua osoitetta ei voi luoda.

Paljastaako piilopalvelu palvelimen sijainnin ajan myötä?
Riski on olemassa pitkäaikaisilla, korkean liikennemäärän palveluilla liikenneanalyysin kautta. Vanguards-lisäosa ja hyvä OpSec-käytäntö pienentävät riskiä merkittävästi, mutta eivät poista sitä kokonaan.

Miksi sivusto latautuu hitaammin kuin tavallinen www-sivu?
Liikenne kulkee tyypillisesti kuuden Tor-solmun kautta, kolme kummallakin puolella, mikä lisää viivettä. Kevyt staattinen sisältö ja kuvien minimointi nopeuttavat lataamista huomattavasti.

Voiko samalla palvelimella ajaa useampaa piilopalvelua?
Kyllä. Lisää torrc-tiedostoon useampia HiddenServiceDir/HiddenServicePort-pareja, kukin omaan alikansioonsa, ja jokainen saa oman ed25519-avainparinsa ja onion-osoitteensa.

Kannattaako HTTPS ottaa käyttöön, jos Tor jo salaa liikenteen?
Se ei ole pakollista, mutta lisää eheyden todistettavuutta ja estää väliintulon, jos palvelun sisällä olisi selaimen laajennuksia tai välityspalvelimia, jotka eivät luota pelkkään Tor-piiriin.

Mistä tiedän, onko piilopalveluni edelleen käytettävissä pitkän ajan kuluttua?
Aja paikallinen tarkistusskripti, joka pingaa localhost-porttia ja tarkistaa Tor-prosessin tilan systemd-timerilla. Ulkoisia uptime-palveluita ei kannata käyttää, koska ne eivät osaa resolvoida .onion-osoitteita.

Voiko piilopalvelun siirtää palveluntarjoajalta toiselle ilman, että osoite muuttuu?
Kyllä, kunhan siirrät mukana koko HiddenServiceDir-kansion sisällön, erityisesti hs_ed25519_secret_key-tiedoston. Osoite on suoraan sidottu avainpariin, ei palvelimeen tai hosting-tarjoajaan.

Toimiiko piilopalvelu, jos palvelin sijaitsee kotiverkossa eikä VPS:llä?
Toimii, koska piilopalvelu ei tarvitse julkista IP-osoitetta eikä porttiohjausta reitittimellä. Kotiverkon rajoitus on käytännössä vain saatavuus: jos kotikone sammuu tai internet-yhteys katkeaa, palvelu ei ole tavoitettavissa siihen asti.

Kannattaako piilopalvelu pystyttää Raspberry Pi:lle tai muulle pienelle laitteelle?
Kyllä, kevyt tekstipohjainen palvelu toimii hyvin jo yhden gigatavun muistilla varustetulla pienoistietokoneella. Ainoa käytännön rajoite on internet-yhteyden vakaus ja se, että laite pysyy päällä ympäri vuorokauden, jos palvelun täytyy olla jatkuvasti saatavilla.

Eroaako piilopalvelun pystyttäminen Whonixilla tai Tailsilla tästä oppaasta?
Itse palvelinasennus tehdään lähes aina tavalliselle Linux-palvelimelle, ei Whonixille tai Tailsille, koska nämä on suunniteltu asiakaskäyttöön eivätkä pitkäaikaiseen palvelinajoon. Whonix tai Tails sopii kuitenkin erinomaisesti ylläpitäjän omaksi hallintakoneeksi, josta otat SSH-yhteyden palvelimelle Torin kautta tämän oppaan Ylläpitäjän oma anonymiteetti -osiossa kuvatulla tavalla.

Pääseekö piilopalveluuni käsiksi maasta, jossa Tor-verkko on estetty?
Kävijän on tällöin käytettävä pluggable transport -siltoja, kuten obfs4:ää, jotka naamioivat Tor-liikenteen tavalliseksi näyttäväksi verkkoliikenteeksi ja kiertävät suodatuksen. Piilopalvelun ylläpitäjänä et voi vaikuttaa tähän suoraan, mutta voit ohjeistaa kävijöitä Tor Browserin sisäänrakennetuista siltavaihtoehdoista, jotka löytyvät yhteysasetuksista ennen Tor-verkkoon liittymistä.

Kun torrc, nginx ja palomuuri on määritetty tässä esitellyllä tavalla, palvelu vaatii enää vähän ylläpitoa: säännölliset järjestelmäpäivitykset, avainten varmuuskopioiden tarkistus muutaman kuukauden välein ja Tor-lokien silmäily, jos jokin tuntuu poikkeavalta. Suurin osa tässä oppaassa käydyistä vaiheista tehdään vain kerran, ja loppuosa on pelkkää tavallista palvelinylläpitoa Tor-kerroksen alla.

Aiheeseen liittyvää

Lisää yksityisyysaiheisia oppaita löydät kokoavalta Yksityisyys-osiosta. Virallista dokumentaatiota piilopalveluista tarjoavat Tor-projektin tukisivusto ja Tor Community -asennusohje. Tor-verkon ajantasaiset tilastot löytyvät Tor Metrics -palvelusta, Tor Browserin lataus torproject.org/download-sivulta, nginxin dokumentaatio nginx.org-sivustolta ja Vanguards-lisäosan lähdekoodi GitHubista.