Denne artikkelen vil vise deg hvordan du kjører en Teamspeak 3-server under Debian Wheezy. Før du kan begynne med det, bør du gjøre noen forberedelser på din VPS.
Hvis du allerede har en brannmur på plass, sørg for at trafikk til Teamspeak-serveren er tillatt ved å legge til følgende regler:
iptables -A INPUT -p udp --dport 9987 -j ACCEPT
iptables -A INPUT -p udp --sport 9987 -j ACCEPT
iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp --sport 30033 -j ACCEPT
iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
iptables -A INPUT -p tcp --sport 10011 -j ACCEPT
Ellers er her en grunnleggende liste over regler som tillater SSH- og ICMP-trafikk (samt trafikk for Teamspeak selvfølgelig) og dropper alt annet, IPv4 og IPv6:
iptables -A INPUT -i lo -j ACCEPT # Since a lot of interprocess-communication goes over the loopback-interface you should allow it to avoid very, very weird and difficult problems
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Accept packets that respond to outgoing requests
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 9987 -j ACCEPT
iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
iptables -P INPUT DROP # DROP everything else
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -A INPUT -p udp --dport 9987 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 30033 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 10011 -j ACCEPT
ip6tables -P INPUT DROP
Etter å ha spinnet opp serveren din, logg på som root. Mens det å jobbe permanent som root generelt er misfornøyd av internettsamfunnet, har det også alvorlige implikasjoner for sikkerheten til serveren din. I følge Internet Storm Center er 90 % av alle brute-force-angrep på SSH rettet mot root-kontoen. Det er hundrevis om ikke tusenvis av automatiserte skanninger der ute som prøver å bryte seg inn på servere med svake administrative passord – så det er definitivt en god idé å bruke en egen bruker i kombinasjon med sudo.
Først legger du til en annen bruker og gir den et sterkt passord:
useradd -m -s /bin/bash yourusername
passwd yourusername
Rediger deretter for /etc/sudoerså tillate deg selv å bruke den:
yourusername ALL=(ALL:ALL) ALL
Logg deretter ut og logg inn på maskinen igjen med den nye brukeren. Du kan deretter deaktivere root-pålogging i /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers yourusername
For enda mer sikkerhet kan du vurdere å implementere passordfri autentisering ved hjelp av SSH-nøkler. For mer informasjon om autentisering uten passord, se denne opplæringen . Gratulerer, du reddet deg selv fra over 90 % av angriperne der ute. Nå, til å installere Teamspeak-serveren.
Det er dårlig praksis å kjøre en tjeneste som root, så opprett en bruker kun for Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Etterpå, logg inn på den brukerkontoen og bytt til hjemmekatalogen:
sudo su teamspeak
cd
Last ned Teamspeak. Avhengig av arkitekturen din, trenger du enten x64- versjonen:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
Eller den x86 -versjonen:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Pakk ut det nedlastede arkivet:
tar -xzvf *.tar.gz && rm *.tar.gz
Nå har du en mappe som heter teamspeak3-server_linux-amd64 med noen skript i den. Bytt tilbake til din vanlige bruker:
exit
Sett opp et skript for å automatisk starte serveren etter en omstart. Dette skriptet stopper også enkelt eller starter Teamspeak-tjenesten på nytt. Lim inn følgende i /etc/init.d/teamspeak :
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
USER="teamspeak"
DIR="/home/teamspeak/teamspeak3-server_linux-amd64"
###### Teamspeak 3 server start/stop script ######
case "$1" in
start)
su $USER -c "$DIR/ts3server_startscript.sh start"
;;
stop)
su $USER -c "$DIR/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "$DIR/ts3server_startscript.sh restart"
;;
status)
su $USER -c "$DIR/ts3server_startscript.sh status"
;;
*)
echo "Usage: " >&2
exit 1
;;
esac
exit 0
Gjør filen kjørbar:
sudo chmod 700 /etc/init.d/teamspeak
Nå, få Teamspeak til å starte ved oppstart:
sudo update-rc.d teamspeak defaults
Alt som gjenstår er å starte tjenesten:
sudo service teamspeak start
Lykke til å chatte!