(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
Code: Alles auswählen
#!/bin/sh -e
#
# rc.local
#CCcam watchdog (start)
/usr/bin/cccam-watchdog.sh &
exit 0