Angriffen auf Webserver geht zumeist ein mehr oder weniger automatisiertes Herumprobieren voraus, mit welchem die Angreifer nach verwundbarer Software suchen. Das kann man nutzen um solche Angriffe abzuwehren.
Ich selbst benutze auf meinem Server ein kleines, selbst geschriebenes Skript und die Datei .htaccess um solche Angriffe zu erkennen und die Angreifer vorsorglich zu sperren. Um bestimmte Dienste auszunehmen arbeite ich dabei mit einer whitelist. Kommen solche vermeintlichen Angriffsvorberitungen von einer bestimmten Adresse, oder einem bestimmten Adressbereich, dann wird derjenige, der den Abruf tätigt (das kann auch ein Robot oder Bot sein) darauf hingewiesen,eine Sperrung erfolgt aber nicht.
Geschrieben ist dies in PHP für den Apache Webserver auf Linux. Bitte seien Sie vorsichtig, Sie könnten sich selbst aussperren, wenn Sie sich selbst nicht in die whitelist aufgenommen haben. Im Übrigen können Sie sich per E-Mail informieren lassen, wenn eine IP gesperrt wird.
1. Die Datei " ___honeypot.php":
Diese biete ich zum Download an.
Die Datei mit den "whitelist"-Einträgen:
Dies sind IP-Adressen in folgenden Formen:
192.168.10.10 # Einzelne IP-Adresse 192.168.10.1 - 192.168.10.10 # Bereich von - bis 192.168.10.1/255.255.255.0 # IP-Adresse und Netzwerkmaske 192.168.10.1/24 # IP-Adresse und Netzwerkmaske
2. Beispiel der Datei "___honeypot_whitlelist.txt"
# Dieser Server: 81.28.232.70 127.0.0.1 #Google: 66.249.64.1/19 216.239.32.0-216.239.63.255 64.68.80.0 - 64.68.87.255 66.102.0.0 - 66.102.15.255 64.233.160.0 - 64.233.191.255 66.249.64.0 - 66.249.95.255 72.14.192.0 - 72.14.255.255 209.85.128.0 - 209.85.255.255 198.108.100.192 - 198.108.100.207 173.194.0.0 - 173.194.255.255 216.33.229.144 - 216.33.229.151 216.33.229.160 - 216.33.229.167 209.185.108.128 - 209.185.108.255 70.32.128.0 - 70.32.159.255 216.109.75.80 - 216.109.75.95 64.68.88.0 - 64.68.95.255 64.68.64.64 - 64.68.64.127 64.41.221.192 - 64.41.221.207 74.125.0.0 - 74.125.255.255
Hinzu kommen Einträge in der Datei .htaccess oder der Serverkonfiguration, mit denen sichergestellt wird, dass bei einem Angriffsversuch auch das Skript (Programm) "___honeypot.php" ausgeführt wird:
3. Einträge in Datei ".htaccess"
### # Rules for Honeypot ### # Dirs RewriteRule ^admin/(.*)$ ./___honeypot.php [L] RewriteRule ^admin$ ./___honeypot.php [L] RewriteRule ^wp-admin/(.*)$ ./___honeypot.php [L] RewriteRule ^wp-admin$ ./___honeypot.php [L] RewriteRule ^noxdir/(.*)$ ./___honeypot.php [L] RewriteRule ^noxdir$ ./___honeypot.php [L] RewriteRule ^phpMyAdmin/(.*)$ ./___honeypot.php [L] RewriteRule ^phpMyAdmin$ ./___honeypot.php [L] RewriteRule ^phpmyadmin/(.*)$ ./___honeypot.php [L] RewriteRule ^phpmyadmin$ ./___honeypot.php [L] RewriteRule ^pma/(.*)$ ./___honeypot.php [L] RewriteRule ^pma$ ./___honeypot.php [L] RewriteRule ^PMA/(.*)$ ./___honeypot.php [L] RewriteRule ^PMA$ ./___honeypot.php [L] RewriteRule ^xampp/(.*)$ ./___honeypot.php [L] RewriteRule ^xampp$ ./___honeypot.php [L] RewriteRule ^vhcs2/(.*)$ ./___honeypot.php [L] RewriteRule ^vhcs$ ./___honeypot.php [L] RewriteRule ^mysql/(.*)$ ./___honeypot.php [L] RewriteRule ^mysql$ ./___honeypot.php [L] RewriteRule ^myadmin/(.*)$ ./___honeypot.php [L] RewriteRule ^myadmin$ ./___honeypot.php [L] RewriteRule ^mysqldumper/(.*)$ ./___honeypot.php [L] RewriteRule ^mysqldumper$ ./___honeypot.php [L] RewriteRule ^db/(.*)$ ./___honeypot.php [L] RewriteRule ^db$ ./___honeypot.php [L] RewriteRule ^mysqldump/(.*)$ ./___honeypot.php [L] RewriteRule ^mysqldump$ ./___honeypot.php [L] RewriteRule ^msd/(.*)$ ./___honeypot.php [L] RewriteRule ^msd$ ./___honeypot.php [L] RewriteRule ^backup/(.*)$ ./___honeypot.php [L] RewriteRule ^backup$ ./___honeypot.php [L] RewriteRule ^dmpr/(.*)$ ./___honeypot.php [L] RewriteRule ^dmpr$ ./___honeypot.php [L] RewriteRule ^websql/(.*)$ ./___honeypot.php [L] RewriteRule ^websql$ ./___honeypot.php [L] RewriteRule ^sqlweb/(.*)$ ./___honeypot.php [L] RewriteRule ^sqlweb$ ./___honeypot.php [L] RewriteRule ^sqlmanager/(.*)$ ./___honeypot.php [L] RewriteRule ^sqlmanager$ ./___honeypot.php [L] RewriteRule ^mysqlmanager/(.*)$ ./___honeypot.php [L] RewriteRule ^mysqlmanager$ ./___honeypot.php [L] RewriteRule ^typo3/(.*)$ ./___honeypot.php [L] RewriteRule ^typo3$ ./___honeypot.php [L] RewriteRule ^horde/(.*)$ ./___honeypot.php [L] RewriteRule ^horde$ ./___honeypot.php [L] #Files RewriteRule proxyheader.php(.*)$ ./___honeypot.php [L] RewriteRule judge.php(.*)$ ./___honeypot.php [L] RewriteRule ip.php(.*)$ ./___honeypot.php [L] RewriteRule proxy-1.php(.*)$ ./___honeypot.php [L] RewriteRule uploadify.php(.*)$ ./___honeypot.php [L]
Den Honeypot habe ich auf Grund meiner Erfahrungen mit ähnlichen Versuchen just eines großen und ziemlich unverschämt agierenden Mitbewerbers programmiert und eingerichtet. Natürlich muss womöglich Einiges an Ihre Gegebenheiten angepasst werden. Dabei helfe ich jedoch gern und günstig.