Wer unter Plesk die DDOS Deflate Extension von Admin-Ahead benutzt, steht vor dem Problem dass man keine Hostnamen, sondern nur feste IP Adressen auf die Whitelist setzen kann. Benutzt man z.B. einen DynIP-Host für externe Backups per LFTP oder ähnliche Programme, ist sehr schnell die max. Anzahl der Verbindungen erreicht und die eigene IP landet auf der Blacklist.

Das folgende Skript ermittelt aufgrund des DynIP-Namens die aktuelle IP-Adresse unseres Clients und trägt diese in die Whitelist der DDOS Deflate Extension unter Plesk ein:

#!/bin/bash
#
# ddos-whitelist.sh 1.0.1
#
# Adds dynip host to DDOS whitelist.
#
# (c)2017 Harald Schneider
#

HOSTNAME="domainname.no-ip.org"
WHITELIST="/usr/local/psa/admin/sbin/modules/aast-ddos/ignore.ip.list"

# Get current IP
#
IP=`dig $HOSTNAME a +short`

# Filter current hostname if already on whitelist
#
while read LINE
do
 if ! [[ " ${IP[*]} " == *"${LINE}"* ]]; then
     TMP+=${LINE}" "
 else
     echo "$HOSTNAME ($IP) already whitelisted."
 fi
done < <(cat ${WHITELIST})

# Add our IP
#
TMP=${TMP}" "${IP}

# Add LFs and replace old whitelist
#
echo $TMP| sed 's/ \+/\n/g' > ${WHITELIST}

echo "Added $HOSTNAME ($IP) to DDOS Whitelist."

Das Script wird anschliessend über den Taskplaner von Plesk eingebunden: