[Ubuntu] Apache2 hohe Systemlast

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.634
Servus Zusammen,

mir ist heute aufgefallen, dass ein Prozess "apache2" auf meinem Ubuntu LTS 16 NAS immer eine recht hohe CPU Auslastung von 50% generiert.

Das komische an dem Prozess ist:
- ausführender Pfad ist: "/var/www/apache2 -c apache2"
- Benutzer ist: "gast"
- der Prozess wird nach ca. 1min immer automatisch neu gestartet.

Mit "service apache start|stop" beende ich diesen Prozess nicht, es wird der Prozess "/usr/sbin/apache2" gestartet und/oder gestoppt (so wie es sein sollte). Dieser Prozess braucht auch nur ~0,3% CPU Last idle.
Wenn ich den /var/www/apache2 mittels PID kille, dann läuft mein Apache (also alle Webseiten) noch munter weiter. Also scheinen beide wirklich nichts miteinander zu tun zu haben.

Im apache2-Log steht kein error. Nichts das auf den anderen Prozess hindeuten könnte.

Was ist dieser andere Prozess? Wie kann ich diesen endgültig abschießen?

Ich kann mir keinen Reim darauf machen,
danke für eure Tipps und Ideen :)
 
Schaut so aus als wurdest du gehackt und jemand hat einen Cryptominer auf deinen Server installiert.
 
  • Gefällt mir
Reaktionen: Crys
Formatieren, neu installieren. Und zwischendrin vielleicht mal dein Securitykonzept überdenken, das scheint aktuell nichts zu taugen.
 
Prozess stoppen, NAS vom Netz nehmen, direkt verbinden und die Datei weg loeschen.

Haengt das Teil bei Dir einfach so im Internet oder ist das ein Server bei einem Provider?

BFF
 
Linuxfreakgraz schrieb:
[...] netstat verwenden um auf auffällige IPs zu checken.
Oh ja danke, es ist etliche male die selbe chinesische IP in der Liste. Damit wäre der Miner bestätigt ...
(und ich habe auch schon eine Vermutung wie ich mir das eingefangen habe, war das letzte Jahr sehr viel in freien chinesischen WLAN unterwegs ...)

Linuxfreakgraz schrieb:
Haengt das Teil bei Dir einfach so im Internet oder ist das ein Server bei einem Provider?
Die Kiste steht neben mir. Ist aber 24/7 online, da etliche Leute es für Nextcloud, http, ftp, smb, vpn, ... nutzen.

BFF schrieb:
Prozess stoppen, NAS vom Netz nehmen, direkt verbinden und die Datei weg loeschen.
Wie die Datei löschen?
Am Ort "/var/www/apache2" finde ich (mit la) nichts, außer meine Ordner für meine Webseiten.

Wie kann ich bestimmen wo die Datei liegt?
 
Crys schrieb:
[...]
- ausführender Pfad ist: "/var/www/apache2 -c apache2"
- Benutzer ist: "gast"
[...]
Ich habe den Benutzer gast gelöscht und schon startet dieser apache2-Miner nicht mehr.
Das komische ist, diesen Benutzer hatte ich mal für eine smb-Freigabe eingerichtet, aber dann nie mehr verwendet. Dieser Benutzer hatte keine root-Rechte, kein ftp, ssh oder sonst einen Zugang.
Ergänzung ()

Drei IP Bereiche aus China versuchen immer wieder zu meinem Server zu verbinden, zu Port 22, also doch ssh. Diese 3 Bereiche habe ich mal vorsorglich mit iptables geblockt. Die Verbindung hatte immer nur den Status SYN_RECV, also auf Verbindung wartend, bis zum Abbrechen. Als der Benutzer gast noch vorhanden war, konnte man unter Status VERBUNDEN lesen. Also war der Bot doch mit dem Benutzer gast per ssh verbunden, obwohl dieser keine ssh-Rechte hat und auch laut Log noch nie angemeldet war!?
 
Zuletzt bearbeitet:
Du solltest trotzdem deinen Server neuaufsetzen und alle Passwörter ändern.
Auch wenn es zusätzliche Arbeit macht alle Backups einzuspielen und das System wieder ein zu richten.
 
  • Gefällt mir
Reaktionen: up.whatever
Unter /var/spool/cron/crontabs/gast habe ich nachfolgendes gefunden:
Bash:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (cron.d installed on Tue Jul  3 10:31:35 2018)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* * * * * /opt/vm/.mine/upd >/dev/null 2>&1
Das war wohl der crontab Eintrag der den Miner immer wieder gestartet hat. Und der Pfad zu den Miner ist genau der Pfad, wo ich auch meine anderen VirtualBoxes gespeichert habe. Zufall?
Den Miner habe ich mal gelöscht und vorher eine Sicherung angelegt, kann ich den irgendwo einschicken, wer sich damit besser auskennt/was anfangen kann?

