Annalen vbulletin. Beobachtungen von vBulletin oder Versuche, dynamische Inhalte zwischenzuspeichern. Deaktivieren der Benutzerliste

Wenn Sie ein eigenes vbulletin-Forum betreiben, müssen Sie früher oder später über den Schutz Ihres Forums nachdenken. Fangen wir an:

1) Lassen Sie uns bis zum Ende unserer Zeile aktualisieren (3.5.x, 3.6.x, 3.7.x)

Beschreibung: -
Warum?: JelSoft schließt ständig neu auftretende Schwachstellen.

2) Benennen Sie die Admin- und Moderationsbereiche um

Beschreibung: Wir benennen das Admin-Panel um, schreiben aber in der Konfiguration auf keinen Fall den Pfad zu unserem umbenannten Admin-Panel. Wir benennen den Mod auch um, er kann jedoch bereits in der Konfiguration registriert werden (obwohl dies auch nicht ratsam ist), da er weniger anfällig ist
Warum?: Wenn Sie das Admin-Panel umbenennen und den Pfad nicht in der Konfiguration angeben, wird es viel schwieriger, ihn zu finden und daher XSS oder Schlimmeres anzuwenden. Es gibt Nachteile: - Das Bearbeiten eines Profils und das Hinzufügen von Moderatoren funktioniert nicht mehr, ohne die Links manuell zu bearbeiten.

3) Platzieren Sie .htaccess im Admin-Panel:

Beschreibung:
a) Wenn die IP statisch ist, dann
Code:

Befehl erlauben, verweigern, verweigern, von allen erlauben, von you.ip.add.res

b) Wir legen außerdem ein zusätzliches Passwort fest:
Folgen Sie dem Link: _http://vbsupport.org/htaccess.php, füllen Sie die Felder aus und fügen Sie sie gemäß den Anweisungen zu unserer htaccess-Datei hinzu.
Warum?: Ein zusätzlicher Passwortschutz für das Admin-Panel schadet nie.

4) Dateien und Ordner löschen:

Beschreibung:
a) Dateien löschen:
/validator.php (falls verfügbar)
/checksum.md5 (falls verfügbar)
b) Ordner löschen:
/installieren/
Warum?: Unsichere Dateien aus Nullversionen können dazu führen, dass die Dateiliste angezeigt wird, und der Installationsordner ist sehr schädlich =)

5) Anhänge und Avatare verschieben

Beschreibung:
Gehen Sie zum Admin-Panel und dann:
a) Anhänge -> Speichermethode für Anhänge
Anhänge müssen in einer Datenbank gespeichert werden
Zitat:
Anhänge werden nun in der Datenbank gespeichert
Ist dies nicht der Fall, verschieben Sie sie mit der Schaltfläche „Weiter“ dorthin.
b) Avatare -> Speichertyp für Benutzerbilder
Avatare müssen in einer Datenbank gespeichert werden
Zitat:

Nun werden die Bilder in der Datenbank gespeichert, sollte dies nicht der Fall sein, übertragen wir sie über den Button „Weiter“ dorthin.

Warum?: Wenn ich mich richtig erinnere, gab Zeile 3.5 direkte Links zu Bildern, die bei falscher Hosting-Konfiguration die Möglichkeit boten, eine Shell darüber hochzuladen.
6) Legen Sie Berechtigungen für Ordner fest
Beschreibung: Wenn Schritt 5 abgeschlossen wurde, können wir jetzt die Berechtigungen für die benutzerdefinierten *****-Ordner sicher auf 644 setzen, da wir sie jetzt nicht benötigen (oder Sie können sie löschen). Wenn Sie vbulletin gemäß den Anweisungen installiert haben, sollten alle Ordner in / (root) über 644-Berechtigungen verfügen. Wenn nicht, setzen Sie die Berechtigungen auf 644.
Warum?: Es wird einem Hacker erschwert, eine Shell hochzuladen.
7) Wir aktivieren niemals für irgendjemanden die Option „HTML zulassen“.
Beschreibung: -
Warum?: Möglichkeit von XSS-Angriffen, wenn die Funktion aktiviert ist.

8) Platzieren Sie .htaccess im Includes-Ordner

Beschreibung: Wir haben .htaccess mit folgendem Inhalt im Includes-Ordner abgelegt:

Befehl erlauben, verweigern, verweigern von allen

Warum?:
- Wenn dort eine Granate irgendwie überflutet ist, können sie nicht darauf zugreifen.
- Wenn sie Sie blockieren, ist diese Option möglich, wenn der PHP-Interpreter ausfällt und nur Apache übrig bleibt - und Apache Ihnen das Lesen ermöglicht PHP-Dateien- Daher ist es möglich, alle Dateien aus dem Ordner /includes/ zu lesen - dieselbe config.php, was nicht sehr gut ist.
9) Schieben Sie es in die Richtung. mit Dateien mit den Attributen 0777 wie xtax: - (c) kerk _http://vbsupport.org/forum/member.php?u=30
Beschreibung:
Code:

RemoveHandler .phtml RemoveHandler .php RemoveHandler .php3 RemoveHandler .php4 RemoveHandler .php5 RemoveHandler .cgi RemoveHandler .exe RemoveHandler .pl RemoveHandler .asp RemoveHandler .aspx RemoveHandler .shtml


Befehl erlauben, verweigern
Von allen leugnen

Fügen Sie bei Bedarf Ihre Handler hinzu
Das war's, keines der aufgelisteten Skripte kann in diesem Verzeichnis ausgeführt werden
Warum?: -

