Điểm:0

Nginx + PHP-FPM bắt đầu gặp sự cố sau khi yêu cầu dồn nén đáng ngờ với động từ/phương thức http thập lục phân

lá cờ tr

máy chủ của tôi gặp sự cố mỗi khi một pentester khó chịu cố gắng tìm lỗ hổng bảo mật trong ứng dụng của tôi. Tôi thấy điều này trong errorlog:

17:48:48 +0200] "\x16\x03\x01\x00M\x01\x00\x00I\x03\x03\xDBJA\xC5\xB17\xF6\xDA \xD4\xEEEg0\xE0\xF2\xF2\xC9S\ xE4\xF9v}\x1E\x00\xC8\xC3d\x 80h;= \x1F\xD2\xAF?\x88\x8A\xA2\xCF\x16G\x99\x1D\x91" 400 173 "-" "-"

Máy chủ được cấu hình giống như một máy chủ nginx + php-fpm bình thường. Cổng 80 được chuyển hướng đến 443 và ssl được định cấu hình chính xác.

Tôi cũng đã thêm dòng này:

if ($request_method !~ ^(GET|HEAD|POST|OPTIONS|DELETE|PUT|PATCH)$) { return 405; }

(trong cả hai cấu hình máy chủ)

Đây cũng là yêu cầu "dồn nén" duy nhất có kết quả là 400. Tất cả các yêu cầu khác đều có kết quả là 301 hoặc 404. Tôi đã gặp sự cố tương tự khi phần ssl của nginx không được định cấu hình đúng. Tôi đã kiểm tra cấu hình của mình nhưng có vẻ ổn.

Tôi gặp sự cố tương tự trên một máy chủ khác có cấu hình tương tự và trên máy chủ có cấu hình nginx -> apache_mpm_prefork_fpm.

Bất kỳ ý tưởng nào về điều này và cách bảo vệ máy chủ khỏi sự cố. Làm cách nào để tạo lại một yêu cầu dồn nén như vậy (Tôi đã thử nó trong người đưa thư nhưng tôi nhận được một kết quả khác).

Cảm ơn nhiều.

CHỈNH SỬA

Tôi đã tìm ra cách tái tạo nhật ký đó: https://servername:80.

Nhưng tôi không thể tìm ra cách chặn loại yêu cầu này. Tôi đã thử với $scheme nhưng yêu cầu được mã hóa. Tôi đã cố gắng thêm ssl vào cấu hình nhưng không có gì thay đổi. Phải có một lý do tại sao những trang web pentest/exploid cố gắng gửi yêu cầu https đến cổng 80.

Michael Hampton avatar
lá cờ cz
Điều này không giống như pentesting. Có vẻ như ai đó đã cố kết nối với một cổng HTTP bằng HTTPS. Kiểm tra cấu hình nginx của bạn.
codeneuss avatar
lá cờ tr
tốt, nó thực sự là pentesting/quét hoặc tuy nhiên bạn gọi nó. Có rất nhiều yêu cầu khác từ cùng một địa chỉ IP đang tìm cách khai thác. Nhưng nhận xét của bạn giúp tái tạo nó. "Kiểm tra cấu hình nginx của bạn" không giúp được gì. Tôi đã làm điều đó trong nửa năm nay.
Michael Hampton avatar
lá cờ cz
Nginx đã từ chối những yêu cầu đó. Nhiều hơn những gì bạn muốn?
Michael Hampton avatar
lá cờ cz
Và, bạn có ý nghĩa gì khi bị rơi? Bạn đã không hiển thị gì trong bài đăng của mình về sự cố.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.