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.
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.
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.
Để đă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ì.
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.