Apache2 komische Logs seit Tagen

Riseofdead

Lt. Commander
Registriert
Jan. 2013
Beiträge
1.030
Hallo

Ich hab ein kleines Netbook als Server auf dem ich einen TS3 Server, Samba Server fürs LAN, FTP Server und einen Webserver der noch leer ist.

Da ich noch recht unsicher bin mit dem Server check ich täglich die Logfiles. Seit einigen Tagen fällt mir auf das einige IP Adressen irgendwas mit phpmyadmin, typo3 usw zu tun haben. Ich hab nen nackten Apache Server also kein mysql oder sowas. Ich hab mal eine Zeile rauskopiert und in Google eingefügt. 1. Ergebnis: LUG iptables and hacker. Gut dachte ich mir, da muss wohl der Server auch hier abgesichert werden. Nur wie geh ich als Anfänger vor? Ich hab erstmal fail2ban installiert und in der config alles was mit apache zu tun hat auf true und maxretry 3 eingestellt. Gibt es da noch andere Tricks um Hacker aufzuhalten? Wenn ich später mal mysql (für Joomla) installiert habe, was können die Hacker machen? Können die meinen Server übernehmen? (Mailserver hab ich keinen also Spamschleuder fällt raus)

SSH ist durch einen id_rsa Schlüssel gesichert. Das heißt nur ich hab den Privaten Schlüssel. Passwortlogin sowie Root Login ist deaktiviert.

Ich nehme mal an dass die Hacker noch nichts angerichtet haben da ja in den Logs eigentlich immer die Zahl 404 vorkommt was das gleiche wie Seite nicht gefunden bedeutet.

PS: proftpd ist auch abgesichert. Nach 3x Passwort falsch eingeben ist die IP für 30 min gebannt.
 

Anhänge

  • hacker.PNG
    hacker.PNG
    236 KB · Aufrufe: 283
Fail2Ban sollte das normalerweise filtern. Am besten beobachten.
 
ist dein netbook von außen erreichbar?
portforwarding oder statische ip?

welches linux ist am laufen?


fail2ban hast du ja schon
ist mal der erste schritt

/edit: get requests sind erstmal nicht sooo schlimm. hier werden daten abgerufen (angesehen / geladen)
put requests sind "schlimmer" hier wird geschrieben
 
Zuletzt bearbeitet:
Exynos4412 schrieb:
ok aber root kann sich ein Hacker nicht erlangen oder?

kommt drauf an
welches linux ist am laufen

was steht in den access-logs?
 
Standartport ändern - hatte vorher auch massiv Einlogversuche aus China.
Als ich den Port geändert habe war auf einmal Ruhe.

check mal /var/log/auth.log
 
Zuletzt bearbeitet:
Linux hab ich Debian 7.6. apt-get update und upgrade wird jede Woche durchgeführt.

OK Standardport gibts 2. 80 und 443. Welchen soll ich ändern?
 
SSH Port hab ich anfangs schon geändert. Sorry das ich das nicht erwähnt hab. Der SSH Port ist 4 Stellig und über den ersten 1024 Ports. Also zwischen 1025 und 9999. Den genauen Port verrat ich hier lieber nicht oder?
 
1. Bind:
Alle Programme, die irgendwas mit Netzwerk zu tun haben (HTTP/FTP/SAMBA/TS/SSH) können normalerweise per "bind" so konfiguriert werden, dass sie nur von bestimmten IPs aus angesprochen werden können.
Wenn du also Programme dabei hast, die nur vom Lokalen Netzwerk aus erreichbar sein sollen, stell die Bind Adresse ein.

2. Router/Firewall:
Standardmäßig lässt ein Router _keinen_ eingehenden Traffic zu, außer du richtest eine Port-Weiterleitung ein. Also nur die Ports da eintragen, die auch wirklich öffentlich sein sollen.

3. Vertrauen:
Wenn die Software (bekannte) Sicherheitslücken hätte, würde sie wohl keiner freiwillig ans Netz hängen. D.h. solang es keine Exploits gibt, kann man einen Apache nicht hacken. Wenn ein Exploit entdeckt wird, ist alles möglich, inkl. Root-Zugriff auf den gesamten Rechner.
Anders sieht es natürlich mit der Software aus, die auf dem Apache ausgeführt wird, z.B. ein Blog oder CMS. Da kann der Apache natürlich nicht für die Sicherheit garantieren. Deshalb sollte jede dieser Anwendungen zumindest einen eigenen Account in der Datenbank haben, sonst ist es möglich, dass Anwendung A gehackt wird und über die Datenbank auch alles von Anwendung B ausgelesen/manipuliert werden kann.

4. Updates:
Halte deine Software Up-to-Date. Sicherheitslücken verschwinden nicht von selbst ;)

6. Max Retry:
Wie du schon gesagt/installiert hast. 10 Anfragen pro Sekunde an die selbe Adresse sehen verdächtig aus, da könnte jemand versuchen eine Liste von bekannten Sicherheitslücken durchzuprobieren.
Aber: Das hast du natürlich nur für den Apache installiert, deine anderen Server sind dadurch nicht "geschützt" (Schutz ist relativ in Zeiten von Botnetzwerken). Aber du könntest z.B. sämtlichen Traffic für die anderen Applikationen durch den Apache routen oder schauen, ob die Programme eigene Schutzfunktionen mitbringen.

7. Logs:
Da kann man nicht viel machen. Es laufen tausende Crawler durchs Netz. Viele (z.B. Google) indizieren einfach alles was sie finden können. Andere suchen gezielt nach WebServern von Hersteller X in Version Y (oder Datenbanken oder oder oder) und wenn sie gefunden wurden, werden gezielte Angriffe ausgeführt, um z.B. den Server zu übernehmen und ihn zum Teil eines Botnetzwerks zu machen.
Deine Firewall wird dir vermutlich auch im Minutentakt irgendwelche Anfragen auf gesperrten Ports melden ;)

8. Grundsätzliches:
Whitelisting ist sicherer als Blacklisting - geht natürlich nicht in allen Fällen. Beispiele: "bind" ist Whitelisting, "fail2ban" ist Blacklisting.
 
Zuletzt bearbeitet:
Im Zweifel:
Bau in /var/www/ ne .htaccess mit
DENY FROM ALL
ALLOW FROM *wer eben drauf darf*

Dann kann dir das Russen/Chinesen/Nigerianer/... - Hackerpack getrost am Arsch vorbei gehen.
 
Exynos4412 schrieb:
Gut dachte ich mir, da muss wohl der Server auch hier abgesichert werden.
Nein, musst du nicht. 404 auf sowas liefern ist in Ordnung. Paar HTTP-Anfragen von irgendwelchen Skriptkiddies oder kaputten Bots sind vollkommen normal. Kein Grund für Aktionismus.

Einfach die Füße stillhalten und nicht ohne _triftigen_ Grund zusätzliche Gaga-Software installieren oder obskure Konfigurationen fahren. Bei so vielen laufenden Servern (ts, ssh, apache, ftp, samba) hast du mehr als genug damit zu tun, dich erstmal mit diesen Programmen bischen zu beschäftigen, statt dein Szenario ohne Grund noch komplexer zu machen.
 
Zurück
Oben