10) Installieren Sie den Hack: http://allcheats.ru/product-firewall_vb_rs.xml

Beschreibung:
Importieren Sie den Hack und erstellen Sie eine Datei: logfile_worms.txt mit Schreibrechten für den Webserver (777)
Warum?: -
Schutz vor einer Reihe „schlechter“ Variablenzuweisungen Lesen Sie mehr im folgenden Beitrag


11) Bearbeiten Sie config.php und geben Sie die ID des Administrators in das nicht löschbare Benutzerfeld ein.

Beschreibung:
/vb/includes/config.php. Geben Sie einfach die ID des Administrators ein, nachdem Sie alle erforderlichen Änderungen am Profil vorgenommen haben.
Warum?: -


12) Vergessen Sie nach dem Entfernen von Mods/Hacks nicht, die Dateien zu löschen, die Sie zusammen mit ihnen heruntergeladen haben.

Beschreibung: -
Warum?: -


13) Speichern Sie niemals Backups im Ordner public_html.

Beschreibung: -
Warum?: Sie stehen jedem zum Download zur Verfügung, der den Namen des Backups kennt.

14) Installieren Sie das Plugin „File Inspector“. Autor – Ghost (http://www.vbsupport.org/forum/member.php?u=38422)
Beschreibung:

Als ich meine alten Skripte durchgesehen habe, bin ich auf dieses Produkt gestoßen – File Inspector. Dabei handelt es sich um mehrere Module für vBulletin, mit denen Sie eine Liste in der Datenbank speichern können vorhandene Dateien und überprüfen Sie von Zeit zu Zeit, ob sich etwas geändert hat (Größe, Eigentümer und Zugriffsrechte werden für jede Datei gespeichert) – der integrierte Cron-Task benachrichtigt den Administrator per E-Mail über festgestellte Unstimmigkeiten. Sie können mehrere unterschiedliche Kopien (Revisionen) von Dateilisten zum Vergleich in der Datenbank speichern ( automatische Prüfung bei einer E-Mail-Benachrichtigung wird nur mit der neuesten Revision geprüft). Aussehen Und verfügbaren Einstellungen ist in den Screenshots zu sehen.

INSTALLIEREN: Zur Installation müssen Sie zwei PHP-Dateien aus dem Archiv auf den Server hochladen und das Produkt aus der Datei „product-gfi.xml“ importieren.

UPDATE: Eine Versionsaktualisierung ist nicht vorgesehen. Um eine neue Version zu installieren, wird daher empfohlen, zuerst die vorherige Version zu deinstallieren.

ZY Das Produkt funktionierte erfolgreich auf allen Versionen von 3.6.8 bis einschließlich 3.8.1. Zwar wurde an verschiedenen Stellen ein Link zum Dropdown-Menü in der Navigationsleiste hinzugefügt, aber das sind Kleinigkeiten.

Zum Erweitern klicken...

Sie können das Plugin über den Link herunterladen: http://allcheats.ru/gfi.zip oder http://www.vbsupport.org/forum/showthread.php?t=29131 (Registrierung erforderlich)

Warum?: Eine unersetzliche Sache bei der Suche nach Shells auf einer Website, aber sie muss im Voraus installiert werden.

----------

Eine kurze Zusammenfassung:

Es ist ziemlich schwierig, Zugriff auf das Admin-Panel zu erhalten – daher können Sie die Shell auch über das Admin-Panel hochladen, was bedeutet, dass Sie die Shell über Vola-Schwachstellen hochladen können, aber wenn Sie sie in Includes einbetten, gibt es Dateien für einige Hacks require 777 - dann gibt es in unserem Includes-Ordner deny from all - Benutze nicht die Shell!
und für die restlichen Ordner können Sie die Berechtigungen auf 644 setzen, wenn Sie alle Schritte durchgeführt haben – dann wird es ziemlich schwierig sein, wann hochzuladen richtige Einstellung chroot"inga (oder wie auch immer es heißt - das Wort flog mir aus meinem nicht ganz nüchternen Kopf)...
Wir haben außerdem Schutz vor den Administratoren selbst hinzugefügt, die sich herumschleichen und sich dadurch XSS und Trojanern aussetzen.
(c) ich

Jede Engine erfordert bestimmte Maßnahmen, um sie für eine bessere und schnellere Leistung zu optimieren. In unserem Fall werden wir über die Optimierung von Vbulletin 4 sprechen.

Da unsere Forum-Engine ständig aktualisiert wird, werde ich nicht über die Optimierung früherer Versionen von Vbulletin schreiben, sondern mit Version 4.1.12 beginnen. Obwohl es möglich ist, werde ich diesen Artikel nach und nach um Optimierungen ergänzen frühere Versionen, da nicht jeder auf neuere umsteigt.

Hier werde ich einige Beispiele geben, um Ihr Vbulletin-Forum schneller und besser zu machen (angefangen bei den einfachsten Dingen bis hin zu komplexeren). Bitte bedenken Sie, dass das, was für mich funktioniert, nicht unbedingt auch für Sie funktionieren muss. Daher nehmen Sie alle Änderungen auf eigene Gefahr und Gefahr vor.

Deaktivieren der Benutzerliste.

Es gibt eine einfache Möglichkeit, die Funktion in AdminCP einfach zu deaktivieren. (Einstellungen -> Optionen -> Benutzerlistenoptionen)

Das ist natürlich nicht global, und Sie können es überspringen und es auch nicht tun. Stellen Sie sich einfach die Frage: Brauchen Sie es? Da es eine Liste gibt, können Benutzer diese sortieren, sehen, wer mehr Nachrichten hat, den Ruf usw. Verwenden Ihre Benutzer dies? Wahrscheinlich nicht... Wann haben Sie selbst diese Liste das letzte Mal verwendet?

Was mich betrifft, denke ich, dass diese Listen nur Spammern zugute kommen, da dies der einfachste Weg ist, alle Namen der Vbulletin 4-Forumsteilnehmer für den Spam-Versand in privaten Nachrichten zu sammeln.

Darüber hinaus ist die zum Erstellen einer Benutzerliste erforderliche Abfrage für Datenbankserver schrecklich und kann zu einer hohen Serverlast führen.

Erhöhte Geschwindigkeit beim Verarbeiten einer Liste persönlicher Nachrichten.

Wenn Sie noch nie persönliche Nachrichten importiert haben von externe Quellen Wenn Sie Impex oder andere Tools verwenden, können Sie sich bei privaten Nachrichten sicher auf die Sortierung nach ID verlassen. Das Sortieren nach ID sorgt dafür, dass Ihr Datenbankserver private Nachrichten nicht in einer temporären Tabelle ablegen muss, um die Sortierung durchzuführen (wodurch die Abfrage viel schneller wird).

Dazu müssen Sie ein kleines Modul mit einem Speicherort in private_messagelist_filter registrieren und Folgendes hineinschreiben:

If ($sortfield == "pmtext.dateline") $sortfield = "pm.pmid";

Und das war's, Sie haben private.php gerade um ~20 % schneller gemacht.


Wir haben eine effizientere Suche nach den neuesten Nachrichten des Benutzers eingerichtet.

Wir gehen zu FTP, suchen nach der Datei Includes /class_userprofile.php und ersetzen die darin enthaltenen Daten wie folgt: Suchen Sie nach:

$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_PREFIX . "post AS post INNER JOIN " . TABLE_PREFIX . "thread AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.dateline DESC GRENZE 20 ");

