Blog

tags: software deutsch opensource apache firewall


14.Aug.2014 16:36 - zuletzt aktualisiert: 05.Jul.2020 12:34

Apache Server - Malware stoppen mit .htaccess blacklist

Neulich habe ich nach einer Lösung gesucht, wie man Spambots & Co auf meiner Website blocken kann. Dabei bin ich auf "Perishable Press" gestoßen.

Dort kann man unter Anderem eine Blacklist finden. Direkter Link: http://perishablepress.com/5g-blacklist-2013/
Hierbei handelt es sich um einen Ansatz, der wieder Mal die Stärken von Apache ausnutzt. Es wird per .htaccess Datei eine Blocklist aufgebaut, die bestimmte Requests blockiert. Genutzt werden dabei user agent, request string, query string, referrer und request method. Man kann auch händisch einzelne IP's blockieren.

Dies ist das Ergebnis von ein paar Jahren Arbeit und Verbesserung. Die htaccess blocklist liegt inzwischen in "5G" vor, also die fünfte Generation (zumindest interpretiere ich das so).

Ich nutze die Blocklist seit ein paar Monaten, und konnte bis jetzt keinerlei Malfunction feststellen, also Spam Einträge im Blog oder Shop, oder Spam-Mails über meine veröffentlichten Email-Adressen. Falls sich das ändert, werde ich mal wieder nach einem Update schauen.

Ich hoffe, das hilft vielleicht dem einen oder anderen Spam-geplagten Admin etwas weiter! :)

Hier mal der Inhalt der Blacklist 5G

Diese Anweisungen muß man in der Wurzel-.htaccess ablegen, unter den anderen Anweisungen, die evtl schon dort drin sind. Von nun an kommen die bösen Bots nicht mehr auf die Seite. :-P

# 5G BLACKLIST/FIREWALL (2013)
# @ http://perishablepress.com/5g-blacklist-2013/

# 5G:[QUERY STRINGS]
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteCond %{QUERY_STRING} (\"|%22).*(<|>|%3) [NC,OR]
	RewriteCond %{QUERY_STRING} (javascript:).*(\;) [NC,OR]
	RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]
	RewriteCond %{QUERY_STRING} (\\|\.\./|`|=\'$|=%27$) [NC,OR]
	RewriteCond %{QUERY_STRING} (\;|\'|\"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]
	RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
	RewriteCond %{QUERY_STRING} (boot\.ini|echo.*kae|etc/passwd) [NC,OR]
	RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
	RewriteRule .* - [F]
</IfModule>

# 5G:[USER AGENTS]
<IfModule mod_setenvif.c>
	# SetEnvIfNoCase User-Agent ^$ keep_out
	SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|jakarta|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep_out
	<limit GET POST PUT>
		Order Allow,Deny
		Allow from all
		Deny from env=keep_out
	</limit>
</IfModule>

# 5G:[REQUEST STRINGS]
<IfModule mod_alias.c>
 	RedirectMatch 403 (https?|ftp|php)\://
	RedirectMatch 403 /(https?|ima|ucp)/
	RedirectMatch 403 /(Permanent|Better)$
	RedirectMatch 403 (\=\\\'|\=\\%27|/\\\'/?|\)\.css\()$
 	RedirectMatch 403 (\,|\)\+|/\,/|\{0\}|\(/\(|\.\.\.|\+\+\+|\||\\\"\\\")
	RedirectMatch 403 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
	RedirectMatch 403 /(contac|fpw|install|pingserver|register)\.php$
 	RedirectMatch 403 (base64|crossdomain|localhost|wwwroot|e107\_)
	RedirectMatch 403 (eval\(|\_vti\_|\(null\)|echo.*kae|config\.xml)
	RedirectMatch 403 \.well\-known/host\-meta
	RedirectMatch 403 /function\.array\-rand
	RedirectMatch 403 \)\;\$\(this\)\.html\(
	RedirectMatch 403 proc/self/environ
	RedirectMatch 403 msnbot\.htm\)\.\_
	RedirectMatch 403 /ref\.outcontrol
	RedirectMatch 403 com\_cropimage
	RedirectMatch 403 indonesia\.htm
	RedirectMatch 403 \{\$itemURL\}
	RedirectMatch 403 function\(\)
	RedirectMatch 403 labels\.rdf
	RedirectMatch 403 /playing.php
	RedirectMatch 403 muieblackcat
</IfModule>

# 5G:[REQUEST METHOD]
<ifModule mod_rewrite.c>
	RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
	RewriteRule .* - [F]
</IfModule>

# 5G:[BAD IPS]
<limit GET POST PUT>
	Order Allow,Deny
	Allow from all
	# uncomment/edit/repeat next line to block IPs
	# Deny from 123.456.789
</limit>




Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter
Creative Commons Namensnennung 4.0 International .

Kommentare

Kommentar verfassen








😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🤐🤑🤒🤓🤔🤕🤖🤗🤘🤠🤡🤢🤣🤤🤥🤦🤧👍𝄞🌍🌹🍻🍾

Datenschutzerklärung

Ihre IP-Adresse, Browserinformation (useragent-string) etc werden von dieser Blogsoftware nicht gespeichert. Trotzdem könnte es sein, daß der Betreiber dieser Webseite solche Daten von Ihnen speichert. Das ist allerdings außerhalb der Reichweite dieser Blogsoftware. Bitte sehen Sie sich die Datenschutzerklärung der Webseite an um mehr darüber zu erfahren!

Diese Blogsoftware speichert generell keine Daten von Ihnen. Nur falls Sie einen Kommentar hinterlassen, müssen ein paar Daten gespeichert werden. Sie brauchen hier keine persönlichen Daten angeben. Abgesehen vom Kommentar selbst sind alle anderen Angaben freiwillig!
Es ist vollkommen in Ordnung falls Sie ihren Namen nicht angeben wollen, ihr Kommentar wird dann als 'anonym' angezeigt werden.
Falls Sie Benachrichtigungen erhalten wollen, wenn hier neue Kommentare erscheinen, dann brauchen wir dazu natürlich Ihre Emailadresse. Diese wird sicher gespeichert und nicht weitergegeben. Falls Sie nicht benachrichtigt werden wollen, lassen Sie das Feld Benachrichtigungen einfach leer.
Falls Sie Ihre Webseite mit Ihrem Namen verknüpfen wollen, brauchen wir natürlich Ihre Webadresse. Ansonsten kann auch dieses Feld leer bleiben.

Falls Sie einen Kommentar hinterlassen wollen werden folgende Daten gespeichert werden:

  • Zeit und Datum Ihres Kommentars
  • Ihr Name (falls angegeben)
  • Ihre Emailadresse (falls angegeben)
  • Ihre Webseite (falls angegeben)
  • Ihr Kommentar
  • einige technische Informationen, die mit Ihnen nichts zu tun haben, z.Bsp. zu welchem Blogartikel Ihr Kommentar gehört und eine eindeutige ID für Ihren Kommentar