Honeypot IP Tables Konfiguration

Hallo,

Hast Du (im Gegensatz zu Firewire2002) vielleicht einen 32-bit-Kernel?
Siehe:
Frage2: 32 und 64bit System ist jetzt kein Unterschied, wenn ich Whistler richtig verstanden hab? :confused:
Und:
Solang dein Kernel mit einer Timer Frequency von 250 HZ arbeitet, ja. ;)
Ansonsten darfst neu rechnen. :p
Also ja ich hab 32 Bit, aber wie gesagt: Ich dachte das macht keinen Unterschied, deswegen hab ich ja gefragt.
 
Last edited by a moderator:
Öhm naja, Uptime größer als 28Tage? ;)
Überlauf des 32Bit Long Typs musst dann auch beachten. Hatte ich aber geschrieben gehabt. ;)
 
Öhm naja, Uptime größer als 28Tage? ;)
Überlauf der des 32Bit Long Typs musst dann auch beachten. Hatte ich aber geschrieben gehabt. ;)
Code:
22:35:16 up 10 days,  7:36,  1 user,  load average: 0.52, 0.32, 0.27

Komm...geb einfach zu, dass du falsch gerechnet hast :D
 
Wegen der komischen Initialisierung laufen die jiffies schon 5 Minuten nach dem Boot über.

Du solltest jetzt irgendwo bei 222840000 sein.

Ich denke, in das Plugin muß noch etwas in der Art
Code:
JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} % 4294967296" | bc)

Die Zahl ist ULONG_MAX + 1 (2^32 bei Dir).
 
Hier mal das relevante Teil mit den Änderungen von Whistler:
Code:
JIFFIE_TIMEOUT=$(echo "$(cat /proc/uptime | awk '{printf("%d\n",$1+=$1<0?-0.5:0.5)}') - ${TIMEOUT}" | bc)
        JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} * ${HZ}" | bc)
        JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} + ${JIFFIE_INITIAL}" | bc)
        JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} % 4294967296" | bc)
So komme ich zumindest schonmal auf den Wert "2" im Moment. :)
 
Es zeichnet sich jetzt jedenfalls schon ein anderes Bild ;)
 

Attachments

  • de-iptables-day.png
    de-iptables-day.png
    22 KB · Views: 129
Es geht Berg auf und Berg ab. Also würd ich mal sagen ja. ;)

Edit: Achso du meinst das Script. :)
Öhm noja, aufm ersten Blick siehts ok aus, hatte aber noch nicht die Zeit da drüber nachzudenken. Bin die letzten Stunden etwas im Stress.
 
Ich denke nicht, dass das Modulo mit dem Initial-Wert der richtige Ansatz ist.
Weil er bei einem Wraparound ja bei 0 Anfängt und nicht "5 Minuten" vor 0. (Man entschuldige mir diesen Misch von Einheiten. Wer den Thread gelesen hat weiß was ich mein. :D)

Hab mal bisschen gesucht wie der Linux Kernel das handhabt und bin da fündig geworden: Linux-Kernel-Handbuch - Google Buchsuche

Das Makro time_after mit dem Timout als "known" Wert und dem Jiffie Wert von ipt_recent als "unknown" dürfte das richtige Ergebnis bringen.
Allerdings casten die vorher nach (signed) long. Bei dem mir spontan nichts einfällt, wie man das in der Bash einfach realisieren könnte. Der Bash sind die Datentypen ja so ziemlich egal. :)
 
Mal ne kurze Frage:

Die erste Version des Plugins für Munin zeigt bei mir was an, aber NUR die portscans
Die überarbeitete Version zeigt immer NULL

Die Befehle an sich geben aber die korrekten Werte aus...

Hat jemand eine Idee woran dies liegen könnte?
 