und ersetzen Sie es durch Folgendes (genauer gesagt ORDER BY):

$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_PREFIX . "post AS post INNER JOIN " . TABLE_PREFIX . "thread AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.postid DESC GRENZE 20 ");

Dadurch wird die Anfrage noch etwas korrekter, als sie ohnehin schon ist. Auf diese Weise müssen Sie nicht in eine temporäre Tabelle sortieren. Bei Benutzern mit mehr als 1000 Nachrichten würde die erste Anfrage etwa 10 Sekunden dauern, in unserem Fall deutlich weniger. Dies gilt in erster Linie für das Vbulletin 4-Benutzerprofil zur Anzeige aktueller Beiträge.

Überprüfung des Themenindex.

Wenn Ihre Foren eine Standardsortierreihenfolge haben, die wie oben beschrieben ohne Änderungen festgelegt wird, stellen Sie sicher, dass sich alle Ihre Indizes in ihren Tabellen befinden. Es gab Fälle, in denen sich Indizes aus mir unbekannten Gründen überschnitten und einige Foren nicht geöffnet wurden.

Ich schlage vor, dass die Standardsortierung in Datumsform erfolgt (die Spalte, die diese Daten verwendet, heißt „Datumslinie“). Um dies zu implementieren, führen wir die Abfrage aus:

ALTER TABLE Thread ADD INDEX forumid2_dp (Forumid, sichtbar, klebrig, Datumsgrenze)

Diese Anfrage gilt speziell für mich. In Ihrem Fall sollte forumid2_dp Ihren Namen haben. Die Nutzung erfolgt auf eigene Gefahr.

Seien Sie vorsichtig bei der Installation von Add-ons.

Nur weil jemand Module und Hacks erstellt, heißt das nicht, dass sie nur für Sie erstellt wurden, in den großen Vbulletin 4-Foren gearbeitet wurden und fehlerfrei sind. Ein hervorragendes Beispiel sind die Berichte über Massen-Hacks durch den einen oder anderen Hack.

Natürlich können wir davon ausgehen, dass die Entwickler nicht alles berücksichtigen und alle Hacks so ausschaufeln können, dass sie nicht in Konflikt geraten, aber... Stellen Sie sicher, dass das Vbulletin-Modul keine Probleme verursacht schwere Lasten Stellen Sie sicher, dass der Hack das Potenzial hat, vor einer Datenbank zu schützen SQL-Injection oder XSS. Leider gibt es Tausende von Anwendungen und Änderungen und es ist einfach nicht möglich, alles zu überprüfen. Es ist besser, wenn Sie alle Hacks selbst schreiben oder bei jemand anderem bestellen. Speziell auf Sie und Ihre Aufgaben zugeschnitten.

Verwenden Sie keine Tabellen in InnoDB.

Hier kann man mir natürlich ins Gesicht spucken, da dieses Thema bereits millionenfach diskutiert wurde, aber aus eigener Erfahrung kann ich sagen, dass ich bei jeder Aktion zu 100 % an MyISAM-Tabellen arbeite. Manchmal verarbeite ich 1000 Anfragen pro Sekunde.

Wenn Sie schon anfangen auszuflippen, dass bei Abfragen, insbesondere bei der neuen Vbulletin-Suche, alles hängen bleibt, ändern Sie die InnoDB-Tabellen in MyISAM. MyISAM reagiert schneller auf individuelle Anfragen, da Sie die Sperrung einzelner Datensätze nicht verwalten müssen. InnoDB ist insgesamt schneller, aber nur, weil es die gleichzeitige Ausführung von Abfragen ermöglicht. Wenn Ihre Abfragen unter MyISAM bereits schnell laufen, besteht keine Notwendigkeit, auf InnoDB umzusteigen. MEINER BESCHEIDENEN MEINUNG NACH.

