Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Konfiguration der Nginx-Zugriffsbeschränkung, um böswilligen Zugriff und Crawler-Angriffe zu verhindern

Konfiguration der Nginx-Zugriffsbeschränkung, um böswilligen Zugriff und Crawler-Angriffe zu verhindern

PHPz
PHPzOriginal
2023-07-04 10:25:122560Durchsuche

Nginx-Zugriffsbeschränkungskonfiguration zur Verhinderung böswilliger Zugriffe und Crawler-Angriffe

Einführung:
Im heutigen Internetzeitalter sind böswillige Zugriffe und Crawler-Angriffe zu großen Sicherheitsbedrohungen geworden. Als Hochleistungs-Webserver und Reverse-Proxy-Server kann Nginx den Zugriff durch einige Konfigurationen einschränken, um die Website vor diesen Angriffen zu schützen. In diesem Artikel werden einige häufig verwendete Nginx-Zugriffsbeschränkungskonfigurationen mit Codebeispielen vorgestellt.

1. IP-Blacklist- und Whitelist-Einschränkungen

  1. IP-Blacklist-Einschränkungen
    Wenn Sie den Zugriff auf eine bestimmte IP-Adresse einschränken möchten, können Sie das mit Nginx gelieferte Modul ngx_http_access_module verwenden.
http {
    # 创建一个blacklist.conf文件来存储黑名单的IP地址
    include blacklist.conf;
    server {
        location / {
            # 在这里设置黑名单的访问规则
            deny 192.168.1.100;
            deny 192.168.1.0/24;
            deny 10.0.0.0/8;
            # 其他配置...
        }
    }
}

Die obige Konfiguration ist einfach und klar. Sie können den Zugriff direkt im Standortblock verwenden, um den Zugriff auf die angegebene IP-Adresse oder den IP-Adressbereich zu verweigern.

  1. IP-Whitelist-Einschränkungen
    Wenn Sie im Gegensatz zur IP-Blacklist nur bestimmten IP-Adressen den Zugriff erlauben und anderen IP-Adressen verweigern möchten, können Sie den Befehl „allow“ verwenden.
http {
    # 创建一个whitelist.conf文件来存储白名单的IP地址
    include whitelist.conf;
    server {
        location / {
            # 在这里设置白名单的访问规则
            allow 192.168.1.100;
            allow 192.168.1.0/24;
            allow 10.0.0.0/8;
            # 最后拒绝所有其他访问
            deny all;
            # 其他配置...
        }
    }
}

In der obigen Konfiguration verwenden Sie den Befehl „allow“, um den Zugriff auf die angegebene IP-Adresse oder den angegebenen IP-Adressbereich zu erlauben, und „deny all“, um den Zugriff auf alle anderen IP-Adressen zu verweigern.

2. User-Agent-Einschränkungen
Einige Crawler-Angriffe nutzen gefälschte User-Agents für den Zugriff, sodass wir solche Angriffe durch die Einschränkung von User-Agents verhindern können.

http {
    server {
        location / {
            # 在这里设置拒绝某些特定User-Agent的访问
            if ($http_user_agent ~* (curl|wget) ) {
                return 403;
            }
            # 其他配置...
        }
    }
}

Verwenden Sie in der obigen Konfiguration den if-Befehl plus einen regulären Ausdruck, um einen bestimmten Benutzeragenten abzugleichen, und verwenden Sie dann den return-Befehl, um 403 Forbidden zurückzugeben.
Auf diese Weise werden Anfragen, die versuchen, mit Tools wie Curl oder Wget auf die Website zuzugreifen, abgelehnt.

3. Frequenzbegrenzung
Um DDoS-Angriffe und Brute-Force-Cracking zu verhindern, können Sie Zugriffsfrequenzbegrenzungen festlegen.

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
    server {
        location / {
            # 在这里设置访问频率限制
            limit_req zone=one burst=10 nodelay;
            # 其他配置...
        }
    }
}

Verwenden Sie in der obigen Konfiguration den Befehl limit_req_zone, um einen Speicherbereich zum Speichern von IP-Adressen zu erstellen. Der Name ist eins, die Größe beträgt 10 m und die Zugriffsfrequenz ist auf 2r/s eingestellt. Verwenden Sie dann den Befehl limit_req im Standortblock, um die Häufigkeit zu begrenzen. Der Burst-Parameter gibt die Puffergröße an, wenn der Zugriff überschritten wird, und nodelay gibt an, dass die Anforderung sofort verarbeitet werden soll.

Zusammenfassung:
Durch die oben genannten Konfigurationsbeispiele für IP-Black- und Whitelist-Einschränkungen, User-Agent-Einschränkungen und Frequenzbeschränkungen können wir böswilligen Zugriff und Crawler-Angriffe wirksam verhindern. Natürlich kann die spezifische Konfiguration entsprechend den tatsächlichen Anforderungen angepasst werden. Abschließend hoffe ich, dass der obige Inhalt für die Konfiguration Ihrer Nginx-Zugriffsbeschränkung hilfreich sein kann.

Das obige ist der detaillierte Inhalt vonKonfiguration der Nginx-Zugriffsbeschränkung, um böswilligen Zugriff und Crawler-Angriffe zu verhindern. 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