Xử lý các cuộc tấn công HTTP w00tw00t


82

Tôi có một máy chủ với apache và gần đây tôi đã cài đặt mod_security2 vì tôi bị tấn công rất nhiều bởi điều này:

Phiên bản apache của tôi là apache v2.2.3 và tôi sử dụng mod_security2.c

Đây là các mục từ nhật ký lỗi:

[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:)

Dưới đây là các lỗi từ 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 "-" "-" 

Tôi đã thử cấu hình mod_security2 như thế này:

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:\)"

Điều trong mod_security2 là SecFilterSelective không thể được sử dụng, nó mang lại cho tôi lỗi. Thay vào đó tôi sử dụng một quy tắc như thế này:

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:\)"

Ngay cả điều này không hoạt động. Tôi không biết phải làm gì nữa. Bất cứ ai có lời khuyên?

Cập nhật 1

Tôi thấy rằng không ai có thể giải quyết vấn đề này bằng cách sử dụng mod_security. Cho đến nay, sử dụng các bảng ip có vẻ như là tùy chọn tốt nhất để làm điều này nhưng tôi nghĩ rằng tệp sẽ trở nên cực kỳ lớn vì ip thay đổi số lần máy chủ mỗi ngày.

Tôi đã đưa ra 2 giải pháp khác, ai đó có thể nhận xét về việc họ có tốt hay không.

  1. Giải pháp đầu tiên xuất hiện trong đầu tôi là loại trừ các cuộc tấn công này khỏi nhật ký lỗi apache của tôi. Điều này sẽ giúp tôi dễ dàng phát hiện ra các lỗi khẩn cấp khác khi chúng xảy ra và không phải nhổ một khúc gỗ dài.

  2. Tùy chọn thứ hai là tốt hơn tôi nghĩ, và đó là chặn các máy chủ không được gửi theo cách chính xác. Trong ví dụ này, cuộc tấn công w00tw00t được gửi mà không có tên máy chủ, vì vậy tôi nghĩ rằng tôi có thể chặn các máy chủ không ở dạng chính xác.

Cập nhật 2

Sau khi đi qua máng câu trả lời tôi đã đi đến kết luận sau đây.

  1. Để đăng nhập tùy chỉnh cho apache sẽ tiêu tốn một số thông báo không cần thiết và nếu thực sự có vấn đề, có lẽ bạn sẽ muốn xem nhật ký đầy đủ mà không thiếu thứ gì.

  2. Tốt hơn là chỉ cần bỏ qua các lượt truy cập và tập trung vào một cách tốt hơn để phân tích các bản ghi lỗi của bạn. Sử dụng các bộ lọc cho nhật ký của bạn một cách tiếp cận tốt cho việc này.

Suy nghĩ cuối cùng về chủ đề này

Cuộc tấn công được đề cập ở trên sẽ không đến được máy của bạn nếu bạn ít nhất có một hệ thống cập nhật nên về cơ bản không có gì phải lo lắng.

Sau một thời gian, có thể khó có thể lọc tất cả các cuộc tấn công không có thật từ những người thực sự, bởi vì cả nhật ký lỗi và nhật ký truy cập đều rất lớn.

Ngăn chặn điều này xảy ra dưới bất kỳ hình thức nào sẽ khiến bạn tốn tài nguyên và đó là một cách tốt để không lãng phí tài nguyên của bạn vào những thứ không quan trọng.

Giải pháp tôi sử dụng bây giờ là Linux logwatch . Nó gửi cho tôi bản tóm tắt của các bản ghi và chúng được lọc và nhóm lại. Bằng cách này bạn có thể dễ dàng tách biệt điều quan trọng khỏi những điều không quan trọng.

Cảm ơn tất cả các bạn đã giúp đỡ, và tôi hy vọng bài đăng này cũng có thể hữu ích cho người khác.

Câu trả lời:


34