Artikelbewertung

0%

Bewertung

Benutzerbewertung: 0,35 (1 Stimmen)

Sie haben wahrscheinlich schon oft Foren zur vBulletin-Engine gesehen. Foren als solche sind nicht mehr in Mode, aber vBulletin ist immer noch eine der beliebtesten Engines. In der neuesten (fünften) Version wurden mehrere Schwachstellen gefunden, die das Leben eines Administrators erheblich ruinieren können. In diesem Artikel erzähle ich Ihnen, wie sie verwendet werden.

Das erste Problem ist die falsche Filterung der Benutzerdaten. Dies wurde von einem unabhängigen Sicherheitsforscher gemeldet, der anonym bleiben wollte. Obwohl die Sicherheitslücke einige Einschränkungen aufweist, hat sie den Status „Kritisch“ erhalten, da sie es Ihnen ermöglicht, beliebige Dateien zu lesen und beliebigen Code auf dem Zielsystem auszuführen.

Die zweite Schwachstelle wurde von Forschern von TRUEL IT gefunden und erhielt die Kennung CVE-2017-17672. Es hängt mit den Funktionen der Datendeserialisierung in der Engine zusammen und kann von einem Angreifer verwendet werden, um beliebige Dateien auf dem System zu löschen.

Vollständige Berichte zu beiden Problemen wurden im Rahmen des Beyond Security-Programms von SecuriTeam veröffentlicht. Es gibt auch PoC-Exploits, um Schwachstellen aufzuzeigen. Lassen Sie uns das alles der Reihe nach durchgehen.

Vorbereitungen

Als Server habe ich die WAMP-Distribution verwendet.

Dateien lesen, Befehle ausführen

Der Grund für die erste Schwachstelle liegt also in einer falschen Logik bei der Verarbeitung des Routestring-Parameters, die es einem Angreifer ermöglicht, jede Datei auf der Festplatte über include einzubinden und den darin befindlichen PHP-Code auszuführen.

Unser Weg beginnt mit der wichtigsten Datei – index.php, in der die grundlegende Initialisierung der Anwendung stattfindet.

/index.php
48: $app = vB5_Frontend_Application::init("config.php"); ... 60: $routing = $app->getRouter(); 61: $method = $routing->getAction(); 62: $template = $routing->getTemplate(); 63: $class = $routing->getControllerClass();

Schauen wir uns die Methode vB5_Frontend_Application::init an.

