Auf diese Weise vermeiden wir, dass die Person, die die Anwendung enthält, direkten Kontakt mit der Außenwelt hat, wodurch eine zusätzliche Ebene hinzugefügt wird, die ein möglicher Angreifer überwinden müsste, um auf unsere Daten zuzugreifen.
Zu schützende Komponenten
Die Sicherheitsaspekte sind sehr umfangreich, man kann nie genau genug sagen, dass wir einen 100% sicheren Server haben, und wenn wir dies tun, gibt es mit Sicherheit eine Sicherheitslücke, die das Leben unmöglich macht, wenn ein Angreifer sie findet.
Aber das sollte uns nicht aufhalten, es gibt viele Angreifer aller Ebenen, aber die am häufigsten vorkommenden sind die niedrigen Ebenen. Wenn wir also vor einer Elite stehen müssen, sind die wichtigsten Punkte zu berücksichtigen das Folgende:
- Richten Sie eine Firewall ein , die nur öffentliche Verbindungen über die HTTPS-Ports 80 und 443 zulässt. Auf diese Weise vermeiden Sie inaktive Ports, die als Eingabe für einen Angreifer dienen können.
- Stellen Sie sicher, dass Nginx mit einem Benutzer ohne Berechtigungen ausgeführt wird. Dies ist ein weiterer Schlüssel, denn wenn Nginx in die Hände eines böswilligen Agenten gerät, kann dies in unserer Umgebung nichts bewirken.
- Verschlüsseln Sie unseren Datenverkehr, um zu vermeiden, dass Sie die Pakete ausspionieren und Daten erhalten, die uns verpflichten.
Nginx und SSL
Nginx wird häufig verwendet, um die SSL-Komponente in Anwendungen zu aktivieren. In der Regel hat dies zwei Gründe: Zum einen kann der Server, der den Reverse-Proxy ausführt, SSL nicht selbst akzeptieren, und zum anderen müssen die Anforderungen von heruntergeladen werden Verarbeitung, die einen Datenverkehr mit SSL erfordert.
Im folgenden Beispiel sehen wir, wie wir eine SSL-Zertifikatkonfiguration auf unserem Nginx- Server vornehmen können:
Zuerst geben wir an, dass Sie Port 443 überwachen sollen. Auf diese Weise erzwingen wir die SSL- Verbindung. Dann haben wir die verschiedenen SSL- Optionen, wobei wir hervorheben, dass wir das Zertifikat und den Zertifikatschlüssel angegeben haben. Diese beiden Elemente sind für jeden Server eindeutig und genau das ermöglicht es uns, die Daten korrekt zu verschlüsseln.
Wir sehen, dass diese Komponente es uns ermöglicht, zu vermeiden, dass beim Erfassen unserer Pakete auf irgendeine Weise, die zum Lesen geeignet ist, Kosten für die Erlangung eines guten Zertifikats gespart werden, da dies die Garantie für unsere Daten ist.