Problem ist, dass ich immer noch alle 1-2s von chinesischen IPs angepingt werde, die sich bei ssh anmelden wollen. Im auth.log stehen zum Glück nur Verbindungsfehler (Falles PW für root oder falscher User), aber so soll das ja auch nicht sein. Mit iptables die Adressen blocken bringt auch nichts, dass sind ständig andere ...
Ich habe einige DynDNS-Adressen, ich denke darauf greifen die zu. Kann ich jeweilige irgendwie herausfinden?
Ergänzung ()

@up.whatever & @Linuxfreakgraz:
Natürlich werde ich mal den Server neu aufsetzten. Nur das braucht Zeit und sollte wohl überlegt sein, damit man nicht den selben Fehler wieder begeht. Deshalb bin ich erst mal dran, die Ursache zu ergründen.
Passwörter sind natürlich schon ersetzt.
 
Zuletzt bearbeitet:
Bevor Du die Kiste nicht wirklich dicht hast wuerde ich die vom Netz nehmen und mit aktueller Software neu aufsetzen.

Das der Nutzer Gast benutzt wurde zum Minen, heisst nicht das er das Einfallstor war. Das kann eine Sicherheitsluecke in den verwendeten Apache, SQL, PHP, Samba oder sonstwas was Du eingerichtet hast gewesen sein.

BFF
 
  • Gefällt mir
Reaktionen: up.whatever
Danke euch erst mal!
Seit dem löschen des Bots, ist dieser bisher nirgends wo mehr aufgetaucht ... soweit so gut. Es schien nach den Virus-Test-Seiten wirklich ein CoinMiner gewesen zu sein.

@BBF: Wie geschrieben werde ich die Kiste mal neu aufsetzten. Aber nicht heute und auch nicht diesen Monat, da ich keinen Urlaub mehr habe. Es sind zu viele Leute Abhängig von dem Server, deshalb bleibt der auch unter Beobachtung online.

Ich hatte aus komfort Gründen den User root direkt für SSH freigeschaltet, dass habe ich mal rückgängig gemacht, da ich im auth.log immer noch sehen kann, dass alle 10-20min es 10-20 Anmeldeversuche über SSH gibt, die auch immer den Username root austesten.

Da diese Angriffsversuche immer noch ständig laufen noch mal die Frage:
Gibt es eine Möglichkeit herauszufinden, über welche Domain man versucht sich anzumelden?

meine-domains.de -> [mein anderer gemieteter Webserver] -> dyndns-adresse.de -> [DynDNS-Server] -> meine HeimIP -> [Router] -> [Server]

Der "anderere gemietete Webserver" ist nur ein Webspace, mit mehreren gemieteten Domains. Nicht von mir direkt verwaltet, eben nur gemietet.

Wie finde ich heraus welche der "meine-domains.de"-Adressen für den Angriff verwendet wird?
 
Deine Entscheidung nix Wirkliches zu tun.

Ich vermute, dass Du die Ports von SSH, HTTP usw. von der Box/Firewall direkt an den Server durch reichst damit die Leute von aussen auf die Kiste koennen? Hast Du schon mal geprueft, wie oft sich Deine externe IP aendert?

Die Maedels aus FernOst waren auf der Kiste. Also wissen die alles. Die wissen die externe IP mit der Du am Internet haengst. Die wissen welche Accounts usw. usw.
Die haben vielleicht auch irgendwo etwas hinterlassen, was denen ab und zu sendet welche IP Du extern gerade hast. Verstehtst Du? Die brauchen keine Domain. Die schlagen direkt bei Dir an der Box auf.

Schoenes RestWE!
BFF
 
@ModellbahnerTT: Danke, dass habe ich getan (heute früh) und seit dem keine Anmeldeversuche mehr gesehen

BFF schrieb:
[...] Ports von SSH, HTTP usw. von der Box/Firewall direkt an den Server durch reichst [...]? Hast Du schon mal geprueft, wie oft sich Deine externe IP aendert?
Ja und ja.
Meine externe IP ändert sich genau alle 24h, ist so in der Fritzbox eingestellt.

BFF schrieb:
[...] Die haben vielleicht auch irgendwo etwas hinterlassen, was denen ab und zu sendet welche IP Du extern gerade hast. Verstehtst Du?[...]
Ja, ein bishen verstehe ich schon ... sonst würde ich den Quatsch nicht schon seit über zehn Jahren machen ;)
Gibt es eine Möglichkeit herauszufinden, ob ein Programm nach außen etwas sendet?

