[TYPO3-german] [TYPO3-UG Oesterreich] 4.5.29 erhebliche Sicherheitslücken?

Stephan Schuler Stephan.Schuler at netlogix.de
Wed Aug 21 17:23:59 CEST 2013


Hallo Freddy.


Grundsätzlich kannst du dir überlegen, welche Zugriffe du erlauben möchtest. Alle anderen dürften potenziell ungewünscht sein. Dein Access-Log hilft dir hier. Analysiere die Requests der letzten paar Tage, das zeigt dir vermutlich schon eine ganze Menge.

Ausschließen kann man bequem per mod_rewrite.

Zunächst kann man davon ausgehen, dass Requests auf real existierende Dateien (mod_rewrite "-f") oder Symlinks ("-l") wohl auf eine Hand voll Dateiendungen begrenzt sein darf. Die hängt natürlich von deinem Setup ab. Ich würde mit js, css, jpg, gif, png, pdf und zip anfangen und dann ggf. erweitern. Du weißt vermutlich am besten, welche Dateien bei dir abgerufen werden. Alles andere ist schon mal ziemlich sicher unerwünscht.

Weiterhin kann man Dateizugriffe immer dann ausschließen, wenn sie nicht im fileadmin, in typo3temp, in uploads oder in "typo3conf/ext/[a-z0-9_]+/Resources/Public") liegt. Dazu kommen noch die ein oder andere BE-Location, z.B. "typo3/sysext/t3skin/images" oder "typo3/gfx".

Weiterhin kannst du eine vom FE abweichende Domain für dein Backend verwenden. Dann kannst du die oben genannten BE-Locations auf die BE-Domain beschränken und in der FE-Domain trotzdem verbieten.

Außerdem könnte dein Webserver Zugriffe auf existierende Dateien der erlaubten Endungen mit "200" beantworten, alle anderen Requests, insbesondere auf existierende Verzeichnisnamen, sollten mit "404" beantwortet werden. Es geht niemandem etwas an, dass du eine verwundbare TYPO3-Extensions aus Zeitdruck vielleicht nur im TYPO3-Backend deaktiviert aber nicht gelöscht hast. Der Klassiker hier ist wohl phpmyadmin. Die entsprechende TYPO3-Extension ist zwar nur im Backend für Admins verfügbar, das zugrundeliegende phpmyadmin liegt aber natürlich als Ressource irgendwo im Verzeichnisbaum. Und wenn ein Angreifer einfach durch "typo3conf/ext/phpmyadmin" nicht unterscheiden kann, ob sich ein Angriff lohnt ("403 Forbidden", die Extension ist zumindest schon mal vorhanden) oder nicht ("404 - Not Found") könnte dir das auch schon helfen.


Dieses ganze Konzept basiert darauf, dass in jeder Extension und an diversen Stellen im Core verräterische Dateien liegen, in denen die Versionsnummer des Cores oder deiner Extensions liegen. Konsequent den Zugriff auf alles verbieten das nicht in das recht schmale Schema der erlaubten Requests passt ist also hier der Weg den ich vorschlagen würde.


Was Georg angesprochen hat, was natürlich richtig ist: Das schließt natürlich nicht vollkommen aus, von außen Indizien über dein Setup einsehbar sind, weil auch der ganz regulär erlaubte Output ggf. schon Rückschlüsse zulässt. Dabei handelt es sich praktisch um alles, was von einer Version auf eine andere an FE-Output verändert wurde. Wenn man diese Situationen kennt und unterscheiden kann, lässt sich daraus das Patchlevel eingrenzen. Version A baut eine neue CSS-Klasse um einen Wrapper-DIV in einer Extension, Version B vielleicht eine zweite. Wenn dein Setup an der betreffenden Stelle jetzt die erste Klasse enthält aber die zweite nicht ist klar: Dein Patchlevel ist irgendwo dazwischen.
Und dagegen kann man sich eigentlich nicht schützen. Klar, konsequent auf jeden FE-Output verzichten der ab Werk mitkommt wäre eine Idee. Kein CSS-Styled-Content, eine Standard-HTML-Templates, kein Standard-CSS von Extensions. Aber wenn es dann so etwas großes wie z.B. Powermail ist möchte man eigentlich nicht das ganze Template selbst nochmal in eigene Worte fassen, nur um verräterischen Output zu umgehen, der Aufwand ist einfach zu groß.


Aber natürlich sind das alles nur Spielereien. Nichts davon sollte dir den Eindruck vermitteln, dass man sich so noch ein paar Tage länger mit einem Sicherheitsupdate Zeit lassen darf. Die müssen natürlich trotzdem ziemlich zügig eingespielt werden.


Gruß,



Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Website: media.netlogix.de



--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Freddy Tripold
Gesendet: Mittwoch, 21. August 2013 15:41
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Re: Re: [TYPO3-UG Oesterreich] 4.5.29 erhebliche Sicherheitslücken?

Hallo Manuel,

wir würden solche Vorkehrungen denn ausssehen?
Gibt es da noch mehr das man vor unbefugten Zugriff schützen sollte?

lg
Freddy

Freddy Tripold
http://www.tlog.at


"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!"
(Weisheit der Dakota-Indianer)


Am 21.08.2013 10:41, schrieb Manuel Soehner:
> Hallo Peter,
>
> wenn man als Betreiber keine besondere Vorkehrungen getroffen hat,
> kann man das aus dem ChangeLog herauslesen, einfach
> http://domain.tld/typo3_src/ChangeLog aufrufen und in der ersten Zeile
> nachlesen; in deinem Fall z. B. "[RELEASE] Release of TYPO3 4.5.29
> (TYPO3 Release Team)".
>
> ciao
>   Manuel
>
>
> Peter Linzenkirchner schrieb am 21.08.2013 10:03 Uhr:
>> Hallo,
>>
>> wie kriegen die raus, welche konkrete Version in einer Installation
>> läuft? Im Quellcode steht nur 4.5 und wenn man das als 4.5.0
>> interpretiert - was die Mail ja andeutet - dann würde die Aussage in
>> sich ja stimmen :-)
>>
>> Aber konkret: kann man von aussen, also ohne Login, erkennen, welche
>> genaue Version installiert ist?
>>
>> Gruß
>> Peter
>>
>> --
>> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
>> Web: http://www.typo3-lisardo.de
>> Facebook: http://tinyurl.com/lisardo-multimedia
>>
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list