欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx解決Http慢攻擊(Slow HTTP Attack)的方法

 更新時(shí)間:2024年02月28日 11:48:46   作者:MchBeg  
緩慢的HTTP拒絕服務(wù)攻擊是一種專門針對(duì)于Web的應(yīng)用層拒絕服務(wù)攻擊,本文給大家介紹了Nginx解決Http慢攻擊(Slow HTTP Attack)的方法,需要的朋友可以參考下

什么是慢速連接攻擊

緩慢的HTTP拒絕服務(wù)攻擊是一種專門針對(duì)于Web的應(yīng)用層拒絕服務(wù)攻擊,攻擊者操縱網(wǎng)絡(luò)上的肉雞,對(duì)目標(biāo)Web服務(wù)器進(jìn)行海量HTTP請(qǐng)求攻擊,直到服務(wù)器帶寬被打滿,造成了拒絕服務(wù)。(癱瘓目標(biāo)服務(wù)器

慢速連接攻擊類型

慢速連接攻擊主要有如下幾種:

1.Slow headers攻擊

攻擊者向服務(wù)器發(fā)起HTTP請(qǐng)求,而且不停地發(fā)送HTTP頭部。服務(wù)器為需要接收完所有HTTP頭部,才能處理請(qǐng)求。由于HTTP頭部不停地被攻擊者發(fā)送,服務(wù)器永遠(yuǎn)也無法接收完,服務(wù)器的web容器很快就會(huì)被攻擊者占滿了TCP連接,而不再接收新的請(qǐng)求,最終拒絕服務(wù)。

2.Slow body攻擊

攻擊者向目標(biāo)服務(wù)器發(fā)送POST請(qǐng)求,服務(wù)器以為要接收大量數(shù)據(jù),一直保持連接狀態(tài),但攻擊者卻以10S-100s一個(gè)字節(jié)的速度去發(fā)送數(shù)據(jù),類似的連接被不斷增加后,服務(wù)器資源被大量消耗,最終達(dá)到極限拒絕服務(wù)。

3.Slow read攻擊

攻擊者與服務(wù)器建立連接后,會(huì)發(fā)送完整的請(qǐng)求給服務(wù)器,一直保持連接狀態(tài),然后以極低的速度讀取Response,或者讓服務(wù)器覺得客戶端很忙,消耗服務(wù)器的連接和內(nèi)存資源。

防護(hù)手段

真對(duì)http慢速攻擊的特點(diǎn),防護(hù)時(shí)可對(duì)每秒鐘http并發(fā)連接數(shù)進(jìn)行檢查。

當(dāng)每秒種http并發(fā)連接數(shù)超過設(shè)定值時(shí),會(huì)觸發(fā)http報(bào)文檢查,檢查出一下任意一種情況,都認(rèn)定受到http慢速連接攻擊。

1.連續(xù)多個(gè)httppost報(bào)文的總長(zhǎng)度都很大,但是其http載荷長(zhǎng)度都很小。

2.連續(xù)多個(gè)httpget/post報(bào)文的報(bào)文頭都沒有結(jié)束標(biāo)識(shí)。

將該源ip判定為攻擊源加入黑名單,同時(shí)斷開此ip地址與http服務(wù)器的連接。

對(duì)web服務(wù)器的http頭部傳輸?shù)淖畲笤S可時(shí)間進(jìn)行限制,修改成最大許可時(shí)間為20秒。

統(tǒng)計(jì)每個(gè)TCP連接的時(shí)長(zhǎng)并計(jì)算單位時(shí)間內(nèi)通過的報(bào)文數(shù)量即可做精確識(shí)別。一個(gè)TCP連接中,HTTP報(bào)文太少和報(bào)文太多都是不正常的,過少可能是慢速連接攻擊。

過多可能是使用HTTP 1.1協(xié)議進(jìn)行deHTTP Flood攻擊,在一個(gè)TCP連接中發(fā)送多個(gè)HTTP請(qǐng)求。


周期內(nèi)統(tǒng)計(jì)報(bào)文數(shù)量。一個(gè)TCP連接,HTTP請(qǐng)求的報(bào)文中,報(bào)文過多或者報(bào)文過少都是有問題的,如果一個(gè)周期內(nèi)報(bào)文數(shù)量非常少,那么它就可能是慢速攻擊;如果一個(gè)周期內(nèi)報(bào)文數(shù)量非常多,那么它就可能是一個(gè)CC攻擊。
 
限制HTTP請(qǐng)求頭的最大許可時(shí)間。超過最大許可時(shí)間,如果數(shù)據(jù)還沒有傳輸完成,那么它就有可能是一個(gè)慢速攻擊。
 

Nginx

1、通過調(diào)整$request_method,配置服務(wù)器接受http包的操作限制;

2、在保證業(yè)務(wù)不受影響的前提下,調(diào)整client_max_body_size, client_body_buffer_size, client_header_buffer_size,large_client_header_buffersclient_body_timeout, client_header_timeout的值,必要時(shí)可以適當(dāng)?shù)脑黾樱?/p>

3、對(duì)于會(huì)話或者相同的ip地址,可以使用HttpLimitReqModule and HttpLimitZoneModule參數(shù)去限制請(qǐng)求量或者并發(fā)連接數(shù);

4、根據(jù)CPU和負(fù)載的大小,來配置worker_processes 和 worker_connections的值,公式是:max_clients = worker_processes * worker_connections。

具體配置

user  deployer;
user root;
worker_processes  16;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
 
http {
 
    limit_req_zone $binary_remote_addr zone=req_one:10m rate=10r/s;
    limit_conn_zone $binary_remote_addr zone=limit_conn:10m;
 
    include       mime.types;
    default_type  application/octet-stream;
 
    #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  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
    client_max_body_size 2m;
    client_body_buffer_size 2m;
    client_header_buffer_size 2k;
    large_client_header_buffers 2 1k;
    client_body_timeout 10s;
    client_header_timeout 5s;
 
 
    #gzip  on;
 
    server {
        listen       10056;
        server_name  localhost;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            limit_conn limit_conn 10;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.17.0.1:10050;
 
        }
 
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
}
 

以上就是Nginx解決Http慢攻擊(Slow HTTP Attack)的方法的詳細(xì)內(nèi)容,更多關(guān)于Nginx解決Http慢攻擊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    這篇文章主要介紹了nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • 詳解nginx.conf 中 root 目錄設(shè)置問題

    詳解nginx.conf 中 root 目錄設(shè)置問題

    這篇文章主要介紹了詳解nginx.conf 中 root 目錄設(shè)置問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 基于Nginx的Mencached緩存配置詳解

    基于Nginx的Mencached緩存配置詳解

    這篇文章主要介紹了基于Nginx的Mencached緩存配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Apache select和Nginx epoll模型的用法對(duì)比

    Apache select和Nginx epoll模型的用法對(duì)比

    這篇文章主要介紹了Apache select和Nginx epoll模型的用法對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • nginx status狀態(tài)頁配置方法和中文說明

    nginx status狀態(tài)頁配置方法和中文說明

    這篇文章主要介紹了nginx status狀態(tài)頁配置方法和中文說明,重點(diǎn)在配置例子和status的中文說明,需要的朋友可以參考下
    2014-06-06
  • Nginx之upstream被動(dòng)式重試機(jī)制的實(shí)現(xiàn)

    Nginx之upstream被動(dòng)式重試機(jī)制的實(shí)現(xiàn)

    本文主要介紹了Nginx之upstream被動(dòng)式重試機(jī)制的實(shí)現(xiàn),可以通過proxy_next_upstream來自定義配置,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • 從Nginx切換到Tengine的步驟分享

    從Nginx切換到Tengine的步驟分享

    由淘寶網(wǎng)發(fā)起的Web服務(wù)器 Tengine 可以被看作一個(gè)更好的Nginx,或者是Nginx的超集。它在Nginx的基礎(chǔ)上,針對(duì)大訪問量網(wǎng)站的需求,添加了很多高級(jí)功能和特性
    2012-11-11
  • Nginx如何配置負(fù)載均衡

    Nginx如何配置負(fù)載均衡

    這篇文章主要介紹了Nginx如何配置負(fù)載均衡,幫助大家更好的理解和學(xué)習(xí)使用Nginx,感興趣的朋友可以了解下
    2021-03-03
  • Nginx新增http_ssl_module模塊的解決方案

    Nginx新增http_ssl_module模塊的解決方案

    這篇文章主要介紹了Nginx新增http_ssl_module模塊的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • 詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA)

    詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA)

    這篇文章主要介紹了詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06

最新評(píng)論