Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

[Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 24. Dez 2010, 12:33

Seit letzter Nacht stelle ich einen erhöhten Zugriff auf meine Webseite vermittels libwww fest - speziell auf den Logonbereich als Admin. Durch einen dummen Fehler meinerseits :ops: war dieser nicht mehr zusätzlich durch eine exotische Userid sowie ein sicheres Passwort geschützt. D.h. es hat sich offensichtlich in windeseile im Netz rumgesprochen, dass mein Adminbereich für BruteForce Passwordangriffe offen ist. Dummerweise wähle ich immer sichere PWDs und niemand ist reingekommen :D .

Es zeigt sich also dass es immer wichtig ist die Besuche auf der Webseite zu beobachten und auf Auffälligkeiten zu untersuchen als auch immer sichere Passwörter zu benutzen.

Werbung:
gropiuskalle
Guru
Guru
Beiträge: 4603
Registriert: 20. Nov 2007, 15:17
Wohnort: Berlin
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von gropiuskalle » 24. Dez 2010, 13:43

Kannst Du mal ein paar Zahlen nennen, damit man einen Eindruck vom Umfang der Angriffsversuche bekommt? Nur mal interessehalber...

Klaus-D. Wenger
Hacker
Hacker
Beiträge: 271
Registriert: 24. Dez 2004, 12:03
Wohnort: Bremen
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von Klaus-D. Wenger » 24. Dez 2010, 13:46

gropiuskalle hat geschrieben:Kannst Du mal ein paar Zahlen nennen
Oh ja, schon mal danke im voraus für die Info ;-)
OpenSUSE 11.2
- Eine einfache Lösung aus de.comp.lang.php.misc Date: Tue, 07 Oct 2003 20:03:32:
>> Wenn ihr PHP zu Dokumentationszwecken ausdrucken müsst, was verwendet
>> ihr dann?

Einen Drucker?

Benutzeravatar
harley
Hacker
Hacker
Beiträge: 397
Registriert: 4. Sep 2005, 20:11
Wohnort: Leipzig
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von harley » 24. Dez 2010, 20:37

Da ich nebenbei auch mitschreiben lasse, hier beispielhaft ein paar Zahlen von einer meiner kleinen Seiten:

Seit 2007 insgesamt 3698 Versuche. (Die Zahl ist etwas ungenau, da ich ab und zu auch mal aussortiert habe. Auch sind gerade in den ersten Jahren auch Fehlversuche von Suchmaschinen aufgezeichnet.)
2007: 964 (viele dieser Zahlen beruhen nicht auf Angriffen.)
2008: 293
2009: 1093
2010: 1348

Im letzten halben Jahr verzeichne ich einen verstärkten Versuch über Skripte und Standardpfade von bekannten CMS etc. auf Hintertüren zuzugreifen. Die größten und hartnäckigsten Versuche kamen Ende Oktober (jeweils bis ca. 100 verschiedene Pfade). Wer Interesse an weiteren Daten (Pfade etc.) hat, kann sich ja melden.

Micha :-D
++ aus der anleitung für die bedienung von electronicgehirnen + 12 c 3 merke: dein computer ist nicht allwissend + n. +++ (Prokop, G. "Wer stiehlt schon Unterschenkel",Berlin (1983), S. 231)

»Denken ist wie Googeln, nur eben viel krasser.«

Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 25. Dez 2010, 16:50

Vom 22 bis 24.12.2010 gezählt nach TopLevelDomain

Code: Alles auswählen

select count(*) from jos_jstats_ipaddresses as ip,jos_jstats_visits as vi where ip.id = vi.ip_id and vi.year = 2010 and vi.month=12 and vi.day in (22,23,24) and ip.browser like '%libwww%' group by tld

Code: Alles auswählen

au	2
br	2
nl	3
pk	5
pl	3
tr	1
tv	10
tw	4
us	43
Über die gesamte Zeit. Deutlich der Anstieg im Dezember dieses Jahres

Code: Alles auswählen

select vi.month,vi.year,count(*) from jos_jstats_ipaddresses as ip,jos_jstats_visits as vi where ip.id = vi.ip_id and ip.browser like '%libwww%' group by month,year order by year,month

Code: Alles auswählen

month 	year 	count(*)
1 	2010 	10
2 	2010 	8
3 	2010 	8
4 	2010 	11
5 	2010 	11
6 	2010 	43
7 	2010 	37
8 	2010 	35
9 	2010 	37
10 	2010 	12
11 	2010 	8
12 	2010 	272
Der Dezember pro Tag: Deutlich zu sehen, dass nach dem 24 keine Zugriffe mehr da sind, da jetzt libwww Zugriffe gänzlich ausgesperrt sind.

Code: Alles auswählen

select vi.day,vi.month,vi.year,count(*) from jos_jstats_ipaddresses as ip,jos_jstats_visits as vi where ip.id = vi.ip_id and vi.year = 2010 and vi.month=12 and ip.browser like '%libwww%' group by day,month,year order by year,month,day

Code: Alles auswählen

day 	month 	year 	count(*)
1 	12 	2010 	1
7 	12 	2010 	2
9 	12 	2010 	2
12 	12 	2010 	2
14 	12 	2010 	11
15 	12 	2010 	5
16 	12 	2010 	1
18 	12 	2010 	43
19 	12 	2010 	76
20 	12 	2010 	30
21 	12 	2010 	26
22 	12 	2010 	20
23 	12 	2010 	41
24 	12 	2010 	12
Zuletzt geändert von framp am 26. Dez 2010, 10:55, insgesamt 7-mal geändert.

Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 26. Dez 2010, 10:39