/includes/vb5/frontend/application.php
13: Klasse vB5_Frontend_Application erweitert vB5_ApplicationAbstract 14: ( 15: öffentliche statische Funktion init($configFile) 16: ( 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Frontend_Application(); 20: self::$instance->router = new vB5_Frontend_Routing(); 21: self::$instance->router->setRoutes();

Hier interessiert uns die setRoutes-Methode.

47: öffentliche Funktion setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $path = $_GET[" routestring"];

Die Variable $path enthält den Benutzerdatenwert aus dem Routestring-Parameter. Sie können darin den Pfad zur Forumseite übergeben und diese wird geladen.



Nehmen wir an, wir haben /test bestanden.

Nach der Zuweisung einer Variablen gibt es einen Code, der den Schrägstrich am Anfang der Zeile entfernt, falls vorhanden.

/includes/vb5/frontend/routing.php
75: if (strlen($path) AND $path(0) == "/") 76: ( 77: $path = substr($path, 1); // $path = "test" 78: )
Includes\vb5\frontend\routing.php
83: if (strlen($path) > 2) 84: ( 85: $ext = strtolower(substr($path, -4)) ; 86: if (($ext == ".gif") OR ($ext == ".png") OR ($ext == ".jpg") OR ($ext == ".css") 87: OR (strtolower(substr($path, -3)) == ".js" )) 88: ( 89: header("HTTP/1.0 404 Not Found"); 90: die(""); 91: ) 92: )

Wie Sie sehen, ist der Scheck ziemlich seltsam. Zumindest ist das Vorhandensein einer Liste verbotener Erweiterungen, die direkt in den Code geschrieben sind, verwirrend. Und im Allgemeinen ist die Tatsache, dass die Erweiterung durch das Herausschneiden von vier Zeichen am Ende der Zeile (Zeile 85) erreicht wird, rätselhaft. Wenn wir versuchen, eine Datei mit den Erweiterungen gif, png, jsp, css oder js zu empfangen, gibt der Server im Allgemeinen eine 404-Seite zurück und das Skript wird nicht mehr ausgeführt. Wenn alle Prüfungen bestanden sind, wird die Methode getRoute aus der Klasse vB_Api_Route mit callApi aufgerufen. Es sucht nach geeigneten Routen basierend auf den vom Benutzer bereitgestellten Informationen.

Die Fortsetzung steht nur Mitgliedern zur Verfügung

Option 1: Treten Sie der „Site“-Community bei, um alle Materialien auf der Site zu lesen

Durch die Mitgliedschaft in der Community innerhalb des angegebenen Zeitraums erhalten Sie Zugriff auf ALLE Hacker-Materialien, erhöhen Ihren persönlichen kumulativen Rabatt und können eine professionelle Xakep-Score-Bewertung erwerben!

Wählen Sie die Forum-Engine aus. IPB, vBulletin, Phpbb


Eine Forum-Engine ist für eine seriöse Website unerlässlich. Das Prinzip ist bekannt: Jede Website sollte interaktiv sein. Es gibt viele Möglichkeiten, Interaktivität zu erreichen, von Kommentaren über Artikel bis hin zu Ihrem eigenen Thema soziales Netzwerk. Das Forum ist vielleicht das universellste Tool überhaupt Rückmeldung mit Besuchern.

Das Forum ermöglicht Ihnen:

Erstellen Sie eine dauerhafte Zielgruppe von Website-Benutzern, die ständig zurückkehren und aktiv sind. Besucheraktivität ist echtes Geld.

Inhaltlich sparen. Wenn Sie ein Forum erstellen, werden die Inhalte von Benutzern erstellt und der Eigentümer muss keinen Kauf tätigen große Mengen Texte zur Werbung.

Verlängerung semantischer Kern Website. Durch die Einrichtung eines Forums kann der Eigentümer ohne großen Aufwand die Anzahl der Anfragen erhöhen, für die die Website beworben wird.

Die Installation der Forum-Engine ist ein einfacher Vorgang, aber die Einrichtung und weitere Verwaltung kann für einen Anfänger viele Schwierigkeiten bereiten. Allerdings gibt es für jede gängige Engine eine riesige Menge an Dokumentation, sodass Sie auf Wunsch alles verstehen können. Oder beauftragen Sie einen professionellen Administrator.

Im Großen und Ganzen ist die überwiegende Mehrheit der Engines für den normalen Betrieb des Forums durchaus geeignet, sie verfügen über ungefähr die gleichen Grundfunktionen, einschließlich eines flexiblen Systems zum Festlegen von Zugriffsrechten für Benutzer. Sie zeichnen sich durch einfache Administration, eine Reihe von Vorlagen und Plugins, Zuverlässigkeit und aus technische Unterstützung vom Hersteller. Ich beginne die Rezension mit den Top Drei in Runet: PHPBB ist vielleicht die beliebteste Engine zum Erstellen eines Forums auf dem Runet. Für einen Anfänger besteht der Hauptvorteil von Phpbb darin, dass sowohl die Forum-Engine selbst als auch alle Arten von Add-Ons kostenlos sind. Es gibt auch viele verschiedene Phpbb-Fan-Communitys, sowohl im russischsprachigen als auch im ausländischen Internet.

Weitere Vorteile sind die schnelle Bedienung, die Einfachheit und die relative Flexibilität der Einstellungen. große Zahl Vorlagen und Add-ons. Wenn Sie ein Forum in phpbb erstellen, kann es als Teil der Site verwendet werden (es besteht die Möglichkeit der Integration mit vielen CMS), Sie können aber auch darauf basierend eine mehr oder weniger vollwertige Portal-Site erstellen.

Es gibt jedoch auch einen Nachteil von PHPBB: Es ist äußerst anfällig für Spam-Angriffe und Hacking mit der Einführung des eigenen Codes. Um dies zu vermeiden, müssen Sie spezielle Add-ons zum Schutz vor Spam installieren und die Engine regelmäßig durch die Installation neuer Versionen aktualisieren. Leider bietet dies nicht immer einen 100-prozentigen Schutz, sodass Sie dies manuell selbst oder durch die Ernennung von Moderatoren überwachen müssen. Sie können es auf der offiziellen Website https://www.phpbb.com/ herunterladen.

IPB (Invision Power Board) ist eine kostenpflichtige Foren-Engine, die die meisten Anfänger sofort abschreckt. Wenn das Projekt jedoch ernst gemeint ist, ist es unwahrscheinlich, dass ein Betrag von etwa 200 US-Dollar für ein IPB einen entschlossenen Webmaster aufhält. Aber denken Sie zehnmal darüber nach, ob Sie bereit sind, die IPB-Engine selbst im Interesse einer Vielzahl von Möglichkeiten ständig neu zu erstellen, auf die Gefahr hin, Ihren Support und Ihre Updates zu erschweren.

Das System verfügt über eine Vielzahl von Integrationsmöglichkeiten verschiedene Dienstleistungen– verschiedene CMS, Blogs, Chats, Fotogalerien usw. Vielleicht kann ein Portal auf dieser Engine natürlich mit bestimmten Einstellungen als eine völlig vollwertige Website betrachtet werden.

Und hier gibt es einen erheblichen Wermutstropfen: Die IPB-Engine wird recht selten aktualisiert, die Benutzer fungieren selbst als Tester, die selbst Schwachstellen und Fehler finden. In jedem Fall ist der Code am Ende „schief“ und nicht optimal. Es gibt keine hochqualifizierten russischen Fangemeinden; alle Probleme müssen unabhängig gelöst werden. Auch russische Lokalisierungen sind alles andere als perfekt; Sprachdateien müssen für die normale Anzeige oft bearbeitet werden.

Aufgrund der Komplexität und Fehlerhaftigkeit des Codes werden Foren auf IPB nur in Firefox korrekt angezeigt. In anderen Browsern kann es zu geringfügigen Problemen kommen.

Auch beim Upgrade von der zweiten auf die dritte Version kann es zu Problemen kommen: Die Struktur der Skins und Klassen hat sich geändert, und wenn das Forum geändert wurde, wird das Upgrade problematisch.

Das IPB-Vorlagensystem ist äußerst verwirrend, das Erscheinungsbild zu ändern ist nicht so einfach, Sie müssen viele Dateien „durchwühlen“. Das Standarddesign ist nicht schlecht und recht vertraut – aber es ist Standard, was für viele an sich schon ein erheblicher Nachteil sein kann. Sie können Invision Power Board auf der offiziellen Website http://www.invisionpower.com/apps/board/ herunterladen.
vBulletin (vb). IN Russischsprachiges Segment Internet-vBulletin wird traditionell „Vobla“ oder „Brötchen“ genannt. Das ist wahrscheinlich bester Motor Forum, nichts mehr hinzuzufügen. Der Preis beträgt ca. 250 Dollar (die Lizenz wird für ein Jahr erworben und beinhaltet kostenlose Updates

Es macht keinen Sinn, alle Funktionen aufzuzählen – es (oder die Add-ons) implementiert fast alles, was ein Administrator zum Erstellen eines Forums benötigen könnte. Es gibt Mehrfachzitierung und Unterstützung für Podcasting und Benutzergemeinschaften soziale Gruppen, und ein flexibles Reputationssystem und vieles mehr.

Natürlich verfügt vBulletin über eine große Anzahl an Add-ons und Benutzergemeinschaften, sodass es bei der Wartung keine Probleme geben wird, zumal es ein offizielles Support-Team gibt. Der Nachteil von vBulletin ist zwar nicht sehr groß, aber die kostenpflichtigen Ergänzungen, beispielsweise für Benutzerblogs.

Im Großen und Ganzen weist das Forum keine Mängel auf. Für große, seriöse Projekte ist es gerade wegen seiner Zuverlässigkeit und Widerstandsfähigkeit gegen Angriffe aller Art zu empfehlen. Dies führt zu einer erheblichen Belastung des Servers, insbesondere bei installierten Add-Ons, aber für ernsthafte Projekte werden in der Regel seriöse Server und seriöse Administratoren eingesetzt. Sie können es auf der offiziellen Website http://www.vbulletin.com/ herunterladen.

SMF (Simple Machines Forum). Eine einfache Engine, mit der jeder Anfänger umgehen kann. Einfachheit wird durch mangelnde Funktionalität kompensiert, aber nicht jeder braucht sie komplettes Set

„Chips“. Die Installation von Plugins (Mods) ist bequem in der Engine organisiert; sie können mit nur wenigen Klicks direkt aus dem Admin-Panel heruntergeladen und installiert werden. Das Verwaltungspanel ist etwas ungewöhnlich, aber für einen Anfänger ist das kein Nachteil, da er keine Erfahrung oder Gewohnheiten mit anderen Engines hat. Ungewohntheit bedeutet keine Unannehmlichkeiten. Ein weiterer Vorteil ist die Präsenz große Zahl

Konverter zum Umstieg von anderen Motoren. Das Forum ist sehr zuverlässig in Bezug auf Hacking und Spam ... nun, Spam ist ein ewiges Problem, das bekämpft werden muss und bekämpft werden kann. Obwohl SMF kostenlos ist, sind die Entwickler und erfahrene Benutzer

Helfen Sie allen Bedürftigen im offiziellen Projektforum.

Auf Basis dieser Engine können Sie mit speziellen Add-ons für Portale (Adk Portal, EzPortal etc.) auch vollwertige Websites erstellen. Die große Frage ist jedoch, ob es sich lohnt, ein Portal auf Basis eines Forums zu erstellen. Logischer ist es, ein Forum als Ergänzung zur Hauptseite auf einer vollwertigen Engine zu erstellen.

Lassen Sie uns gleich über die Mängel sprechen. Probleme entstehen oft aus heiterem Himmel, es fehlt an Unterstützung als Klasse, das offizielle Forum ist praktisch tot und die Besitzer von Foren auf dieser Engine antworten dort selten. Es gibt praktisch keine Add-ons oder Vorlagen – Sie müssen alles selbst machen.

Es gibt aber auch Vorteile. Der Motorcode ist so einfach, dass sogar ein Anfänger ihn herausfinden und einige Probleme selbst beheben und einige Funktionen selbst anpassen kann. Die Engine ist sehr leichtgewichtig und belastet den Server kaum. Das Admin-Panel ist äußerst ungewöhnlich, bietet aber möglicherweise die beste Möglichkeit, Benutzerrechte zu konfigurieren. Ein System von Gruppen und Zugriffsrechten für jeden einzelnen Abschnitt ermöglicht es Ihnen, ein leistungsstarkes und effektives Moderationssystem zu erstellen.

PunBB. Ganz einfach eine Engine mit einer ziemlich leistungsstarken Community, die bei der Lösung aufkommender Probleme hilft. Anspruchslos an Serverressourcen. Das Verwaltungspanel ist intuitiv.

Layout erstellt mit CSS-Hilfe Daher wird es für Anfänger, die mit dem Tabellenlayout vertraut sind, ungewöhnlich sein, Vorlagen zu bearbeiten. Dies ist jedoch auch ein Pluspunkt – es ist Zeit, moderne Technologien zu beherrschen.

Ein gravierender Nachteil ist die hohe Verfügbarkeit für Spam – Sie müssen dies zusätzlich zu den installierten Plugins manuell überwachen.

ExBB ist eine kostenlose Engine, deren Besonderheit darin besteht, dass sie mit Textdatenbanken ohne MySQL arbeitet. Vor 10 Jahren war das vielleicht ein Vorteil – solche Seiten erzeugten weniger Last und Hosting mit Datenbankunterstützung war viel teurer. Heutzutage unterstützt jedes Hosting MySQL und Textdatenbanken sind ein Nachteil; Sie sind viel langsamer und weniger zuverlässig.

Allerdings können Sie mit diesem CMS ein Forum für eine kleine Website erstellen, auf der kein großer Zustrom an Besuchern und Nachrichten zu erwarten ist. Es ist einfach zu installieren, leicht zu warten und verfügt über eine große Benutzerzahl sowie ein Support-Forum auf der offiziellen Website.

Vanilla – diese wenig bekannte Engine ist als Ergänzung zu Wordpress, einem der beliebtesten CMS, positioniert. Unter Standardfunktionen WordPress bietet keine Möglichkeit, ein Forum zu erstellen. Natürlich können Sie jede Forum-Engine anpassen, aber das ist nicht so einfach. Vanilla wird wie ein normales Plugin installiert.

Das System der persönlichen Nachrichten wird auf ungewöhnliche Weise umgesetzt – sie werden wie normale Themen veröffentlicht, sind aber nur für diejenigen sichtbar, an die sie gerichtet sind. In jedem Thema können Sie zusätzlich zum öffentlichen Thema eine persönliche Nachricht hinterlassen. Ungewöhnlich, aber durchaus praktisch. Im Allgemeinen scheinen die Entwickler beschlossen zu haben, ein Forum zu erstellen, das sich von allen anderen unterscheidet. Ob dies ein Plus oder ein Minus ist, müssen Sie selbst entscheiden.

Im Allgemeinen gibt es viele Engines – Sie können es ausprobieren, Sie können sich sofort für etwas Beliebtes entscheiden, Sie können sogar etwas Eigenes schreiben oder bestellen. Es ist unmöglich, eindeutig zu sagen, welche Option im Einzelfall optimal ist.

Die Verwaltung solcher Dienste ist normalerweise für nichts verantwortlich. Wenn Ihr Forum also in einem wunderbaren Moment verschwindet, werden sie sich bestenfalls entschuldigen.

Welche es gibt, verrate ich euch im nächsten Artikel

Wenn Sie ein eigenes Forum betreiben, müssen Sie früher oder später über den Schutz Ihres Forums nachdenken – schließlich schlafen Angreifer nicht! In diesem Thema habe ich (mit Hilfe von Habrowser ReaM) eine Liste mit Tipps zur Erhöhung der Sicherheit Ihres Forums zusammengestellt. Interessiert? Willkommen beim Hack :)

Also... fangen wir an:

1) Lassen Sie uns bis zum Ende unserer Zeile aktualisieren (3.5.x, 3.6.x, 3.7.x)

Beschreibung: Keine Kommentare

Warum?: Jelsoft schließt ständig neu auftretende Schwachstellen. Niemand will an dem undichten Forum vom letzten Jahr arbeiten, oder?

2) Benennen Sie die Admin- und Moderationsbereiche um

Beschreibung: Wir benennen das Admin-Panel um, schreiben aber in der Konfiguration auf keinen Fall den Pfad zu unserem umbenannten Admin-Panel. Wir benennen den Mod auch um, er kann jedoch bereits in der Konfiguration registriert werden (obwohl dies auch unerwünscht ist), da er weniger anfällig ist. Überzeugen Sie sich selbst :)

