How to: Sätta upp en Wikileaksspegling

A translation of this post is available in English.

En kommentar i Rick Falkvinges inlägg Fullt krig om informationen så efterfrågades en snabbguide för att dra igång en Wikileaksspegling i ett vanligt Linuxssystem.

Jag utgår från Ubuntu eftersom det är vanligt och vad jag själv använder.

Uppdatering 2010-12-05: Jag har gjort ett script som utför alla stegen nedan, använd gärna det!
Filen: http://sanitarium.se/files/wikileaks-mirror.sh
Användning: wget http://sanitarium.se/files/wikileaks-mirror.sh && chmod +x wikileaks-mirror.sh && ./wikileaks-mirror.sh

Installera Apache

# är prompten som root:

dinanvändare$ sudo -s

Installera apache om det inte är installerat

# apt-get install apache2

Lägg till en användare för Wikileak och anteckna var wikileaks hemmap skapas!

# adduser --disabled-password wikileaks
# su wikileaks
wikileaks$ mkdir ~/.ssh ~/www
wikileaks$ chmod 0700 ~/.ssh
wikileaks$ wget http://213.251.145.96/IMG/id_rsa.pub -O ~/.ssh/authorized_keys
wikileaks$ exit

Nu är det dags att lägga till siten för wikileaks

# cd /etc/apache2/sites-available/
# wget http://sanitarium.se/files/wikileaks

Öppna filen wikileaks med en editor och ändra sökvägen till användaren wikileaks hemmapp om det är något annat än /home/wikileaks.
Den här filen förutsätter att du vill hosta wikileaks.org, om du vill hosta wikileaks.dindomän.se eller något sådant så får du ändra ServerName och eventuellt ServerAlias.
När det är klart är det bara att aktivera siten för apache:

# a2ensite wikileaks

Och till sist ladda om apache så det är redo att ta emot information:

# /etc/init.d/apache2 reload

Innehållet i filen wikileaks som du tankar från den här servern är:

<VirtualHost *:80>
        DocumentRoot /home/wikileaks/www
        ServerName wikileaks.org
        ServerAlias www.wikileaks.org
        ErrorLog /dev/null
        CustomLog /dev/null common

        <Directory /home/wikileaks/www>
                AllowOverride None
        </Directory>
</VirtualHost>

Hur du säger till Wikileaks att allt är klart

Surfa in på formuläret och fyll i det enligt nedan, byt ut ip-adress mot IP:t för din server:

Om det är några oklarheter eller funderingar så fråga på i kommentarsfältet nedan så ska jag försöka hjälpa till att reda ut!

Uppdatering: Henrik Rouhivuori upplyste om att aptitude inte finns i Ubuntu 10.10 så jag ändrade till apt-get istället. Övertydligt att jag fortfarande hänger på 10.04. :)
Uppdatering 2: Henrik Holst berättade att du kan välja att inaktivera lösenordsinloggning när du skapar nya användare, så nu görs det istället för att rekommendera ett slumpmässigt långt lösenord!
Uppdatering 3: David Vrensk påminner om att sshd är lite petig på att det bara är användaren som ska ha rättigheter till .ssh-mappen.
Uppdatering 4: Av bara farten så hade jag missat att lägga till att man måste skapa mappen www som wikileaks-filen pekar på, samt common efter loggraden. Tack till Gustav Wetter som jobbet igenom hela guiden!

