apxs2

Blader

New Member
Tach.

Ich bin gerade dabei zu versuchen den mod_security einzubauen für Apache2. Ich halte mich an diese Anleitung: |-|4(|{2134r|\| Howto Apache2 mit mod-evasive(1.10.1) und mod-security(2.5.7)

Bei dem Punkt "Modsecurity bauen und installieren" hängts bei mir und ich komme nicht weiter.
Dort steht ja folgendes:
Für Apache2 muss zwingend apxs2 benutzt werden und nicht apxs um das Modul zu bauen! Apxs ist für Apache 1.3!

Ok, ich benötige also apxs2 damit ich den Mod installieren bzw. compilieren kann.

Darunter steht ja das man das hier ausführen soll:

Code:
./configure --with-apxs=/usr/bin/apxs2

Was auch immer das bewirkt, es tuts bei mir nicht, kommt folgende Meldung:

Code:
-bash: ./configure: No such file or directory

Bin grad etwas ratlos. Ich hab verstanden das ich apxs2 benötige aber wo ich das herbekomme bzw. es verwenden kann ist mir nicht ganz klar.

Mfg Blader
 
Hallo,
Darunter steht ja das man das hier ausführen soll:
Bist du auch im richtigen Verszeichnis?
Code:
cd /usr/local/src/modsecurity-apache_2.5.7
Was auch immer das bewirkt, es tuts bei mir nicht
Du tippst wild Befehle ein, ohne zu wissen was sie bedeuten? Das ist wie: Auf der Strasse mit ner Pistole rumzuschießen ohne zu wissen was eine Pistole ist ;)
 
Edit://

Seh grad das in der Anleitung ein Fehler ist. Es ist nicht das Verzeichnis

Code:
cd /usr/local/src/modsecurity-apache_2.5.7

sondern

Code:
cd /usr/local/src/modsecurity-apache_2.5.7/apache2

Dort hab ich den Befehl jetzt ausgeführt.

Läuft auch ganz gut durch, aber zum Schluss erscheinen 2 Meldungen:

Code:
configure: looking for Apache module support via DSO through APXS
configure: error: couldn't find APXS

Heißt apxs ist gar nicht drin und ich kann immer noch nicht weiter machen?

Du tippst wild Befehle ein, ohne zu wissen was sie bedeuten? Das ist wie: Auf der Strasse mit ner Pistole rumzuschießen ohne zu wissen was eine Pistole ist ;)

Ja, ich weiß. :o
Ich nehme mal an das der apache irgendwie dazu veranlasst apxs2 anstatt apxs zu verwenden zum kompilieren oder sowas in der Art. Ich bin schon ganz verrückt vom Googlen, da bleibt manches nun mal auf der Strecke. :D

Gruß Blader
 
Last edited by a moderator:
Fehler in der Anleitung... Anleitung korrigiert!

Hallo miteinander :D

Erst mal stelle ich mich vor: FatalSysError, Mitbetreiber von |-|4(|{2134r|\|

Zweitens: Danke ich Euch beiden für das Lesen des Blog Beitrag von meinem Kollegen griesgram.

Nun zur Anleitung:
Leider haben sich ein paar Fehler in die Anleitung hineingschlichen :eek:

Beim Punkt: Modsecurity bauen und installieren;
Wie Blade bereits herausgefunden hat, stimmt die Angabe des Verzeichnis nicht. Ich habe mich sogleich um die Korrekturen gekümmert ;)

Hier die Änderungen:
Auszug aus dem Blog Beitrag...

//...
Modsecurity

modsecurity (2.5.7) herunterladen und entpacken

Code:
cd /usr/local/src wget http://www.modsecurity.org/download/modsecurity-apache_2.5.7.tar.gz

Code:
tar xvzf modsecurity-apache_2.5.7.tar.gz

Modsecurity bauen und installieren

Nun wechseln wir in das entpackte Verzeichnis, um genau zu sein, in dessen Unteverzeichnis:
Code:
cd modsecurity-apache_2.5.7/apache2

Nun die Datei configure ausführbar machen:
Code:
chmod a+x ./configure

Für Apache2 muss zwingend apxs2 benutzt werden und nicht apxs um das Modul zu bauen! Apxs ist für Apache 1.3!
Code:
./configure --with-apxs=/usr/bin/apxs2

Code:
make

Code:
make test

Code:
make install
...//

Den Rest der Anleitung findet man ja auf dem Blog :p

Wer mehr Antworten benötigt, oder wissen möchte, wie man gezielt nach Paketen sucht, und somit selbst zur Lösung finden kann, der sollte hier unbedingt weiterlesen ;)

