Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Der Nginx-Reverse-Proxy schützt vor Bot-Angriffen

Der Nginx-Reverse-Proxy schützt vor Bot-Angriffen

王林
王林Original
2023-06-10 19:48:081398Durchsuche

Mit der Entwicklung der Internet-Technologie ist die Verhinderung von Web-Angriffen zu einem wichtigen Thema für die Website-Sicherheit geworden. Als automatisiertes Angriffstool hat sich Bot zu einer der Hauptformen von Webangriffen entwickelt. Insbesondere Nginx, das über einen Reverse-Proxy arbeitet, ist aufgrund seiner Effizienz, Stabilität, Flexibilität und Anpassungsfähigkeit weit verbreitet. In diesem Artikel werden einige wirksame vorbeugende Maßnahmen gegen Bot-Angriffe unter dem Nginx-Reverse-Proxy beschrieben.

1. Zugriffsprotokoll aktivieren

Nginx bietet die Zugriffsprotokollfunktion, die das HTTP-Protokoll, die Quell-IP, die Anforderungszeit, den Antwortstatuscode und andere Informationen zu jeder Anforderung aufzeichnen kann. Durch die Aktivierung des Zugriffsprotokolls können Bot-Angriffe leichter erkannt werden.

Fügen Sie den folgenden Inhalt in die Nginx-Konfigurationsdatei ein:

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    ……
}

2. Fügen Sie eine eingeschränkte IP hinzu

Durch das Hinzufügen der Methode zur Einschränkung von IP in der Nginx-Konfigurationsdatei können Angriffe von IPs in bestimmten Regionen wirksam verhindert werden. Durch das Hinzufügen von Folgendem können beispielsweise Angriffe vom chinesischen Festland verhindert werden:

http {
    deny   61.135.0.0/16;
    deny   118.25.0.0/16;
    ……
}

3. Verwenden Sie das GeoIP-Modul.

Das GeoIP-Modul von Nginx kann die Zugriffsquellen-IP mit ihrem geografischen Standort abgleichen. Installieren Sie einfach das GeoIP-Modul und die GeoIP-Bibliothek und verwenden Sie GeoIP-Variablen, um IP-Ursprungsregionen zu erkennen. Beispiel:

http {
    geoip_country /usr/share/GeoIP/GeoIP.dat;
    geoip_city    /usr/share/GeoIP/GeoIPCity.dat;

    server {
        location / {
            if ($geoip_country_code = CN) {
                return 403;
            }

            if ($geoip_city_name ~* "moscow") {
                return 403;
            }
        }
    }
}

4. HTTP-Referer-Überprüfung hinzufügen

HTTP-Referer kann verwendet werden, um die Quelle der Anfrage zu überprüfen. Fügen Sie einfach den folgenden Inhalt in die Nginx-Konfigurationsdatei ein:

http {
      server {
            if ($http_referer ~* (blacklist1|blacklist2|blacklist3)) {
                    return 403;
            }
      }
}

5. Verwenden Sie Nginx, um CC-Angriffe zu verhindern.

Nginx bietet einige Funktionen, um CC-Angriffe zu verhindern. Legen Sie es einfach in der Nginx-Konfigurationsdatei fest:

http {
      limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

      server {
            location / {
                  limit_req zone=one burst=5;
                  ……
            }
      }
}

6. SSL-Zertifikat aktivieren

Durch die Aktivierung des SSL-Zertifikats können Sie Datendiebstahl und Man-in-the-Middle-Angriffe auf HTTP-Protokollebene verhindern. Gleichzeitig kann der HTTP Strict Transport Security (HSTS)-Mechanismus aktiviert werden, um zu verhindern, dass HTTP-Anfragen zwangsweise in HTTP-Anfragen umgewandelt werden, sodass künftig alle Zugriffe über HTTPS erfolgen können.

http {
      server {
            listen 443 ssl;

            ssl_certificate /path/to/cert;
            ssl_certificate_key /path/to/key;

            add_header Strict-Transport-Security "max-age=315360000; includeSubDomains; preload;";
      }
}

Zusammenfassung

Die Sicherheit des Nginx-Reverse-Proxy-Servers wirkt sich direkt auf die Sicherheit des gesamten Webanwendungssystems aus. Bei Bot-Angriffen können Sie dem Nginx-Reverse-Proxy-Server dabei helfen, gefälschte Anfragen zu vermeiden, indem Sie das Zugriffsprotokoll aktivieren, eingeschränkte IPs hinzufügen, das GeoIP-Modul verwenden, die HTTP-Referer-Überprüfung hinzufügen, Nginx verwenden, um CC-Angriffe zu verhindern und SSL-Zertifikate aktivieren usw Abwehr böswilliger Angriffe und Schutz der Systemsicherheit von Webanwendungen.

Das obige ist der detaillierte Inhalt vonDer Nginx-Reverse-Proxy schützt vor Bot-Angriffen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn