Automatisierte Vulnerability Scanns durch patchen der server-software vermeiden

Alle public internet  server sind pausenlos automatisierten Vulnerability Scanns ausgesetzt.

Die meisten automatisierten Scanner suchen gezielt nach bestimmter Server-Software & Versions-Nummer weil sie dafür einen Exploit haben.

Man kann die meisten automatisierten Scanner täuschen wenn man den Server-Software Namen und/oder die Versions-Nummer entfernt.

Es ist aber bei den meisten Server-Software Paketen nicht vorgesehen den Server-Software Namen zu ändern.

Wenn es bei einem Server-Software Paket nicht vorgesehen ist den Server-Software Namen zu ändern, bleiben einem nur die Möglichkeit den Sourcecode zu patchen und das Server-Software Paket neu zu compilieren (aufwendig) oder das Server-Software Paket Binary zu patchen.

Hier ist eine bequeme und zuverlässige Methode Server-Software Paket Binarys zu patchen:

Benötigte Software: Swiss File Knife http://sourceforge.net/projects/swissfileknife/
(nach /root/bin/sfk kopieren)

Beispiel für Apache2:
#/bin/sh
# echo echo "patching server-software" echo "========================" if ! [ -x /root/bin/sfk ] ; then echo "/root/bin/sfk fehlt" exit 1 fi if [ -e /usr/sbin/apache2 ] ; then echo "--------------------------------------------------------------------------" echo "'Apache' to 'httpsd'" # searchstring : $00 Apache $00 Apache/2.2 $00 # replacestring: $00 httpds $00 Apache/2.2 $00 BINSUCH="00417061636865004170616368652F322E3200" BINREPL="00687474707364004170616368652F322E3200" /root/bin/sfk rep /usr/sbin/apache2 -nodump -quiet -bin /$BINSUCH/$BINREPL/ >/dev/null if [ $? -eq 1 ] ; then /etc/init.d/apache2 stop ; killall -9 apache2 >/dev/null 2>&1 cp -a -L /usr/sbin/apache2 /root/apache2.bak /root/bin/sfk rep /usr/sbin/apache2 -dump -wide -bin /$BINSUCH/$BINREPL/ -yes /etc/init.d/apache2 start else echo " is already patched" fi fi
Beispiel für OpenSSH: (vorsicht, das funktioniert nicht wenn man über ssh eingeloggt ist)
#/bin/sh
# echo echo "patching server-software" echo "========================" if ! [ -x /root/bin/sfk ] ; then echo "/root/bin/sfk fehlt" exit 1 fi if [ -e /usr/sbin/sshd ] ; then echo "--------------------------------------------------------------------------" echo "'SSH-2.0-OpenSSH_5.' to 'SSH-2.0-OpenSSH '" # searchstring : "0command-line0SSH-2.0-OpenSSH_5." # replacestring: "0command-line0SSH-2.0-OpenSSH0 " BINSUCH="00636F6D6D616E642D6C696E65004F70656E5353485F352E" BINREPL="00636F6D6D616E642D6C696E65004F70656E535348002020" /root/bin/sfk rep /usr/sbin/sshd -nodump -quiet -bin /$BINSUCH/$BINREPL/ >/dev/null if [ $? -eq 1 ] ; then /etc/init.d/ssh stop ; killall -9 sshd >/dev/null 2>&1 cp -a -L /usr/sbin/sshd /root/sshd.bak /root/bin/sfk rep /usr/sbin/sshd -dump -wide -bin /$BINSUCH/$BINREPL/ -yes /etc/init.d/ssh start else echo " is already patched" fi fi
Die scripts sind natürlich nach jedem Update aufzurufen.

0 Kommentar(e)

Zum Posten von Kommentaren bitte