Nun zu den Fragen von Blade:

Bin grad etwas ratlos. Ich hab verstanden das ich apxs2 benötige aber wo ich das herbekomme bzw. es verwenden kann ist mir nicht ganz klar.

Normalerweise sucht man zuerst mit dem bevorzugten Paketmanager nach dem gesuchten Paket:

Code:
apt-cache search apxs2

oder

Code:
aptitude search apxs2

Sollte man nichts finden, so sollte man die Suche auf das Internet und diverse Suchmaschinen ausweiten. Hier ein paar Beispiele:

debian Paketsuche
ganz einfach: Debian -- Packages
Hier gibts mehrere Möglichkeiten zum Suchen: Paket-Listen anzeigen, Durchsuchen der Paket-Verzeichnisse oder Durchsuchen des Inhalts von Paketen

Hier habe ich zum Beispiel mit Durchsuchen der Paket-Verzeichnisse nach Beschreibung in allen Distributionen nach apxs2 gesucht:
Debian -- Package Search Results -- apxs2

RPM Suchmaschinen
Ich persönlich benutze rpmseek.com
Wichtig: Sollte die Suche nach dem Paketname nichts bringen, sollte man mit den verschiedenen Such-Option suchen zBsp: Paket enthält die Datei

google - dein Such-Freund
Bei google lohnt es sich unter genauer Angabe des Betriebssystems, Version und dem gewünschten Paket zu suchen. Für debian lenny und apxs2 zum Beispiel, einfach bei google nacheinander eintippen: debian lenny apxs2

Das sollte dann so aussehen:
google.de Suchresultate

Gleich das erste Suchresultat führte bei der obigen Suche mit google ungefähr zur gleichen gewünschten Information woher man apxs2 bekommt, respektive in welchen Paketen es vorkommt:
klick mich

Nun kommt es nur noch darauf, ob man:
Code:
apache2-mpm-prefork - Apache HTTP Server - traditionelles non-threaded-Modell

oder:
Code:
apache2-mpm-worker - Apache HTTP Server - Thread-Ausführung mit hoher Performance

installiert hat.
Entsprechend der Installation muss man entweder:
Code:
apache2-prefork-dev - Apache development headers - non-threaded MPM

oder:
Code:
apache2-threaded-dev - Apache development headers - threaded MPM

installieren. Wenn nun das entsprechende Paket nachinstalliert wurde, kann man mit:
Code:
find / -name "apxs2"

oder:
Code:
locate apxs2

den korrekten Pfad, welchen man für die weitere Konfiguration und zum bauen des Moduls benötigt, herausfinden. Dies wird auch beim Punkt: Modsecurity bauen und installieren mit folgendem Befehl gemacht:
Code:
./configure --with-apxs=/usr/bin/apxs2

Nächste Frage:
Läuft auch ganz gut durch, aber zum Schluss erscheinen 2 Meldungen:

Code:
configure: looking for Apache module support via DSO through APXS
configure: error: couldn't find APXS

Heißt apxs ist gar nicht drin und ich kann immer noch nicht weiter machen?

Sollte nun beantwortet sein, ansonsten den oberen Abschnitt nochmals lesen :D