Die DynDNS Weiterleitung hatte ich jetzt offline. Zuerst gab es keine Verbindungsversuche mehr, dann wieder schon.
Also ging es nicht über eine meiner Domains, sondern vermutlich immer direkt. Nach 3-5h kam immer ein Verbindungsversuch, dann habe ich immer versuchsweise von der Fritzbox die Verbindung mit einer neuen IP neu aufbauen lassen. In der auth.log sieht man keinen cronjob, der einen weiteren Bot starten könnte. Auch gibt es keine verdächtigen Tasks, die laufen.
Im Internet kursieren aber Bots, die random IP-Adressen anpingen ... oder ein anderes von meinen zwei Dutzend Geräten im Heimnetzwerk hat auch noch einen Bot ...

BFF schrieb:
Deine Entscheidung nix Wirkliches zu tun.
Ich bin beim Neuaufsetzten für jede Hilfe dankbar. Du darfst mir gerne ne PN schicken, wann du zeit hast mich live zu unterstützen :)
Als ich vor 2 Jahren den Server neu aufgesetzt habe, habe ich gut 3 Werktage gebraucht. Im Prinzip ging das Installieren schnell, arbeite meine Notizen ab, aber wenn es mal hackt, dann ist guter Rat teuer und es geht einfach nichts mehr ...
 
Zuletzt bearbeitet:
Zeit direkt zu helfen nicht. Bei uns gehts rund die naechsten Wochen und da ist abends mehr die Familie im Vorgergrund. Sorry.

> Meine externe IP ändert sich genau alle 24h, ist so in der Fritzbox eingestellt.

Pruef mal ob das wirklich so ist. Mein Router startet einmal die Nacht neu und hat seit fast einem Jahr immer wieder die gleiche IP. Selbst wenn ich manuell das Lease freigebe und eine "neue" danach haben will ist es immer wieder die "alte" IP. Aber ok, das wird mein Provider so vorgeben.

> Gibt es eine Möglichkeit herauszufinden, ob ein Programm nach außen etwas sendet?

Das schon genannte Wireshark oder das Log der FB.

Ansatz:
Ueberlege einfach mal, ob es nicht besser waere, dass sich Deine "Kunden" bevor sie an Deinen Server kommen ein VPN aufbauen. Damit waere die Kiste weg vom Netz und die "Kunden" kommen immer noch an die Daten.

BFF
 
  • Gefällt mir
Reaktionen: Crys
Danke euch, Tshark ist das was ich suche. Aber es erschlägt einen ja, wie viel da raus und rein geht. Werde ich mir die Tage aber mal genauer anschauen.

BFF schrieb:
Zeit direkt zu helfen nicht. Bei uns gehts rund die naechsten Wochen und da ist abends mehr die Familie im Vorgergrund. Sorry.
So ist das bei mir leider auch. Und wenn ich den Server off nehmen würde, würde es noch mehr rund gehen ...
Meine "Kunden" sind Familie, Freunde, Verwandte, ... niemand der mir direkt Geld dafür gibt.

BFF schrieb:
Mein Router startet einmal die Nacht neu und hat seit fast einem Jahr immer wieder die gleiche IP. [...]
Ja, ist bei mir so. Kann ich in der Statistik von DynDNS einsehen. Bei meiner letzten Wohnung war die IP aber auch immer gleich, lag vielleicht am Internet vom Kabel!?

BFF schrieb:
[...] oder das Log der FB.
Facebook!? Was meinst du damit?

BFF schrieb:
[...]nicht besser waere, [...] ein VPN aufbauen.
Meinst du jetzt (vor der Neuinstallation) oder allgemein?
Allgemein ist das schwierig, da einige Dienste (Apache, Cloud, Mail-Server) zwingend online sein müssen. Einige Dienste (SSH, FTP, IPMI, ...) kann ich natürlich per OpenVPN abrufen lassen, ohne Internet Freigabe. Aber der OpenVPN Server selbst müsste natürlich auch wieder online sein ...
 
Was ist Facebook? FB = Fritzbox. ;)

Zu VPN.

Es waere dann nur der VPN-Server erreichbar. Das ist dann, simpel gesagt, genau ein Dienst anstatt vieler. An die Daten/Mail/Wasimmer kommt die "Kundschaft dann halt, nachdem der Tunnel steht.

Denke einfach darueber nach, was fuer Dich der schnellere und vor allem sicherere Weg ist.

Fuer mich hat der Server mit allem was auf ihm ist, das Vertrauen verloren. Du weisst nicht, was irgendwo abgelegt, veraendert oder wegkopiert wurde. Deshalb wuerde ich alles was wichtig ist sichern und ihn komplett neu aufsetzen. Und vergisst nicht! Die Maedels aus Fernost waren auf dem Teil. Das Teil steht in Deinem Netzwerk. Wie gut ist Dein Netzwerk gegen den Server abgesichert? Server in DMZ oder eigenem VLAN?



BFF
 
Zurück
Oben