expertenaustausch > comm.software.* > comm.software.webserver

Julian Bessenroth (09.01.2008, 22:59)
Hi Folks,

kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
user-agent der mit libwww anfängt den zugriff auf meine Seiten verbieten.

In meiner .htaccess steht das hier

..htaccess :

SetEnvIf User-Agent ^libwww keep_out

Meine seiten könne njedoch trotzdem noch aufgerufen werden auch mit dem
user-agent.

Danke im Vorus (link, tipp oder wa auch immer)

Julian
Carsten Wiedmann (09.01.2008, 23:26)
Julian Bessenroth schrieb:
> SetEnvIf User-Agent ^libwww keep_out
> Meine seiten könne njedoch trotzdem noch aufgerufen werden auch mit dem
> user-agent.


Die hier gesetzte Environment-Variable benutzt du aber schon auch noch in
einer Deny-Directive?

Gruß
Carsten
Helmut Hullen (10.01.2008, 00:06)
Hallo, Julian,

Du (jbusenet) meintest am 09.01.08:

> kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
> user-agent der mit libwww anfängt den zugriff auf meine Seiten
> verbieten.


> In meiner .htaccess steht das hier


> .htaccess :


> SetEnvIf User-Agent ^libwww keep_out


Meine (erfolgreiche) Lösung:

# ...

BrowserMatchNoCase "^libwww-perl" botnetz
# ...

order allow,deny
allow from all
deny from env=botnetz
# Eilebrecht u.a., Apache-Webserver, mitp-Verlag 2002, Seite 164
# ...

Viele Gruesse!
Helmut
Julian Bessenroth (10.01.2008, 08:41)
Carsten Wiedmann schrieb:
> Julian Bessenroth schrieb:
>> SetEnvIf User-Agent ^libwww keep_out
>> Meine seiten könne njedoch trotzdem noch aufgerufen werden auch mit
>> dem user-agent.

> Die hier gesetzte Environment-Variable benutzt du aber schon auch noch
> in einer Deny-Directive?


Du meinst deny from, aber deny from was? Die ganzen Tutorials, die ich
mir gezogen habe füllen die Lücke zwischen Einführung und den
ausgeklügelteren Anweisungen nicht wirklich gut.

Wie müßte es richtig aussehen, wenn alle Zugriff haben sollen (eben auf
Webinhalte) nur dieser User-Agent halt nicht (ich weiß, dass man den
auch einfach maskieren kann ...).

Weißt Du vielleicht noch eine gute Adresse für mich, wo man mal eine
ausführliche Beschreibung bekommt?

Danke im Voraus

Julian
Andreas Prilop (10.01.2008, 17:56)
On Wed, 9 Jan 2008, Julian Bessenroth wrote:

> kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
> user-agent der mit libwww anfängt den zugriff auf meine Seiten verbieten.


RewriteCond %{HTTP_USER_AGENT} ^libwww
RewriteRule ^ - [F]
Julian Bessenroth (10.01.2008, 19:15)
Helmut Hullen schrieb:

> Meine (erfolgreiche) Lösung:
> # ...
> BrowserMatchNoCase "^libwww-perl" botnetz
> # ...
> order allow,deny
> allow from all
> deny from env=botnetz


Ah, ich erkenne die dicke Lücke in meiner nicht-Lösung. Vielen Dank. Das
werde ich sofort ausprobieren. Danke.

> # Eilebrecht u.a., Apache-Webserver, mitp-Verlag 2002, Seite 164


Danke für den Tipp.

gruß

Julian
Julian Bessenroth (10.01.2008, 19:16)
Andreas Prilop schrieb:
> On Wed, 9 Jan 2008, Julian Bessenroth wrote:
>> kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
>> user-agent der mit libwww anfängt den zugriff auf meine Seiten verbieten.

> RewriteCond %{HTTP_USER_AGENT} ^libwww
> RewriteRule ^ - [F]


Dafür müßte ich aber mod-rewrite benutzen, oder? Was bedeutet genau "^ -
[F]"? das Muß ich mal nachlesen.

Danke

Julian
Andreas Prilop (10.01.2008, 19:31)
On Thu, 10 Jan 2008, Julian Bessenroth wrote:

>> RewriteCond %{HTTP_USER_AGENT} ^libwww
>> RewriteRule ^ - [F]

> Dafür müßte ich aber mod-rewrite benutzen, oder?


Ja.

> Was bedeutet genau "^ - [F]"?


Matches everything
No substitution
Forbidden
Julian Bessenroth (11.01.2008, 20:11)
>> Was bedeutet genau "^ - [F]"?
> Matches everything
> No substitution
> Forbidden Super,


Danke! Auch an alle anderen.

Cheerio

Julian
Dirk Sohler (11.01.2008, 22:25)
Julian Bessenroth schrieb:
> kann mit jemand einen Tipp geben, was ich übersehe.


