[DD-WRT] Snort (IDS) Problem

badday

Commander
Registriert
Sep. 2007
Beiträge
3.023
Moin zusammen,

ich versuche gerade snort auf meinem Router (WZR-HP-G300NH) zu installieren, der mit DD-WRT läuft.

Zunächst hatte ich das Problem, dass er kein Verzeichnis erstellen konnte von ipkg aus:
Code:
mkdir cannot create directory ' usr/local/lib ' read-only file system
und dass er wget eine offenbar nicht valide Option mitgab:
Code:
wget: unrecognized option `--passive-ftp'
Wie auch immer, ich habe dann jffs aktiviert und das ganze mal verschoben, indem ich ipkg auf /jffs sowie entsprechende Unterverzeichnise verschob und anschließend ipkg in der Art editierte, dass er auf diese Ordner-Struktur zurückgriff und die oben genannte Option bei wget wegließ.

Und siehe da: ipkg update läuft durch.

Im Anschluss noch:

Code:
root@DD-WRT:/jffs/usr/bin# ./ipkg -force-depends install snort
./ipkg: line 1184: sort: not found

Downloading http://downloads.openwrt.org/backports/rc5/snort_2.4.4-1_mipsel.ipk ...
Connecting to downloads.openwrt.org (78.24.191.177:80)
snort_2.4.4-1_mipsel 100% |************************************************************************************************************************************************************************************************************|   322k 00:00:00 ETA
Done.
./ipkg: line 1184: sort: not found
Unpacking snort...Done.
Configuring snort...Done.
Abgsehen von ./ipkg: line 1184: sort: not found soweit wenig auffällig. Auch die config-Dateien wurden innerhalb von /jffs/etc/snort erstellt und sehen valide aus.

Nur wenn ich nun versuche snort zu starten, erhalte ich:
Code:
root@DD-WRT:/jffs/usr/bin# snort
/jffs/usr/sbin/snort: line 8: syntax error: "(" unexpected
root@DD-WRT:/jffs/usr/bin#

Wäre hier gestanden, der syntax error beziehe sich auf eine config-Datei oder rule-Datei wäre mir das ja verständlich, aber demnach würde es sich ja auf die binary beziehen, oder?


Hat jemand eine Idee, was hier falsch läuft?



Danke & Gruß,


badday
 
Schau mal in die Snort.conf Zeile 8 es kann sein das du die Parameter für Snort auseditieren musst so war es zumindest bei der Standartinstallation das man die Parameter Datei bearbeiten musste um Snort lauffähig zu bekommen.
 
Für mich sieht es so aus, als ob er gar nicht erst in die .conf sehen würde, denn wenn ich
Code:
./snort -c trash
eingebe, gibt er den gleichen Fehler aus.

Sprich offensichtlich liegt das Problem im binary.


OK, ich habe das Problem lösen können. Offenbar war die binary, die ich benutzte nicht kompatibel mit meiner DD-WRT-Version. Hier der Lösungsansatz:

Von hier: http://ipkg.nslu2-linux.org/feeds/openwrt/8.09/mips/ snort herunterladen.
Nach dem Start wird er sich mehrmals über fehlende libs beschweren --> auf der Seite suchen und installieren, jeweils via
Code:
./ipkg install <url>
Danach wird er sich beschweren, dass ein Symbol (setjmp) nicht aufgelöst werden konnte; Lösung:
Die C-Standard-Library installieren von der oben genannten seite (uclibc_0.9.29-14.3_mips.ipk), anschließend LD_PRELOAD setzen via
Code:
export LD_PRELOAD=/jffs/lib/libuClibc-0.9.29.so

Nun sollte snort starten, etwa via
Code:
./snort -c <path_to_conf> -i br0


Keine Garantie, dass danach noch was funktioniert ;)



Gruß,

badday
 
Zurück
Oben