Từ nhật ký lỗi của bạn, họ đang gửi yêu cầu HTTP / 1.1 mà không có phần Host: của yêu cầu. Từ những gì tôi đọc được, Apache trả lời lỗi 400 (yêu cầu xấu) cho yêu cầu này, trước khi bàn giao cho mod_security. Vì vậy, có vẻ như các quy tắc của bạn sẽ được xử lý. (Apache xử lý nó trước khi yêu cầu bàn giao cho mod_security)

Hãy tự thử:

tên máy chủ telnet 80
NHẬN /blahblahblah.html HTTP / 1.1 (nhập)
(đi vào)

Bạn sẽ nhận được lỗi 400 và thấy lỗi tương tự trong nhật ký của bạn. Đây là một yêu cầu xấu và apache đang đưa ra câu trả lời chính xác.

Yêu cầu thích hợp sẽ giống như:

NHẬN /blahblahblah.html HTTP / 1.1
Chủ nhà: blah.com

Một vấn đề xoay quanh vấn đề này có thể là vá mod_uniqueid, để tạo một ID duy nhất ngay cả đối với một yêu cầu không thành công, để apache chuyển yêu cầu đến các trình xử lý yêu cầu của nó. URL sau đây là một cuộc thảo luận về công việc này và bao gồm một bản vá cho mod_uniqueid bạn có thể sử dụng: http://marc.info/?l=mod-security-users&m=123300133603876&w=2

Không thể tìm thấy bất kỳ giải pháp nào khác cho nó và tự hỏi nếu một giải pháp thực sự là cần thiết.


Tôi thấy vấn đề bây giờ. Bạn có đề xuất giải pháp được cung cấp trong bài viết, hoặc bạn nghĩ rằng tốt hơn là cứ để nó như vậy. Nó là một máy quét cho bất kỳ cửa sau trong hệ thống. Nếu tôi để nó chỉ quét, một ngày nào đó tôi có thể bị tấn công.
Saif Bechan

1
Xin chào Saif, tôi nghĩ miễn là bạn luôn cập nhật cài đặt apache của mình với các bản vá bảo mật phân phối (hoặc thủ công), bạn sẽ ổn. Yêu cầu HTTP / 1.1 có cấu trúc kém (như bạn đã thấy) không nên trả lại bất cứ điều gì ngoài lỗi 400 từ apache. Có vẻ như nó có thể là một loại quét lỗ hổng tập trung tại các bộ định tuyến DLink. (Theo một số nguồn khác)
Imo

Có ít nhất một cách để đưa các trường này ra khỏi lỗi apache của tôi không
Saif Bechan

Bạn thể làm điều đó thông qua mod_log :: httpd.apache.org/docs/2.2/mod/mod_log_config.html#customlog
Imo

Gợi ý thêm của tôi sẽ là: cấu hình virtualhost mặc định của bạn bên cạnh những cái thực sự đang sử dụng. Các nỗ lực được đề cập ở trên sẽ kết thúc trong nhật ký cho virtualhost mặc định .
Koos van den Hout

16

Lọc IP không phải là một ý tưởng tốt, imho. Tại sao không thử lọc chuỗi bạn biết?

Ý tôi là:

iptables -I INPUT -p tcp --dport 80 -m string --to 60 --algo bm --string 'GET /w00tw00t' -j DROP

spamcleaner.org/en/misc/w00tw00t.html giải pháp tương tự, nhưng chi tiết hơn một chút.
Isaac

Một vấn đề với lọc chuỗi trong tường lửa là nó "khá chậm".
Alexis Wilke

@AlexisWilke bạn có bằng chứng nào cho thấy việc lọc chuỗi iptables chậm hơn lọc ở mức apache không?
jrwren

@jrwren Trên thực tế, nó có thể khá chậm nếu và chỉ khi bạn không vượt qua gói bù để dừng tìm kiếm, tức là "- đến 60" ở đây. Theo mặc định, nó sẽ tìm kiếm trong toàn bộ gói, giới hạn tối đa được đặt ở mức 65.535 byte, độ dài gói IP tối đa: blog.nintechnet.com / Hướng dẫn rõ ràng "Nếu không được thông qua, mặc định là kích thước gói".
gouliej

đó là một lý thuyết tối đa. độ dài tối đa thực tế hơn trên internet là ~ 1500.
jrwren

11

Iv cũng bắt đầu thấy những loại tin nhắn này trong tệp nhật ký của tôi. Một cách để ngăn chặn các kiểu tấn công này là thiết lập fail2ban ( http://www.fail2ban.org/ ) và thiết lập các bộ lọc cụ thể để liệt kê danh sách đen các địa chỉ IP này trong các quy tắc iptables của bạn.

Đây là một ví dụ về bộ lọc sẽ chặn địa chỉ IP được liên kết với việc tạo các tin nhắn đó

[Thứ ba ngày 16 tháng 8, 02:35:23 2011] - regex và bộ lọc === tù

 [apache-wootwoot]
 enabled  = true
 filter   = apache-wootwoot
 action   = iptables[name=HTTP, port="80,443", protocol=tcp]
 logpath  = /var/log/apache2/error.log
 maxretry = 1
 bantime  = 864000
 findtime = 3600

Bộ lọc

 # Fail2Ban configuration file
 #
 # Author: Jackie Craig Sparks
 #
 # $Revision: 728 $
 #
 [Definition]
 #Woot woot messages
 failregex = ^\[\w{1,3} \w{1,3} \d{1,2} \d{1,2}:\d{1,2}:\d{1,2} \d{1,4}] \[error] \[client 195.140.144.30] File does not exist: \/.{1,20}\/(w00tw00t|wootwoot|WootWoot|WooTWooT).{1,250}
 ignoreregex =

2
Đúng là bạn có thể chặn chúng, nhưng không cần thiết vì chúng chỉ là những yêu cầu xấu. Tốt hơn hết là bỏ qua chúng, giúp bạn tiết kiệm công việc và bạn sẽ giải phóng một số nguồn.
Saif Bechan

Đúng @Saif Bechan, nếu ai đó lo lắng về việc "các cuộc tấn công thử nghiệm" thành công, anh ấy / cô ấy nên sửa ứng dụng của chính mình thay vì lãng phí thời gian để tìm cách chặn điều đó.
Thomas Berger

Đã cho bạn +1, cảm ơn vì câu trả lời.
Saif Bechan

4
@SaifBechan, tôi không đồng ý. w00tw00t là một trình quét lỗ hổng và một máy phát hành các yêu cầu như vậy không thể tin tưởng được khi thử các loại yêu cầu khác, vì vậy nếu tôi là quản trị viên hệ thống và tôi phải mất 2 phút để cấm các khách hàng đó trong nhiều ngày, tôi 'Làm như vậy. Mặc dù vậy, tôi sẽ không dựa trên toàn bộ triển khai bảo mật của mình theo cách tiếp cận như vậy.
Isaac

3

w00tw00t.at.blackhats.romanian.anti-sec là một nỗ lực hack và sử dụng IP giả mạo, vì vậy các tra cứu như VisualRoute sẽ báo cáo Trung Quốc, Ba Lan, Đan Mạch, vv theo IP đang được biệt phái tại thời điểm đó. Vì vậy, việc thiết lập IP từ chối hoặc Tên máy chủ có thể phân giải là không thể thực hiện được vì nó sẽ thay đổi trong vòng một giờ.


Những quét lỗ hổng này không sử dụng địa chỉ IP giả mạo. Nếu họ đã làm như vậy, bắt tay 3 bước TCP sẽ không được hoàn thành và Apache sẽ không đăng nhập yêu cầu. Để biết thêm thông tin (ISP lừa đảo, nhà khai thác bộ định tuyến, v.v.), hãy xem security.stackexchange.com/q/37481/53422
Anthony Geoghegan

2

Cá nhân tôi đã viết một tập lệnh Python để tự động thêm các quy tắc IPtables.

Đây là một phiên bản rút gọn một chút mà không đăng nhập và rác khác:

#!/usr/bin/python
from subprocess import *
import re
import shlex
import sys

def find_dscan():
        p1 = Popen(['tail', '-n', '5000', '/usr/local/apache/logs/error_log'], stdout=PIPE)
        p2 = Popen(['grep', 'w00t'], stdin=p1.stdout, stdout=PIPE)

        output = p2.communicate()[0].split('\n')

        ip_list = []

        for i in output:
                result = re.findall(r"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", i)
                if len(result):
                        ip_list.append(result[0])

        return set(ip_list)

for ip in find_dscan():
        input = "iptables -A INPUT -s " + ip + " -j DROP"
        output = "iptables -A OUTPUT -d " + ip + " -j DROP"
        Popen(shlex.split(input))
        Popen(shlex.split(output))

sys.exit(0)

Đây có phải là để ngăn chặn cuộc tấn công
w00tw00t

Có, tôi đã quét các bản ghi lỗi Apache cho bất kỳ IP "w00tw00t" nào và thêm chúng nếu chúng không tồn tại, mặc dù để đơn giản tôi đã không thêm kiểm tra trùng lặp.
Xorlev

Kịch bản này có lẽ nên sử dụng một bảng, thêm hàng tấn quy tắc bổ sung vào chuỗi iptables sẽ làm chậm quá trình xử lý khá nhiều.
Eric

Nó không sử dụng một bảng. Tuy nhiên tôi đã đơn giản hóa rất nhiều vì nó được thiết kế riêng cho hệ thống của tôi.
Xorlev

Bạn có nghĩ rằng đây là một giải pháp tốt hơn để sử dụng mod_security
Saif Bechan

2

Tôi tin rằng lý do mod_security không hiệu quả với bạn là vì Apache đã không thể tự phân tích các yêu cầu, chúng không có giá trị. Tôi không chắc là bạn có vấn đề ở đây - apache đang đăng nhập vào thứ rác rưởi kỳ lạ đang xảy ra trên mạng, nếu nó không đăng nhập thì bạn sẽ không nhận ra nó thậm chí còn xảy ra. Các tài nguyên cần thiết để đăng nhập các yêu cầu có lẽ là tối thiểu. Tôi hiểu sự bực bội của mình rằng ai đó đang điền vào nhật ký của bạn - nhưng sẽ khó chịu hơn nếu bạn vô hiệu hóa việc đăng nhập chỉ để thấy bạn thực sự cần nó. Giống như ai đó đã xâm nhập vào máy chủ web của bạn và bạn cần nhật ký để hiển thị cách họ xâm nhập.

Một giải pháp là thiết lập ErrorLogging thông qua syslog, sau đó sử dụng rsyslog hoặc syslog-ng, bạn có thể lọc và loại bỏ các vi phạm RFC này liên quan đến w00tw00t. Hoặc cách khác, bạn có thể lọc chúng thành một tệp nhật ký riêng biệt để ErrorLog chính của bạn dễ đọc. Rsyslog là vô cùng mạnh mẽ và linh hoạt trong vấn đề này.

Vì vậy, trong httpd.conf bạn có thể làm:

ErrorLog syslog:user 

sau đó trong rsyslog.conf bạn có thể có:

:msg, contains, "w00tw00t.at.ISC.SANS.DFind" /var/log/httpd/w00tw00t_attacks.log

Xin lưu ý, phương pháp này thực sự sẽ sử dụng nhiều tài nguyên hơn nhiều lần so với sử dụng ban đầu đăng nhập trực tiếp vào một tệp. Nếu máy chủ web của bạn rất bận rộn, điều này có thể trở thành một vấn đề.

Cách tốt nhất là gửi tất cả các bản ghi đến một máy chủ ghi nhật ký từ xa càng sớm càng tốt và điều này sẽ có lợi cho bạn nếu bạn bị xâm nhập vì việc xóa dấu vết kiểm toán về những gì đã được thực hiện sẽ khó khăn hơn nhiều.

Chặn IPTables là một ý tưởng, nhưng bạn có thể kết thúc với một danh sách khối iptables rất lớn có thể có ý nghĩa về hiệu suất. Có một mẫu trong các địa chỉ IP, hoặc nó đến từ một mạng botnet phân tán lớn? Sẽ cần phải có X% số bản sao trước khi bạn nhận được lợi ích từ iptables.


Câu trả lời tốt đẹp, tôi thích các phương pháp khác nhau. Suy nghĩ về nó, có đăng nhập tùy chỉnh sẽ tạo ra cách sử dụng truy đòi nhiều hơn, bởi vì mọi thứ phải được kiểm tra trước, tôi đoán tùy chọn này cũng rơi ra. Bây giờ tôi đã kích hoạt logwatch. Điều này sẽ gửi cho tôi một báo cáo 2 lần một ngày với bản tóm tắt của toàn bộ hệ thống. Nhật ký apache cũng được kiểm tra và nó chỉ cho biết w00tw00t cố gắng 300 lần. Tôi nghĩ rằng tôi sẽ rời khỏi thiết lập như hiện tại.
Saif Bechan

1

Bạn nói trong Cập nhật 2:

Vấn đề vẫn còn Vấn đề vẫn còn như sau. Các cuộc tấn công này là từ các bot tìm kiếm các tệp nhất định trên máy chủ của bạn. Máy quét đặc biệt này tìm kiếm tệp /w00tw00t.at.ISC.SANS.DFind :).

Bây giờ bạn có thể bỏ qua nó được khuyến khích nhất. Vấn đề vẫn là nếu bạn có tệp này trên máy chủ của bạn bằng cách nào đó một ngày nào đó, bạn sẽ gặp một số rắc rối.

Từ câu trả lời trước của tôi, chúng tôi đã thu thập được rằng Apache đang trả về một thông báo lỗi do truy vấn HTML 1.1 được định dạng kém. Tất cả các máy chủ web hỗ trợ HTTP / 1.1 có thể sẽ trả về lỗi khi họ nhận được thông báo này (Tôi đã không kiểm tra lại RFC - có lẽ RFC2616 cho chúng tôi biết).

Có w00tw00t.at.ISC.SANS.DFind: trên máy chủ của bạn, một số nơi không có ý nghĩa bí ẩn "bạn đang gặp rắc rối" ... Nếu bạn tạo tệp w00tw00t.at.ISC.SANS.DFind: trong Tài liệu của bạn hoặc thậm chí DefaultDocumentRoot không thành vấn đề ... máy quét đang gửi một yêu cầu HTTP / 1.1 bị hỏng và apache đang nói "không, đó là một yêu cầu tồi ... tạm biệt". Dữ liệu trong tệp w00tw00t.at.ISC.SANS.DFind: sẽ không được phục vụ.

