banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: 1mp0ss1bl3  XML
Profile for 1mp0ss1bl3 Messages posted by 1mp0ss1bl3 [ number of posts not being displayed on this page: 2 ]
 
Mình nghĩ bạn cần xem lại những điểm sau:

- Thông báo lỗi trình duyệt hiển thị khi truy cập vào các site https. Mục đích của việc này giúp xác định server tạo ra thông báo lỗi.
- Xem access log của con server đó để thu thập thêm thông tin.
- Xem lại chỗ khai báo cho acl CONNECT
vd: http_access deny CONNECT SSL_ports

Thân
Sự khác nhau giữa các phiên bản thường ở chỗ hỗ trợ phần cứng và các công nghệ đi kèm. Cụ thể như thế nào bạn có thể tham khảo thêm trên trang chủ của từng sản phẩm.
Lựa chọn OS trước hết phải biết "nó" như thế nào, hỗ trợ chúng ta ra sao, có phù hợp với ứng dụng mà mình sắp triển khai hay không v..v.. Chứ đừng nghe theo giang hồ đồn đại làm gì smilie
Cá nhân mình thấy nếu chủ yếu là nghiên cứu và "vọc" thì CentOS là lựa chọn hợp lý. Giang hồ đồn vậy đó smilie

mrro wrote:
he he he hay smilie. anyway, mình phải hỏi là, nó có đủ nhanh khi lượng dữ liệu lớn lên, chẳng hạn như vài chục hay vài trăm G?

-m 


Hi mrro,

Nếu lệnh này grep -n -m 1 $pre_min access_log đủ nhanh (cái này chưa có điều kiện test smilie) thì toàn bộ câu lệnh sẽ vẫn nhanh cho dù log file rất lớn. Vì sau câu lệnh trên mình chỉ tail 1 phần của log file.

Thân
Hì Hì smilie

Chôm của quanta 1 chút mình được lệnh sau:

pre_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num access_log | awk ' $4 <= to && $4 >= from { print $1 }' from="[$pre_min:00" to="[$pre_min:59" | sort | uniq -c | sort -rn

Lệnh này sẽ liệt kê số lần xuất hiện của 1 IP trong access_log chính xác trong khoảng thời gian 1 phút trước.

Có thể linh hoạt thêm 1 chút nếu khai báo thêm 1 biến cur_min. Ví dụ lệnh sau sẽ liệt kê số lấn xuất hiện của 1 IP trong access_log trong 10 phút trước

pre_min=`date -d '11 minutes ago' +%d/%b/%Y:%H:%M`; cur_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num access_log | awk ' $4 <= to && $4 >= from { print $1 }' from="[$pre_min:00" to="[$cur_min:59" | sort | uniq -c | sort -nr

quanta thấy sao?

PS: Cá nhân mình cảm thấy cách này nhanh hơn cách quanta 1 chút

quanta wrote:
Mình có vài ý kiến:

- Bạn bỏ %S trong lệnh date đi là có ý đồ, tuy nhiên xét ở mức nào đó thì chưa chính xác lắm nhỉ. Có lẽ tại thời điểm chạy lệnh, ta nên lấy mốc thời gian là dòng cuối cùng của access_log.

- Bạn giải thích thêm về xargs -iline_num tail -n +line_num cho mọi người rõ hơn nhé. 


Hi quanta,

- Chính xác như bạn thấy, mình bỏ %S đi là có ý đồ smilie, mình chỉ cần match tới phút chứ không cần tới giây
- Câu lệnh trên mình nghĩ là chính xác cho trường hợp "Liệt kê từ access_log tần suất xuất hiện của 1 IP trong khoảng thời gian từ 1 phút trước cho đến thời điểm thực thi câu lệnh".
- xargs -iline_num tail -n +line_num có thể hiểu thế này: Tham số của câu lệnh "tail -n +line_num" nếu match với khai báo sau option -i (hoặc -I) của xargs sẽ được thay thế bằng output của câu lệnh trước đó (input của lệnh xargs). Nó gần giống việc gán giá trị vào biến.
- Lệnh trên có thể được thay thế bằng xargs -I line_num tail -n +line_num

quanta wrote:
Cơ bản là thế.

Anh có thể thay `sort -n | tail -n 1` bằng `sort -rn`. Mà cũng chỉ cần tail -1, tail -1000 thôi, không cần -n.

Anh có cách nào lấy luôn từ thời điểm hiện tại quay về 1 phút trước (thay vì 1 phút sau chạy lại để trừ đi số dòng) không?
Tiếp theo là dùng một dòng lệnh mà ra được kết quả trên thì tốt. 


Mình có 1 lệnh mà hơi dài smilie

pre_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min /usr/local/apache2/logs/access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num /usr/local/apache2/logs/access_log | awk '{print $1}' | uniq -c | sort -nr

Lệnh này làm việc như sau:

- Đầu tiên sẽ gán giá trị thời gian 1 phút trước với định dạng thời gian giống như trong access_log vào biến pre_min.
- Sau đó tìm trong access_log dòng đầu tiên match với thời gian trên và xuất ra thứ tự của dòng đó trong access_log.
- Kế tiếp sẽ liệt kê tất cả các dòng trong access_log kể từ dòng đã được tìm ra ở bước trên.
- Phần còn lại chỉ là đếm và sort.

Mọi người thấy sao? smilie
@zjm_zjm: Dùng lệnh mobprobe để liệt kê, thêm, bớt các loadable modules. Còn cụ thể các options thế nào thì bạn google là ra thôi.

@lequi: Điều bạn nói chính là cái khó nhất của vấn đề. Để xác định được chính xác cần cấm ai, cho phép ai cần phải trải qua 1 quá trình chuẩn bị và phân tích kĩ lưỡng. Trong trường hợp của mình, do chủ quan và thiếu kiến thức bảo mật, nên những thông tin khi server hoạt động bình thường mình không có. Đến khi server bị tấn công, mình rất khó xác định được đâu là các tham số thích hợp do đó cứ bị lẩn quẩn ở chổ "try and try". smilie

Topic này /hvaonline/posts/list/20/32553.html đã chỉ ra rõ điều trên.

Thân
Hi anh conmale,

Đúng như anh nói, script đã được thực thi thành công nhưng do không thấy output nên mod_security mới báo lỗi đó.
Sau khi apply cách của anh và monitor server trong khoảng 4 tiếng, em thấy cần phải thêm thắt và tuỳ chỉnh thêm 1 vài chổ để server có thể chịu đựng 1 cách bền bỉ và lâu dài. Tuy nhiên, trong khi vẫn đang tìm kiếm các thông số thích hợp thì bên tấn công họ đã ngừng nên tạm thời em chưa thể khẳng định được gì nhiều smilie
Sau việc này em học được khá nhiều kinh nghiệm nhất là 2 điểm sau:

- Phải hiểu rõ các công cụ mà mình đang sử dụng.
- Không có thông số nào là chính xác cho tất cả các trường hợp.

Cảm ơn anh conmale, lQ và myquartz đã giúp đỡ.

Thân
Kernel mình đang sử dụng "ipt_recent". Script đó chạy lúc đầu không sao nhưng được 1 lúc mod_security báo lỗi như thế này

Code:
[15/Nov/2010:21:13:02 +0700] [vuvu.mobi/sid#3ef61f8][rid#45d93a8][/][1] Exec: Execution failed while reading output: /home/www-data/blocker.sh (End of file found)
[15/Nov/2010:21:13:02 +0700] [vuvu.mobi/sid#3ef61f8][rid#45d93a8][/][1] Failed to execute: /home/www-data/blocker.sh
[15/Nov/2010:21:13:02 +0700] [vuvu.mobi/sid#3ef61f8][rid#45d93a8][/][1] Access denied with connection close (phase 1). Operator GT matched 5 at IP:ddos. [file "/var/www/vhosts/vuvu.mobi/conf/httpd.include"] [line "94"] [msg "DDoS"]


Đoán là do cái "ip_list_tot=100" quá ít nên tăng lên 3000 nhưng thử lại thì vẫn còn lỗi đó.

Đang check kĩ lại...
Code:
Nick "gac_kiem28";
Tên "Nguyễn Trường Sang";
Ngày sinh "15 dec 1991";
yahoo "gac_kiem28@yahoo.com";


Cái này xnohat thấy trong action-script của cái Flash từ xuongphim phải không? smilie

@Anh conmale: Tối qua em có thử cách của anh nhưng có lỗi với file blocker.sh nên em tạm thời chưa apply. Để chiều về em thử lại và sẽ báo kết quả sau. Phía cty mẹ mới đổi cái gì mà bị tịt hết rồi, vào HVA cũng không được smilie
@CoolMD: Xin lỗi, mình không hiểu ý bạn lắm.

@lQ: Mình đã áp dụng cách này, nhưng làm vậy block list của iptables thì nhiều mà kết quả thì vẫn vậy. Vì nguồn tấn công đến từ rất nhiều IP.

Thanks các bạn đã góp ý.
Chào mọi người,

Cả tuần nay, website của mình bị X-Flash DDOS 1 cách dồn dập. Qua nhiều nguồn tham khảo, nhất là HVA, mình đã áp dụng các biện pháp sau để hạn chế và ngăn chặn bớt. Tuy nhiên, kết quả vẫn thê thảm smilie .

Sơ lược những gì mình đã làm:

- Tối ưu TCP/IP stack ở kernel.
- Thay đổi tham số Apache.
- Cản lọc bớt ở iptables.
- Cài đặt mod-security, mod-evasive và cản lọc ở Apache.

Cụ thể như sau:

1. Dấu hiệu nhận biết:

- Thông tin các cú SYN server:

Code:
netstat -nat | grep SYN
tcp 0 0 69.64.56.140:80 1.53.25.120:56472 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:64553 SYN_RECV
tcp 0 0 69.64.56.140:80 123.20.119.94:42780 SYN_RECV
tcp 0 0 69.64.56.140:80 58.186.67.208:3426 SYN_RECV
tcp 0 0 69.64.56.140:80 118.71.152.184:11671 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:62809 SYN_RECV
tcp 0 0 69.64.56.140:80 113.168.15.135:3827 SYN_RECV
tcp 0 0 69.64.56.140:80 123.20.119.94:42839 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:63879 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:61159 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:61049 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:60983 SYN_RECV
tcp 0 0 69.64.56.140:80 123.20.119.94:42781 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:61595 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:64531 SYN_RECV
tcp 0 0 69.64.56.140:80 113.168.15.135:4934 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:65243 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:60111 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:59943 SYN_RECV
tcp 0 0 69.64.56.140:80 113.168.15.135:4933 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:64205 SYN_RECV
tcp 0 0 69.64.56.140:80 113.161.94.195:51861 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:60131 SYN_RECV
tcp 0 0 69.64.56.140:80 118.69.35.164:64899 SYN_RECV
tcp 0 0 69.64.56.140:80 113.23.71.96:64279 SYN_RECV


- 1 phần access log của apache:

Code:
58.187.103.83 - - [13/Nov/2010:08:56:45 +0700] "GET / HTTP/1.1" 403 745 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:46 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:46 +0700] "GET / HTTP/1.1" 403 745 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:46 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:46 +0700] "GET / HTTP/1.1" 403 745 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:47 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:47 +0700] "GET / HTTP/1.1" 403 745 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:47 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:48 +0700] "GET / HTTP/1.1" 403 745 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:48 +0700] "GET / HTTP/1.1" 403 709 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:48 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:49 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:49 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:49 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:50 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:50 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:50 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:51 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:51 +0700] "GET / HTTP/1.1" 403 744 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
58.187.103.83 - - [13/Nov/2010:08:56:52 +0700] "GET / HTTP/1.1" 403 709 "http://xuongphim.com/ver11/mediaplayer.swf" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
123.20.23.64 - - [13/Nov/2010:09:06:08 +0700] "GET / HTTP/1.1" 400 735 "http://secuyou.co.cc/logo.swf" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SIMBAR={75530FC6-8C96-11DD-BA4E-AA56B0F29AA1}; GTB0.0; ShopperReports 3.0.487.0; SRS_IT_E879027FB476585334AA97)"
117.0.8.153 - - [13/Nov/2010:09:18:08 +0700] "GET / HTTP/1.1" 400 735 "http://secuyou.co.cc/logo.swf" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)"
123.26.252.3 - - [13/Nov/2010:09:23:38 +0700] "GET / HTTP/1.1" 400 735 "http://secuyou.co.cc/logo.swf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)"



- Chụp package để phân tích: tcpdump -s0 -i eth0 -p tcp port 80

Xem những gói HTTP thì thấy thông tin sau:

Code:
GET / HTTP/1.1
Accept: */*
Accept-Language: en-US
Referer: http://secuyou.co.cc/logo.swf
x-flash-version: 10,1,85,3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.6)
Host: vuvu.mobi
Connection: Keep-Alive
Cookie: PHPSESSID=66ff22765d9540838022fda33fb8ee19
GET / HTTP/1.1
Host: vuvu.mobi
Connection: keep-alive
Referer: http://xuongphim.com/ver11/mediaplayer.swf
Accept: */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: __gads=ID=96466adc00e47a3b:T=1285772916:S=ALNI_MZ8BbwCmt_STaXhaQdpAbHkRO75pg; __utmz=87422111.1285772931.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=phim%20%22huyen%20thoai%20tran%20chan%22; __utma=87422111.1139690866.1285772924.1285772924.1285772924.1
HTTP/1.1 403 Forbidden
Date: Thu, 11 Nov 2010 15:45:35 GMT
Server: Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8
Content-Length: 403
Keep-Alive: timeout=5, max=2
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
<hr>
<address>Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8 Server at vuvu.mobi Port 80</address>
</body></html>
GET / HTTP/1.1
Host: vuvu.mobi
Connection: keep-alive
Referer: http://xuongphim.com/ver11/mediaplayer.swf
Accept: */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: __gads=ID=96466adc00e47a3b:T=1285772916:S=ALNI_MZ8BbwCmt_STaXhaQdpAbHkRO75pg; __utmz=87422111.1285772931.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=phim%20%22huyen%20thoai%20tran%20chan%22; __utma=87422111.1139690866.1285772924.1285772924.1285772924.1
HTTP/1.1 403 Forbidden
Date: Thu, 11 Nov 2010 15:45:36 GMT
Server: Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8
Content-Length: 403
Keep-Alive: timeout=5, max=1
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
<hr>
<address>Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8 Server at vuvu.mobi Port 80</address>
</body></html>
GET / HTTP/1.1
Host: vuvu.mobi
Connection: keep-alive
Referer: http://xuongphim.com/ver11/mediaplayer.swf
Accept: */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: __gads=ID=96466adc00e47a3b:T=1285772916:S=ALNI_MZ8BbwCmt_STaXhaQdpAbHkRO75pg; __utmz=87422111.1285772931.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=phim%20%22huyen%20thoai%20tran%20chan%22; __utma=87422111.1139690866.1285772924.1285772924.1285772924.1
HTTP/1.1 403 Forbidden
Date: Thu, 11 Nov 2010 15:45:36 GMT
Server: Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8
Content-Length: 403
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
<hr>
<address>Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8 Server at vuvu.mobi Port 80</address>
</body></html>


- Số cú X-Flash bị cản bởi mod-security:

Code:
cat /etc/modsecurity/logs/modsec_debug.log | grep Pattern | wc -l
7084


Đúng ra còn nhiều hơn nhưng do 1 số đã bị chặn bởi mod-evasive.

2. Thông số thay đổi ở kernel:

Code:
sysctl -a
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_max_syn_backlog = 2048


3. Thông số thay đổi ở apache:

Code:
Timeout 200
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 20
MaxSpareServers 50
ServerLimit 500
MaxClients 500
MaxRequestsPerChild 10000
</IfModule>


4. Cản lọc bớt ở iptables mình dùng bộ rule sau:

Code:
iptables -N SYN_FLOOD
iptables -A INPUT -p tcp --syn --dport 80 -j SYN_FLOOD
iptables -A SYN_FLOOD -m limit --limit 2/m --limit-burst 20 -j RETURN
iptables -A SYN_FLOOD -j DROP


5. Pattern dùng ở apache module:

Code:
mode-security
[code]SecRule REQUEST_HEADERS_NAMES "x-flash-version" "deny,status:400"
SecRule "HTTP_REFERER" "http://secuyou.co.cc/logo.swf"
SecRule "HTTP_REFERER" "http://xuongphim.com/ver11/mediaplayer.swf"
mode-evasive
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 10
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 3600
DOSLogDir /var/log/apache2/mod_evasive


Thông tin con dedicated server:

Code:
cat /proc/cpuinfo
processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
stepping : 10
cpu MHz : 1995.002
cache size : 6144 KB
free -m
total used free shared buffers cached
Mem: 7995 1385 6609 0 55 195
-/+ buffers/cache: 1135 6860
Swap: 1953 203 1749


Tình trạng hiện tại, chặn/chụp được nhưng cũng không ai vào được site hết smilie

Nhờ mọi người xem giúp có sai hoặc thiếu sót gì chỉ giúp mình. Sẵn tiện cảm ơn các bài viết của anh conmale và loạt bài kí sự đã giúp mình hiểu được nhiều điều.

Thân
Code:
http_access deny !Safe_ports


Bạn post chỗ khai báo Safe_ports lên thử xem
Code:
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cache size : 8192 KB
bogomips : 5872.25
2 cái trên mình ví dụ là của cùng Nagios đấy 

Uhm, mình biết là 2 cái đó đều là của Nagios. Nhưng theo mình thấy thì 1 cái là PING alert còn cái kia là Apache service status alert. Ý mình hỏi là có cái Apache status alert nào mà lúc nhận lúc không hay không?

Thông tin log của Nagios quá ít nên khó troubleshoot. Mình nghĩ quanta nên bật debug mode lên để có nhiều thông tin hơn.

Mình nhớ có đọc ở đâu đó 1 thắc mắc của user về trường hợp có alert nhận được có cái không và lý do chính là những thay đổi trong file config của user đó không được Nagios load lại sau mỗi lần restart. Vì thế quanta xem lại các thông số của objects.cache và các file config có khớp không. Nếu được mình nghĩ bạn nên tắt hẳn service (kill) rồi start lại.
Cho mình hỏi có mail nào của cùng 1 service mà cái có, cái không nhận được không bạn?

Mình nghĩ, vấn đề không nằm ở sendmail vì như bạn nói hoàn toàn không có thông tin gì ở maillog. Như vậy, chỉ có thể là nagios có vấn đề.

Bạn xem lại các file config của nagios xem. Nếu có thay đổi gì với những file này thì nên tắt hẳn service rồi load lại, vì nếu chỉ reload service nó vẫn còn sử dụng bản cache cũ.

/etc/group:smmsp: x:51:apache,nagios
/etc/group:nagios: x:503:apache,smmsp
 

quanta thử rollback cái này

rồi thử thay đổi permission của sendmail binary như sau:

-rwxr-sr-x 1 root smmsp 775064 Jun 29 23:46 /usr/sbin/sendmail 


rồi restart lại service xem sao. Nếu vẫn không được bạn xem lại partition chứa sendmail có mount với option "nosuid" không nha.

Thân
Xin bổ sung thêm vài chi tiết nhỏ nữa smilie

- Nếu lắp nhiều server trên 1 rack, thì nên chừa khoảng cách khoảng 1U ( = 3 lỗ vuông trên rack) giữa các server.
- Nếu server có 2 nguồn thì nên chia tải cho 2 nguồn, không nên nối cả 2 nguồn vào chung 1 ổ điện.
- Nên để ý thiết kế của phòng server. Nếu thiết kế theo khí động học thì cẩn thận coi chừng gắn ngược đầu server smilie

Thân
Tương lai mình nghĩ chắc chắn có nhưng cơ hội để có được 1 nơi cho mình dụng võ chắc chắn là ít hơn so với những người có bằng đại học.

Thân
Mình cũng đồng ý với bạn chủ đề và câu hỏi gợi mở của anh conmale hay. Vì mình cũng đang ngâm TCP/IP và nhờ chủ đề này mình đào sâu và mở rộng thêm khá nhiều vấn đề. Nhưng, lý do chính mình không trả lời cho câu hỏi của anh conmale chính là những gì mình biết để trả lời đều toàn là lý thuyết, những điều mà mình nghĩ những ai đã từng ngâm sẽ dễ dàng tìm thấy và đã biết (ví dụ như: Filtering, TCP MD5 Signature, Window size tunning...). Vì thế, mong rằng anh conmale smilie (hoặc những ai đã từng trải qua) trả lời cho câu hỏi của anh conmale hoặc nêu ra các trường hợp cụ thể hơn cho mọi người.

Thân
Mô hình trên sai ở chổ RST/-. Theo như RFC 793 trang 36 thì:

...If the receiver was in SYN-RECEIVED state and had previously been in the LISTEN state, then the receiver returns to the LISTEN state... 


Hướng mũi tên phải đi theo chiều ngược lại mới phải.

@stylish_man: Bạn có thẻ tham khảo thêm ở

http://www.tcpipguide.com/free/t_TCPOperationalOverviewandtheTCPFiniteStateMachineF-2.htm 


để hiểu rõ hơn về TCP States, events và transitions.

Thân
làm sysadmin có cần phải biết lập trình hay không? 


Theo mình thì cần thiết và rất cần thiết trong môi trường có hơn 100 clients/severs

nếu cần, thì nên học lập trình thế nào để tốt cho công việc sysadmin? 


Có 2 hướng:

