Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen.
Wenn bereits eine Firewall vorhanden ist, stellen Sie sicher, dass der Datenverkehr zum Teamspeak-Server zulässig ist, indem Sie die folgenden Regeln hinzufügen:
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
Andernfalls finden Sie hier eine grundlegende Liste von Regeln, die SSH- und ICMP-Verkehr (sowie natürlich Verkehr für Teamspeak) zulassen und alles andere löschen, IPv4 und 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
Melden Sie sich nach dem Hochfahren Ihres Servers als root an. Die permanente Arbeit als Root wird von der Internet-Community im Allgemeinen missbilligt, hat jedoch auch schwerwiegende Auswirkungen auf die Sicherheit Ihres Servers. Laut dem Internet Storm Center zielen 90% aller Brute-Force-Angriffe auf SSH auf das Root-Konto. Es gibt Hunderte, wenn nicht Tausende von automatisierten Scans, die versuchen, in Server mit schwachen Administratorkennwörtern einzudringen. Daher ist es auf jeden Fall eine gute Idee, einen separaten Benutzer in Kombination mit sudo zu verwenden.
Fügen Sie zunächst einen weiteren Benutzer hinzu und geben Sie ihm ein sicheres Passwort:
useradd -m -s /bin/bash yourusername
passwd yourusername
Bearbeiten /etc/sudoersSie als Nächstes, damit Sie es verwenden können:
yourusername ALL=(ALL:ALL) ALL
Melden Sie sich dann ab und wieder mit Ihrem neuen Benutzer am Computer an. Sie können dann die Root-Anmeldung deaktivieren /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers yourusername
Für noch mehr Sicherheit können Sie die Implementierung einer kennwortlosen Authentifizierung mithilfe von SSH-Schlüsseln in Betracht ziehen. Weitere Informationen zur Authentifizierung ohne Kennwort finden Sie in diesem Lernprogramm . Herzlichen Glückwunsch, Sie haben sich vor über 90% der Angreifer gerettet. Nun zur Installation des Teamspeak-Servers.
Es ist eine schlechte Praxis, einen Dienst als Root auszuführen. Erstellen Sie daher einen Benutzer ausschließlich für Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Melden Sie sich anschließend bei diesem Benutzerkonto an und wechseln Sie in das Ausgangsverzeichnis:
sudo su teamspeak
cd
Laden Sie Teamspeak herunter. Abhängig von Ihrer Architektur benötigen Sie entweder die x64- Version:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
Oder die x86- Version:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Entpacken Sie das heruntergeladene Archiv:
tar -xzvf *.tar.gz && rm *.tar.gz
Jetzt haben Sie einen Ordner mit dem Namen teamspeak3-server_linux-amd64 mit einigen Skripten. Wechseln Sie zurück zu Ihrem normalen Benutzer:
exit
Richten Sie ein Skript ein, um Ihren Server nach einem Neustart automatisch zu starten. Dieses Skript stoppt den Teamspeak-Dienst auch problemlos oder startet ihn neu. Fügen Sie Folgendes in /etc/init.d/teamspeak ein :
#!/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
Machen Sie diese Datei ausführbar:
sudo chmod 700 /etc/init.d/teamspeak
Lassen Sie Teamspeak jetzt beim Booten beginnen:
sudo update-rc.d teamspeak defaults
Sie müssen lediglich den Dienst starten:
sudo service teamspeak start
Viel Spaß beim Chatten!