Apache Badbots rewrite in conf.d

  • Ich würde sagen NEIN. Da ja virtuelle Hosts angelegt werden.
    Aber in den virtuellen Hosts gibt es eine INCLUDE-Anweisung

    Code
    1. Include /etc/apache2/imscp/......


    Wenn Du das Template änderst und die Konfigurationsdateien neu erstellen lässt, sollte eine weitere Include-Anweisung hinzukommen.
    Ich würde das aber erst einmal mit einem Host testen..


  • genau da habe ich auch gerade drüber nachgedacht mit dem include was machen ;-)
    aber was ist denn damit?

    Code
    1. <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^LWP::Simple RewriteRule ^/.* http://%{REMOTE_ADDR}/ [L,E=nolog:1]</IfModule>


    kann das nicht einfach erweitert werden?

    Code
    1. <IfModule mod_rewrite.c>
    2. RewriteEngine on
    3. RewriteCond %{HTTP_USER_AGENT} ^LWP::Simple
    4. RewriteCond %{HTTP_USER_AGENT} ^bla
    5. RewriteCond %{HTTP_USER_AGENT} ^blabla
    6. ...
    7. RewriteRule ^/.* http://%{REMOTE_ADDR}/ [L,E=nolog:1]
    8. </IfModule>

    Edited once, last by fulltilt ().

  • Ich würde das nicht in die 00_nameserver.conf einfügen..
    Dann lieber in eine extra Datei und über den INCLUDE
    Natürlich die Zeilen

    Code
    1. <IfModule mod_rewrite.c>....</IfModule>


    auch nutzen.
    Ist meine persönliche Meinung, da ich gerne Ordnung in meinen Configs habe.. :)


  • danke, ich versuchs mal zu includen ...
    wäre auch noch ein gutes Feature im CP eine Badbotlist für den Admin
    ich glaube bei c-panel gibt es so etwas ähnliches ...

  • warum das rad neu erfinden?...einfach die: apache-badbots.conf in fail2ban ändern/hinzufuegen...fertig. solange es fuer alle gelten soll.
    solche listen sind aber meistens veraltet oder werden nur sehr duerftig gepflegt. da ist es besser man filtert aus den logs das was beim eigenen server wirklich auftaucht und aktualisiert danach fail2ban.


  • warum das rad neu erfinden?...einfach die: apache-badbots.conf in fail2ban ändern/hinzufuegen...fertig. solange es fuer alle gelten soll.
    solche listen sind aber meistens veraltet oder werden nur sehr duerftig gepflegt. da ist es besser man filtert aus den logs das was beim eigenen server wirklich auftaucht und aktualisiert danach fail2ban.


    mit fail2ban haut das irgendwie nicht hin - auch bei manchen Namen habe ich keinen plan wie die regex aussehen muss ... z.b. bei
    Baiduspider/2.0
    MJ12bot/v1.4.3


    habe eine custom log dazu angelegt, die logged auch soweit ganz prächtig :D
    LogFormat "%a %{User-agent}i" ipagent
    CustomLog /var/log/apache2/useragent.log ipagent


    baduseragent

    Code
    1. failregex = ^<HOST> Mozilla/(.*) \((.*)\) Linguee/ Bot$ (geht) ^<HOST> Mozilla/(.*) \((.*)\) MJ12bot/\v1\.4\.3$ (geht nicht) ^<HOST> Mozilla/(.*) \((.*)\) Baiduspider/\2\.0$ (geht nicht)


    Code
    1. [apache-bad-user-agent]
    2. enabled = true
    3. port = 80,443
    4. protocol = tcp
    5. filter = baduseragent
    6. maxretry = 1
    7. bantime = 86400
    8. logpath = /var/log/apache2/useragent.log
  • In Perl wurde der RegExp für

    Code
    1. MJ12bot/v1.4.3


    so aussehen

    Code
    1. MJ12bot\/v\d+\.\d+\.\d+


    und für

    Code
    1. Baiduspider/2.0


    so

    Code
    1. Baiduspider\/\d+\.\d+


    und den

    Code
    1. Linguee/ Bot


    würde ich so machen

    Code
    1. Linguee\/\s+Bot

    Edited once, last by TheCry ().

  • ich teste gerade alle möglichen variationen, auch der incklude in /apache2/imscp
    habs mal per sed reingesetzt und die Liste unter apache2/badbots gespeichert
    nix passiert die Bots sind immer noch da :D


    dann versuche ich mal mit der fail2ban regex weiterzukommen ...
    [hr]
    also ich habe das hier mal in alle vhost includes gesetzt, zum testen mal mit bingbot weil der gerade alles durchwühlt ...

    Code
    1. <IfModule mod_rewrite.c>
    2. RewriteEngine on
    3. RewriteCond %{HTTP_USER_AGENT} ^LWP::Simple
    4. RewriteCond %{HTTP_USER_AGENT} ^bingbot/2.0
    5. RewriteRule ^/.* http://%{REMOTE_ADDR}/ [L,E=nolog:1]
    6. </IfModule>


    apache natürlich neu gestartet :D


    der Bingbot rattert und rattert fröhlich weiter ...
    könnte das bedeuten das auch die RewriteCond für LWP::Simple nicht greift?

    Edited once, last by fulltilt ().