Aquest article us mostrarà com executar un servidor Teamspeak 3 amb Debian Wheezy. Abans de començar amb ell, hauríeu de fer una mica de preparació al vostre VPS.
Si ja teniu un tallafoc instal·lat, assegureu-vos que el trànsit al servidor Teamspeak està permès afegint les regles següents:
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
En cas contrari, aquí teniu una llista bàsica de regles que permeten el trànsit SSH i ICMP (així com el trànsit per a Teamspeak, per descomptat) i elimina tota la resta, IPv4 i 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
Després d'encendre el servidor, inicieu sessió com a root. Tot i que la comunitat d'Internet generalment no té un treball permanent com a root, també té greus implicacions per a la seguretat del vostre servidor. Segons l' Internet Storm Center, el 90% de tots els atacs de força bruta a SSH estan dirigits al compte arrel. Hi ha centenars, si no milers, d'exploracions automatitzades que intenten entrar en servidors amb contrasenyes administratives febles, per la qual cosa definitivament és una bona idea utilitzar un usuari separat en combinació amb sudo.
Primer, afegiu un altre usuari i doneu-li una contrasenya segura:
useradd -m -s /bin/bash yourusername
passwd yourusername
A continuació, editeu /etc/sudoers- lo per permetre-ho utilitzar-lo:
yourusername ALL=(ALL:ALL) ALL
A continuació, tanqueu la sessió i torneu a iniciar sessió a la màquina amb el vostre nou usuari. A continuació, podeu desactivar l'inici de sessió root /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers yourusername
Per a una seguretat encara més gran, podeu considerar implementar l'autenticació sense contrasenya mitjançant claus SSH. Per obtenir més informació sobre l'autenticació sense contrasenya, consulteu aquest tutorial . Enhorabona, t'has salvat de més del 90% dels atacants. Ara, a instal·lar el servidor Teamspeak.
És una mala pràctica executar un servei com a root, així que creeu un usuari només per a Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Després, inicieu sessió en aquest compte d'usuari i canvieu al directori d'inici:
sudo su teamspeak
cd
Descarrega Teamspeak. Depenent de la vostra arquitectura, necessitareu la versió x64 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
O la versió x86 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Descomprimir l'arxiu descarregat:
tar -xzvf *.tar.gz && rm *.tar.gz
Ara teniu una carpeta anomenada teamspeak3-server_linux-amd64 amb alguns scripts. Torneu al vostre usuari normal:
exit
Configureu un script per iniciar automàticament el vostre servidor després d'un reinici. Aquest script també atura o reinicia fàcilment el servei Teamspeak. Enganxeu el següent a /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
Feu que aquest fitxer sigui executable:
sudo chmod 700 /etc/init.d/teamspeak
Ara, feu que Teamspeak comenci a l'arrencada:
sudo update-rc.d teamspeak defaults
Només falta iniciar el servei:
sudo service teamspeak start
Feliç xerrada!