Không cần sử dụng mod_security cho trường hợp này trừ khi bạn thực sự muốn (không có điểm nào?) ... trong trường hợp đó, bạn có thể xem xét vá nó bằng tay (liên kết trong câu trả lời khác).

Một điều khác mà bạn có thể có thể nhìn vào bằng cách sử dụng tính năng RBL trong mod_security. Có lẽ có một RBL trực tuyến một số nơi cung cấp IP w00tw00t (hoặc các IP độc hại đã biết khác). Tuy nhiên, điều này có nghĩa là mod_security thực hiện tra cứu DNS cho mọi yêu cầu.


Tôi không nghĩ apache từ chối họ, nó chỉ ném lỗi nhưng việc tra cứu vẫn trôi qua. Tôi đã có cùng w00tw00t.at.ISC.SANS.DFind trong nhật ký truy cập. Nó làm một NHẬN. Vì vậy, việc tra cứu được thực hiện và nếu bạn có tệp trên máy thì nó sẽ được thực thi. Tôi có thể đăng các mục nhật ký truy cập nhưng chúng trông giống như nhật ký lỗi chỉ với một GET ở phía trước chúng. Apache ném lỗi nhưng yêu cầu vượt qua. Đó là lý do tại sao tôi hỏi liệu có nên chặn những yêu cầu này mà không có tên máy chủ không. Nhưng tôi không muốn chặn người dùng bình thường.
Saif Bechan