1. Nắm vững 1 ngôn ngữ lập trình và có tư duy lập trình để khi cần thiết có thể viết ra ngay 1 script hoặc 1 ứng dụng phù hợp với nhu cầu của mình.
2. Có khả năng đọc hiểu code để khi cần có thể tìm kiếm các đoạn script/ứng dụng viết sẵn trên mạng và tùy biến lại cho phù hợp với nhu cầu.
Bạn có thể dùng 1 trong 2 cái này: http://www.packetfence.org/ hoặc http://freenac.net/.
Việc cấm, chặn của bộ phận IT trong công ty thường là do quy định của công ty đặt ra (bộ phận IT có nhiệm vụ thi hành và kiểm tra). Vì thế, việc bạn đang cố gắng tìm cách vượt rào này chính là đang vi phạm vào quy định công ty. Do vậy bạn cũng nên chuẩn bị tâm lý nhận cái đơn sa thải là vừa. Hãy chú trọng vào làm việc đi thay vì cứ tìm cách này cách nọ, nếu nhu cầu công việc thực sự cần thì bộ phận IT trong cty ko có lý do gì cấm cả.

Hix, cấm cấm chặn chặn riết có vẻ cũng chả ai ưa mình cà smilie
Mấy cách debug mình nghĩ không ảnh hưởng gì đâu mà lý do chính là bạn cấu hình nhầm file cấu hình thôi. Thay vì cấu hình ở file /etc/dhcp/dhcpd.conf thì bạn lại thực hiện ở file /etc/dhcpd.conf

Còn về vấn để thay card mình chỉ gợi ý như là 1 giải pháp cuối cùng thôi. Vì bạn có nói là đã thử nhiều cách.

Thân
Nếu đã thử nhiều cách mà vẫn ko được thì thử thay cái card mạng bằng card khác xem.

Thân
Bạn có thể thử cái này https://forums2.symantec.com/t5/Malicious-code/W32-Downadup-P2P-Scanner-Script-for-Nmap/ba-p/393519 . Mình đã từng xài và cho thấy xác suất rất cao.
Bạn nên apply bản vá lỗi từ Microsh1t ASAP nhé.

Thân
Introduction: WebGoat is a deliberately insecure J2EE web application maintained by OWASP designed to teach web application security lessons. In each lesson, users must demonstrate their understanding of a security issue by exploiting a real vulnerability in the WebGoat application. For example, in one of the lessons the user must use SQL injection to steal fake credit card numbers. The application is a realistic teaching environment, providing users with hints and code to further explain the lesson.

Goal: The primary goal of the WebGoat project is simple: create a de-facto interactive teaching environment for web application security...

The current lesson plans provided in WebGoatv5 include:

HTTP Basics
HTTP Splitting and Cache Poisining
How to Exploit Thread Safety Problems
How to Discover Clues in the HTML
How to Exploit Hidden Fields
How to Exploit Unchecked Email
How to Bypass Client Side JavaScript Validation
How to Force Browser Web Resources
How to Bypass a Role Based Access Control Scheme
How to Bypass a Path Based Access Control Scheme
LAB: Role based Access Control
Using an Access Control Matrix
How to Exploit the Forgot Password Page
How to Spoof an Authentication Cookie
How to Hijack a Session
Basic Authentication
LAB: Cross Site Scripting
How to Perform Stored Cross Site Scripting (XSS)
How to Perform Reflected Cross Site Scripting (XSS)
How to Perform Cross Site Trace Attacks (XSS)
Buffer Overflow (TBD)
HTTPOnly Test
How to Perform Command Injection
How to Perform Parameter Injection
How to Perform Blind SQL Injection
How to Perform Numeric SQL Injection
How to Perform String SQL Injection
How to Perform Log Spoofing
How to Perform XPATH Injection Attacks
LAB: SQL Injection
How to Bypass a Fail Open Authentication Scheme
How to Peform Basic Encoding
Denial of Service from Multiple Logins
How to Create a SOAP Request
How to Perform WSDL Scanning
How to Perform Web Service SAX Injection
How to Perform Web Service SQL Injection
How to Perform DOM Injection Attack
How to Perform XML Injection Attacks
How to Perform JSON Injection Attack
How to Perform Silent Transactions Attacks
How to Add a New Lesson
The Challenge

Source: hxxp://www.owasp.org/index.php/Category:OWASP_WebGoat_Project
 
Go to Page:  Page 2 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|