Zum Inhalt springen

[awstats] Wichtiges Update - Aktualisierte Version

Erstellt am 11. Februar 2005 · 13 Antworten · letzte Antwort am 16. August 2005

Tags: Sicherheit, Info

Jörg Roth ·

Hallo,

wie hier bereits in einigen Beitragen angesprochen wurde, gibt es ein paar Probleme mit dem Statistikmodul 'awstats' von René Fritz.

Zum einen sind Probleme mit bestimmten Webserverversionen des Apache aufgetreten (Thema: Debug Output) und der Hinweis auf einen nicht unerheblichen Exploit (offene Hintertür) im Perl-Skript der Erweiterung.

Ich habe die Erweiterung gestern und heute komplett überarbeitet und die aktuelle, sichere Version von awstats eingepflegt (Version 6.3, Stable).

In der neuen Version sind auch neue Optionen mit eingebunden - so werden die Browser, Betriebsysteme und viele weitere Dinge dezidierter aufgelöst.

Zusätzlich ist ein JavaScript-Tracker mit drin. Dazu wird ein .js-File im Header der Seiten mit eingebunden, dass die üblichen Daten wie etwa Auflösung, diverse Unterstützungen & Co. übermittelt. Ist recht einfach zu implementieren (seite.headerData.value = <script src="pfadzurdatei">etc...) und bereichert die Statistiken.
In der Konfigurationsdatei von awstats sind auch noch einige Schalter hinzugekommen.

Im Endeffekt läuft es aber nach dieser Aktualisierung fehlerfrei und sicher.

Mit René habe ich Kontakt aufgenommen und ihm das Paket komplett gemailt. Er wird die Version sicherlich in den nächsten Tagen (?) im Repository einspielen.

Wer es eilig hat oder mehrere Mandanten oder Kundenpräsenzen auf seinem Server hat, der kann mir gerne eine Mail an <j punkt roth at mediadialog punkt de> schicken - ich maile dann das ZIP-File! EM_CONF ist aktualisiert, aber es steht halt noch die alte Versionsnummer drin (öh, ich glaub 0.7.3). Erscheint die Erweiterung im Repository, könnt ihr sie trotzdem einfach aktualisieren.

Beigefügt habe ich auch direkt eine Musterdatei für einen cronjob - J. Weiland hat dazu auf seiner Seite auch eine nette Anleitung inkl. Script zum Export der Umgebungsvariablen.

Die Version läuft auf unseren Linux- und Sun-Servern in allen Instanzen fehlerfrei.

Die nervigen Tooltips sind deaktiviert - so wird die Ausgabe im Browser auch etwas flotter... 🙂

Grüße an die Community,

Jörg

PS: Nach dem Einspielen bitte Dateiberechtigungen prüfen!!!

Jörg Roth ·

René Fritz hat die Extension aktualisiert (awstats Version 6.4).

Diese ist jetzt direkt über das ExtRep zu aktualisieren oder zu installieren.

J

Hille ·

Hallo,
habe die EXT 0.9.0 BETA aus dem Repository runtergeladen.
Hier wird von Version 6.4 gesprochen.
Welche ist jetzt die aktuellste?
Wie komme ich an diese Version?
Grüße aus Bielefeld
Hille

mic_jan ·

Hallo Hille,

du hast die richtige Version. Bei der 6.4-Version geht es um das Programm AWstats.

Die Extension ist aber die, die du aus dem Repository hast. Die beinhaltet die neue AWstats-Version.

Lieben Gruss

Michael

Hille ·

Hallo Michael,
danke für Deine schnelle Antwort.
Im laufe des Vormittags ist mir das nun auch aufgefallen.
Nun habe ich die EXT installiert und aktiviert bekommen, leider habe ich nun auch die Fehlermeldung:

Perl was not found at '/usr/local/bin/perl'. The awstats.pl script can't be executed!

Meine T3-Root-Installation beginnt in hdh-soft.de/cms/
Ich denke nicht, dass das zum Problem geworden ist.
Über die phpinfo im Install-Tool konnte ich leider nicht den Perl-Pfad ermitteln.
Was kann ich nun noch tun?
Eine eMail an den Hoster hab ich schon geschickt.
Gibt es eine andere Möglichkeit das perl-Verzeichnis ausfindig zu machen?
Habe allerdings nur einen FTP-Zugang.
Grüße aus dem verschneiten Bielefeld
Hille

mic_jan ·

leider habe ich nun auch die Fehlermeldung

Okay, mein Tipp bei Fehlermeldungen: Einfach bei Google eingeben und gucken, ob da irgendwas gefunden wird. Bisher hatte ich immer Glück.

Dieses Mal habe ich es für dich getan. Und heraus kamen zwei Links, die dir vielleicht weiterhelfen:
http://typo3.org/documentation/mailing-lists/german-user-list-archive/thread/110110806/?tx_maillisttofaq_pi1%5Bmode%5D=1

http://lists.netfielders.de/pipermail/typo3-at/2004-May/001554.html

Lieben Gruss

Michael

P.S.: Da ich diese Fehlermeldung bisher nicht hatte, kann ich dir leider keine genauere Hilfe geben.

Junior ·
Hille schrieb
Perl was not found at '/usr/local/bin/perl'. The awstats.pl script can't be executed!

Den Pfad kannst du im Ordner ext/cc_awstats/mod1/index.php angleichen. Such einfach nach local/

Die Fehlermeldung bleibt bei mir danach aber trotzdem die gleiche. Mache mich weiter auf die Suche. Falls jemand eine Idee hat... ;-)

Lieben Gruss

Junior

PS: Siehe auch: http://www.typo3forum.net/viewtopic.php?p=3664

