mod_evasive Installation klappt nicht

Apache, Lighttpd, nginx, Cherokee
simcard
Posts: 19
Joined: 2005-08-22 19:29

mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 20:57

Hallo,

versuche aufgrund einer anhaltenden DDoS seit einer Stunde mod_evasive zu installieren. Habe die Datei ganz normal geladen, nach /urs/local/src entpackt und will sie nun installieren...
:/usr/local/src/mod_evasive# apxs -iac mod_evasive20.c
gcc -DLINUX=22 -DEAPI -DTARGET="apache" -DHAVE_SET_DUMPABLE -DDB_DBM_HSEARCH=1 -DDEV_RANDOM=/dev/random -DUSE_HSREGEX -O1 -g -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DSHARED_MODULE -I/usr/include/apache-1.3 -c mod_evasive20.c
mod_evasive20.c:41: error: Syntaxfehler before "evasive20_module"
mod_evasive20.c:41: Warnung: type defaults to `int' in declaration of `evasive20_module'
mod_evasive20.c:41: Warnung: data definition has no type or storage class
mod_evasive20.c:113: error: Syntaxfehler before '*' token
mod_evasive20.c: In Funktion »access_checker«:
mod_evasive20.c:212: Warnung: long int Format, __pid_t Argument (Argument 3)
mod_evasive20.c:248: Warnung: Verarbeiten des Argumentes 5 von »ap_log_rerror« von inkompatiblem Zeigertyp
mod_evasive20.c: Auf höchster Ebene:
mod_evasive20.c:297: error: Syntaxfehler before "destroy_hit_list"
mod_evasive20.c:297: Warnung: return type defaults to `int'
mod_evasive20.c:651: Warnung: implicit declaration of function `AP_INIT_TAKE1'
mod_evasive20.c:652: Warnung: geschweifte Klammern fehlen um Initialisierung
mod_evasive20.c:652: Warnung: (near initialization for `access_cmds[0]')
mod_evasive20.c:652: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:652: error: (near initialization for `access_cmds[0].name')
mod_evasive20.c:655: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:655: error: (near initialization for `access_cmds[0].func')
mod_evasive20.c:658: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:658: error: (near initialization for `access_cmds[0].cmd_data')
mod_evasive20.c:661: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:661: error: (near initialization for `access_cmds[0].req_override')
mod_evasive20.c:664: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:664: error: (near initialization for `access_cmds[0].args_how')
mod_evasive20.c:667: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:667: error: (near initialization for `access_cmds[0].errmsg')
mod_evasive20.c:670: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:670: error: (near initialization for `access_cmds[0]')
mod_evasive20.c:670: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:670: error: (near initialization for `access_cmds[1].name')
mod_evasive20.c:673: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:673: error: (near initialization for `access_cmds[1].func')
mod_evasive20.c:676: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:676: error: (near initialization for `access_cmds[1].cmd_data')
mod_evasive20.c:678: Warnung: implicit declaration of function `AP_INIT_ITERATE'
mod_evasive20.c:679: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:679: error: (near initialization for `access_cmds[1].req_override')
mod_evasive20.c:681: Warnung: geschweifte Klammern um Skalar-Initialisierung
mod_evasive20.c:681: Warnung: (near initialization for `access_cmds[1].args_how')
mod_evasive20.c:681: error: incompatible types in Initialisierung
mod_evasive20.c:681: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:681: error: (near initialization for `access_cmds[1].args_how')
mod_evasive20.c:681: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:681: error: (near initialization for `access_cmds[1].args_how')
mod_evasive20.c:682: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:682: error: (near initialization for `access_cmds[1]')
mod_evasive20.c:684: error: Syntaxfehler before '*' token
mod_evasive20.c: In Funktion »register_hooks«:
mod_evasive20.c:685: Warnung: implicit declaration of function `ap_hook_access_checker'
mod_evasive20.c:685: error: `APR_HOOK_MIDDLE' undeclared (first use in this function)
mod_evasive20.c:685: error: (Each undeclared identifier is reported only once
mod_evasive20.c:685: error: for each function it appears in.)
mod_evasive20.c:686: Warnung: implicit declaration of function `apr_pool_cleanup_register'
mod_evasive20.c:686: error: `p' undeclared (first use in this function)
mod_evasive20.c:686: error: `apr_pool_cleanup_null' undeclared (first use in this function)
mod_evasive20.c: Auf höchster Ebene:
mod_evasive20.c:689: error: Syntaxfehler before "evasive20_module"
mod_evasive20.c:689: Warnung: type defaults to `int' in declaration of `evasive20_module'
mod_evasive20.c:691: error: `STANDARD20_MODULE_STUFF' undeclared here (not in a function)
mod_evasive20.c:691: error: Initialisierungselement ist nicht konstant
mod_evasive20.c:691: error: (near initialization for `evasive20_module')
mod_evasive20.c:692: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:692: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:693: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:693: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:694: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:694: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:695: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:695: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:696: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:696: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:698: Warnung: Elementüberschreitung in Skalar-Initialisierung
mod_evasive20.c:698: Warnung: (nahe der Initialisierung für »evasive20_module«)
mod_evasive20.c:698: Warnung: data definition has no type or storage class
apxs:Break: Command failed with rc=1
über google und die Boardsuche fand ich schonmal, das solche Fehlermeldungen öfter auftreten, bei verschiedenen Programmen.. Habe bereits
/usr/local/src/mod_evasive# apt-get install libxt-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
libice-dev libsm-dev libx11-dev libxext-dev libxi-dev libxi6 libxt6 libxv-dev libxv1 x-dev xlibs-static-dev zlib1g-dev
Vorgeschlagene Pakete:
xspecs
Die folgenden NEUEN Pakete werden installiert:
libice-dev libsm-dev libx11-dev libxext-dev libxi-dev libxi6 libxt-dev libxt6 libxv-dev libxv1 x-dev xlibs-static-dev zlib1g-dev
0 aktualisiert, 13 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 5261kB Archive geholt werden.
Nach dem Auspacken werden 14,3MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] y
ausgeführt und installiert, aber brachte leider nichts... Andere Sachen wie z.B. eaccellerator konnte ich problemlos installieren. Hat jemand eine Idee, woran der Fehler liegen kann?

Vielen Dank schonmal :cry:

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: mod_evasive Installation klappt nicht

Post by Roger Wilco » 2007-01-16 21:08

Du versuchst das Modul für Apache httpd 2.0 mit den Entwicklerwerkzeugen für Apache httpd 1.3 zu übersetzen. Lies bitte die mitgelieferte README.

simcard
Posts: 19
Joined: 2005-08-22 19:29

Re: mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 21:15

Hi Roger,

hab ich :( Da steht aber auch nix anderes?
APACHE v2.0
-----------

1. Extract this archive
2. Run $APACHE_ROOT/bin/apxs -i -a -c mod_evasive20.c
3. The module will be built and installed into $APACHE_ROOT/modules, and loaded into your httpd.conf
4. Restart Apache
laut locate...
:/usr/local/src/mod_evasive# locate apxs
/opt/psa/admin/bin/apxs
/usr/bin/apxs
/usr/bin/apxs-perl
/usr/bin/apxs-ssl
/usr/share/man/man1/apxs.1.gz
/usr/share/man/man1/apxs-perl.1.gz
/usr/share/man/man1/apxs-ssl.1.gz
:/usr/local/src/mod_evasive# /usr/bin/apxs -i -a -c mod_evasive20.c
Bringt wieder die errors... genauso bei /opt/psa/admin/bin/apxs ...
Sorry wenn ich mich evtl. dumm anstelle... Aber installier den mod zum ersten mal :(

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: mod_evasive Installation klappt nicht

Post by Roger Wilco » 2007-01-16 21:22

Lies meinen Beitrag nochmal, mit besonderem Augenmerk auf die Versionsnummern. Dann schau dir die Beschreibung unter http://packages.debian.org/stable/devel/apache-dev ganz genau an.

simcard
Posts: 19
Joined: 2005-08-22 19:29

Re: mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 21:28

ja, viel steht da auch nicht... und den apache-dev habe ich schon installiert...
/usr/local/src/mod_evasive# apt-get install apache-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
apache-dev ist schon die neueste Version.

/usr/local/src/mod_evasive# apt-get install libdb4.2-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
libdb4.2-dev ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

/usr/local/src/mod_evasive# apt-get install libexpat1-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
libexpat1-dev ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

/usr/local/src/mod_evasive# apt-get install apache-common
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
apache-common ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Sorry, weiß nicht was du meinst .... bei deinem link gehts um die 1.3? Aber was muss man da für die 2.0.54 installieren :cry:
Es gibt noch..

apache2-prefork-dev (2.0.54-5sarge1) [security]
development headers for apache2
apache2-threaded-dev (2.0.54-5sarge1) [security]
development headers for apache2

Eines davon?... Sorry...

aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: mod_evasive Installation klappt nicht

Post by aubergine » 2007-01-16 21:32

Die gesamte software die du installiert hast ist für den apache 1

Unter Debian heisst es immer apache2...

Bsp: apache2-dev und nicht apache-dev

So wie es aussieht hast du eine reine apache1 Installation.

Die Version mod_ec20.c ist jedoch für den apache2

Und apxs heisst unter Debian bei einer apache2 Installation apxs2

simcard
Posts: 19
Joined: 2005-08-22 19:29

Re: mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 21:34

ok... Vielen Dank aubergine :) :)
/usr/local/src/mod_evasive# apxs2 -i -a -c mod_evasive20.c
/usr/bin/libtool --silent --mode=compile gcc -prefer-pic -pipe -I/usr/include/xmltok -I/usr/include/openssl -Wall -O2 -DAP_HAVE_DESIGNATED_INITIALIZER -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -pipe -I/usr/include/xmltok -I/usr/include/openssl -Wall -O2 -pthread -I/usr/include/apache2 -I/usr/include/apr-0 -I/usr/include/apr-0 -I/usr/include -c -o mod_evasive20.lo mod_evasive20.c && touch mod_evasive20.slo
mod_evasive20.c: In function `create_hit_list':
mod_evasive20.c:118: warning: control reaches end of non-void function
mod_evasive20.c: In function `access_checker':
mod_evasive20.c:212: warning: implicit declaration of function `getpid'
mod_evasive20.c:212: warning: long int format, int arg (arg 3)
mod_evasive20.c: In function `destroy_hit_list':
mod_evasive20.c:301: warning: control reaches end of non-void function
/usr/bin/libtool --silent --mode=link gcc -o mod_evasive20.la -rpath /usr/lib/apache2/modules -module -avoid-version mod_evasive20.lo
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/bin/libtool' mod_evasive20.la /usr/lib/apache2/modules
/usr/bin/libtool --mode=install cp mod_evasive20.la /usr/lib/apache2/modules/
cp .libs/mod_evasive20.so /usr/lib/apache2/modules/mod_evasive20.so
cp .libs/mod_evasive20.lai /usr/lib/apache2/modules/mod_evasive20.la
cp .libs/mod_evasive20.a /usr/lib/apache2/modules/mod_evasive20.a
ranlib /usr/lib/apache2/modules/mod_evasive20.a
chmod 644 /usr/lib/apache2/modules/mod_evasive20.a
PATH="$PATH:/sbin" ldconfig -n /usr/lib/apache2/modules
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/apache2/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 644 /usr/lib/apache2/modules/mod_evasive20.so
[activating module `evasive20' in /etc/apache2/httpd.conf]
:/usr/local/src/mod_evasive#
ich probier mal weiter...

simcard
Posts: 19
Joined: 2005-08-22 19:29

Re: mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 21:55

ok noch eine letzte Frage :(
Für den symlink steht in einem tutorial, man solle a2enmod evasive ausführen...
:~# a2enmod evasive
This module does not exist!
:~# a2enmod mod_evasive
This module does not exist!

:~# locate evasive
/etc/apache2/conf.d/mod_evasive.conf
/usr/lib/apache2/modules/mod_evasive20.so
[...]
Wenn ihr mir das noch sagt wäre ich glücklich :)

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: mod_evasive Installation klappt nicht

Post by Roger Wilco » 2007-01-16 22:06

Damit a2enmod funktioniert, muss eine entsprechende Datei unter /etc/apache2/mods-available/ existieren.

simcard
Posts: 19
Joined: 2005-08-22 19:29

Re: mod_evasive Installation klappt nicht

Post by simcard » 2007-01-16 22:34

okay... Er ist nun soweit installiert, aber scheint nicht richtig zu funktionieren? Eben ging die test.pl nicht, nun kommen dauernd
:/usr/local/src/mod_evasive# perl test.pl
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
HTTP/1.1 302 Found
Verbindungsaufbau abgelehnt at test.pl line 12.
mod_evasive sollte aber korrekt installiert sein...
:~# locate evasive
/etc/apache2/conf.d/mod_evasive.conf
/etc/apache2/mods-available/evasive.conf
/etc/apache2/mods-available/evasive.load
/etc/apache2/mods-enabled/evasive.conf
/etc/apache2/mods-enabled/evasive.load
/usr/lib/apache2/modules/mod_evasive20.so
/usr/local/src/mod_evasive
/usr/local/src/mod_evasive_1.10.1.tar.gz
/usr/local/src/mod_evasive/CHANGELOG
/usr/local/src/mod_evasive/.cvsignore
/usr/local/src/mod_evasive/.libs
/usr/local/src/mod_evasive/.libs/mod_evasive20.a
/usr/local/src/mod_evasive/.libs/mod_evasive20.la
/usr/local/src/mod_evasive/.libs/mod_evasive20.lai
/usr/local/src/mod_evasive/.libs/mod_evasive20.o
/usr/local/src/mod_evasive/.libs/mod_evasive20.so
/usr/local/src/mod_evasive/LICENSE
/usr/local/src/mod_evasive/Makefile.tmpl
/usr/local/src/mod_evasive/mod_evasive20.c
/usr/local/src/mod_evasive/mod_evasive20.la
/usr/local/src/mod_evasive/mod_evasive20.lo
/usr/local/src/mod_evasive/mod_evasive20.o
/usr/local/src/mod_evasive/mod_evasive20.slo
/usr/local/src/mod_evasive/mod_evasive.c
/usr/local/src/mod_evasive/mod_evasiveNSAPI.c
/usr/local/src/mod_evasive/README
/usr/local/src/mod_evasive/test.pl
Inhalt der evasive.load
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
Inhalt der evasive.conf
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
DOSEmailNotify *****@web.de
</IfModule>
Hat da noch jemand eine Idee? Die DDoS wird dementsprechend auch nicht geblockt und die Seiten laden nachwievor nicht.. :(

Edit: komisch ist ja auch
:~# apache2ctl stop
[Tue Jan 16 22:44:14 2007] [warn] module evasive20_module is already loaded, skipping
:cry: