Website-Entwicklung - Sicherheit

Das Sichern Ihrer Webseiten ist ebenso wichtig wie das Entwickeln, da jede Bedrohung, die die Sicherheit gefährden kann, Ihren Ruf als Unternehmen schädigen, Sie finanziell schädigen kann (indem Sie Ihre Online-Einzahlungen stehlen), Ihren Kunden, die Ihre Website besuchen, Schaden zufügen kann usw.

Laut Sicherheitsexperten schlagen sie vor, die Sicherheitsüberprüfung der Website auf der Grundlage der OWASP TOP 10Dies ist ein leistungsstarkes Sensibilisierungsdokument für die Sicherheit von Webanwendungen. Die OWASP Top 10 stehen für einen breiten Konsens über die wichtigsten Sicherheitslücken bei Webanwendungen.

SQL Injections

Injection-Fehler wie SQL-, OS- und LDAP-Injection treten auf, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden. Die feindlichen Daten des Angreifers können den Interpreter dazu verleiten, unbeabsichtigte Befehle auszuführen oder ohne entsprechende Berechtigung auf Daten zuzugreifen.

Solution - Um Ihre Webseite vor iSQL zu schützen, müssen Sie Eingaben und Filtersymbole validieren.

Unterbrochene Authentifizierung und Sitzungsverwaltung

Anwendungsfunktionen im Zusammenhang mit Authentifizierung und Sitzungsverwaltung werden häufig nicht korrekt implementiert, sodass Angreifer Kennwörter, Schlüssel, Sitzungstoken kompromittieren oder sogar andere Implementierungsfehler ausnutzen können, um die Identität anderer Benutzer anzunehmen.

Solution - Um Ihre Website vor diesem Fehler zu schützen, müssen Sie Cookies und Sitzungen mit Ablaufzeit erstellen.

Cross-Site Scripting (XSS)

XSS-Fehler treten immer dann auf, wenn eine Anwendung nicht vertrauenswürdige Daten aufnimmt und sie an einen Webbrowser sendet, ohne sie ordnungsgemäß zu überprüfen oder zu entkommen. Mit XSS können Angreifer Skripts im Browser des Opfers ausführen, die dann Benutzersitzungen entführen, Websites entstellen oder den Benutzer auf schädliche Websites umleiten können.

Solution - Der Schutz davor erfolgt in gleicher Weise wie bei iSQL.

Unsichere direkte Objektreferenz

Eine direkte Objektreferenz tritt auf, wenn ein Entwickler einen Verweis auf ein internes Implementierungsobjekt wie eine Datei, ein Verzeichnis oder einen Datenbankschlüssel verfügbar macht. Ohne eine Zugriffskontrollprüfung oder einen anderen Schutz können Angreifer diese Verweise manipulieren, um auf nicht autorisierte Daten zuzugreifen.

Solution - Sie sollten bestimmte Schutzmechanismen wie Kennwörter implementieren, um solche Dateien zu schützen.

Sicherheitsfehlkonfiguration

Für eine gute Sicherheit muss eine sichere Konfiguration für die Anwendung, die Frameworks, den Anwendungsserver, den Webserver, den Datenbankserver und die Plattform definiert und bereitgestellt werden. Sichere Einstellungen sollten definiert, implementiert und verwaltet werden, da die Standardeinstellungen häufig unsicher sind.

Solution - Software sollte auf dem neuesten Stand gehalten werden.

Sensible Datenexposition

Viele Webanwendungen schützen vertrauliche Daten wie Kreditkarten, Steuer-IDs und Authentifizierungsdaten nicht ordnungsgemäß. Angreifer können solche schwach geschützten Daten stehlen oder ändern, um Kreditkartenbetrug, Identitätsdiebstahl oder andere Straftaten zu begehen.

Solution - Sensible Daten verdienen zusätzlichen Schutz wie Verschlüsselung in Ruhe oder während des Transports sowie besondere Vorsichtsmaßnahmen beim Austausch mit dem Browser.

Fehlende Zugriffskontrolle auf Funktionsebene

Die meisten Webanwendungen überprüfen die Zugriffsrechte auf Funktionsebene, bevor diese Funktionalität in der Benutzeroberfläche angezeigt wird. Anwendungen müssen jedoch beim Zugriff auf jede Funktion dieselben Zugriffskontrollprüfungen auf dem Server durchführen. Wenn Anforderungen nicht überprüft werden, können Angreifer Anforderungen fälschen, um ohne entsprechende Berechtigung auf Funktionen zuzugreifen.

Solution - Sie sollten die Authentifizierungsstufen überprüfen.

Cross-Site Request Forgery (CSRF)

Ein CSRF-Angriff zwingt den Browser eines angemeldeten Opfers, eine gefälschte HTTP-Anfrage, einschließlich des Sitzungscookies des Opfers und aller anderen automatisch enthaltenen Authentifizierungsinformationen, an eine anfällige Webanwendung zu senden. Auf diese Weise kann der Angreifer den Browser des Opfers zwingen, Anforderungen zu generieren, die nach Ansicht der anfälligen Anwendung legitime Anforderungen des Opfers sind.

Solution - Die am häufigsten verwendete Prävention besteht darin, jeder Anforderung, die von einer Website stammt, einige unvorhersehbare, auf Herausforderungen basierende Token zuzuweisen und sie der Sitzung des Benutzers zuzuordnen.

Verwenden von Komponenten mit bekannten Sicherheitslücken

Komponenten wie Bibliotheken, Frameworks und andere Softwaremodule werden fast immer mit vollen Berechtigungen ausgeführt. Wenn eine anfällige Komponente ausgenutzt wird, kann ein solcher Angriff schwerwiegenden Datenverlust oder Serverübernahme ermöglichen. Anwendungen, die Komponenten mit bekannten Schwachstellen verwenden, können die Anwendungsverteidigung untergraben und eine Reihe möglicher Angriffe und Auswirkungen ermöglichen.

Solution - Überprüfen Sie, ob diese Komponentenversion Schwachstellen aufweist, und versuchen Sie, diese zu vermeiden oder mit einer anderen Version zu ändern.

Ungültige Weiterleitungen und Weiterleitungen

Webanwendungen leiten Benutzer häufig weiter und leiten sie an andere Seiten und Websites weiter. Diese Anwendungen verwenden nicht vertrauenswürdige Daten, um die Zielseiten zu bestimmen. Ohne ordnungsgemäße Validierung können Angreifer Opfer auf Phishing- oder Malware-Websites umleiten oder den Zugriff auf nicht autorisierte Seiten weiterleiten.

Solution - Überprüfen Sie immer eine URL.

Sichere gebrauchte Protokolle

Dies ist der Fall, wenn Sie einen VPS-Plan haben und alles selbst verwalten. Wenn die Dienste installiert sind, verwenden sie Standardports. Dies erleichtert einem Hacker die Arbeit, da er weiß, wo er suchen muss.

Einige der wichtigsten Service-Ports, die beim Hosting von Websites verwendet werden, sind nachstehend aufgeführt:

  • SSH - Port 22
  • FTP - Port 21
  • MySQL - Port 3306
  • DNS - Port 53
  • SMTP - Port 25

Der Portwechsel dieser Dienste hängt vom Betriebssystem und den verschiedenen Versionen ab. Darüber hinaus müssen Sie eine Firewall installieren. Wenn es sich um ein Linux-Betriebssystem handelt, empfehlen wirIPtablesund blockieren Sie alle anderen nicht benötigten Ports. Wenn Ihr Betriebssystem Windows ist, können Sie die integrierte Firewall verwenden.

Sie können Brute-Force-Anmeldungen in Ihren Diensten blockieren Fail2banDies ist eine Linux-basierte Software, die alle IP-Adressen blockiert, wodurch viele Anmeldeversuche fehlschlagen.