Englisch: |
PmWikiDe /
Sicherheit
Autoren (Fortgeschritten) und Administratoren
< Verwaltung der Anhänge | Dokumentations-Index | Spezielle Installation bei verschiedenen Providern > Einzelne Aspekte zur Sicherheit (security) 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:
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. Wiki-Vandalismus und Spam
Wie beende ich das Löschen von Seiten, d. h. wie schütze ich Seiten vorm Löschen mit einem Passwort? 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'; um ein Bearbeiten-Passwort für das Löschen erforderlich zu machen,
oder durch $HandleAuth['delete'] = 'admin'; um ein 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 Wie kann ich verhindern, dass Seiten durch alberne Kommentare wie exellente Site, großartige Informationen, ersetzt werden, wo der Inhalt nicht blockiert werden kann? Versuchen Sie eine neuere Automatische Blockadeliste, die Informationen über IP-Adressen von bekannten Wiki-Verunstaltern zieht. (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'; }
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 Seiten 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. Für eine einzelne IP benutzen Sie: if($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { # Ihre IP-Adresse hierhin $_POST['authpw'] = 'xxx'; # das Admin-Passwort } Bitte beachten Sie die Sicherheitsaspekte: das bedeutet nämlich, dass Sie das Admin-Passwort als Klartext in Ihrer config.php-Datei stehen haben und jemand mit Zugriff auf das Dateisystem diese Datei lesen kann, z. B. ein technischer Mitarbeiter des hostenden Providers. Ihre IP-Adresse kann sich gelegentlich ändern (es sei denn, Sie haben einen Vertrag über eine fixe IP mit ihrem Internet-Service-Provider [ISP]). Wenn das passiert, wird jemand mit Ihrer alten IP-Adresse automatisch als Admin in Ihrem Wiki angemeldet. Es ist extrem unwahrscheinlich, dass es Probleme gibt, aber Sie sollen wissen, dass das möglich ist. Wenn Sie hinter einem Router sitzen, haben alle anderen Geräte hinter diesem Router im Internet die gleiche IP-Adresse wie Sie (aus der Sicht des Wikis) — Ihr WiFi-Telefon, dass Notebook Ihrer Frau, ein Nachbar, der Ihre WiFi-Verbindung mitbenutzt etc. Alle diese Leute werden Admin Ihres Wikis. Nochmal: Sie sollten prüfen, ob sich daraus ein Sicherheitsrisiko ergibt. In manchen Fällen routet Ihr ISP Ihren Verkehr gemeinsam mit dem anderer Leute über einen gemeinsamen Proxy(-Server) — in solch einem Fall könnten tausende von Leuten die selbe IP-Adresse haben. Siehe auch Cookbook:AuthDNS & Cookbook:PersistentLogin Wie setze oder lösche ich ein Passwort für eine Gruppe oder Seite in siehe Passwörter und Passwörter verwalten. Wie schütze ich Seitenaktionen durch ein Passwort? Siehe Passwörter wegen der Einstellungen in der config.php-Datei. $HandleAuth['pageactionname'] = 'pageactionname'; # zusammen mit :
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 if(!PageExists('Profiles.'.
$HandleAuth['edit'] = 'admin';
Dies ist eine mögliche Lösung, aber seien Sie gewarnt, Autoren können dann auch keine Wikiseite in der Profile-Gruppe? neu anlegen. 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(
if($group=='Profiles')
Wie moderiere ich alle Veröffentlichungen? Aktivieren Sie Entwürfe
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
Wie verberge ich die IP-Adresse in den "diff"-Seiten? Wenn der Benutzer einen Benutzernamen einträgt, erscheint dieser an stelle der IP-Adresse. Um das Eintragen eines Benutzernamen zu erzwingen, setzen Sie das Folgende in die config.php-Datei ein: $EnablePostAuthorRequired = 1; Die IP-Adress kann auch in dem Tooltip-Titel erscheinen, wenn der Mauscursor über dem Autorennamen ist. Wenn Sie das deaktivieren möchten, dass setzen Sie das Folgende in Ihre config.php-Datei: $DiffStartFmt = "<div class='diffbox'><div class='difftime'><a name='diff\$DiffGMT' href='#diff\$DiffGMT'>\$DiffTime</a> \$[by] <span class='diffauthor'>\$DiffAuthor</span> - \$DiffChangeSum</div>"; Wie halte ich einige Apacheinstallationen davon ab, (hochgeladene) Dateien die ".php", ".pl" oder ".cgi" irgendwo im Dateinamen haben, auszuführen. Benutzen Sie $UploadBlacklist Wie hindere ich irgendwelche Leute daran, den Quelltext meiner Wikiseiten mit ?action=source zu inspizieren. Ich habe
< Verwaltung der Anhänge | Dokumentations-Index | Spezielle Installation bei verschiedenen Providern >
Übersetzung von PmWiki.Security
Originalseite auf PmWikiDe.Security - Rückverweise |