Nächste Frage:
Ich nehme mal an das der apache irgendwie dazu veranlasst apxs2 anstatt apxs zu verwenden zum kompilieren oder sowas in der Art. Ich bin schon ganz verrückt vom Googlen, da bleibt manches nun mal auf der Strecke.

Gruß Blader

Nun, das Thema mit dem googlen haben wir ja bereits geklärt. Bei deiner Annahme mit apache und apxs / apxs2 ist genau umgekehrt, die Antwort steht sozusagen in der Fehlermeldung von oben:
apxs = Apache 1.3
apxs2 = Apache2

Wenn man wie oben beschrieben vorgeht, sollte anstatt der Fehlermeldung folgendes stehen:

Code:
configure: looking for Apache module support via DSO through APXS
configure: found apxs at /usr/bin/apxs2

Danach sollte dem Kompilieren nichts mehr im Wege stehen und man kann mit der Anleitung bei dem Punkt Modsecurity Modul konfigurieren weiter machen :cool:

Nun dann, wir (griesgram und FatalSysError) bedanken uns nochmals für's Lesen des Blog Beitrages und für den Pingback, ohne den wir den Fehler nicht gefunden hätten! :o

Gruss FatalSysError
 
Danke erstmal für deine ausführliche Antwort. Gerade mir als Server Neuling hast du einige sehr nützliche Hinweise gegeben die ich später sicher noch brauchen kann. :)

Also ich hab geschaut, ich hab Apache Prefork. Wenn ich jetzt diesen Befehl hier ausführe:

Code:
apache2-prefork-dev - Apache development headers - non-threaded MPM

Kann es da passieren das er mir mein apache zerschiesst? Den ich hab nen Forum auf dem Server laufen, das wäre äusserst ungünstig. Oder kann ich den Befehl ohne bedenken ausführen?

Gruß Blader
 
Ähm....
Das:
Code:
apache2-prefork-dev - Apache development headers - non-threaded MPM
ist kein Befehl...das ist ein Packet....

Code:
apt-get install apache2-prefork-dev
wäre ZUM BEISPIEL ein Befehl.

Du solltest niemals etwas auf einem Produktivsystem testen.
 
Achtung, kein Befehl....

Hallo Blade,

kein Problem, dafür ist unser Blog auch gedacht :D

Achtung; Hierbei handelt es sich nicht um Befehle:

apache2-prefork-dev - Apache development headers - non-threaded MPM
apache2-threaded-dev - Apache development headers - threaded MPM

sondern um die (Teil-)Ausgabe von aptitude auf den Befehl:

Code:
aptitude search apache2

Das hätte ich evt. nicht im Code Format schreiben sollen :o

Normalerweise sollte es schon reichen, wenn du das Paket apache2-dev installiert hast, was du mit folgendem Befehl tun kannst:

Code:
aptitude install apache2-dev

Zu deiner Frage, ob du mit den Befehlen deinen apache Server zerschiessen kannst, böse gesagt: wenn man nicht weiss, was man tut, dann kann es sicher passieren!

Da du ein Forum erwähnt hast, welches sich auf dem Server befindet, nehme ich an, dass es sich hierbei um ein produktives System handelt...

Man sollte nie etwas in einem produktiven System testen, schon gar nicht ohne das doch so oft vergessene Backup!


Beachte bitte auch, dass mod_security2 nur so gut ist, wie man es einstellt bzw. konfiguriert hat. Wenn man es falsch konfiguriert, kann es sein, dass diverse Webapplikationen, zu dem dein Forum auch gehört, nicht mehr funktionieren, respektive (Fehl-)Alarme auslösen und somit der Zugriff verhindert oder die Funktionalität beinträchtigt wird.

Gruss FatalSysError
 
Last edited by a moderator:
Mhm ok. Kann man den mod_evasives auch einzelnt installieren? Den gänzlich ungeschützt möchte ich meinen Server ungern lassen. Zumal ich weiß das hin und wieder ddos Attacken stattfinden.

Gruß Blader
 
Last edited by a moderator:
Das ist schön zu hören. ;)

