fail2ban alternative für Receiver

feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

fail2ban alternative für Receiver

Beitrag von feissmaik »

Stammt von einem anderen Forum aber selber bisher UNGETESTET!
(wurde von mir aber auch schon leicht überarbeitet)


Für alle die einen Receiver als CS-Server nutzen aber sich sowas wie fail2ban nicht installieren können, gibt es evtl. auch noch die Möglichkeit eine Alternative zu nutzen um trotzdem "illegal user" aussperren zu können...

Allerdings hat das ganze den Nachteil das man sich die Ausgabe von zb CCcam direkt in ein eigenes Logfile schreiben lassen muss und dieses Logfile kann mit der Zeit ziemlich gross werden und leider hat CCcam kein logrotation so wie OScam :(


Also wir brauchen 2 Scripts: eins zum überwachen des Prozesses und über das wird dann auf das 2. illegal-users.sh zugegriffen...

cccam-watchdog.sh:

Code: Alles auswählen

#!/bin/bash

CCcamBIN="CCcam_2.2.1"
CCcamPATH="/usr/bin"
CCcamLog="/tmp/cccam.debug.txt"
illegalscript="/usr/bin/illegal-users.sh"

while true; do
	if ps | grep -v grep | grep -c $CCcamBIN >/dev/null
	then
		$illegalscript &
	else
		date=`date +"%d.%m.%Y %H:%M:S"`
		echo "$date: ***** CCcam re-start *****" >>/tmp/cccam.restart.log
		sleep 1
		echo "$date: ***** CCcam re-start *****"
		$CCcamPATH/$CCcamBIN -dv >>$CCcamLog &
	fi
	strHour="23"; strMin="58"; DateSTR=`date +%H%M%S`
	if [ "$DateSTR" -ge "$strHour$strMin"00 ] && [ "$DateSTR" -le "$strHour$strMin"10 ]; then
		rm -rf /tmp/cccam.*.log
	fi
done

exit 0

illegal-users.sh

Code: Alles auswählen

#!/bin/bash
########################################
## ATTACK IP BAN SCRIPT FOR DREAMBOX  ##
## BY CEREMY                          ##
## Thanks to Unlocker-AL              ##
########################################

RouteBIN="/sbin/route"
CCcamLog="/tmp/cccam.debug.txt"

cat $CCcamLog | grep illegal >/tmp/cccam.illegaluser.log
grep 'illegal' /tmp/cccam.illegaluser.log | awk -F " " '{print $7}' | grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' >/tmp/cccam.badIP.out
awk '
{s[$0]++}
END {
for(i in s) {
if(s[i]>1) {
print i
}
}
}' /tmp/cccam.badIP.out >/tmp/cccam.badIP.block

while IFS= read -r EachLine; do
	$RouteBIN add -host $EachLine reject
	echo " $EachLine : ***** IP BANNED! ***** " >> /tmp/cccam.ban.log
done </tmp/cccam.badIP.block
rm -f /tmp/cccam.badIP.*
> /tmp/cccam.debug.txt

exit 0
Dann wird nurnoch das cccam-watchdog.sh Script in die /etc/rc.local eingetragen:

Code: Alles auswählen

#!/bin/sh -e
#
# rc.local

#CCcam watchdog (start)
/usr/bin/cccam-watchdog.sh &

exit 0
Du musst nicht kämpfen um zu siegen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast