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.