Amalan terbaik untuk pertahanan keselamatan lapisan rangkaian menggunakan Nginx

WBOY
Lepaskan: 2023-06-10 10:33:14
asal
1213 orang telah melayarinya

Dengan peningkatan berterusan kaedah serangan rangkaian moden, kaedah pertahanan keselamatan tradisional tidak lagi dapat memenuhi keperluan keselamatan perusahaan. Semakin banyak perusahaan mula berubah kepada teknologi pertahanan keselamatan lapisan rangkaian Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx juga mempunyai keupayaan pertahanan lapisan rangkaian tertentu. Artikel ini akan memperkenalkan amalan terbaik untuk menggunakan Nginx untuk pertahanan keselamatan lapisan rangkaian.

  1. Perlindungan Asas

Pertama, kita perlu mengkonfigurasi perlindungan asas untuk Nginx.

1.1 Mengehadkan kelajuan sambungan

Nginx boleh mengehadkan kelajuan sambungan pelanggan dan kadar permintaan melalui modul limit_conn_module dan modul limit_req_module. Ini amat penting untuk mempertahankan diri daripada beberapa serangan DoS. Contohnya, anda boleh mengehadkan pelanggan untuk menghantar 10 permintaan HTTP sesaat sahaja melalui konfigurasi berikut:

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

    server {
        location / {
            limit_req zone=req_limit_per_ip burst=20 nodelay;
        }
    }
}
Salin selepas log masuk

1.2 Tolak permintaan tidak sah

Dalam Nginx, anda boleh menyemak permintaan akses tidak sah permintaan, yang membantu menghalang beberapa serangan terhadap pelayan web. Sebagai contoh, berikut ialah konfigurasi yang menolak permintaan yang tidak membawa maklumat pengepala Ejen Pengguna:

http {
    server {
        if ($http_user_agent ~ "") {
            return 444;
        }
    }
}
Salin selepas log masuk
  1. Perlindungan Lanjutan

Atas dasar perlindungan asas, kami perlu melakukan Konfigurasi Nginx untuk perlindungan lanjutan.

2.1 Pertahanan terhadap serangan DDoS

Nginx boleh bertahan daripada serangan DDoS melalui modul pihak ketiga ngx_http_limit_conn_module dan ngx_http_limit_req_module. Modul ini boleh mengehadkan bilangan sambungan dan permintaan sesaat untuk satu alamat IP. Sebagai contoh, berikut ialah konfigurasi yang mengehadkan bilangan sambungan kepada satu alamat IP kepada tidak lebih daripada 20:

http {
    limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;

    server {
        location / {
            limit_conn conn_limit_per_ip 20;
        }
    }
}
Salin selepas log masuk

2.2 Pertahanan terhadap serangan suntikan SQL

Serangan suntikan SQL adalah salah satu daripada serangan yang paling biasa pada aplikasi web. Nginx boleh bertahan daripada serangan suntikan SQL dengan mengkonfigurasi pelayan proksi terbalik dan menggunakan modul pihak ketiga. Sebagai contoh, berikut ialah konfigurasi menggunakan modul ngx_http_auth_request_module untuk mempertahankan daripada serangan suntikan SQL:

http {
    server {
        location / {
            proxy_pass http://app_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            auth_request /auth;

            error_page 403 = @forbidden;
        }

        location /auth {
            internal;
            proxy_pass http://auth_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location @forbidden {
            return 403;
        }
    }
}
Salin selepas log masuk
  1. Ringkasan

Nginx, sebagai pelayan web berprestasi tinggi dan sebaliknya pelayan proksi, mempunyai keupayaan pertahanan lapisan rangkaian tertentu. Melalui konfigurasi yang munasabah dan penggunaan modul pihak ketiga, Nginx boleh menjadi amalan terbaik untuk pertahanan keselamatan lapisan rangkaian. Pada masa yang sama, kami juga perlu terus belajar dan meneroka kaedah dan teknologi pertahanan keselamatan yang lebih maju untuk memastikan keselamatan rangkaian perusahaan.

Atas ialah kandungan terperinci Amalan terbaik untuk pertahanan keselamatan lapisan rangkaian menggunakan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!