Tor-Server unter OpenBSD

Da ich schon seit längerer Zeit meine Irssi-Instanz von meinem ALix-Homeserver auf einem V-Server verlegt habe, kann man die ungenutzte Bandbreite zu Hause für andere gemeinnützige Dienste nutzen. Deswegen habe ich mal auf den Rechner einen Tor-Server aufgesetzt um den Privacy-bewussten Computernutzer zu unterstützen.

Anbei erst einmal die Installationsanleitung unter OpenBSD.:

1. mit pkg_add installieren:

   # pkg_add tor

2. Tor beim Booten starten:

Dazu muss die /etc/rc.local editiert werden

if [ -x /usr/local/bin/tor ];
then
echo -n ' tor';
/usr/local/bin/tor -f /etc/tor/torrc
fi

3. Konfigurieren

Damit Tor beim booten in den Hintergrund forked, muss folgendes in der /etc/etc/tor/torrc aktiviert werden:

   RunAsDaemon 1

Als nächstes muss ein Verzeichnis für Tor’s Daten in der torrc festgelegt werden:

   DataDirectory /var/spool/tor

Weiterhin muss ein Verzeichnis für Tor’s Logfiles in der torrc festgelegt werden:

   Log notice syslog /var/log/tor

Dann müssen diese Verzeichnise noch erstellt und den Benutzern tor und root müssen die Rechte dafür gegeben werden:

# mkdir /var/spool/tor
# chmod 40700 /var/spool/tor
# chown _tor:_tor /var/spool/tor
# mkdir /var/log/tor
# chmod 40700 /var/log/tor
# chown _tor:_tor /var/log/tor

Die ganze Server-Geschichte lasse ich erst einmal weiterhin als Entry-Node laufen, bis ich mir eventuell mal ein paar Gedanken dazu gemacht habe, wie ich den Dienst für bestimmte Services weiterhin öffnen kann, ohne in Konflikt mit Ermittlungsbehörden zu kommen.
Entsprechend sieht der Abschnitt zur Exit-Policy in der /etc/tor/torrc wie folgt aus.:

   ExitPolicy reject *:* # no exits allowed

Anleitung zum Erstellen eines bootbaren USB-Stick als Installationsmedium unter OpenBSD

Nachdem ich nun sehr lange meine Alix mit NetBSD in der Version 4.0 betrieb und sie aber im letzten Jahr für die meiste Zeit doch nicht im Betrieb wahr, dachte ich mir, man könnte doch mal bei der Reaktivierung eine neue OS-Version installieren. Allerdings ist es mir absolut nicht gelungen, unter NetBSD einen neuen entsprechend bootfähigen USB-Stick als Installationsmedium zu erstellen.

Nach ein wenig Suchen im Web bin ich allerdings auf ein HowTo gestossen, wie man dies unter OpenBSD mit etwas knapp-eleganten Befehlen löst. Also habe ich dieses selber mit Erfolg versucht und stattdessen mal ein aktuelles OpenBSD auf mein Maschinchen geworfen.

Dieses HowTo habe hier mal übernommen und ein wenig erweitert:

 

1 Securelevel herabsetzen

Zuerst als root anmelden und in der Datei /etc/rc.securelevel den securelevel auf -1 setzen.

securelevel=-1

Danach erst einmal das System neu booten.

 

2 Ermitteln der Geometrie des Sticks

Bei dem einstecken des USB-Stick in einen Slot werden folgende Parameter angezeigt:

sd0 at scsibus1 targ 1 lun 0: <USB, Flash Disk, 3000> SCSI0 0/direct removable

sd0: 247MB, 247 cyl, 64 head, 32 sec, 512 bytes/sec, 506880 sec total

Sie teilen einem die Geometrie des verwendeten Sticks mit.

 

3 Schreiben des Master Boot Record (MBR)

# fdisk -i -c 247 -h 64 -s 32 sd0

 

4 Partitionieren des Mediums

# disklabel -f /tmp/fstab -E sd0

Um die vorhandenen Partionen sich anzuzeigen zu lassen:

>p

Nun die vorhandenen Partionen löschen:

>d a

Neue Partionen erzeugen:

>a a

offset: <enter>

size: <enter>

FS type: <enter>

mount point: /<enter>

Sichern und Beenden:

>q

 

5 Formatieren des Mediums

# newfs sd0a

 

6 Mounten des Devices

# mount /dev/sd0a /mnt

 

7 Kopieren des Kernels

# cp /bsd /mnt/

 

8 Schreiben des Partition Boot Record (PBR)

# cp /usr/mdec/boot /mnt/

# /usr/mdec/installboot /mnt/boot /usr/mdec/biosboot sd0

 

9 Mounten und kopieren der Daten der Orginal-Installations-CD

# mkdir /image

# mount -t cd9660 /dev/cd0a /image

# cp -R /image/4.8 /mnt

# cp -R /image/etc /mnt

 

10 Unmounten der Devices

# umount /mnt

# umount /image

 

11 Securelevel wieder heraufsetzen

In der der Datei /etc/rc.securelevel den Wert von securelevel=-1 wieder auf einen seiner Wahl setzen. Standardmässig ist 1 eingestellt. Am Ende das System neu starten.