Die Würde der Lebewesen!
Logo von Rettet den Regenwald
Ökofair!
Teil der Kampange Eigentum verpflichtet
Banken und Geld?
Attac Bankwechselkampagne

Kolibri-Ethos


Globale Ziele


Lokale Wege


Pinnwand


904 von 452402 Zugriffen
(seit 10.09.2015)

Wege
Suche die Liebe!
Schütze das Leben!
Verehre das Heilige!
Sei Du selbst!
Gestalte diese Welt!

und Worte
Die Situation
Die Grenzen
Das Netz
Die Begegnung
Das Auslegen

Neue Sicherheitsmaßnahmen für Webmaster und Sitebetreiber

Aufgrund 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
Gerade für Webseitenbetreiber ist die Sicherheit des eigenen Clients und Browsers enorm wichtig. (Tipps zur Clientabsicherung)
Man kann einen eigenen Rechner dafür verwenden, aber auch da wird man doch auch mal andere Seiten im Netz besuchen und kann sich einen Trojaner einfangen (trotz aktuellem Virenschutz und voller Internetsecurity!).
Sinnvoll ist es daher die Administration des Auftritts über eine gesonderte Sandbox (www.spoon.net oder sandboxie) oder ein eigens gebootetes Linuxsystem oder eine VMware zu realisieren. Dabei sollten virtuelle Keyboards für die Eingabe der Passwörter verwendet werden.
Sinnvoll ist die EInrichtung eines getrennten Subnetzes (Zusatz-Router einbauen) oder die Kontrolle der vom Client im Schutz des Browsers aufgebauten Internetverbindungen (ReverseProxy einsetzen).

2. Initiative-S und die regelmäßige Kontrolle der Webpräsentation
Die Initiative-S, ein Service des eco Verband der deutschen Internetwirtschaft e.V ist eine neue und wichtige Initiative, um die Webserver in Deutschland und weltweit sicherer zu machen.
Einfach beitreten und den eigenen Webauftritt regelmäßig prüfen lassen. (Siehe auch die Tipps unter Vorbeugen!)

3. Check aller Veränderungen an Dateien
Hier geht es darum, sich per Serverscript eine Liste alle innerhalb der letzen Woche oder des letzten Tages veränderten Dateien ausgeben zu lassen.
Dadurch kann man regelmässig kontrollieren, ob ein Angreifer einem ein Kuckucksei in sNest gelegt hat.
Dies geht natürlich nur, wenn die Webpräsens überschaubar klein und technisch einfach strukturiert ist.
Beim Wiki hier ändern sich im Normalbetrieb nur einige Indexdateienund die Log- oder Counterfiles.
Dazu kommen noch die Einträge von Usern in Commentboxen.
Bei einem Forum können das weit mehr Dateien sein.

4. Virenscan der Serverinhalte
Von vielen Hostern wird ein regelmäßiger Scan der Präsenz bezüglich Viren angeboten, den man auf jeden Fall nutzen sollte.
(Für kolibriethos.de wurde noch nichts gefunden. Atomisierte Javascriptviren oder Würmer sind allerdings mit Scannern schwer zu finden!)

5. Eingeschränke Verwendung und Absicherung von JavaScript
Viele aktuelle Angriffe bauen aus verschiedenen Quellen Javascriptfragmente im Cache des Users zusammen und greifen damit den Client an. (Daher die regelmäßige Kontrolle, ob man nicht selbst solche Fragmente hostet!)
Wichtig ist es daher, möglichst wenig JavaScript aus externen Quellen einzusetzen und wenn, dann nur sehr bekannte und sichere Quellen. User die NoScript verwenden sollten nicht genervt werden, sondern mit einigen Grundeinstellungen die bekannten externen Quellen für JavaScript administriert haben.


Sicherheitsprobleme von Wikis und Gegenmaßnahmen

Neben dem anfänglichen Einfügen von Links auf Hackerseiten oder kritischen Inhalten in Commentboxen finden sich in den Logfiles ständig weitere Angriffsversuche.
Bei anderen PmWiki-Seiten waren einige nicht so nette und erfolgreiche Angriffe zu sehen.
Das hat zu folgenden Gegenmaßnahmen geführt:

  1. Mithilfe der RewriteEngine von Apache werden alle URLs gefiltert und solche mit Sonderzeichen, mit libwww-perl, “..” oder mit http: im Querystring abgelehnt. Mithilfe der RewriteEngine kann ein Angriff auf unterster Ebene vor jedem Zugriff auf das Filesystem oder der Verarbeitung in Skriptinterpretern oder Applikationsservern abgefangen werden. Gegen Würmer und Botnetze sind diese Maßnahmen dringend zu empfehlen.
  2. Alle übergebenen Variablen werden nach verschiedenen Suchmustern und Sonderzeichen durchsucht.
  3. In eingegebene Kommentaren werden alle Links deaktiviert und Kommentare mit bestimmten Wörtern gelöscht.
  4. Edit und Admin Zugänge werden nicht nur über starke Passwörter abgesichert (Cookies, geschützte Verzeichnisse) (IP-Prüfung In Arbeit)
  5. Einzelne IPs und IP-Bereiche von denen aus das Forum zugemüllt wird, können bei Untergruppen (Forum) ausgesperrt werden.
  6. Nach den Vorschlägen bei Heise wurden sichere PHP.INI Dateien in allen offenen Verzeichnissen mit PHP-Scripts eingefügt.

Der Code ist unten dokumentiert. Für Verbesserungsvorschläge und weitere Ideen sind wir immer dankbar!


RewriteRules in .httaccess im aktuellen Directory

Achtung: 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!!
(siehe: http://www.modrewrite.de/mod_rewrite.links.sources.phtml)

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 Commentboxen

function 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.
Findet allerdings jemand eine Lücke, lassen sich PHP-Websites mit Crawlern relativ schnell finden und automatisch angreifen.


nur KolibriEthos.de

Feedback zu dieser Seite bitte unter Diskussion mitteilen oder für nicht-öffentliche Anmerkungen das Emailformular verwenden
( Letzte Änderung am 10.01.2013 )
____________________________________________________________________________

ThemenWolke der Kolibri-Ethos Site

Aktion Auslegen Begegnung Du Grenzen Grundbegriffe
Grundwerte HeiligesVerehren Kolibri LebenSchützen Netz
Regeln Situation WeltGestalten Ziele Weltreligionen

Ziele:
Ethische Wege und Möglichkeiten vorstellen, das Grund- und Kontextwissen zu ethischen Fragen verbessern

____________________________________________________________________________

Animation Kolibri-Ethos