Sicherheit

Autoren (Fortgeschritten) und Administratoren

< Verwaltung der Anhänge | Dokumentations-Index | Spezielle Installation bei verschiedenen Providern >

Einzelne Aspekte zur Sicherheit von PmWiki sind auf den folgenden Seiten zu finden:

Dokumentationsseiten:

Kochbuch-Seiten (nur auf Englisch verfügbar):

<< Verwaltung der Anhänge | Dokumentations-Index | Spezielle Installation bei verschiedenen Providern >>

Wie melde ich mögliche Verwundbarkeiten der Sicherheit in PmWiki?

Pm schrieb darüber in einer Veröffentlichung an pmwiki-Benutzer vom September 2006. In aller Kürze unterscheiden er zwischen zwei Fällen:

  1. Die mögliche Verwundbarkeit ist noch nicht öffentlich bekannt: In diesem Fall kontaktieren Sie Pm in einer persönlichen Mail.
  2. Die möglich Verwundbarkeit ist bereits öffentlich bekannt: In diesem Fall diskutieren Sie die Verwundbarkeit öffentlich (z. B. auf pmwiki-users).

Siehe seine oben erwähnte Nachricht wegen Details und Begründungen.

Was ist mit den Botnet-Sicherheits-Ratschlägen in http://isc.sans.org/diary.php?storyid=1672?

Sites, bei denen PHPs register_globals-Einstellungen auf "On" gesetzt sind und Versionen vom PmWiki vor 2.1.21 könnten verwundbar durch ein Botnet sein durch Ausnutzen eines Fehlers in PHP. Die Verwundbarkeit kann geschlossen werden, indem man register_globals auf "off" stellt, auf PmWiki 2.1.21 oder später upgradet oder die PHP-Versionen 4.4.3 oder 5.1.4 upgradet.
Zusatz: Es gibt einen Test in PmWiki:SiteAnalyzer, der benutzt werden kann, um zu bestimmen, ob Ihre Site verwundbar ist.

Wiki-Vandalismus und Spam

Voraussetzungen
Sie nutzen eine Blockadeliste und Url-Freigabe.
Sie wollen nicht darauf zurückgreifen, das gesamte Wiki durch Passwörter zu schützen, das ist nach allem nicht der Punkt.
Idealerweise wird dieser Schutz in config.php aktiviert.

Wie beende ich das Löschen von Seiten, d. h. Passwortschutz gegen Löschen von Seiten?

Benutzen Sie Cookbook:DeleteAction und schützen Sie die Löschen-Aktion mit einem Passwort, indem Sie $DefaultPasswords['delete'] = '*'; in die config.php einfügen
oder schützen Sie die Aktion durch $HandleAuth['delete'] = 'edit'; mit einem Passwort
oder durch $HandleAuth['delete'] = 'admin';, um ein Bearbeiten- oder Administrator-Passwort für das Löschen erforderlich zu machen.

Wie verhindere ich, dass Seiteninhalte durch eine leere (alles Leerzeichen) Seite ersetzt wird?

Fügen Sie block: /^\s*$/ zu Ihrer Blockadeliste hinzu.

wie kann ich verhindern, dass Seiten durch alberne Kommentare wie exellente Site, großartige Informationen, ersetzt werden, wo Inhalt nicht blockiert werden kann?

Versuchen Sie eine neuere Automatische Blockadeliste, die Informationen über IP-Adressen von bekannten Wiki-Verunstalter.

(ODER) Versuchen Sie Cookbook:Captchas or Cookbook:Captcha anzuwenden (Beachten Sie, die sind verschieden).

(ODER) Setzen Sie ein Bearbeiten-Passwort, machen es aber in der Site.AuthForm-Vorlage öffentlich.

Wie kann ich alle gemeinsamen Seiten in allen Gruppen wie RecentChanges, Search, GroupHeader, GroupFooter usw. mit einem Passwort schützen?

Fügen Sie die folgenden Zeilen in Ihre local/config.php-Datei ein. Ein Bearbeiten dieser Seiten wird dann ein Administrator-Passwort erfordern.

## Require admin password to edit RecentChanges (etc.) pages.
if ($action=='edit'
    && preg_match('/\\.(Search|Group(Header|Footer)|(All)?RecentChanges)$/', $pagename))
  { $DefaultPasswords['edit'] = crypt('secret phrase'); }