Nur eines Frag ich mich. Bei der Anleitung, wird ja auch beschrieben wie man den Mod evasive einbaut. Das sollte ja eigentlich nicht so das Problem sein, da dort keine Sachen installiert werden die richtig in die Kern Programme eingreifen die ich verwende. Nur irgendwie verstehe ich diesen Schritt nicht unter "Mod Evasive konfigurieren":

Code:
Nun müssen wir noch eine Datei erstellen um das Modul später laden zu können

vim mod_evasive.load

Fügt folgende Zeile ein:

[B][COLOR="Red"]LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so[/COLOR][/B]

Warum soll ich den dort den mod_security2 laden? Das versteh ich jetzt ja überhaupt nicht. Ich denke der mod evasive soll eingebaut werden oder bezieht sich die Anleitung darauf das man beides einbaut und irgendwie miteinander verknüpft?

Ich hoffe ich treibe euch mit meinen Fragen nicht in den Wahnsinn... :p

Gruß Blader
 
Bin auch gerade am Kämpfen und mir wirft configure mit aspx2 diesen Fehler aus:
Code:
vServer1:~/modsecurity-apache_2.5.9/apache2# ./configure --with-apxs=/usr/bin/apxs2
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for perl... /usr/bin/perl
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint8_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for atexit... yes
checking for fchmod... yes
checking for getcwd... yes
checking for memset... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtol... yes
configure: looking for Apache module support via DSO through APXS
configure: found apxs at /usr/bin/apxs2
configure: checking httpd version
configure: httpd is recent enough
checking for libpcre config script... /usr/bin/pcre-config
configure: using '-L/usr/lib -lpcre' for pcre Library
checking for libapr config script... /usr/bin/apxs2
apxs:Error: Unknown option: -.
apxs:Error: Unknown option: -.
apxs:Error: Unknown option: f.
apxs:Error: Unknown option: -.
apxs:Error: Unknown option: f.
Usage: apxs -g [-S <var>=<val>] -n <modname>
       apxs -q [-S <var>=<val>] <query> ...
       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
               [-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
               [-Wl,<flags>] [-p] <files> ...
       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
apxs:Error: Unknown option: -.
Usage: apxs -g [-S <var>=<val>] -n <modname>
       apxs -q [-S <var>=<val>] <query> ...
       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
               [-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
               [-Wl,<flags>] [-p] <files> ...
       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
apxs:Error: Unknown option: -.
Usage: apxs -g [-S <var>=<val>] -n <modname>
       apxs -q [-S <var>=<val>] <query> ...
       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
               [-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
               [-Wl,<flags>] [-p] <files> ...
       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
apxs:Error: Unknown option: -.
Usage: apxs -g [-S <var>=<val>] -n <modname>
       apxs -q [-S <var>=<val>] <query> ...
       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
               [-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
               [-Wl,<flags>] [-p] <files> ...
       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
configure: *** apr library not found.
configure: error: apr library is required
vServer1:~/modsecurity-apache_2.5.9/apache2#
Bin für jede Hilfe dankbar!

Verwende Debian Lenny
 
Last edited by a moderator:
Hey,

bin auch gerade dabei das zu installieren bekomme aber auch:L

Code:
configure: *** apr library not found.
configure: error: apr library is required

Habe das Paket

libapr2-dev

installiert, allerdings hat dies nichts geholfen...

Bitte um Hilfe

LG
 
Hast Du nach dem Installieren des dev-Pakets mal "ldconfig" aufgerufen?

Ansonsten produziert configure eine Datei "config.log", die verrät, was genau nicht funktioniert hat. Ohne diese Informationen ist die Fehlersuche sinnlos, bzw. reines Rätselraten.
 
So ich habe es nun neugemacht nun ging alles..

Allerding wenn ich das mit dme Test mache wird mir keine Fehlerseite angezeigt und ich werde nicht geloggt...

Ich habe das Modul aber gestartet..

Woran kann das liegen?
 
Back
Top