Αυτό το άρθρο θα σας δείξει πώς να εκτελέσετε έναν διακομιστή Teamspeak 3 στο Debian Wheezy. Πριν ξεκινήσετε με αυτό, θα πρέπει να κάνετε κάποια προετοιμασία στο VPS σας.
Εάν διαθέτετε ήδη ένα τείχος προστασίας, βεβαιωθείτε ότι επιτρέπεται η κυκλοφορία στον διακομιστή Teamspeak προσθέτοντας τους ακόλουθους κανόνες:
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
Διαφορετικά, εδώ είναι μια βασική λίστα κανόνων που επιτρέπει την κυκλοφορία SSH και ICMP (καθώς και κίνηση για το Teamspeak φυσικά) και αφαιρεί οτιδήποτε άλλο, IPv4 και 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
Μετά την περιστροφή του διακομιστή σας, συνδεθείτε ως root. Ενώ η μόνιμη εργασία ως root αποδοκιμάζεται γενικά από την κοινότητα του Διαδικτύου, έχει επίσης σοβαρές επιπτώσεις στην ασφάλεια του διακομιστή σας. Σύμφωνα με το Internet Storm Center, το 90% όλων των επιθέσεων brute-force στο SSH στοχεύουν τον λογαριασμό root. Υπάρχουν εκατοντάδες αν όχι χιλιάδες αυτοματοποιημένες σαρώσεις εκεί έξω που προσπαθούν να εισβάλουν σε διακομιστές με αδύναμους κωδικούς πρόσβασης διαχείρισης - επομένως είναι σίγουρα καλή ιδέα να χρησιμοποιήσετε έναν ξεχωριστό χρήστη σε συνδυασμό με το sudo.
Πρώτα, προσθέστε έναν άλλο χρήστη και δώστε του έναν ισχυρό κωδικό πρόσβασης:
useradd -m -s /bin/bash yourusername
passwd yourusername
Στη συνέχεια, επεξεργαστείτε /etc/sudoers
για να επιτρέψετε στον εαυτό σας να το χρησιμοποιήσετε:
yourusername ALL=(ALL:ALL) ALL
Στη συνέχεια, αποσυνδεθείτε και συνδεθείτε ξανά στο μηχάνημα με τον νέο σας χρήστη. Στη συνέχεια, μπορείτε να απενεργοποιήσετε τη σύνδεση root στο /etc/ssh/sshd_config
:
PermitRootLogin no
AllowUsers yourusername
Για ακόμη μεγαλύτερη ασφάλεια, μπορείτε να εξετάσετε το ενδεχόμενο εφαρμογής ελέγχου ταυτότητας χωρίς κωδικό πρόσβασης χρησιμοποιώντας κλειδιά SSH. Για περισσότερες πληροφορίες σχετικά με τον έλεγχο ταυτότητας χωρίς κωδικό πρόσβασης, ανατρέξτε σε αυτό το σεμινάριο . Συγχαρητήρια, σώσατε τον εαυτό σας από πάνω από το 90% των επιτιθέμενων εκεί έξω. Τώρα, προχωρήστε στην εγκατάσταση του διακομιστή Teamspeak.
Είναι κακή πρακτική να εκτελείτε μια υπηρεσία ως root, επομένως δημιουργήστε έναν χρήστη αποκλειστικά για το Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Στη συνέχεια, συνδεθείτε σε αυτόν τον λογαριασμό χρήστη και μεταβείτε στον αρχικό κατάλογο:
sudo su teamspeak
cd
Κατεβάστε το Teamspeak. Ανάλογα με την αρχιτεκτονική σας, θα χρειαστείτε είτε την έκδοση x64 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
Ή την έκδοση x86 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Αποσυσκευάστε το ληφθέν αρχείο:
tar -xzvf *.tar.gz && rm *.tar.gz
Τώρα, έχετε έναν φάκελο με το όνομα teamspeak3-server_linux-amd64 με μερικά σενάρια σε αυτόν. Επιστρέψτε στον κανονικό σας χρήστη:
exit
Ρυθμίστε ένα σενάριο για αυτόματη εκκίνηση του διακομιστή σας μετά από επανεκκίνηση. Αυτό το σενάριο σταματά ή επανεκκινεί επίσης εύκολα την υπηρεσία Teamspeak. Επικολλήστε τα ακόλουθα στο /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
Κάντε αυτό το αρχείο εκτελέσιμο:
sudo chmod 700 /etc/init.d/teamspeak
Τώρα, κάντε το Teamspeak να ξεκινά από την εκκίνηση:
sudo update-rc.d teamspeak defaults
Το μόνο που απομένει είναι να ξεκινήσετε την υπηρεσία:
sudo service teamspeak start
Καλή κουβέντα!