Parameter "?lang=" erzeugt Fehlermeldung

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Bernhard_4711
Beiträge: 155
Registriert: Do 25. Jul 2019, 16:08
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Bernhard_4711 »

Moin,
meine Seite wird permanent von Spammern, Crawlern etc. attackiert, was ja mittlerweile normal ist.
Allerdings erzeugt ein bestimmter Parameter immer einen Eintrag in der Datei "/data/logs/security.txt"; hier mal ein Beispiel:

Code: Alles auswählen

"GET /index.php?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/&/<?echo(md5(\"hi\"));?>+/tmp/index1.php HTTP/1.1" 200 202 "-" "Custom-AsyncHttpClient"
Es geht um "?lang="
Kann man den Aufruf dieses Parameters irgendwie abfangen, damit er nicht mehr in "/data/logs/security.txt" auftaucht?
---
Munterbleiben... Bernhard
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von xmurrix »

Hallo Bernhard,

gängige Parameter, die CONTENIDO nutzt, werden beim Initialisieren der Anwendung geprüft und wenn da Unstimmigkeiten auftauchen, werden diese in der security.txt protokolliert.

Die Konfiguration der Parameter-Prüfung steht in der "data/config/{umgebungsname}/config.http_check.php" drin, folgende Zeile darin steuert das Protokollieren der Auffälligkeiten:

Code: Alles auswählen

$bLog = true;
Abschalten kannst du das, in dem du eine lokale "data/config/{umgebungsname}/config.http_check.local.php" erstellst und folgende Zeile reinschreibst:

Code: Alles auswählen

$bLog = false;
Es ist zwar ärgerlich, dass die security.txt im Laufe der Zeit voll wird, aber durch das Abschalten der Protokollierung ist das Problem, dass irgendwelche Bots oder Skript-Kiddies versuchen, die Seite anzugreifen, nicht aus der Welt geschafft, man kriegt es nur nicht mit. Besser wäre es, z. B. einmal pro Monat mittels eines Cronjobs die Logs zu leeren.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Bernhard_4711
Beiträge: 155
Registriert: Do 25. Jul 2019, 16:08
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Bernhard_4711 »

xmurrix hat geschrieben: Sa 12. Okt 2024, 14:37 Es ist zwar ärgerlich, dass die security.txt im Laufe der Zeit voll wird, aber durch das Abschalten der Protokollierung ist das Problem, dass irgendwelche Bots oder Skript-Kiddies versuchen, die Seite anzugreifen, nicht aus der Welt geschafft, man kriegt es nur nicht mit. Besser wäre es, z. B. einmal pro Monat mittels eines Cronjobs die Logs zu leeren.
Hallo Murat,
ich wollte das nicht abschalten, sondern abfangen. Oder schreiben wir aneinander vorbei?
Bis jetzt kontrolliere ich so gut wie jeden Tag, was auf dem Server so passiert und lösche in dem Zusammenhang diese Datei.
---
Munterbleiben... Bernhard
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von xmurrix »

...ich wollte das nicht abschalten, sondern abfangen...
Abgefangen wird es schon in der Prüfung, da musst du nicht nochmal selber etwas abfangen.

Zurück zur deiner Frage vom Anfang:
...damit er nicht mehr in "/data/logs/security.txt" auftaucht?...
Damit es nicht in der security.txt nicht auftaucht, kann man das Proptokollieren deaktivieren.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Bernhard_4711
Beiträge: 155
Registriert: Do 25. Jul 2019, 16:08
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Bernhard_4711 »

xmurrix hat geschrieben: So 13. Okt 2024, 13:22
...ich wollte das nicht abschalten, sondern abfangen...
Abgefangen wird es schon in der Prüfung, da musst du nicht nochmal selber etwas abfangen.
Verstehe. Dann bleibe ich beim manuellen Kontrollieren und Löschen der LOG-Dateien.
Vielen Dank für die Aufklärung. :wink:
---
Munterbleiben... Bernhard
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Oldperl »

Servus,

eventuell sollten wir für die Zukunft über eine konfigurierbare Logrotation für CONTENIDO nachdenken. An die entsprechenden Serverfunktionen kommen viele ja in der Regel nicht ran, und man könnte dadurch auch diese übergroßen Logs vermeiden, die ich immer wieder bei manchen Installationen vorfinde, und die, je nach Leistungsfähigkeit des Webhostings, auch mal das ganze System ausbremsen können.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von xmurrix »

Hallo Ortin,

das Thema hatte ich auch schon mit Faar.
Wir werden es nicht jedem recht machen können, da jeder das anders haben möchte. Der eine will es monatlich gelöscht haben, der andere will nur die neuesten 100 Einträge haben, ein anderer wiederum will die Logs vorher sichern, usw.

Natürlich können wir da etwas implemetieren, das die gängigsten Anforderungen erfüllt und zu einem gewissen Maß konfigurierbar ist, besser wäre es aber, wenn man das bei Bedarf selbst implementiert. Ein neuer Cronjob ist in CONTENIDO schnell aufgesetzt.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 14 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Faar »

xmurrix hat geschrieben: Fr 18. Okt 2024, 12:04 das Thema hatte ich auch schon mit Faar.
Wir sind auch an dem Punkt hängen geblieben, dass man, um einen Errorlog automatisch von mehreren GB Größe zu Purgen (kürzen), ihn erst als Text einlesen müsste, um die letzten 20 Zeilen zu halten.
Das klappt schon manuell nicht mehr, wenn das Logfile zu groß ist. Also einfaches Purgen ist raus.

Ich hatte aber früher in einem ganz anderen Projekt einen besseren Ansatz für dieses Problem: Man darf das File erst gar nicht groß werden lassen. Mein Script prüfte vor dem Schreiben die Größe, kürzte es gegebenenfalls und fügte dann erst neuen Text ein.
Sinnvollerweise sollte man die Länge der Textzeilen irgendwo einstellen können, mandantenbezogen.

Problem wird wohl sein, alle die Stellen zu finden, wo das Logfile geschrieben wird, weil da muss man dann ansetzen.
Außer Du, Murat, weißt wo das Logfile erzeugt wird und dann muss man hier die Größe kontrollieren.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Parameter "?lang=" erzeugt Fehlermeldung

Beitrag von Oldperl »

Servus,

nun, eventuell könnte man das ja so ähnlich umsetzen, wie ich es vor ein paar Monaten in der ConLite eingebaut habe.
Ihr könnt es euch ja gerne dort mal anschauen. :arrow: https://gitport.de/ConLite/ConLite/pulls/50

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Antworten