Ovaj članak će vam pokazati kako pokrenuti Teamspeak 3 poslužitelj pod Debian Wheezy. Prije nego što počnete s tim, trebali biste obaviti neke pripreme na svom VPS-u.
Ako već imate postavljen vatrozid, provjerite je li promet na Teamspeak poslužitelju dopušten dodavanjem sljedećih pravila:
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
Inače, ovdje je osnovni popis pravila koji dopušta SSH i ICMP promet (kao i promet za Teamspeak naravno) i ispušta sve ostalo, 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
Nakon pokretanja vašeg poslužitelja, prijavite se kao root. Iako internetska zajednica općenito ne voli stalni rad kao root, to također ima ozbiljne implikacije na sigurnost vašeg poslužitelja. Prema Internet Storm Centru, 90% svih brute-force napada na SSH cilja na root račun. Postoje stotine ako ne i tisuće automatiziranih skeniranja koji pokušavaju provaliti na poslužitelje sa slabim administrativnim lozinkama - stoga je svakako dobra ideja koristiti zasebnog korisnika u kombinaciji sa sudo.
Prvo dodajte drugog korisnika i dajte mu jaku lozinku:
useradd -m -s /bin/bash yourusername
passwd yourusername
Zatim uredite /etc/sudoerskako biste sebi dopustili da ga koristite:
yourusername ALL=(ALL:ALL) ALL
Zatim se odjavite i ponovno prijavite na stroj sa svojim novim korisnikom. Tada možete onemogućiti root prijavu u /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers yourusername
Za još veću sigurnost, možete razmotriti implementaciju provjere autentičnosti bez lozinke pomoću SSH ključeva. Za više informacija o autentifikaciji bez lozinke pogledajte ovaj vodič . Čestitamo, spasili ste se od preko 90% napadača. Sada, na instalaciju Teamspeak poslužitelja.
Loša je praksa pokrenuti uslugu kao root, stoga kreirajte korisnika isključivo za Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Nakon toga, prijavite se na taj korisnički račun i prijeđite na početni direktorij:
sudo su teamspeak
cd
Preuzmite Teamspeak. Ovisno o vašoj arhitekturi, trebat će vam ili x64 verzija:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
Ili x86 verzije:
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Raspakirajte preuzetu arhivu:
tar -xzvf *.tar.gz && rm *.tar.gz
Sada imate mapu pod nazivom teamspeak3-server_linux-amd64 s nekim skriptama u njoj. Vratite se na svog normalnog korisnika:
exit
Postavite skriptu za automatsko pokretanje vašeg poslužitelja nakon ponovnog pokretanja. Ova skripta također lako zaustavlja ili ponovno pokreće uslugu Teamspeak. Zalijepite sljedeće u /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
Učini tu datoteku izvršnom:
sudo chmod 700 /etc/init.d/teamspeak
Sada neka se Teamspeak pokrene pri pokretanju:
sudo update-rc.d teamspeak defaults
Sve što je preostalo je pokrenuti uslugu:
sudo service teamspeak start
Sretno čavrljanje!