|
|
|
153 von 75789 Zugriffen
Wege
und Worte
|
Neue Sicherheitsmaßnahmen für Webmaster und SitebetreiberAufgrund der zunehmenden Hackerangriffen und der hohen Zahl an zu Botnetzen zuammengebundenen gehackten Computern, hier einige Ergänzungen zu den schon über 5 Jahre alten Ausführungen unten: 1. botfrei.de und die Absicherung der AdminClients
2. Initiative-S und die regelmäßige Kontrolle der Webpräsentation
3. Check aller Veränderungen an Dateien
4. Virenscan der Serverinhalte
5. Eingeschränke Verwendung und Absicherung von JavaScript
Sicherheitsprobleme von Wikis und GegenmaßnahmenNeben dem anfänglichen Einfügen von Links auf Hackerseiten oder kritischen Inhalten in Commentboxen finden sich in den Logfiles ständig weitere Angriffsversuche.
Der Code ist unten dokumentiert. Für Verbesserungsvorschläge und weitere Ideen sind wir immer dankbar! RewriteRules in .httaccess im aktuellen DirectoryAchtung: Bei den RewriteRules kann man etwas durcheinander kommen. Die Pattern werden hier ähnlich, aber nicht exakt nach der Perlsyntax gebildet und die Patterns für die Mustererkennungsbefehle in PHP werden wieder etwas anders gebildet!!
Order Deny,Allow Allow from all # Use mod_rewrite to enable "Clean and Secure URLs" for a PmWiki installation. RewriteEngine On # Define the rewrite base. RewriteBase / #libwww-perl verbieten RewriteCond %{HTTP_USER_AGENT} ^libwww-perl RewriteRule ^.*$ - [F] #http-variablen verbieten # ( )+ Die Klammer umschließen das Muster, + bedeutet: Dieses Muster muss mindestens einmal vorkommen. # Dann wird zur RewriteRule verzweigt und diese schickt alles nach Forbidden 403. RewriteCond %{QUERY_STRING} (\.\.)+ [OR] RewriteCond %{QUERY_STRING} (http:)+ RewriteRule ^.*$ - [F] #Allgemeine Regeln: Schutz vor Sonderzeichen # [ ] bildet eine Menge von erlaubten Zeichen # ^ besagt: finde ein Zeichen, das nicht zu dieser erlaubten Menge gehört (Gegenmenge). # \s steht für Leerzeichen. Der - muss allein ganz am Anfang stehen. # ?& kann man streichen, da beides vorher zu Umgebungsvariablen verarbeitet wird und nicht Teil der URL ist. # ]+ nach der Menge gibt an, dass das nicht erlaubte Zeichen ein oder mehrmals vorkommen muss, bevor die Regel anschlagt. # [L] schlägt die Regel an, bricht ModRewrite hier ab. RewriteRule [^-a-zäüößA-ZÄÜÖ0-9#\+\.%_\/\s]+ not_accepted_go_away.txt [L] # Send requests without parameters to pmwiki.php. RewriteRule ^$ pmwiki.php [L] # Send requests for index.php to pmwiki.php. RewriteRule ^index\.php$ pmwiki.php [L] # Send requests to pmwiki.php, appending the query string part. RewriteRule ^([A-Z0-9\xa0-\xff].*)$ pmwiki.php?n=$1 [QSA,L] Integriertes Script zum Prüfen der übergebenen Variablen############ Eingabevariablen checken ################# include_once("./cookbook/siteprotect.php"); <?php if (!defined('PmWiki')) exit(); # Es reicht den Array nach den Sonderzeichen zu durchsuchen und ggf die Anfrage mit exit abzuweisen. # Action=edit von der Untersuchung ausnehmen, hier greift die Passwortsicherung und $text darf Sonderzeichen enthalten #Abbruch bei unerlaubten Zeichen in den übergebenen Variablen if (!($action=="edit")) { #print("kein edit"); if (stringcheck(arraytostring($_REQUEST))){ print("Kein Zugang wegen unerlaubter Zeichen für die Anfrage: <p> "); if (true) { print(arraytostring($_REQUEST)); } exit(); } } #_____________________FUNKTIONEN_____________________________________ function arraytostring($request){ # geht durch den Eingabearray und verkettet ggf auch Unterarrays zu einem String $strrequesttext =""; $strDelimiter = "____"; while(list($strName,$value) = each($request)) { if(is_array($value)) { foreach($value as $value_array) { if(!($value_array=="text")){ $strrequesttext .= $value.$strDelimiter.$value_array."-—"; #oder $strName statt $value } } } else { if(!($strName=="text")){ $strrequesttext .= $strName.$strDelimiter.$value."++++"; } } } return $strrequesttext; } function stringcheck($neu){ # Sucht erstes Vorkommen bestimmter Muster in dem übergebenen String # Die Zeichen + und # werden akzeptiert $linkskennung = array("..","$","§","///","~","*","@","[","]","{","}","\\","^","€","°","(",); $gefunden=false; for ($mi = 0; $mi < count($linkskennung); $mi++) { $Suchmuster = $linkskennung[$mi]; while (strpos($neu, $Suchmuster) >0) { $gefunden=true; break; } } # Ende for return $gefunden; } Funktion für die Eingaben in Commentboxenfunction HandleCommentPost($pagename) { global $_GET,$_POST,$JournalPattern,$DiaryPattern,$Author; global $AuthFunction, $oAuthFunction; if (!@$_POST['post'] || @$_POST['text']=='') Redirect($pagename); LinkDeaktivation(); ..... exit; } function LinkDeaktivation(){ global $_POST; $neu =$_POST['text']; $post_lower =strtolower($neu);; $linkskennung = array("www.","http://","<a ","href=","</a>"); $Ersatz ="-"; for ($mi = 0; $mi < 5; $mi++) { $Suchmuster = $linkskennung[$mi]; while (strpos($post_lower, $Suchmuster) >0) { $neu = eregi_replace ( $Suchmuster, $Ersatz, $neu ); $post_lower = ereg_replace ( $Suchmuster, $Ersatz, $post_lower ); } } # Ende for $_POST['text']= $neu ; } Beispiele für Angriffe:Bei diesen Angriffen wurde wahrscheinlich nur das Edit-Passwort erraten.
|
( Googlesuche innerhalb von www.kolibriethos.de )
________________________________
Feedback zu dieser Seite bitte als DM an Hans Hufnagel bei X mitteilen
( Letzte Änderung dieser Seite am 09.10.2024 Besuche dieser Seite heute: 1)
____________________________________________________________________________
ThemenWolke der Kolibri-Ethos Site
Aktion Auslegen Begegnung Du Grenzen Grundbegriffe
Grundwerte HeiligesVerehren Kolibri LebenSchuetzen Netz
Regeln Situation WeltGestalten Ziele Religionsfrieden
Ziele:
Die Kraft des Einzelnen stärken!
____________________________________________________________________________