Die Tatsache, dass es beim Request einer einzigen Header-Zeile bedarf, um
den Client als das auszugeben, was immer man auch möchte.
Julian Bessenroth (12.01.2008, 00:08)
Dirk Sohler schrieb:
> Julian Bessenroth schrieb:
>> kann mit jemand einen Tipp geben, was ich übersehe.

> Die Tatsache, dass es beim Request einer einzigen Header-Zeile bedarf, um
> den Client als das auszugeben, was immer man auch möchte.


Das ist richtig und mir auch vollkommen klar. Das sit das Spiel mit
notwendig und hinreichend. So kann ich wenigstens schon mal ein paar
abschöpfen.

Gruß

Julian
Ralf Döblitz (12.01.2008, 11:04)
Julian Bessenroth <jbusenet> schrieb:
> Hi Folks,
> kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
> user-agent der mit libwww anfängt den zugriff auf meine Seiten verbieten.


Nur noch als Ergänzung: dir ist aber schon klar, daß LWP in vielen
Applikation benutzt wird und du nicht _einen_ User Agent aussperrst,
sondern eine ganze Klasse? Das wäre ungefähr so, als ob du auf "Mozilla"
irgendwo im User-Agent-Header matchen würdest, damit würde auch nicht
nur Mozilla erwischt sondern ebenfalls IE, Firefox, und viele andere.

Ralf (der oft genug manuell mit GET arbeitet)
Helmut Hullen (13.01.2008, 09:20)
Hallo, Ralf,

Du (doeblitz) meintest am 12.01.08:

>> kann mit jemand einen Tipp geben, was ich übersehe. Ich möchte einen
>> user-agent der mit libwww anfängt den zugriff auf meine Seiten
>> verbieten.


> Nur noch als Ergänzung: dir ist aber schon klar, daß LWP in vielen
> Applikation benutzt wird und du nicht _einen_ User Agent aussperrst,
> sondern eine ganze Klasse?


Ich betreibe u.a. "arktur.shuttle.de"; da habe ich in den letzten
Monaten (etwa seit August) "aus gegebenem Anlass" die Fehlermeldungen
studiert. Zugriffe per "libwww" waren recht selten (10 bis 40 pro Tag),
und sie haben alle miteinander versucht, Fehler im PHP-Umfeld zu finden
und auszunutzen, mitsamt Weiterleitung zu irgendeiner anderen Adresse.

Da ist es mir nicht schwergefallen, diesen User-Agenten zu verbieten.

Viele Gruesse!
Helmut
Dirk Haun (13.01.2008, 14:33)
Ralf Döblitz <doeblitz> wrote:

> Nur noch als Ergänzung: dir ist aber schon klar, daß LWP in vielen
> Applikation benutzt wird und du nicht _einen_ User Agent aussperrst,
> sondern eine ganze Klasse?


Reine Notwehr gegen die Skriptkiddies :-/ Wobei die mittlerweile auch
dazu übergegangen sind, "richtige" User-Agent-Strings zu schicken. Dann
muss man eben alles blockieren, was ein "http:" in der URL hat.

Wenn erst einmal 30% der Requests aus solchen Inclusion-Attempts
bestehen, nimmt man auch in Kauf, alle paar Wochen mal einen echten
Request zu blockieren ...

bye, Dirk
Ralf Döblitz (13.01.2008, 21:23)
Dirk Haun <68kmac> schrieb:
> Ralf Döblitz <doeblitz> wrote:
> Reine Notwehr gegen die Skriptkiddies :-/ Wobei die mittlerweile auch
> dazu übergegangen sind, "richtige" User-Agent-Strings zu schicken. Dann
> muss man eben alles blockieren, was ein "http:" in der URL hat.


Und bringt dir das etwas?

Bis die Access-Regeln greifen hat der Apache ja die Connection angenom-
men, den Request gelesen, geparset, die URI-Translation-Phase durchlau-
fen, eventuelle Authentication/Authorization-Handler abgearbeitet (die
Script-Kiddies könnten da ja auch etwas mitschicken) und kommt *dann*
erst dazu, die "normale" Erzeugung des Response-Contents durch den
Error-Handler zu ersetzen. Wenn die Erzeugung des Contenst nicht extrem
teuer ist, dann dürfte die Lastreduktion durch so eine Sperre IMHO
relativ wenig zu spüren sein.

> Wenn erst einmal 30% der Requests aus solchen Inclusion-Attempts
> bestehen, nimmt man auch in Kauf, alle paar Wochen mal einen echten
> Request zu blockieren ...


Verständlich. Da würde ich versuchen, die Requests durch temporäre
Einträge im Paketfilter ganz hart abzublocken (ein paar böse Requests ->
die nächsten 10 Minuten wird von diesem System nichts mehr angenommen).

Ralf (der sich gelegentlich mit Gewinnspiel-Eintragern rumschlagen darf)

Ähnliche Themen