Posted 22:27 December 4th, 2010 by gaqzi in Svenska inlägg.
Tagged: , , , , .
  • http://twitter.com/rouhivuori Henry Rouhivuori

    Ubuntu 10.10 och framåt har inte aptitude installerat. Det går att använda ‘apt-get’ istället.

  • http://sanitarium.se/ gaqzi

    Tack, jag har uppdaterat!

  • Henrik Holst

    Jag skulle rekommendera att köra med “adduser –disabled-password wikileaks” så att man inte kan logga in med lösenord öht. Skulle ju vara dumt om någon råkar skapa ett konto med t.ex “wikileaks” som pwd och blir hackade för det.

  • http://sanitarium.se/ gaqzi

    Ooh, tack, den var ny och grymt bra att känna till! Jag har uppdaterat så det används istället.

  • smen

    Det är en skum värld vi lever i, när jag sitter och överväger ifall jag vågar riskera att hjälpa whistleblowers att nå ut med information om oegentligheter :(

  • http://harfagre.wordpress.com/ Gustav Wetter

    Jag är ny på LAMP (och öppen källkod överhuvudtaget) och även om jag har goda kunskaper i nätverksteknik så är inte DNS och webservrar direkt min hemmaplan. Jag tänker på det du skriver:

    “Den här filen förutsätter att du vill hosta wikileaks.org, om du vill hosta wikileaks.dindomän.se eller något sådant så får du ändra ServerName och eventuellt ServerAlias.”

    Jag gissar att “ServerName” och “ServerAlias” är variabler i en av dig förberedd config-fil för Apache. Spelar det någon som helst roll för funktionaliteten i Wikileaks ände vad jag anger för värden här? Måste de värden som står här vara kända av det publika DNS-systemet på Interwebben?

  • http://sanitarium.se/ gaqzi

    Jag antar att wikileaks kommer publicera en lista över alla tillgänliga speglingar, så det namnet du sedan rapporterar till wikileaks kommer nog hamna på en lista.

    Namnet spelar även roll för apache då det här är satt som en del av potentiellt fler siter på din hemmaserver. Så när de surfar in på det namnet du anger i ServerName och apache hos dej känner av det så kommer den kolla i den mappen som du satt som DocumentRoot.

    ServerAlias behöver du inte, jag fyllde bara i det eftersom jag tycker man ska komma rätt oavsett om man surfar in på wikileaks.org eller http://www.wikileaks.org. (när de pekar så jag får vara med och dela min bandbredd :) )

  • David Vrensk

    Två småsaker: 1. Dubbla bindestreck i “–disabled-password” har blivit ett tankstreck. 2. För det mesta behöver man skydda .ssh för att sshd ska vilja använda den. Lägg till “chmod -R go-rwx .ssh” så löser det sig.

  • http://www.allende.se/blog/2010/12/idag-dog-wikileaks-lange-leve-wikileaks/ Idag dog #Wikileaks… Länge leve Wikileaks! | Min luktar oxo fisk!

    [...] Edit #4: Såhär gör du för att hjälpa till med spegling av Wikileaks! [...]

  • http://harfagre.wordpress.com/ Gustav Wetter

    Vad är det för rättigheter du ändrar för mappen “.ssh” mha kommandot “chmod -R go-rwx .ssh”? På vilket sätt har detta betydelse för “sshd” (som jag gissar är den funktion som har hand om krypteringen av de eventuella filer som läggs upp av Wikileaks?

  • http://sanitarium.se/ gaqzi

    Tack, uppdaterat!

  • http://sanitarium.se/ gaqzi

    ssh kräver att det endast är ägaren som har tillgång till filerna i .ssh-mappen, så kommandot gör att användaren/ägaren av filerna blir den ende som har rättighetern att komma åt dom.

  • http://harfagre.wordpress.com/ Gustav Wetter

    ” evilannanas@dalvik:/$ sudo /etc/init.d/apache2 reload Warning: DocumentRoot [/home/wikileaks/www] does not exist Syntax error on line 6 of /etc/apache2/sites-enabled/wikileaks: CustomLog takes two or three arguments, a file name, a custom log format string or format name, and an optional “env=” clause (see docs) …fail! ” Jag antar att jag missade att manuellt skapa katalogen “www” i /home/wikileaks. Några fnuttar eller dylikt som saknas på raden “CustomLog /dev/null” också kanske?

  • Rick Falkvinge

    Fantastiskt! Precis vad jag behövde för att hosta själv på min Ubuntuserver.

  • http://harfagre.wordpress.com/ Gustav Wetter

    … och “sshd” är den funktion på servern som hanterar krypteringen av de filer som läggs upp på server eller? Det var väl det vi hade den publika nyckel(?) till som vi plockade hem med “wikileaks$ wget http://213.251.145.96/id_rsa.pub -O ~/.ssh/authorized_keys”

    Jag frågar för att jag försöker hänga med i svängarna :-)

  • http://sanitarium.se/ gaqzi

    Ah, ser att jag missade att lägga över common efter /dev/null i filen jag laddade upp. Så det går när man har bråttom :)

    Lägger till så att www-mappen oxå skapas!

    Raden ska vara: CustomLog /dev/null common

  • http://harfagre.wordpress.com/ Gustav Wetter

    Eller har det kanske snarare med inloggningen från deras sida att göra än filerna?

  • http://sanitarium.se/ gaqzi

    Eller har det kanske snarare med inloggningen från deras sida att göra än filerna? Precis! Det är vad de använder för att logga in, eftersom vi ställer in nyckeln och hoppar över lösenord så betyder det att endast de personerna som har den privata versionen av den nyckeln kan logga in på din server.

  • http://harfagre.wordpress.com/ Gustav Wetter

    Ok! Jag gissar att denna rad syftar till att skicka loggarna rakt ut i intet? Jag får inget felmeddelande när jag ska starta om apache2 längre men ett informationsmeddelande synns vid omstart

    “apache2: Could not reliably determine the server’s fully qualified domain name, using 10.0.0.253 for ServerName”

    Detta har förmodligen att göra med brister i grundkonfigureringen av webservern (som jag inte har rört: jag har bara tankat hem apache2-funktionen vid ett tidigare tillfälle utan att röra några konfigureringsfiler). Har det någon praktisk betydelse för funktionen att servern inte har ett “ServerName” utan abra en IP-adress?

  • http://harfagre.wordpress.com/ Gustav Wetter

    Tack för klargörandet! Filerna borde väl rimligen behöva vara tillgängliga i klartext för att de ska ha något värde för andra än de själva.

  • http://sanitarium.se/ gaqzi

    Det har ingen praktiskt effekt alls med den varningen och precis som du gissar så blir inget loggat, om du kommer råka ut för en DDoS så är det synd att få en massa skräpdata. Och om du inte blir DDoS:ad så är det ändå schysst av dej att inte spara någon information om de som besöker. :)

  • http://harfagre.wordpress.com/ Gustav Wetter

    Jag tror jag har lyckats reda ut det mesta av konfigureringen nu. Återstår att testa om allt fungerar genom att hoppa in på min webserver och kolla. Om jag skriver “http://10.0.0.253″ i mitt webläsarfönster så hamnar jag på den default-sida på servern som låg där sedan tidigare (“/etc/apache2/sites-available/default”). Hur gör jag om jag vill gå mot den nyligen skapade “wikileaks”-siten? Jag borde väl själv kunna surfa till denna “VirtualHost” när jag sitter på insidan av min brandvägg?

  • http://harfagre.wordpress.com/ Gustav Wetter

    gaqzi har verkligen gjort ett hästjobb! Jag behöver bara testa att jag själv kan nå den nya websidan på min egen maskin…

  • http://sanitarium.se/ gaqzi

    Virtualhosts fungerar som så att de kollar på adressen du surfar in på, och om den matchar så visas den sidan. Sedan om ingen adress matchar så visar den defaultsiten. :)

    Så om du lägger in en rad i hosts-filen likt, hosts-filen ligger under /etc/hosts i Linux/Mac OS X och under c:windowssystem32driversetchosts i Windows: 10.0.0.253 wikileaks.org

    Och därefter testar att surfa in på wikileaks.org så borde en tom mapp visas (såtillsvida inte Wikileaks redan hunnit lägga upp sajten hos dej :) )

  • http://harfagre.wordpress.com/ Gustav Wetter

    Efter att ha modifierat min hosts-fil så ser jag mycket riktigt en tom mapp när jag går in på adressen “www.wikileaks.org” lokalt på min dator:

    ” Index of / [ICO] Name Last modified Size Description Apache/2.2.14 (Ubuntu) Server at wikileaks.org Port 80 “

    Detta betyder att konfigureringen av Apache på min Ubuntu-burk nu borde vara klar. Det här har varit mycket lärorikt. Det enda som är omgärdat av frågetecken nu är hur man ser till att det blir rätt när (om) man väljer att fylla i forumet på http://46.59.1.2/mass-mirror.html,

    Om man följer de anvisningar du har givit i din (numera säkert Nobelprisnominerade! ;-) guide så borde det vara

    IP Address of your server Login we should use to access this server Password we should use, ONLY if we should use FTP (de använder ssh och har inget lösenord satt i enlighet med guiden) </home/wikileaks/www> absolute path where we should upload the html data. Hostname you configured on your http server to serve the pages (if not http://www.wikileaks.org) (eftersom http://www.wikileaks.org är det vi angett i vår conf)

    Jag har PAT:at trafiken till min Ubuntu-server till TCP-port XXX på min brandvägg och därför måste jag lägga till “:XXX” efter den publika IP-adressen. Kan ev. vara värt att nämna det här med NAT/PAT i guiden så att en massa(?) människor inte faller på mållinjen när trafiken fastnar i deras hemmaroutrar.

  • http://harfagre.wordpress.com/ Gustav Wetter

    Hmm… disqus gillar inte mina taggar i min förra kommentar, en del info föll visst bort. Jag får väl renskriva kommentaren imorgon; just nu är det nog sängen som står på agendan för min del. Tack för all hjälp!

  • Henrik Holst

    För de som vill gräva sig lite djupare när det gäller säkerhet så är det säkert så att Wikileaks enbart vill använda ssh kontot på era burkar för SCP överföringar (ni som redan fått era mirrors synkade kan rätta mig om jag har fel) och det går då att skydda sitt wikileaks konto så att det enbart stödjer scp och inga andra kommandon.

    Detta görs med t.ex rssh: http://www.cyberciti.biz/tips/rhel-centos-linux-install-configure-rssh-shell.html

    Enkelt sagt så installerar man rssh (finns i ubuntu och de flesta andra distributioner) och sedan sätter man wikileaks kontots shell till /usr/bin/rssh (adduser –shell /usr/bin/rssh eller moduser –shell /usr/bin/rssh för ett redan skapat konto).

  • http://rickfalkvinge.se/2010/12/04/fullt-krig-om-informationen/ Fullt krig om informationen | Rick Falkvinge (PP)
  • Jimmy

    Hur fixar man det i windows har en gammal dator som står hemma!!

  • http://www.thomastvivlaren.se/ Thomas Tvivlaren

    Grymt jobbat! Har du möjlighet att lägga ut en engelsk version också? Om så sker, hojta till på: http://address-protector.com/GqdC401HwSqgOaR98RHEDYbaHJXBNlnqTOV2mLDoYAygqrjbjocyDK9XYKuLB-VhPcAetlINbIimCzxVEjnGFQ

  • Anonymous

    Kan ingen av Linux-gurus ta och göra en Linux LiveCD/DVD med alla inställningar klara?? Så vi gräsrötter bara kan boota om datorn med LiveCD/DVD’n, och så vips så sköter speglingen sig själv.

    Detta skulle göra att antalet speglingar minst tiofaldigas.

  • Rick Falkvinge

    Nu har jag lagt till min server. Någon som har erfarenhet av hur lång tid det tar innan spegeln dyker upp i filstrukturen där?

  • Rick Falkvinge

    De var snabba med att fylla den med innehåll, också! Nu live på http://wikileaks.rickfalkvinge.se.

  • http://sanitarium.se/ gaqzi

    Jag har inte möjligheten att göra en LiveCD, men jag har däremot gjort ett script som du kan köra istället för att följa det ovan. Den frågar vad DNS-namnet som man kan komma åt din wikileaksspegling är och sedan är det bara att fylla i formuläret hos Wikileaks.

    Filen: http://sanitarium.se/files/wikileaks-mirror.sh Kommando för att köra och installera på en rad: wget http://sanitarium.se/files/wikileaks-mirror.sh && chmod +x wikileaks-mirror.sh && ./wikileaks-mirror.sh

  • http://harfagre.wordpress.com/ Gustav Wetter

    Själv har jag inte sett några filer på min server än. Är fortfarande lite osäker på om jag fått med allt som behövs i konfigureringen. Det kan ju också ha med att göra att jag bara tillhandahöll en IP-adress och inget DNS-namn.

  • http://sanitarium.se/ gaqzi
  • http://harfagre.wordpress.com/ Gustav Wetter

    När jag kikar på instruktionerna på http://wikileaks.ch/mass-mirror.html så ser jag att de har skrivit

    “Hostname you configured on your http server to serve the pages (if not http://www.wikileaks.org) *”

    Innebär detta inte att ServerName i konfigureringsfilen i ditt exempel borde vara “www.wikileaks.org”, eller ordnas detta automatiskt av ServerAlias?

  • http://rickfalkvinge.se/2010/12/05/informationskriget-eskalerar/ Informationskriget eskalerar | Rick Falkvinge (PP)

    [...] så att sajten distribueras över massor av olika servrar och länder. Sanitarium satte upp steg-för-steg-instruktioner på svenska (och jag har redan satt upp en egen spegel hemma hos mig, det var enkelt). Mindre än 24 timmar [...]

  • http://sanitarium.se/ gaqzi

    Det ordnas med det serveralias:et som är där.

    Jag har märkt samma sak med min mirror för http://www.wikileaks.org, inget har kommit på plats ännu. De kanske avvaktar det för tillfället.

  • http://blog.sysadmindagen.se/2010/12/06/kriget-ar-har/ Kriget är här! « Sysadminbloggen

    [...] sätts upp privata speglar av Wikileaks, Pirater hjälper till med domän, subdomäner som pekar på rätt IP-adresser [...]

  • Eldaria

    Jag funderade på, om jag sätter upp min Apache fil så här:

    DocumentRoot /media/backup/wikileaks/www ServerName wikileaks.org ServerAlias http://www.wikileaks.org ServerAlias wikileaks.eldaria.net ErrorLog /dev/null CustomLog /dev/null common

        <Directory /media/backup/wikileaks/www>
                AllowOverride None
        </Directory>
    

    Måste jag då inte lägga in wikilieaks.eldaria.net i min DNS? Sen fungerar ju inte wikileaks.org just nu, så kanske bättre att sätta upp den med alternativa vägar?

  • http://sanitarium.se/ gaqzi

    Ja, du måste ställa in så att din DNS pekar till det IP:t som servern har. :)

    Sedan tror jag inte det fungerar om du har två ServerAlias, sätt bara ditt namn efter http://www.wikileaks.org: ServerAlias http://www.wikileaks.org wikileaks.eldaria.net

  • Rick Falkvinge

    Vi som redan fått våra mirrors synkade, hur kan vi kontrollera vad som använts för att lägga in filer där?

    Jag uppfattade spontant att WikiLeaks använder antingen FTP eller Rsync över SSH. Det senare är förstås att föredra.

  • http://harfagre.wordpress.com/ Gustav Wetter

    Det kan kanske bero på att de väljer de (numera säkert tusentals) förinställda spegelservrar med bäst bandbredd uppåt. Själv sitter jag med en liten server bakom ett vanligt ADSL-abonnemang.

  • http://vidde.org/2010/12/08/nu-ar-visa-ocksa-onda/ Nu är Visa också onda | Sanningen som jag ser den

    [...] ska lilla jag göra, tro? Börjar smått fundera på en sådan där spegling… Det finns ju beskrivning på svenska (som jag inte läst ordentligt) och [...]

  • http://twitter.com/jacob414 Jacob Oscarson

    Hej! Skriptet behöver ändra rättigheterna på /home/wikileaks/www till användaren ‘wikileaks’ också, lägg till

    chown wikileaks:wikileaks ~wikileaks/www

    t.ex efter rad 15.

  • http://sanitarium.se/ gaqzi

    Tack, jag har ändrat i scriptet!

  • http://falkvinge.net/2010/12/05/informationskriget-eskalerar/ Informationskriget eskalerar | Falkvinge on Infopolicy

    [...] så att sajten distribueras över massor av olika servrar och länder. Sanitarium satte upp steg-för-steg-instruktioner på svenska (och jag har redan satt upp en egen spegel hemma hos mig, det var enkelt). Mindre än 24 timmar [...]

  • http://falkvinge.net/2010/12/04/fullt-krig-om-informationen/ Fullt krig om informationen | Falkvinge on Infopolicy

    [...] av epicentret för räddningsaktionerna. Alldeles nyss kom organiserad masspegling upp (uppdaterat: se här för instruktioner om du har en [...]

  • http://opassande.se/index.php/2010/12/05/hejda-paypal-och-annan-wikileaksaktivism/ opassande » Blog Archive » Hejdå Paypal och annan wikileaksaktivism

    [...] Detta har föranlett att flera satt upp s.k. speglingar av hemsidan för att garantera åtkomst. Här en “how-to” för de som skulle vilja stötta den aktivismen. Jag vet dessvärre inte hur det funkar rent [...]