Warum?: Wenn Sie das Admin-Panel umbenennen und den Pfad nicht in der Konfiguration angeben, wird es viel schwieriger, ihn zu finden und daher XSS anzuwenden oder noch schlimmer. Es gibt Nachteile: - Das Bearbeiten eines Profils und das Hinzufügen von Moderatoren funktioniert nicht mehr, ohne die Links manuell zu bearbeiten.

3) Platzieren Sie .htaccess im Admin-Panel:

Beschreibung:
a) Wenn die IP statisch ist, dann
befehlen erlauben, verweigern
von allen leugnen
zulassen von %your_IP%

B) Wir legen außerdem ein zusätzliches Passwort fest:

Warum?: Ein zusätzlicher Passwortschutz für das Admin-Panel schadet nie.

4) Dateien und Ordner löschen:

Beschreibung:
a) Dateien löschen:
/validator.php (falls verfügbar)
/checksum.md5 (falls verfügbar)
b) Ordner löschen:
/installieren/

Warum?: Unsichere Dateien aus Nullversionen können das Anzeigen der Dateiliste ermöglichen, und der Installationsordner ist sehr schädlich =)

5) Anhänge und Avatare verschieben

B) Avatare -> Speichertyp für Benutzerbilder
Avatare müssen in einer Datenbank gespeichert werden

