Server verliert ständig die Verbindung

  • Hallo,


    ich bin dabei meinen TS3 Server von Windows auf Linux umzustellen. Hab mich dank den super Tutorials auf dieser Seite auch gut zurecht gefunden und alles zum Laufen gebracht, nur mein TS3 Server verliert nach ca. 6 Minuten immer die Verbindung. Da ich mit Linux leider nicht vertraut bin, hoffe ich ihr könnt mir hier weiterhelfen.
    Ich lasse einen virtuellen Server mit Debian 8 als 64bit laufen. Specs: 1 CPU, 1 GB Ram, 25 GB Festplatte (sollte alles ausreichen).
    TeamspeakServer ist 3.0.11.4 als 64bit Version, mit einer MariaDB.


    Die TS Logs geben leider nix her:

    Code
    1. 2015-11-15 13:59:38.153528|INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0.11.4 (2015-08-18 13:30:34)
    2. 2015-11-15 13:59:38.157416|INFO |ServerLibPriv | | SystemInformation: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 Binary: 64bit
    3. 2015-11-15 13:59:38.157502|INFO |ServerLibPriv | | Using hardware aes
    4. 2015-11-15 13:59:38.199070|INFO |DatabaseQuery | | dbPlugin name: MariaDB plugin, (c)TeamSpeak Systems GmbH
    5. 2015-11-15 13:59:38.199167|INFO |DatabaseQuery | | dbPlugin version: 1
    6. 2015-11-15 13:59:38.432179|WARNING |Accounting | | Unable to find valid license key, falling back to limited functionality
    7. 2015-11-15 13:59:41.248133|INFO | | | Puzzle precompute time: 2737
    8. 2015-11-15 13:59:41.248474|INFO |FileManager | | listening on 0.0.0.0:30033
    9. 2015-11-15 13:59:41.420775|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.1, [IP meines DB-Servers],
    10. 2015-11-15 13:59:41.427062|INFO |Query | | listening on 0.0.0.0:10011


    TS läuft nach dem Start für 6 Minuten ohne Probleme wie es soll. Dann ist kein connecten von Clients mehr möglich.
    Damit schließe ich Konfigurationsfehler in den *.ini Dateien schon mal aus.
    Hab mein System bereits mehrfach neu aufgesetzt, leider ohne Erfolg.


    Hat jemand ne Idee?


    Danke schon mal vorab fürs lesen :)

  • Hi,

    2015-11-15 13:59:41.420775|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.1, [IP meines DB-Servers],


    warum whitelistest du denn deinen DB (Datenbank) Server? Das ist nicht nötig, da diese Whitelist nur für ServerQuery Befehle relevant ist.


    Erreichst du deine Datenbank denn per Kommandozeile ohne Probleme von deinem TS3 Server aus?

    Code
    1. mysql -u USER -p -h DATENBANK_SERVER DATENBANK
  • Das mit dem whitelist war nur die pure Verzweiflung.


    Die MySQL DB findet er so wie das aussieht:

    Code
    1. Enter password: ERROR 1045 (28000): Access denied for user 'USER'@'DB_SERVER' (using password: NO)


    Gehe ich recht in der Annahme, dass wenn die Verbindung zu der DB abbricht, das im TS3 Log vermerkt wird?

  • Zeig uns doch bitte die komplette Instanz-Log Datei, wenn dein TS3 Server das nächste mal abstürzt bzw. nicht mehr erreichbar ist etc.. IPs und Lizenz-Inhaber Infos kannst du gerne durch Sternchen (*) zensieren. Aber bitte kürze diese Ausgabe auf keinem Fall, da uns das sonst nicht hilft, das Problem zu identifizieren.

  • Code
    1. 2015-11-20 15:51:17.692833|INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0.11.4 (2015-08-18 13:30:34)2015-11-20 15:51:17.693096|INFO |ServerLibPriv | | SystemInformation: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 Binary: 64bit2015-11-20 15:51:17.697253|INFO |ServerLibPriv | | Using hardware aes2015-11-20 15:51:17.700314|INFO |DatabaseQuery | | dbPlugin name: MariaDB plugin, (c)TeamSpeak Systems GmbH2015-11-20 15:51:17.700414|INFO |DatabaseQuery | | dbPlugin version: 12015-11-20 15:51:17.908172|WARNING |Accounting | | Unable to find valid license key, falling back to limited functionality2015-11-20 15:51:22.374536|INFO | | | Puzzle precompute time: 38592015-11-20 15:51:22.375068|INFO |FileManager | | listening on 0.0.0.0:300332015-11-20 15:51:22.512155|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.12015-11-20 15:51:22.514831|INFO |Query | | listening on 0.0.0.0:100112015-11-20 15:52:07.468976|INFO |Query | | query from 1 xxx.xxx.xxx.xxx:28315 issued: login with account "serveradmin"(serveradmin)2015-11-20 15:53:34.733966|INFO |Query | | query from 2 xxx.xxx.xxx.xxx:28285 issued: login with account "serveradmin"(serveradmin)


    Code
    1. 2015-11-20 15:51:22.511597|INFO |VirtualServer | 1| listening on 0.0.0.0:9987
    2. 2015-11-20 15:52:52.972071|INFO |VirtualServerBase| 1| server was edited by 'Bot'(id:3)
    3. 2015-11-20 15:53:23.352001|INFO |VirtualServerBase| 1| client disconnected 'Bot'(id:3) reason 'reasonmsg=Verlassen'
    4. 2015-11-20 15:53:24.586719|INFO |VirtualServerBase| 1| query client disconnected 'serveradmin from xxx.xxx.xxx.xxx:28315'(id:1) reason 'reasonmsg=disconnecting'
    5. 2015-11-20 15:53:31.125040|INFO |VirtualServerBase| 1| client connected 'Bot'(id:3) from xxx.xxx.xxx.xxx:28276
    6. 2015-11-20 15:53:38.190997|INFO |VirtualServer | 1| query client connected 'serveradmin from xxx.xxx.xxx.xxx:28285'(id:1)
    7. 2015-11-20 15:53:57.485418|INFO |VirtualServer | 1| client 'Bot'(id:3) was added to channelgroup 'Channel Admin'(id:5) by client 'Bot'(id:3) in channel 'Default Channel'(id:1)
    8. 2015-11-20 15:54:46.375825|INFO |VirtualServerBase| 1| server was edited by 'Bot'(id:3)
    9. 2015-11-20 15:55:05.434112|INFO |VirtualServerBase| 1| server was edited by 'Bot'(id:3)
    10. 2015-11-20 15:55:05.709617|INFO |VirtualServerBase| 1| channel 'Default Channel'(id:1) edited by 'server'(id:0)


    Der Server lief heute sogar mal über 8 Minuten.

  • Ok. Was sagen die Linux Logs?


    Also um ehrlich zu sein, sagen mir die Inhalte der Logs nichts. Es scheint, dass der TS-Ausfall in keinem der Logs erscheint. Aber wie schon gesagt, ich hab mit Linux nicht wirklich viel am Hut. Soll ich die Logs mal zur Verfügung stellen?

  • Er hat mir per E-Mail ein Archiv mit sämtlichen Log-Files aus dem Verzeichnis /var/log/ gesendet. Diese habe ich jetzt mal alle für den betroffenen Zeitraum ausgewertet (20. November 2015 zwischen 15.50 Uhr bis 16.00 Uhr).


    Folgende Resultate kamen dabei raus:

    • auth.log

      • Bei dir wird versucht mittels SSH einzubrechen

      • Die Angriffe erfolgen automatisiert, daher wurde der Angriff durch dein Linux System auch erkannt:

        Code
        1. Nov 20 15:55:58 Bot sshd[8597]: reverse mapping checking getaddrinfo for cm-190-140-104-174.cpe-statics.cableonda.net [190.140.104.174] failed - POSSIBLE BREAK-IN ATTEMPT!Nov 20 15:55:58 Bot sshd[8597]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=190.140.104.174 user=rootNov 20 15:56:00 Bot sshd[8597]: Failed password for root from 190.140.104.174 port 20695 ssh2Nov 20 15:56:03 Bot sshd[8597]: Failed password for root from 190.140.104.174 port 20695 ssh2Nov 20 15:56:05 Bot sshd[8597]: Failed password for root from 190.140.104.174 port 20695 ssh2Nov 20 15:56:05 Bot sshd[8597]: Connection closed by 190.140.104.174 [preauth]


    • kern.log & messages.log

      • Hier scheint alles in Ordnung zu sein. Ich habe auf die schnelle auch nichts dazu gefunden, dass es mit KVM (Hypervisor) Probleme geben sollte.

        Code
        1. Nov 20 17:25:42 Bot kernel: [ 0.000000] Hypervisor detected: KVM


      • Wenn ich es richtig sehe, hast du nur eine Festplatte zur Verfügung, oder? Mich irritiert dieses RAID-6, welches initiiert wird/wurde... Dafür benötigt man nämlich mindestens vier Festplatten.

        Code
        1. Nov 20 17:39:35 Bot kernel: [ 1.864030] raid6: sse2x1 4071 MB/sNov 20 17:39:35 Bot kernel: [ 1.932043] raid6: sse2x2 5981 MB/sNov 20 17:39:35 Bot kernel: [ 2.000021] raid6: sse2x4 6438 MB/sNov 20 17:39:35 Bot kernel: [ 2.000520] raid6: using algorithm sse2x4 (6438 MB/s)Nov 20 17:39:35 Bot kernel: [ 2.000926] raid6: using ssse3x2 recovery algorithm
    • syslog

      • Hier konnte ich auch keine Probleme finden. Das einzige, was ich fand, war das nachfolgende, was aber eigentlich nur bedeutet, dass der Manager instant/sofort beendet wurde:

        Code
        1. Nov 18 19:48:34 Bot systemd[15890]: Received SIGRTMIN+24 from PID 16070 (kill).


    • apache2/access.log

      • Auch dieser wird angegriffen und sollte abgesichert werden! Hier hilft allerdings nur eine Firewall, weil du wirst wohl kaum beim Seitenaufruf jedesmal einen nicht Standardport angeben wollen, oder? :D

        Code
        1. 115.231.222.14 - - [20/Nov/2015:18:06:56 +0100] "GET http://zc.qq.com/cgi-bin/common/attr?id=260714&r=0.2087442669124323 HTTP/1.1" 404 509 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE)"90.59.201.114 - - [20/Nov/2015:22:57:13 +0100] "GET /test.x.test HTTP/1.1" 404 449 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"5.9.3.229 - - [21/Nov/2015:00:29:03 +0100] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 0 "-" "-"36.226.247.31 - - [21/Nov/2015:01:27:00 +0100] "CONNECT vip163mx00.mxmail.netease.com:25 HTTP/1.0" 405 549 "-" "-"141.212.122.80 - - [21/Nov/2015:05:12:37 +0100] "CONNECT proxytest.zmap.io:80 HTTP/1.1" 405 518 "-" "Mozilla/5.0 zgrab/0.x"115.231.222.14 - - [24/Nov/2015:07:51:54 +0100] "GET http://zc.qq.com/cgi-bin/common/attr?id=260714&r=0.2409398908180947 HTTP/1.1" 404 509 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE)"51.254.135.59 - - [24/Nov/2015:08:07:23 +0100] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 0 "-" "-"54.163.26.85 - - [24/Nov/2015:11:26:25 +0100] "GET / HTTP/1.1" 200 11378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)"192.95.8.27 - - [24/Nov/2015:11:32:53 +0100] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 0 "-" "-"94.102.49.210 - - [24/Nov/2015:12:36:44 +0100] "\x16\x03\x01" 400 0 "-" "-"198.245.55.221 - - [24/Nov/2015:14:25:44 +0100] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 0 "-" "-"198.245.55.221 - - [24/Nov/2015:22:46:16 +0100] "GET /script HTTP/1.1" 404 463 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:46:23 +0100] "GET /jenkins/script HTTP/1.1" 404 471 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:46:29 +0100] "GET /login HTTP/1.1" 404 462 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:46:37 +0100] "GET /jmx-console HTTP/1.1" 404 468 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:46:44 +0100] "GET /manager/html HTTP/1.1" 404 469 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:46:53 +0100] "GET /msd HTTP/1.1" 404 460 "-" "Python-urllib/2.7"198.245.55.221 - - [24/Nov/2015:22:47:01 +0100] "GET /mySqlDumper HTTP/1.1" 404 468 "-" "Python-urllib/2.7"


        Gegen so etwas habe ich mir eine Blacklist Chain in meiner Firewall (iptables) erstellt:

        Code
        1. # Blacklist
        2. iptables -N BLACKLIST
        3. iptables -A BLACKLIST -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.' -m comment --comment "Vulnerability Scanner" -j DROP
        4. iptables -A BLACKLIST -m recent -update-seconds 600 -name portscan -m comment --comment "Port Scanner" -j DROP
        5. iptables -A BLACKLIST -j RETURN


    Joa, aber aufgrund dessen, dass hier soweit quasi alles in Ordnung ist, gibt es keine Anzeichen, die auf ein Problem seitens dieses Servers deuten. Die selbe Analyse müsste man jetzt eben für deinen MySQL Server durchführen und zudem wären eben auch gescheite Log-Dateien des TS3 Servers hilfreich. Normalerweise steht da ja dann irgendwas bzgl. "stopped" oder "killed" in den Logs. Bei dir steht aber einfach nichts drin...


    Wenn ich mich nicht irre, gab es mal einen Parameter oder irgendwas, um dem TeamSpeak 3 Server zu sagen, dass er Debugging aktivieren soll. Finde nur leider nichts hilfreiches dazu... Mal sehen, ob auf das uralte Thema noch jemand antwortet: http://forum.teamspeak.com/thr…rver-How-make-it?p=422954 :/

  • Quote

    Bei dir wird versucht mittels SSH einzubrechen


    Das ist mir bekannt. Ich hab den Server mehrfach neu aufgesetzt und keine Konfiguration vorgenommen. Wenn ich den Fehler kenne wird erneut alles neu gemacht und konfiguriert. Außer TS ist nur noch Webmin drauf, also nix wichtiges. Daher ist das nicht weiter schlimm.


    Quote

    Wenn ich es richtig sehe, hast du nur eine Festplatte zur Verfügung, oder? Mich irritiert dieses RAID-6, welches initiiert wird/wurde... Dafür benötigt man nämlich mindestens vier Festplatten.


    Leider ist mir die Hardwarekonfiguration meines Hosters nicht bekannt.


    Quote

    Auch dieser wird angegriffen und sollte abgesichert werden! Hier hilft allerdings nur eine Firewall, weil du wirst wohl kaum beim Seitenaufruf jedesmal einen nicht Standardport angeben wollen, oder?


    Apache brauche ich nicht. Wird irgendwann rausfliegen. Ich will über den Server nur den TS laufen lassen.


    Quote

    Die selbe Analyse müsste man jetzt eben für deinen MySQL Server durchführen und zudem wären eben auch gescheite Log-Dateien des TS3 Servers hilfreich. Normalerweise steht da ja dann irgendwas bzgl. "stopped" oder "killed" in den Logs. Bei dir steht aber einfach nichts drin...


    also in den Logs des SQL Servers finde ich nix dazu. Habe übernächste Woche Urlaub und werde die SQL DB dann mal auf dem TS Server laufen lassen.


    Trotzdem mal danke fürs kümmern :)

  • Daher ist das nicht weiter schlimm.


    Äh... Ja, doch. Das ist schon schlimm und kann sogar extrem schlimm bzw. negativ für dich enden, wenn du nicht aufpasst.


    Wenn dein Server gehackt wird, kann der Angreifer damit viele tolle illegale Sachen machen, wofür DU zur Verantwortung gezogen wirst und DU die Verantwortung/die Kosten tragen musst. Das kann ganz schön teuer werden und wenn ich mich nicht irre, kann es hierfür auch eine Gefängnisstrafe oder derartiges geben. Ich persönlich würde es nicht unbedingt drauf anlegen...


    Jeder Betreiber (Admin) eines Servers ist dafür verantwortlich, seine(n) Server entsprechend gegen solche Attacken und unerlaubten Zugriffe zu schützen. In jeden AGBs eines Hosters wirst du auch herauslesen können, dass nicht der Provider/Hoster des Servers, sondern der Admin/Besitzer dieses Servers für sämtliche Schäden haftet.


    In diesem Sinne: Kümmere dich lieber darum, dass dein Server abgesichert ist/wird. ;)


    [...] und werde die SQL DB dann mal auf dem TS Server laufen lassen.


    Gute Idee. Ich denke, dass es an der SQL Verbindung liegt. Teste das mal bitte und gib uns dann ein kurzes Feedback. Danke! :)

  • Ok, Server ist nun gesichert.


    Also hab nun alles versucht und bin mit meinem Latain wirklich am Ende. Die DB auf den eigentlichen TS Server unterzubringen ist ebenfalls fehlgeschlagen. Beim Starten legt er nun sofort eine *.pid Datei an. Ein connecten auf TS ist nun gar nicht mehr möglich.


    Schnauze Voll mit Linux - Ich beende das Projekt nun, mein TS bleibt auf dem Windows Server.


    Danke nochmals für die Hilfe hier.

  • wenn dennoch interresse bestehen sollte, dann könnte ich mir das mal direkt anschauen, und ein log script starten das wirklich alles mitloggt. Die Dateien werden zwar recht groß werden, aber die Fehlermeldungen sollten dann im Log stehen

    Gute vServer, Root Server oder Dedicated Server gesucht?


    Die findest du hier:
    (5% Rabatt mit dem Rabattcode "TSConnNewcomer" bei Erstbestellung)


    Noon-Server.de



    logo_big.png

  • wenn dennoch interresse bestehen sollte, dann könnte ich mir das mal direkt anschauen, und ein log script starten das wirklich alles mitloggt. Die Dateien werden zwar recht groß werden, aber die Fehlermeldungen sollten dann im Log stehen


    danke für Dein Angebot, aber ich habe den VServer schon abgehakt :)

  • here we go again .... oder besser back to the root$


    Neues Jahr, neuer Versuch, neuer vServer, gleiches Problem :(



    Hat noch jemand eine Idee was ich falsch mache oder an was es liegen könnte?


    Danke vorab