Habe die Statistiken oben noch durch weitere QueryResults erweitert. Früher hatte ich libwww nur auf die AdminSeiten rejected, deshalb zeigen sich schon vorher immer wieder libwww Zugriffe. Wann genau der zusätzliche PWD Schutz des Adminbereichs rausfiel weiss ich nicht.Sieht aber so aus als wäre das irgendwann Anfang Dez gewesen. Nach dem 24ten ist Schluss, da ich libwww Zugriffe jetzt auf sämtlichen Seiten mit 401 (Access denied) rejecte.

Code: Alles auswählen

RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]

gropiuskalle
Guru
Guru
Beiträge: 4603
Registriert: 20. Nov 2007, 15:17
Wohnort: Berlin
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von gropiuskalle » 26. Dez 2010, 15:25

Vielen Dank, framp! Mir ging es tatsächlich nur um den quantitativen Parameter.

Finde ich schon ziemlich interessant, so eine Aufstellung - derlei sollten sich Einsteiger mal ganz genau ansehen, damit sie erkennen, wie wichtig eine (nach besten Wissen und Können) lückenlose Absicherung ist.

Klaus-D. Wenger
Hacker
Hacker
Beiträge: 271
Registriert: 24. Dez 2004, 12:03
Wohnort: Bremen
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von Klaus-D. Wenger » 26. Dez 2010, 15:40

framp hat geschrieben: dem 24ten ist Schluss, da ich libwww Zugriffe jetzt auf sämtlichen Seiten mit 401 (Access denied) rejecte.

Code: Alles auswählen

RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
Danke schön, na man lernt eben nie aus ;-)
OpenSUSE 11.2
- Eine einfache Lösung aus de.comp.lang.php.misc Date: Tue, 07 Oct 2003 20:03:32:
>> Wenn ihr PHP zu Dokumentationszwecken ausdrucken müsst, was verwendet
>> ihr dann?

Einen Drucker?

Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 26. Dez 2010, 15:42

gropiuskalle hat geschrieben:...Finde ich schon ziemlich interessant, so eine Aufstellung - derlei sollten sich Einsteiger mal ganz genau ansehen, damit sie erkennen, wie wichtig eine (nach besten Wissen und Können) lückenlose Absicherung ist.
Aus diesem Grunde habe ich die sql Queries mit hinterlegt ;) . So kann jeder, sofern er joomlaStats benutzt, schnell mal solche Reports ziehen und nachsehen was so läuft in seinem Joomla. Ist allerdings zur regelmäßigen Kontrolle zu aufwendig. Mir ist es nur dadurch aufgefallen, dass plötzlich ein signifikanter Anstieg der Zugriffszahlen pro Tag stattfand. Im Nachhinein läßt sich mit den Queries sehr gut sehen, dass es am 18ten angefangen hat. Da war der Anstieg aber noch nicht so extrem, dass ich stutzig wurde.

tomte
Hacker
Hacker
Beiträge: 798
Registriert: 15. Nov 2003, 13:40
Wohnort: 16°08'12"E / 56°34'08"N

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von tomte » 26. Dez 2010, 15:54

Und was machst du dagegen?
Nothing is easier than being busy - and nothing more difficult than being effective.

Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 26. Dez 2010, 16:25

tomte hat geschrieben:Und was machst du dagegen?
3 Dinge:
1) Der AdminBereich wird per .htaccess mit einer exotischen Userid sowie sicherem Passwort geschützt. Also muss man sich 2 Mal authentifizieren um in den Adminbereich zu kommen
2) In .htaccess die o.g. Rukes aufgenommen. Damit werden jegliche libwww Requests rejected
3) Regelmäßig die WebseitenZugriffszahlen auf Ausreisser begutachten

Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4303
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

Re: [Erfahrungsbericht] Joomla Adminbereich wird angegriffen

Beitrag von framp » 27. Dez 2010, 22:32

tomte hat geschrieben:Und was machst du dagegen?
Bislang habe ich immer mal wieder online in Joomla nachgesehen. Deine Frage hat mich dazu gebracht ein kleines Python Script zu schreiben welches das erledigt wenn es lokal ausgeführt wird. Das erspart mir den manuellen Logon ins Joomla und die Navigation darin. Ist nur ein kurzer CodeSnippet der improved werden kann - aber sicherlich auch für andere Joomlabetreiber hilfreich. Die LogonParameter sind noch entsprechend anzupassen.

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Query and check if libwww accesses were detected on a joomla based website.
# Requirement: joomlaStats installed
#
# 12/27/2010 framp at linux-tips-and-tricks dot de
#

import MySQLdb
import sys

LIMIT=0
alert=False
maximum=0

try:
    conn = MySQLdb.connect (host = "host",user = "user",passwd = "password",db = "database")
    cursor = conn.cursor ()
    cursor.execute ("""SELECT year, month,day, count(*) as Count 
                    FROM jos_jstats_ipaddresses AS a
                    LEFT JOIN jos_jstats_visits AS c ON a.id = c.ip_id
                    where a.useragent like '%libwww%'
                    group by year,month,day
                    order by year desc,month desc, day desc                  
                    limit 0,30""")
    row = cursor.fetchall()    
    conn.close ()
    
    for r in row:
        (year,month,day,count) = r
        print "%2d.%2d.%4d - %d" % (day,month,year,count)
        if count > LIMIT:
            alert=True
            if count > maximum:
                maximum=count    
    
except MySQLdb.Error, e:
    print "Error %d: %s" % (e.args[0], e.args[1])    
    sys.exit (1)
    
if alert:
    exceed=maximum-LIMIT
    print "!!! libwww threshold of %d exceeded by %d!!!" % (LIMIT,exceed)    

Antworten