1
Chắc chắn, bạn nhận được cùng một mục trong nhật ký truy cập nhưng nhìn vào mã lỗi ... 400. Nó không được xử lý. HTTP / 1.1 (tên máy chủ) được sử dụng để báo cho apache biết máy chủ ảo nào sẽ gửi yêu cầu đến ... mà không có phần tên máy chủ của apache yêu cầu HTTP / 1.1 không biết gửi yêu cầu ở đâu và trả về lỗi "400 yêu cầu xấu" trở lại với khách hàng
Imo

Hãy tự mình thử ... tạo cho mình một trang html trên máy chủ web của bạn và thử truy cập nó bằng tay bằng cách sử dụng "tên máy chủ telnet 80" ... các bước khác nằm trong câu trả lời đầu tiên của tôi. Tôi đã đặt một khoản tiền thưởng lớn cho nó rằng bạn không thể lấy tệp html để hiển thị bằng HTTP / 1.1 mà không có tên máy chủ.
Imo

À vâng vâng, vì đã chỉ ra điều đó cho tôi. Tôi luôn nghĩ access_log là các mục đã được thông qua máng ghi nhật ký lỗi và thực sự đã nhập vào máy của bạn. Cảm ơn bạn đã chỉ ra điều này cho tôi và tôi sẽ chỉnh sửa bài viết của tôi. Tôi thực sự đánh giá cao sự giúp đỡ của bạn.
Saif Bechan

Xin chào Saif, không có vấn đề gì, rất vui vì đã giúp đỡ. Trân trọng, Imo
Imo

1

Làm thế nào về việc thêm một quy tắc để modsecurance? Một cái gì đó như thế này:

   SecRule REQUEST_URI "@rx (?i)\/(php-?My-?Admin[^\/]*|mysqlmanager
   |myadmin|pma2005|pma\/scripts|w00tw00t[^\/]+)\/"
   "severity:alert,id:'0000013',deny,log,status:400,
   msg:'Unacceptable folder.',severity:'2'"

1

Tôi thấy rằng hầu hết các giải pháp đã được đề cập ở trên, tuy nhiên tôi muốn chỉ ra rằng không phải tất cả các máy khách đã gửi yêu cầu HTTP / 1.1 mà không có các cuộc tấn công tên máy chủ được nhắm trực tiếp vào máy chủ của bạn. Có nhiều nỗ lực khác nhau để lấy dấu vân tay và / hoặc khai thác hệ thống mạng trước máy chủ của bạn, tức là sử dụng:

client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /tmUnblock.cgi

để nhắm mục tiêu các bộ định tuyến Linksys, v.v. quy tắc và các dịch vụ liên quan, ví dụ mod_security, fail2ban, v.v.


1

Còn cái này thì sao ?

iptables -I INPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.DFind' -j DROP
iptables -I INPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.DFind' -j LOG --log-level 4 --log-prefix Hacktool.DFind:DROP:

làm việc tốt cho tôi


tôi đã đề xuất quy tắc OWASP_CRS / 2.2.5 hoặc vắt cho mod_security
Urbach-Webhosting

Đây thực sự không phải là một ý tưởng tốt. Bạn sẽ kết thúc với rất nhiều kết nối treo. Ngoài ra, nếu trang web của bạn có bất kỳ cuộc thảo luận nào về những yêu cầu đó, bạn có thể kết thúc với những thông tin sai lệch.
kasperd

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.