Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 14709|Jawab: 2

[Situs web] nginx dilindungi DDOS menurut http_user_agent

[Salin tautan]
Diposting pada 20/12/2016 10.37.01 | | |

Proksi terbalik cumi-cumi frontend ke nginx
nginx dilindungi DDOS menurut http_user_agent
Pertama, tinjau log akses untuk mengidentifikasi karakteristik kunjungan mencurigakan yang ditemukan http_user_agent, lalu filter
"Mozilla/4.0 (kompatibel; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: tidak ada penyimpanan, harus divalidasi ulang"
if ($http_user_agent ~ harus-revalidate) {
mengembalikan 503;
}
#这样就返回503错误
lokasi = / {
sertakan proxy.conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log main;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-agent, kalau MSIE 5.01 langsung saja lempar ke tempat lain, seperti menunjuk ke www.qq.com untuk melihat apakah bisa melawan, haha
proxy_hide_header Kontrol Cache;
Terakhir, kembali ke Cache-Control dan kunjungi halamannya
Sekarang tautan di-cache ke cumi-cumi front-end, dan server aplikasi tidak akan mogok
#########################################################
Deskripsi rinci tentang parameter modul lokasi di nginx
Lokasi Nginx dapat memiliki kecocokan sebagai berikut:
1. = Cocokkan kueri ini dengan ketat. Jika ditemukan, hentikan pencarian.
2. ^~ Cocokkan awalan jalur, jika ditemukan, hentikan pencarian.
3. ~ adalah pertandingan reguler peka huruf besar/kecil   
4. ~* adalah kecocokan yang tidak peka huruf besar/kecil
5. !~ dan !~* masing-masing adalah ketidakcocokan peka huruf besar/kecil dan tidak peka huruf besar/kecil

Pencocokan file dan direktori
* -f dan !-f digunakan untuk menentukan apakah ada file
* -d dan !-d digunakan untuk menentukan apakah direktori ada
* -e dan !-e digunakan untuk menentukan apakah ada file atau direktori
* -x dan !-x digunakan untuk menentukan apakah file dapat dieksekusi atau tidak

Beberapa variabel global yang tersedia
$args
$content_panjang
$content_jenis
$document_root
$document_uri
$host
$http_agen_pengguna
$http_cookie
$limit_tarif
$request_berkas_tubuh
$request_metode
$remote_addr
$remote_port
$remote_pengguna
$request_nama file
$request_uri
$query_string
$scheme
$server_protokol
$server_addr
$server_nama
$server_port
$uri

Bendera setelah penulisan ulang dapat berupa:
terakhir
istirahat
Pengalihan
permanen

proxy_pass http://localhost:80;
proxy_set_header Tuan Rumah $host;
Anda dapat secara otomatis mengubah informasi nama domain setelah meneruskan




Mantan:Solusi C# untuk tidak dapat mengakses objek yang dibebaskan
Depan:PowerShell mengubah beberapa spasi menjadi satu ruang untuk menghapus ruang berlebih
 Tuan tanah| Diposting pada 20/12/2016 10.37.25 |

Server dipengaruhi oleh cc (penyerang menggunakan server proxy untuk menghasilkan permintaan yang sah ke host korban, menerapkan DDOS, dan menyamarkannya disebut: cc (ChallengeCollapsar). ), nginx dapat dengan mudah menghadapinya.

Karena useragent penyerang CC umumnya tetap, kami menggunakan nginx untuk menilai useragatet untuk menangani serangan CC.
Dalam konfigurasi server nginx

(1) useragent sama dengan fitur tertentu (tidak peka huruf besar/kecil)
if ($http_user_agent ~* OliveHC3){
   mengembalikan 403;
}
(2) useragent berisi fitur tertentu (tidak peka huruf besar/kecil)
if ($http_user_agent ~* (*OliveHC3*)){
   mengembalikan 403;
}
(3) useragent adalah fitur kosong
if ($http_user_agent ~ ^$){
        mengembalikan 403;
}


Dengan cara ini, serangan kembali ke 403.
 Tuan tanah| Diposting pada 20/12/2016 11.03.41 |

1. $remote_addr dan $http_x_forwarded_for digunakan untuk merekam alamat IP klien;
2.$remote_user: Digunakan untuk merekam nama pengguna klien;
3.$time_local: Digunakan untuk merekam waktu dan zona waktu akses;
4.$request: URL dan protokol HTTP yang digunakan untuk merekam permintaan;
5.$status : Digunakan untuk mencatat status permintaan; Kesuksesan adalah 200,
6.$body_bytes_s ent: Mencatat ukuran konten isi utama file yang dikirim ke klien;
7.$http_referer: digunakan untuk merekam kunjungan dari tautan di halaman itu;
8.$http_user_agent: Catat informasi yang relevan dari browser klien;
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com