derHeiko

Junior-Mitglied
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral

About derHeiko

  • Rank
    Neues Mitglied
  1. Wenn ich es richtig verstehe, dann nein. Laut deiner Analyse mische ich so WhiteList und eine Blacklist durcheinander. Du meintest, ich soll folgendes machen: Und dabei erhalte ich eben den Error 500 Fehler. Oder ich verstehe was falsch, dann bitte ich dies zu entschuldigen.
  2. Entschuldige bitte, das habe ich überlesen. Wenn ich die allow-Zeile vor die deny-Zeile setze, erhalte ich auch die Error 500 Meldung. Du hast recht, an die error.log habe ich gar nicht mehr gedacht. Die habe ich bei meinem Hoster angefordert. Sobald ich sie habe, melde ich mich zurück.
  3. Danke für die Antworten. Mein Text war wirklich was zu lang Ich fasse noch mal mein Hauptproblem zusammen: GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry Order allow, deny Deny from 111.111.111.111 Allow from env=AllowCountry Ich erhalte eine Error 500 Meldung. Auch, wenn ich nichts anderes in der .htaccess drin stehen habe. Habe ich etwas falsch verstanden/falsch gemacht oder liegt es an meinem Hoster. Ich habe leider keinen anderen Hoster wo ich dies einmal ausprobieren könnte. In der accsess.log steht folgendes: Meine.IP - - [30/Jan/2020:13:09:34 +0100] "GET / HTTP/1.1" 500 360 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1687 OUT:4036" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:09:38 +0100] "GET /favicon.ico HTTP/1.1" 500 360 "https://meinedomain.de" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1785 OUT:836" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:09:52 +0100] "GET / HTTP/1.1" 500 360 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1836 OUT:836" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:09:52 +0100] "GET /favicon.ico HTTP/1.1" 500 360 "https://meinedomain.de" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1785 OUT:836" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:11:27 +0100] "GET / HTTP/1.1" 500 360 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1687 OUT:4036" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:11:28 +0100] "GET /favicon.ico HTTP/1.1" 500 360 "https://meinedomain.de" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1785 OUT:836" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:14:20 +0100] "GET / HTTP/1.1" 500 360 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1687 OUT:4036" "ReqTime:0 sec" Meine.IP - - [30/Jan/2020:13:14:20 +0100] "GET /favicon.ico HTTP/1.1" 500 360 "https://meinedomain.de" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "Traffic IN:1785 OUT:836" "ReqTime:0 sec" Aber die hilft mir da leider auch nicht weiter. Danke weiterhin für die Hile.
  4. Das sind mittlerweile so 20 Seiten die mich abgreifen. Und ja, ich würde sie auch lieber individuell sperren. Daher finde ich die Blacklist Lösung für mich einfacher als die Whitelist. Ist zwar mehr Wartungsaufwand, aber das ist dann eben so
  5. Hallo Matthes, entschuldige bitte meine verspätete Rückmeldung, aber ich bin jetzt endlich dazu gekommen mich damit auseinander zu setzen. Danke auch für die detaillierte Erklärung. Weiter unten komme ich auf deine Lösung zu sprechen, aber ich wollte mir kurz die Zeit nehmen und dir die Frage beantworten, warum ich diese Art von Sperren machen möchte. Eines vorweg, ich bin kein Fachmann. Aus der Idee und Notwendigkeit heraus habe ich vor 15 Jahren angefangen mir die Dinge anzueignen, die ich wissen muss und für alles andere habe ich Fachpersonen beauftragt. Daher entschuldige bitte, wenn ich mich hier und da Laienhaft ausdrücke Ich bin bei All-inkl und die waren auch nach vielen Jahren des Wechsels der Hoster, die Ersten die meinen kleinen Shop stabil und sicher Online halten konnten. Fail2Ban und co laufen auf meinem Server und meine Seite hat seit dem Wechsel vor 4 Jahren auch 100% Ontime. Ich vertreibe zwar nur Ersatzteile für Heizungen, aber dennoch werde ich oft "angegriffen". Wobei ich mit Angriff nicht nur das klassische Hacken meine. DDOS Attacken sind mir *drei mal auf Holz klopfen* erspart geblieben. Aber die vielen Bots, die nach Lücken scannen, die Brute Force Attacken, die BadBots und so weiter - sind die welche meinem Shop das Leben schwer machen. Ich habe schon immer einen eigenen Server genommen und kein kleines Hostingpaket, aber die Last der Bots machte meinen Shop langsam. Das hat unser Hoster soweit gut im Griff. Vor allem was Bruteforce und Flooder angeht, haben wir seit dem ruhe. Was übrig geblieben ist, sind die vielen Bots - die trotz robots.txt scannen wie die irren. In der Regel sind es Suchmaschinen Bots, die eigentlich Daten sammeln oder die nach Logins (wp-admin, ect.) suchen. Vieles kann man filtern, aber nicht alles. Vor allem, wenn es darum geht Verzeichnisse nach Lücken zu scannen. Das verursacht viele abfragen und eine hohe Last auf der Datenbank. Trotz gutem Cache. Sogenannte XSS Scriptanfragen und ähnliches sperrt schon der Shop aus. Aber es bleibt manches übrig. Ich habe dann als Erstes die ganzen 404 anfragen, die durch die Verzeichnis Scans entstehen - über die htaccess umgeleitet (ErrorDocument 404 /404.html) und auf eine statische Seite ohne Datenbankverbindung weitergeleitet. Wenn dann Bots per Bruteforce nach logins (wp-admin, ect.) oder Verzeichnissen suchen, dann bekommen sie eine einfache html ausgeliefert. Dies nimmt schon ordentlich Last vom Server. Dennoch kommen viele Bots die einfach nur Datensammeln, den ganzen Shop durchforsten. Marketing Firmen, Datensammler und wahrscheinlich auch Mitbewerber. In einer Geschwindigkeit das die "Firewall" nicht greift, aber wenn dann gleich 10 davon kommen wird es langsam. Ganze Botnetzwerke greifen dann auf einmal auf meine Seite zu. Laut Logs rund 90% außerhalb der EU. Darum habe ich, seit dem ich nur europäischen Seiten zugriff erlaube, ein entlasteten Server Nun bleiben nur noch die paar Suchmaschinen/BadBots und ein paar IP Adressen zu sperren, um die Last zu verringen. Darum möchte ich gerne Ip Adressen sperren. Den Bilderklau möchte ich grundsätzlich nicht verbieten. Zum einen haben wir ein Wasserzeichen was Werbung für uns ist. Zum anderen werde ich bzw. die Bilder oft in Handwerker Foren verlinkt. Die kenne ich alle nicht und möchte diese dann nicht aussperren. Ist ja Werbung für mich Aber es gibt Seiten die einfach nur einen Haufen Bilder verlinken und dazwischen Adwords schalten. Teilweise auch mit Inhalt. Seo Seiten aus dem Ausland. Wenn ich Beispiele davon nennen darf: https://123arbeitsplatten.blogspot.com/2019/11/10-das-beste-von-diana-badewannen.html http://ljndawson.org/vaillant-vcw-240-xeu-explosionszeichnung.html Die möchte ich manuell aussperren, bzw. ein Wasserzeichen Bild automatisch einblenden, daher die Bilderregel. Es gibt so ein schönes Tool zum Auslesen der Apache.log, die mir dann die Seiten anzeigt, die darauf zurückgreifen. HTTP LogStat - falls du es noch nicht kennen solltest. Und zuletzt eben das aussperren von Bad Bost, die ich auch über die Apache log finde BrowserMatchNoCase "Cliqzbot" bots Nun zu deiner Lösung Wenn ich dich richtig verstehe, dann sollte meine .htaccess dann so aussehen? GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry Order allow, deny Allow from env=AllowCountry Deny from 111.111.111.111 Dabei erhalte ich folgende Fehlermeldung: Error 500 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Wenn ich deine Anleitung richtig verstanden habe, dann soll ich das Allow from hinter die IP Adressen setzen: GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry Order allow, deny Deny from 111.111.111.111 Allow from env=AllowCountry Aber auch da erhalte ich leider die Error 500 meldung. Daher wäre ich dir dankbar, wenn du noch einmal drüber schauen könntest was ich falsch verstanden habe. Danke dir vorab. Gruß Heiko
  6. Lieber Mattes, ganz vielen lieben dank für die schnelle Hilfe. Ich bin über die weihnachtstage unterwegs, werde es aber sobald wie möglich ausprobieren und dir darauf und deine anderen fragen Antworten. Gruss Heiko
  7. Danke für die schnelle Antwort. Gerne beschreibe ich es ausführlicher. Bis vor einigen Wochen habe ich per Hand Länder ausgesperrt, welche uns Attackiert haben. <IfModule mod_geoip.c> GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE (CN|ID|CA|HK|IN|TW|JP|RU|TR|IL|TH|EG) BlockCountry Deny from env=BlockCountry </IfModule> Dann habe ich erfahren, dass man es auch umgekehrt handhaben kann, in dem man Länder freigibt. Also habe ich es so gelöst. GeoIPEnable on SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry SetEnvIf GEOIP_COUNTRY_CODE BE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE BG AllowCountry SetEnvIf GEOIP_COUNTRY_CODE HR AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CY AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CZ AllowCountry SetEnvIf GEOIP_COUNTRY_CODE DK AllowCountry SetEnvIf GEOIP_COUNTRY_CODE EE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE FI AllowCountry SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry SetEnvIf GEOIP_COUNTRY_CODE GR AllowCountry SetEnvIf GEOIP_COUNTRY_CODE HU AllowCountry SetEnvIf GEOIP_COUNTRY_CODE IT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE LV AllowCountry SetEnvIf GEOIP_COUNTRY_CODE LT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE LU AllowCountry SetEnvIf GEOIP_COUNTRY_CODE MT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE NL AllowCountry SetEnvIf GEOIP_COUNTRY_CODE PL AllowCountry SetEnvIf GEOIP_COUNTRY_CODE PT AllowCountry SetEnvIf GEOIP_COUNTRY_CODE RO AllowCountry SetEnvIf GEOIP_COUNTRY_CODE SK AllowCountry SetEnvIf GEOIP_COUNTRY_CODE SI AllowCountry SetEnvIf GEOIP_COUNTRY_CODE ES AllowCountry SetEnvIf GEOIP_COUNTRY_CODE SE AllowCountry SetEnvIf GEOIP_COUNTRY_CODE GB AllowCountry SetEnvIf GEOIP_COUNTRY_CODE IR AllowCountry Order deny,allow Deny from all Allow from env=AllowCountry Ich möchte nur europäische Länder auf meine Seite lassen. Mein Inhalt ist nur dafür interessant, alle anderen Länder (außer US|CH) sollen geblockt werden, weil von dort nur Spam und Attacken kommen. Davor hatte ich noch weitere Regeln. Zum einen gibt es auch Server innerhalb der EU die uns Attackieren. Diese möchte ich per IP Sperren: <Limit GET POST HEAD> order allow,deny deny from *.*.*.* allow from all </Limit> Des Weiteren hatte ich noch eine Regel für Bots ### Anfang Blacklist-Methode BrowserMatchNoCase "Cliqzbot" bots BrowserMatchNoCase "DomainCrawler" bots BrowserMatchNoCase "MegaIndex.ru" bots BrowserMatchNoCase "spbot" bots BrowserMatchNoCase "AhrefsBot" bots BrowserMatchNoCase "seokicks" bots BrowserMatchNoCase "netEstate" bots BrowserMatchNoCase "AlphaBot" bots BrowserMatchNoCase "MJ12bot" bots BrowserMatchNoCase "AlphaSeoBot" bots BrowserMatchNoCase "SISTRIX" bots BrowserMatchNoCase "MauiBot" bots BrowserMatchNoCase "DotBot" bots BrowserMatchNoCase "VelenPublicWebCrawler" bots BrowserMatchNoCase "Seekport" bots BrowserMatchNoCase "Linguee Bot" bots BrowserMatchNoCase "crawler_eb_germany" bots BrowserMatchNoCase "adscanner" bots BrowserMatchNoCase "seoscanners" bots Order Allow,Deny Allow from ALL Deny from env=bots ### Ende Blacklist-Methode und eine Regel für Bilderklau ### Bilder-Klau Blacklist-Methode RewriteCond %{HTTP_REFERER} megaapp.info [NC,OR] RewriteCond %{HTTP_REFERER} resanta.info [NC,OR] RewriteCond %{HTTP_REFERER} hitoiro.info [NC,OR] RewriteCond %{HTTP_REFERER} boomfarm.info [NC,OR] RewriteCond %{HTTP_REFERER} usmile.info [NC,OR] RewriteCond %{HTTP_REFERER} stempel-bosch.ru [NC,OR] RewriteCond %{HTTP_REFERER} bestenkasten.blogspot.com [NC,OR] RewriteCond %{HTTP_REFERER} lacronicausa.com [NC,OR] RewriteCond %{HTTP_REFERER} portal-nuevoleon.com [NC,OR] RewriteCond %{HTTP_REFERER} fishzero.com RewriteCond %{REQUEST_URI} !/warning.jpg RewriteRule .*.(png|jpg|gif|svg|bmp)$ https://www.Domain.de/images/warning.jpg [L] allow from all ### Ende Bilder-Klau Blacklist-Methode Diese funktionieren leider nicht mehr, seit ich die Whitelist Regel drin habe. Wenn ich deine Antwort richtig verstehe, habe ich mit der Geo Regel eine Regel gesetzt, die sich über alle anderen hinwegsetzt (global). Das bedeutet, ich muss diese eingrenzen? Ich bin absoluter Neuling in dem Thema und habe mir die .htaccess bis dato nur mit "Lesen" zusammen gebaut. Ganz vielen lieben Dank vorab für deine Antwort und Hilfe.
  8. Moin, ich habe ein Problem mit meiner .htaccess? Ich möchte via .htaccess eine Witelist erstellen: GeoIPEnable OnSetEnvIf GEOIP_COUNTRY_CODE DE AllowCountrySetEnvIf GEOIP_COUNTRY_CODE AT AllowCountrySetEnvIf GEOIP_COUNTRY_CODE CH AllowCountrySetEnvIf GEOIP_COUNTRY_CODE US AllowCountryOrder deny,allowDeny from allAllow from env=AllowCountryDas funktioniert, allerdings darf keine andere Regel in der .htacces sein wie zum Beispiel:<Limit GET POST HEAD>order allow,denydeny from 185.6.8allow from all</Limit> Das setzen von 2x " order allow,deny " bzw. " allow from all " in einer .htaccess funktioniert wohl nicht. Habt ihr evtl. noch eine Lösung wie ich die zweite Regel setzen kann? Danke vorab Gruß Heiko