Este artigo irá mostrar-lhe como executar um servidor Teamspeak 3 sob o Debian Wheezy. Antes de começar, você deve fazer alguma preparação no seu VPS.
Se você já tem um firewall, certifique-se de que o tráfego para o servidor Teamspeak seja permitido, adicionando as seguintes regras:
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
Caso contrário, aqui está uma lista básica de regras que permite o tráfego SSH e ICMP (assim como o tráfego para o Teamspeak, é claro) e descarta todo o resto, IPv4 e 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
Depois de girar o seu servidor, faça o login como root. Embora o trabalho permanente como root seja geralmente desaprovado pela comunidade da Internet, também tem sérias implicações para a segurança do seu servidor. De acordo com o Centro de Tempestades da Internet, 90% de todos os ataques de força bruta contra SSH estão tendo como alvo a conta-raiz. Existem centenas, se não milhares, de verificações automatizadas por aí tentando invadir servidores com senhas administrativas fracas – por isso, é definitivamente uma boa ideia usar um usuário separado em combinação com o sudo.
Primeiro, adicione outro usuário e forneça uma senha forte:
useradd -m -s /bin/bash yourusername
passwd yourusername
Em seguida, edite /etc/sudoers
para se permitir usá-lo:
yourusername ALL=(ALL:ALL) ALL
Em seguida, faça logout e faça login novamente na máquina com o novo usuário. Você pode então desabilitar o login root em /etc/ssh/sshd_config
:
PermitRootLogin no
AllowUsers yourusername
Para ainda mais segurança, você pode considerar a implementação de autenticação sem senha usando chaves SSH. Para obter mais informações sobre autenticação sem senha, consulte este tutorial . Parabéns, você se salvou de mais de 90% dos invasores por aí. Agora, para instalar o servidor Teamspeak.
É uma prática ruim executar um serviço como root, portanto, crie um usuário apenas para o Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Em seguida, faça login nessa conta de usuário e mude para o diretório inicial:
sudo su teamspeak
cd
Baixe Teamspeak. Dependendo da sua arquitetura, você precisará da versão x64 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
Ou a versão x86 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Descompacte o arquivo baixado:
tar -xzvf *.tar.gz && rm *.tar.gz
Agora, você tem uma pasta chamada teamspeak3-server_linux-amd64 com alguns scripts nela. Volte para o seu usuário normal:
exit
Configure um script para iniciar automaticamente seu servidor após uma reinicialização. Esse script também pára ou reinicia facilmente o serviço Teamspeak. Cole o seguinte em /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
Torne esse arquivo executável:
sudo chmod 700 /etc/init.d/teamspeak
Agora, faça o Teamspeak iniciar na inicialização:
sudo update-rc.d teamspeak defaults
Tudo o que resta é começar o serviço:
sudo service teamspeak start
Feliz conversando!