Hille ·

Jetzt habe ich die eMail-Infos durchgesehen, und die Anweisungen mal ausprobiert.

2.) typo3conf/ext/cc_awstats/mod1/index.php umschreiben:
    Die beiden is_executable - Abfragen ab Zeile 257 auskommentieren.
    Darunter folgendes hinschreiben:
    $perl = "";

Mist!!! Jetzt kommt nächste Fehlermeldung:

Warning: passthru() has been disabled for security reasons in ../typo3conf/ext/cc_awstats/mod1/index.php on line 270

Die phpinfo sagt, das der safe_mode auf off steht.

Die
awstats.pl steht in meiner 0.9.0 BETA Version aber im Pfad cc_awstats/awstats/ und nicht wie in der Beschreibung unter cc_awstats/mod1/.
Das kann sicher nicht ursächlich sein. Denke die EXT ist auf dem neusten Stand.

Die 1.Zeile in der awstats.pl ist #!/usr/bin/perl auch gecheckt.
Kann einfach keinen Ansatzpunkt finden.
Wo kann ich noch suchen?
Gruß
Hille

Junior ·
Hille schrieb

Jetzt habe ich die eMail-Infos durchgesehen, und die Anweisungen mal ausprobiert.

2.) typo3conf/ext/cc_awstats/mod1/index.php umschreiben:
    Die beiden is_executable - Abfragen ab Zeile 257 auskommentieren.
    Darunter folgendes hinschreiben:
    $perl = "";

Leider kann ich die is_executable nicht finden in de index.php. Kannst du mir auf ide Sprünge helfen, evtl mit einer Zeilenangabe?

Danke

Junior

Hille ·

Hallo Junior,
aber gern 😃
hier der entsprechende Codeblock:

#TODO use t3lib_exec			
			if ($os=='UNIX') {
//- changed beginn --- by Dieter 06.03.2005 ------------------------------------------------
                                $perl = " ";
#				if (is_executable ('/usr/bin/perl')) {
#					$perl = '/usr/bin/perl ';
#				} else {
#					if (is_executable ('/usr/local/bin/perl')) {
#						$perl = '/usr/local/bin/perl ';
#					} else {
#						die("Perl was not found at '/usr/local/bin/perl'. The awstats.pl script can't be executed!");
#					}
#					die("Perl was not found at '/usr/bin/perl'. The awstats.pl script can't be executed!");
#				}
//- changed --- end ----------------------------------------------------------------
			} elseif ($checkWindows=false) {
				if (is_file ('/usr/bin/perl')) {
					$perl = '/usr/bin/perl ';
				} else {
					if (is_file ('/usr/local/bin/perl')) {
						$perl = '/usr/local/bin/perl ';
					} else {
						die("Perl was not found at '/usr/local/bin/perl'. The awstats.pl script can't be executed!");
					}
					die("Perl was not found at '/usr/bin/perl'. The awstats.pl script can't be executed!");
				}
			}

Hatte mal vorsichtig die Passage mit passthru() etwas tiefer auskommentiert, hat aber nur eine leere Seite im BE gebracht.
Wie finde ich bei meinem Hoster den Pfad zu perl raus?
Gruß
Hille

Junior ·

Klasse danke. Jetzt gehts!

Ich gehe davon aus, dass du keinen shell Zugriff hast. Versuch doch mal in der index.php auf usr/bin/perl zu gehen. Wenn das nicht funktioniert, schreib deinem Provider eine Email und frag ihn oder lies ihn der FAQ nach und schau ob du etwas finden kannst.

Lieben Gruss

Junior

Hille ·

Hallo zusammen,
leider war die Lösung (ich hatte diese aus einer Mailingliste übernommen), für meine Seiten bei huynh immer noch nicht lauffähig.
Ein kompetenter Mitarbeiter beim Hoster hat mir das Scipt, und offensichtlich noch andere Dinge, konfiguriert.
Die Abfragen nach dem Pfad zu Perl wurde auskommentiert.
if (is_executable ('/usr/bin/perl')) {

In meinem Fall ist Perl hier: $perl = '/usr/bin/perl';

Das Problem mit passthru wurde auch gelößt.

function moduleContent(){
global $LANG, $TBE_TEMPLATE,$execoutput;
.
.
.
if (!t3lib_div::GPvar(dbg)) {
//passthru($perl.' '.$this->MCONF['awstatsFullDir'].$this->MCONF['awstatsScript'].escapeshellcmd ($parameter), $retval);

exec($perl.' '.$this->MCONF['awstatsFullDir'].$this->MCONF['awstatsScript'].escapeshellcmd
($parameter).' >'.$execoutput, $retval);
$handle = fopen($execoutput,r);
$outputbuffer = fread($handle,
filesize($execoutput));
fclose($handle);
echo $outputbuffer;
}

Wen es interessiert, dem kann ich ja den eMailtext per PM komplett posten.
Gruß
Hille

ralf321 ·

Ich stells mal mit dazu.
Neues sicherheitsupdate für awstats ist da.
mehr dazu unter.
http://typo3.org/?tx_newsimporter_pi1%5BshowItem%5D=1&cHash=f72a732cb7

soweit so gut nur geht bei mir nach dem update die funktion LoadPlugin="geoip GEOIP_STANDARD" nicht mehr. davor mit der alten version einwandfrei.

die fehlermeldung ist:
Error: Plugin init for plugin 'geoip' failed with return code: Error opening GeoIP.dat at /usr/lib/perl5/site_perl/5.8.5/Geo/IP/PurePerl.pm line 58. (A module required by plugin might be missing).

weis jemand was da fehlt?mit der 6.4 liefs einwadfrei.

Danke