Für 64 Bit sollte es dieses Script tun:
Code:
#!/bin/bash
function get_ipt_recent () {
	TIMEOUT=${2}
	HZ=250
	RECENT_TABLE=${1}
	JIFFIE_INITIAL=4294892296

	pscan=0

	JIFFIE_TIMEOUT=$(echo "$(cat /proc/uptime | awk '{printf("%d\n",$1+=$1<0?-0.5:0.5)}') - ${TIMEOUT}" | bc)
	JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} * ${HZ}" | bc)
	JIFFIE_TIMEOUT=$(echo "${JIFFIE_TIMEOUT} + ${JIFFIE_INITIAL}" | bc)

	cat ${RECENT_TABLE} | {
	while read x x x x LAST_SEEN x; 
	do 
		if [ "${LAST_SEEN}" -ge "${JIFFIE_TIMEOUT}" ]; then
			pscan=$(echo "${pscan} + 1" | bc)
		fi
	done
	echo $pscan; }
}


if [ "$1" = "autoconf" ]; then
	echo yes 
	exit 0
fi

if [ "$1" = "config" ]; then
	echo 'graph_title Number of IPTables on System'
	echo 'graph_args --base 1000 -l 0 '
	echo 'graph_vlabel number of rules'
	echo 'graph_category Network'
	echo 'graph_order iptrulesnumstatic iptrulesnumdrop iptrulesnumpscan'
	echo 'graph_info This graph shows the number of Iptables Rules on System.'
	echo 'iptrulesnumstatic.label Static Rules'
	echo 'iptrulesnumstatic.draw AREA'
	echo 'iptrulesnumdrop.label Drop Rules'
	echo 'iptrulesnumdrop.draw STACK'
	echo 'iptrulesnumpscan.label Port Scans'
	echo 'iptrulesnumpscan.draw STACK'	
	exit 0
fi

drop=`iptables -L -n | grep -e "^DROP.*" | wc -l`
static=`iptables -L -n | grep -v Chain | grep -v -e "target.*prot.*opt.*source.*destination" | grep -v -e "^$" | wc -l`
static=`echo "${static}-${drop}" | bc`

echo "iptrulesnumstatic.value ${static}"
echo "iptrulesnumdrop.value ${drop}"
echo "iptrulesnumpscan.value $(get_ipt_recent "/proc/net/ipt_recent/portscan" "28800")"

Vielleicht hast du gar keine Portscans, wenn keine angezeigt werden?! Läuft Honeypot? ;)
 
Hehe das wäre schön, aber wenn ich in die Datei schaue, wächste diese stetig weiter...

Das Plugin von Seite 1 dieses Threads wertet zumindest die Portscans ja auch aus, aber zählt halt nur immer weiter hoch.

Der Rest wird gar nicht angezeigt (static & drop)

Und die Version, die du auch nochmal genannt hast zeigt nada :-/
 
Aber Honeypot ist eingerichtet?

Dann hat Firewire sich auch im 64bit Kernel wohl mit der Berechnung geirrt ;)
 
Nunja, zum Teil scheint es ja Ergebnisse zu liefern, aber die jiffies finde ich echt mal schlimm ;-)
Wer heute Abend vermutlich nochmal drüber grübeln.
Hatte nur gehofft, es gäb schon ne Lösung ;-)
 
Ja moment. Meint Munin nun, dass da keine Werte ankommen oder liefern die Scripte schon keine Werte?
Poste doch mal bitte die Ausgabe, wenn du das Plugin von Hand auf der Console ausführst.
 
Oh mann
bc war nicht auf dem sys drauf und deshalb hat die Umwandlung der Werte nicht geklappt

Genau hingucken hilft manchmal, jetzt sollte es eigentlich laufen, dennoch verändert sich der Wert von static und drop nicht!

Muninzeigt null obwol das script Werte ausgibt.


Code:
iptrulesnumstatic.value 11
iptrulesnumdrop.value 4
iptrulesnumpscan.value 1
 

Attachments

  • Aufzeichnen.JPG
    Aufzeichnen.JPG
    76.9 KB · Views: 113
Back
Top