Warum?: Zeile 3.5 lieferte, wenn ich mich richtig erinnere, direkte Links zu Bildern – was bei falscher Hosting-Konfiguration die Möglichkeit bot, die Shell zu überfluten.

6) Legen Sie Berechtigungen für Ordner fest

Beschreibung: Wenn Schritt 5 abgeschlossen ist, können wir die Rechte für die Ordner „custom_*“ jetzt sicher auf 644 setzen, da wir sie jetzt nicht benötigen (oder Sie können sie löschen). Wenn Sie vBulletin gemäß den Anweisungen installiert haben, sollten alle Ordner in / (root) über 644-Berechtigungen verfügen. Wenn nicht, setzen Sie die Berechtigungen auf 644.

Warum?: Wir machen es einem Hacker schwer, die Hülle zu füllen.

7) Wir aktivieren niemals für irgendjemanden die Option „HTML zulassen“.

Beschreibung: Keine Kommentare. Warum sollte jemand HTML brauchen?
Warum?: Möglichkeit von XSS-Angriffen bei aktivierter Funktion.

8) Platzieren Sie .htaccess im Includes-Ordner

Beschreibung: Wir haben .htaccess im Includes-Ordner mit folgendem Inhalt abgelegt:

Befehl erlauben, verweigern
von allen leugnen

