Request “lạ”
abstract presentation of the internet on earth Nếu là một web developer thì bạn cũng ít nhiều phải đụng chạm tới proxy/load balancer hay app server. Trong rất nhiều thao tác với phần này thì việc thường xuyên kiểm tra log để phát hiện ra những điều bất thường là thao tác không thể bỏ ...
Nếu là một web developer thì bạn cũng ít nhiều phải đụng chạm tới proxy/load balancer hay app server. Trong rất nhiều thao tác với phần này thì việc thường xuyên kiểm tra log để phát hiện ra những điều bất thường là thao tác không thể bỏ qua.
Ngữ cảnh
Một khi website/service đã public thì có nghĩa là nó đã được “phơi” ra giữa thế giới internet. Thế giới internet cũng giống thế giới con người ở khía cạnh “ở đâu cũng có người này người kia”. Nghĩa là có những request ghé thăm với mục đích trong sáng, cũng có những request mang tính thăm dò, phá hoại.
Vậy thì bạn cần phản ứng thế nào với từng loại request không có thiện ý này?
Ví dụ #1
1 2 3 4 5 |
185.130.5.207 - - [23/Dec/2015:20:32:19 +0900] "GET //myadmin/scripts/setup.php HTTP/1.1" 404 2413 "-" "-" 185.130.5.207 - - [23/Dec/2015:20:32:19 +0900] "GET //phpMyAdmin/scripts/setup.php HTTP/1.1" 404 2413 "-" "-" 185.130.5.207 - - [14/Jan/2016:11:47:07 +0900] "GET //websql/scripts/setup.php HTTP/1.1" 404 2413 "-" "-" |
Ví dụ #2
1 2 3 4 5 |
61.231.4.180 - - [01/Sep/2015:17:51:01 +0900] "CONNECT vip163mx01.mxmail.netease.com:25 HTTP/1.0" 400 172 "-" "-" 111.248.118.30 - - [01/Sep/2015:22:53:04 +0900] "CONNECT 163mx01.mxmail.netease.com:25 HTTP/1.0" 400 172 "-" "-" 141.212.122.90 - - [02/Sep/2015:22:55:32 +0900] "CONNECT proxytest.zmap.io:80 HTTP/1.1" 400 172 "-" "-" |
Ví dụ #3
Giả sử domain của bạn là https://abc.com, nhưng lại nhận được những request như sau:
1 2 3 4 |
146.185.239.100 - - [12/Jan/2016:10:00:55 +0900] "GET http://www.alexa.com/ HTTP/1.1" 200 19871 "-" "-" 146.185.239.100 - - [12/Jan/2016:10:25:16 +0900] "GET http://www.alexa.com/ HTTP/1.1" 200 19871 "-" "-" |
Chi tiết về 3 loại log trên có ở link này
Cách khắc phục
Nếu ở ví dụ #1 và #2 có status của request là 2XX thì nghĩa là hở rồi, vá thôi.
Còn ở #3 thì bạn telnet vào host https://abc.com, thực hiện GET một external host khác. Nếu như data trả về là data của external host, thì lại hở rồi, vá thôi