Saya memiliki server dengan apache dan saya baru saja menginstal mod_security2 karena saya sering diserang oleh ini:
Versi apache saya adalah apache v2.2.3 dan saya menggunakan mod_security2.c
Ini adalah entri dari log kesalahan:
[Wed Mar 24 02:35:41 2010] [error]
[client 88.191.109.38] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:47:31 2010] [error]
[client 202.75.211.90] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:47:49 2010] [error]
[client 95.228.153.177] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:48:03 2010] [error]
[client 88.191.109.38] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
Berikut adalah kesalahan dari access_log:
202.75.211.90 - -
[29/Mar/2010:10:43:15 +0200]
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-"
211.155.228.169 - -
[29/Mar/2010:11:40:41 +0200]
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-"
211.155.228.169 - -
[29/Mar/2010:12:37:19 +0200]
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-"
Saya mencoba mengkonfigurasi mod_security2 seperti ini:
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind"
SecFilterSelective REQUEST_URI "\w00tw00t\.at\.ISC\.SANS"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:\)"
Masalahnya di mod_security2 adalah bahwa SecFilterSelective tidak dapat digunakan, itu memberi saya kesalahan. Sebagai gantinya saya menggunakan aturan seperti ini:
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind"
SecRule REQUEST_URI "\w00tw00t\.at\.ISC\.SANS"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:\)"
Bahkan ini tidak berhasil. Saya tidak tahu harus berbuat apa lagi. Adakah yang punya saran?
Perbarui 1
Saya melihat bahwa tidak ada yang bisa menyelesaikan masalah ini menggunakan mod_security. Sejauh ini menggunakan ip-tables sepertinya pilihan terbaik untuk melakukan ini, tetapi saya pikir file akan menjadi sangat besar karena perubahan ip serveral kali sehari.
Saya datang dengan 2 solusi lain, dapatkah seseorang mengomentari mereka tentang menjadi baik atau tidak.
Solusi pertama yang muncul di pikiran saya adalah mengecualikan serangan ini dari log kesalahan apache saya. Ini akan membuat saya lebih mudah untuk menemukan kesalahan mendesak lainnya saat terjadi dan tidak perlu meludah melalui log yang panjang.
Pilihan kedua lebih baik menurut saya, dan itu adalah memblokir host yang tidak dikirim dengan cara yang benar. Dalam contoh ini, serangan w00tw00t dikirim tanpa nama host, jadi saya pikir saya dapat memblokir host yang tidak dalam bentuk yang benar.
Perbarui 2
Setelah menjawab, saya sampai pada kesimpulan berikut.
Agar log kustom untuk apache akan menggunakan beberapa sumber daya yang tidak perlu, dan jika memang ada masalah, Anda mungkin ingin melihat log lengkap tanpa ada yang hilang.
Lebih baik mengabaikan klik dan berkonsentrasi pada cara yang lebih baik untuk menganalisis log kesalahan Anda. Menggunakan filter untuk log Anda pendekatan yang bagus untuk ini.
Pikiran akhir tentang subjek
Serangan yang disebutkan di atas tidak akan mencapai mesin Anda jika Anda setidaknya memiliki sistem yang terbaru sehingga pada dasarnya tidak ada kekhawatiran.
Mungkin sulit untuk menyaring semua serangan palsu dari yang asli setelah beberapa saat, karena log kesalahan dan log akses menjadi sangat besar.
Mencegah hal ini terjadi dengan cara apa pun akan membebani Anda sumber daya dan merupakan praktik yang baik untuk tidak menyia-nyiakan sumber daya Anda pada hal-hal yang tidak penting.
Solusi yang saya gunakan sekarang adalah Linux logwatch . Ini mengirimkan saya ringkasan log dan mereka disaring dan dikelompokkan. Dengan cara ini Anda dapat dengan mudah memisahkan yang penting dari yang tidak penting.
Terima kasih semua atas bantuannya, dan saya harap posting ini dapat membantu orang lain juga.