Warum?:

  • Wenn dort eine Muschel irgendwie überflutet wird, können sie nicht darauf zugreifen.
  • Wenn Sie ddosiert sind, ist es möglich, dass der PHP-Interpreter abfällt und nur Apache übrig bleibt – und Apache ermöglicht Ihnen bereits das Lesen von PHP-Dateien – daher ist es möglich, alle Dateien aus dem Ordner /includes/ zu lesen – die gleiche Konfiguration .php, was nicht sehr gut ist.

9) Schieben Sie die folgende .htaccess-Datei in das Verzeichnis mit Dateien, die 0777-Attribute haben:

Kirche _http://vbsupport.org/forum/member.php?u=30

Beschreibung:

RemoveHandler.phtml
RemoveHandler.php
RemoveHandler.php3
RemoveHandler.php4
RemoveHandler.php5
RemoveHandler.cgi
RemoveHandler.exe
RemoveHandler.pl
RemoveHandler.asp
RemoveHandler.aspx
RemoveHandler.shtml


Befehl erlauben, verweigern
Von allen leugnen

Warum?: Skripte mit angegebenen Erweiterungen Eine Nutzung innerhalb eines Verzeichnisses ist mit diesem htaccess nicht mehr möglich.

10) Bearbeiten Sie config.php und geben Sie die ID des Administrators in das nicht löschbare Benutzerfeld ein.

Beschreibung:/includes/config.php. Geben Sie einfach die ID des Administrators ein, nachdem Sie alle erforderlichen Änderungen am Profil vorgenommen haben.
Warum?: Es besteht für niemanden die Notwendigkeit, das Administratorprofil noch einmal zu ändern, nicht einmal für sich selbst. Bei Bedarf wird die ID aus der Datei gelöscht, geändert und zurückgegeben. Sicherheit geht vor! :) :)

11) Vergessen Sie nach dem Entfernen von Mods/Hacks nicht, die Dateien zu löschen, die Sie zusammen mit ihnen heruntergeladen haben.

Beschreibung: Keine Kommentare
Warum?: Warum benötigen Sie zusätzliche Dateien auf dem Server? Keine Notwendigkeit...

12) Speichern Sie Backups niemals in der Reichweite des Webservers.

Beschreibung: Keine Kommentare
Warum?: Sie stehen jedem zum Download zur Verfügung, der den Namen des Backups kennt. Natürlich können Sie htaccess hinzufügen, aber aus Sicherheitsgründen sollten Sie dennoch Backups außerhalb der Reichweite des Webservers erstellen.

13) Installieren Sie das Plugin „File Inspector“.

Autor – Ghost (http://www.vbsupport.org/forum/member.php?u=38422)

Beschreibung (Zitat):

Als ich meine alten Skripte durchgesehen habe, bin ich auf dieses Produkt gestoßen – File Inspector. Dies sind mehrere Module für vBulletin, mit denen Sie eine Liste vorhandener Dateien in der Datenbank speichern und von Zeit zu Zeit überprüfen können, ob sich eine davon geändert hat (Größe, Besitzer und Zugriffsrechte werden für jede Datei gespeichert) – das eingebaute Der Cron-Task benachrichtigt den Administrator per E-Mail über gefundene Inkonsistenzen. Sie können mehrere unterschiedliche Kopien (Revisionen) von Dateilisten zum Vergleich in der Datenbank speichern (die automatische Überprüfung mit E-Mail-Benachrichtigung wird nur mit der neuesten Revision überprüft). Das Erscheinungsbild und die verfügbaren Einstellungen sind in den Screenshots zu sehen.

INSTALLIEREN: Zur Installation müssen Sie zwei PHP-Dateien aus dem Archiv auf den Server hochladen und das Produkt aus der Datei „product-gfi.xml“ importieren.

UPDATE: Eine Versionsaktualisierung ist nicht vorgesehen. Um eine neue Version zu installieren, wird daher empfohlen, zuerst die vorherige Version zu deinstallieren.

ZY Das Produkt funktionierte erfolgreich auf allen Versionen von 3.6.8 bis einschließlich 3.8.1. Zwar wurde an verschiedenen Stellen ein Link zum Dropdown-Menü in der Navigationsleiste hinzugefügt, aber das sind Kleinigkeiten.


Von vbsupport.org herunterladen

Warum?: Eine unverzichtbare Sache bei der Suche nach Shells auf einer Website, muss aber vorher installiert werden.

Ergebnis:

Es ist ziemlich schwierig, Zugriff auf das Admin-Panel zu erhalten, daher können Sie eine Shell auch über das Admin-Panel hochladen. Sie können eine Shell über vB-Schwachstellen hochladen, aber wenn Sie sie nach /includes hochladen (für einige Hacks gibt es Dateien, die 777 erfordern), dann haben wir in unserem Includes-Ordner „deny from all“ – die Shell ist von außen einfach nicht zugänglich !

Sie können die Berechtigungen für die verbleibenden Ordner auf 644 setzen, wenn Sie alle Schritte abgeschlossen haben – dann wird das Hochladen ziemlich schwierig, insbesondere wenn Chroot richtig konfiguriert ist. Und schließlich haben wir den Schutz vor den Administratoren selbst erhöht, die sich herumschleichen und sich dadurch XSS und Trojanern aussetzen.

Eigentlich ist das alles... Dies ist mein erstes Thema auf Habré, also treten Sie bitte nicht zu fest :)

UPD: In „Informationssicherheit“ verschoben.