Anmerkung: Alle GroupAttributes-Seiten sind durch das 'attr'-Passwort geschützt.

Alternative: Sie können eine 'admin'-Authentifizierung für diese Seiten erforderlich machen:

## Require admin password to edit RecentChanges (etc.) pages.
if ($action=='edit' 
    && preg_match('(Search|Group(Header|Footer)|(All)?RecentChanges)', $pagename))
  { $HandleAuth['edit'] = 'admin'; }
Ich fürchte, wegen meiner sauberen URLs muss ich den regulären Ausdruck etwas kürzen. Außerdem setze ich das Bearbeiten-Passwort für diese Seiten auf das Administrator-Passwort in $DefaultPasswords['admin'] = crypt('secret phrase'); in local/config.php.
Soweit ich sehen kann, funktioniert das für mich wie erwartet. --Rico, 2007-02-02

Wie schütze ich das Anlegen neuer Gruppen mit einem Passwort?

Siehe Cookbook:Limit Wiki Groups

Wie schütze ich das Anlegen neuer Seiten mit einem Passwort?

Siehe Cookbook:Limit new pages in Wiki Groups

Wie kann ich eine Art Whitelist machen, wo Benutzer von bekannten oder vertrauenswürdigen IP-Adressen Bearbeiten können, alle Anderen aber ein Passwort brauchen?

Fügen Sie diese Zeilen in local/config.php ein:

## Allow passwordless editing from own turf, pass for others.
if ($action=='edit'
 && !preg_match("^90.68.", $_SERVER['REMOTE_ADDR']) )    
 { $DefaultPasswords['edit'] = crypt('foobar'); }

Ersetzen Sie "90.68." durch den bevorzugten Netzwerk-Präfix und "foobar" durch das Standardpasswort für Andere.

Wie setze oder lösche ich ein Passwort für eine Gruppe oder Seite in config.php?

siehe Passwörter und Passwörter verwalten.

Wie schütze ich Seitenaktionen durch ein Passwort?

Siehe Passwörter wegen Einstellungen in config.php.

$HandleAuth['pageactionname'] = 'pageactionname'; # zusammen mit :
$DefaultPasswords['pageactionname'] = crypt('secret phrase');

oder

$HandleAuth['pageactionname'] = 'anotherpageactionname';

Wie erlaube ich Verfassern nur dann zu veröffentlichen, wenn Sie auch ein Profil? haben?

Fügen Sie dies in Ihre local/config.php unterhalb der include_once("$FarmD/scripts/author.php");-Zeile:

if(!PageExists('Profiles.'.$Author)&&$action=='edit')
$HandleAuth['edit'] = 'admin';

Dies ist eine mögliche Lösung, aber seien Sie gewarnt, Autoren können auch keine Wikiseite in der Profile-Gruppe? neu anlegen.
Ergänzen Sie if($group != 'Profiles') oben ;-)

Wie macht man eine Regel, die nur den Autoren selbst erlaubt, ihre eigene Wikiseite in der Profile-Gruppe? zu bearbeiten?

Fügen Sie dies zu Ihrer local/config.php-Datei hinzu:

$name = PageVar($pagename, '$Name');
if($group=='Profiles') $DefaultPasswords['edit'] = 'id:'.$name;

Wie moderiere ich alle Veröffentlichungen?

Aktivieren Sie PmWiki.Drafts

  • Setzen Sie $EnableDrafts, damit wird der "Save"-Button in zwei einzelne Buttons aufgeteilt: "Publish" und "Save draft".
  • Setzen Sie dann $EnablePublishAttr. Das fügt eine "Publish"-Authorisierungsebene ein, um das Bearbeiten der Entwürfe vom Publish des neuen Textes unterscheiden zu können.

Wie mache ich ein Read-Only-Wiki?

Setzen Sie ein 'edit'-Passwort in config.php.

Wie schränke ich den Zugriff auf hochgeladene Anhänge ein?

Siehe

< Verwaltung der Anhänge | Dokumentations-Index | Spezielle Installation bei verschiedenen Providern >


Übersetzung von PmWiki.Security Originalseite auf PmWikiDe.Security - Backlinks
Zuletzt geändert:
PmWikiDe.Security am 10.09.2011
PmWiki.Security am 07.02.2014

Page last modified on September 10, 2011, at 05:41 PM