Saya awalnya ini diposting di webmasters.stackexchange.com , tetapi diberitahu saya akan mendapat sambutan yang lebih baik di sini.
Selama beberapa hari terakhir, saya telah menderita dari apa yang tampaknya menjadi serangan DDOS (mungkin tidak disengaja). Saya telah mendapatkan begitu banyak permintaan dari agen yang mengidentifikasi "Mozilla / 4.0 (kompatibel; ICS)" yang apache memakan semua memori yang tersedia.
Karenanya, saya ingin memblokir semua permintaan yang disertai oleh agen pengguna ini, jadi saya mencoba melakukan ini di httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
Tetapi ketika saya me-restart apache itu mengeluh tentang penggunaan di deny
sini. Tanpa harus membungkusnya dalam location
atau directory
blok, yang berarti saya harus menambahkan blok baru untuk setiap situs, apakah ada cara saya dapat menolak akses ke seluruh server?
UPDATE: Kesalahan yang saya dapatkan
- Mulai ulang server web apache2
Kesalahan sintaks pada baris 4 dari /etc/apache2/httpd.conf: deny tidak diizinkan di sini [gagal]
sumber
<Location>
karena mengesampingkan pembatasan otorisasi lainnya<Directory>
, kecuali jika Anda menambahkanAuthMerging And
. Lihat peringatan keamanan tentangRequire
di apache docs: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#requiremod_rewrite dapat dikonfigurasi di tingkat server sesuai dengan dokumen:
Jangan lupa untuk melarikan diri dari regex di
RewriteCond
sumber
<!-- -->
ke suntinganAsalkan sintaks pada garis SetEnv benar, Anda harus dapat membuangnya di conf seperti:
Harus memungkinkan untuk beroperasi di semua host virtual - hanya diuji pada 2.2.24, bekerja seperti pesona
sumber