PDA

View Full Version : TestLab : Snort vs. DOS



money4nothing
04-01-2007, 01:30
History
Đầu tháng 12: sắm 1 con AMD64 ở phucanh, main ASUS M2N4-SLI (http://www.phucanh.vn/Product_Detail.asp?id=3004)
1 ngày tiếp theo: đắn đo xem cài cái gì (Linux distro nào)
Sau 2 ngày: cài thành công CentOS 4.4 (http://www.centos.org/)

Mấy tiếng sau, config xong Apache 2

2 ngày tiếp: uống rượu mệt quá, không làm gì nhwung vẫn test được con mini web sever của mình truy nhập qua ADSL, kết quả: "chạy nhanh phết" (nguyên văn lời ông bạn rượu)
Hôm sau: cài thêm windows XP (1 ngày lãng phí trong đời)

Quay lại với CentOS
Vác mini webserver đến công ty ông bạn (vẫn thằng kia đấy), cho 3 máy khác chạy MS Web Application Stress Tool (http://www.microsoft.com/downloads/details.aspx?FamilyID=E2C0585A-062A-439E-A67D-75A89AA36495&displaylang=en) tấn công thử, kết quả: "đột quỵ"

1 tuần tiếp theo: cài đi cài lại snort (http://www.snort.org/)
từ đó đến hôm kia: config đi config lại snort

Hôm kia: lại vác đến chỗ ông bạn, kết quả: trong khi 3 máy tấn công thì cái notebook của mình vẫn truy nhập vào bình thường, logfile của apache gần như không ghi nhận gì access từ 3 máy Stress Tool


Abstracts

Chẳng biết thế có phải là anh snort đã hoàn thành xuất sắc nhiệm vụ?

Còn quá nhiều option khi config mà mình không hiểu để làm gì, mặc dù cũng đã đọc tài liệu

Còn cái vụ Rules nữa: không hiểu


Help !
Có anh em nào ở đây đã sử dụng snort thì hãy chia sẻ kinh nghiệm cho mình với, mình có tham gia 1 diễn đàn nữa: http://www.snort.org/reg-bin/forums.cgi, nhưng kỳ thực là bọn nó bàn luận ở level cao quá, mình không hiểu bọn nó đang bàn cái gì nữa.

Thanks for attention, :gathering

Money for Nothing.

------------
PS. Cần có lời xin lỗi ông bạn mình vì mình đã tự ý nâng cấp hàng games lụp xụp của ông ý lên thành công ty

money4nothing
04-01-2007, 17:17
ủa, cả ngày rồi chẳng thấy ai mới lạ chứ

diễn đàn này có khi level lại hơi thấp

tềthiên
05-01-2007, 14:54
You thử gửi cái config của snort trên máy you lên đây xem sao.
Theo mặc định thì snort không hề chặn gói tin nào hết nên việc sau khi you config lại snort mà server hết bị chết thì chỉ có các khả năng :
1/ you đã config lại iptable
2/ you đã bỏ bớt rules nên snort chạy lẹ hơn.
3/ you có thêm plug-in mới cho snort để nó có khả năng chặn gói tin.
Do you không nói rõ lúc you thử ban đầu (và bị chết) có hay không có snort nên không biết đường nào trả lời.


ủa, cả ngày rồi chẳng thấy ai mới lạ chứ
Ở diễn đàn này có lẽ ít người quan tâm đến linux ở mức đó. Theo tôi thì you nên qua vnoss.org để trao đổi tiếp về vấn đề này thì hơn.

BachDuongTM
05-01-2007, 20:27
:D
minh cung dang nghịch sever ở nhà này ,mình cài nó vào máy ảo và thử truy xuất từ máy thật.Những gì bạn làm ở nhà chỉ là cái tàu bay giấy khi đem ra thực tế thôi.
bạn qua hvaonline.net mà hỏi đi,mọi người hiểu cái đó rành hơn bên này một chút.DDTH có ông ViẹtDuc đang quản lý vài chục sever ấy,hỏi địa chỉ vác chai rượu đến mà hỏi

money4nothing
06-01-2007, 16:24
1/ you đã config lại iptable
2/ you đã bỏ bớt rules nên snort chạy lẹ hơn.
3/ you có thêm plug-in mới cho snort để nó có khả năng chặn gói tin.


Mình đúng là đã có cài 1 số rules cho snort, thực tế là snort đã phát hiện ra logic của 1 vụ tấn công DOS và đã drop các gói đó trước khi vào đến apache.

Nếu bạn xem kỹ history của mình thì bạn sẽ thấy là apache đã không ghi nhận được các access từ bên ngoài (cả access_log và error_log).



Ở diễn đàn này có lẽ ít người quan tâm đến linux ở mức đó. Theo tôi thì you nên qua vnoss.org để trao đổi tiếp về vấn đề này thì hơn.

Mình đã sang bên đó, xem các bài trong diễn đàn và không có nhiều hi vọng.

Nếu bạn cũng đang sử dụng snort hay các công cụ opensource cho securities thì mình cùng trao đổi nhé. Cái testlab mình đăng ở đây là 1 thử nghiệm nhỏ về snort trên Linux.

regards,

money4nothing
06-01-2007, 16:28
1/ you đã config lại iptable


Cái này chắc không phải, port 80 vẫn open (vì notebook của mình vẫn truy nhập http được) và mình cũng không có filter gì cho input.

Lúc trước mình không cài snort.

Mình có cài BASE (Basic Analysis and Security Engine) để theo dõi snort.

money4nothing
06-01-2007, 16:31
Những gì bạn làm ở nhà chỉ là cái tàu bay giấy khi đem ra thực tế thôi.

Chào bạn BachDuong, trước khi làm tầu bay thật, tớ sẽ làm thật nhiều tầu bay giấy, sáp ong, composite, gỗ, tôn ... đến khi có được cái mình cần.

Cám ơn bạn đã góp ý.

tềthiên
06-01-2007, 16:39
Mình đúng là đã có cài 1 số rules cho snort, thực tế là snort đã phát hiện ra logic của 1 vụ tấn công DOS và đã drop các gói đó trước khi vào đến apache.

Nếu bạn xem kỹ history của mình thì bạn sẽ thấy là apache đã không ghi nhận được các access từ bên ngoài (cả access_log và error_log).

Mình lấy đâu ra mà coi ?



Mình đã sang bên đó, xem các bài trong diễn đàn và không có nhiều hi vọng.

You chưa thử làm sao mà biết. Nói về linux và security trên linux thì theo mình bên đó các cao thủ thường vào hơn bên này. Bên đó có một số thành viên mà mình biết chắc là cao thủ về security.



Nếu bạn cũng đang sử dụng snort hay các công cụ opensource cho securities thì mình cùng trao đổi nhé. Cái testlab mình đăng ở đây là 1 thử nghiệm nhỏ về snort trên Linux.
regards,

Mình có nghiên cứu về ừng dụng và mở rộng snort trong security khi làm MS.

frogasvn
06-01-2007, 19:56
đọc một hồi vẫn không hiểu nói gì hic , có bác nào làm tut pót lên cho học hỏi với

nocrack
08-01-2007, 12:26
Em ko biết nhiều nhưng cũng xin có mấy câu:
1 Sort ko thể tự drop gói tin mà chỉ có thể sinh thêm ACL cho iptabes để iptables thực hiện drop gói tin.
2 Khi đã bị drop trước khi vô đến apache thì làm gì có trong access_log và error_log
3 Config iptables thì đâu phải cứ config iptables là close port 80, close port 80 thì bạn phải config lại web service chạy trên port khác thôi.
Đọc một thôi một hồi thì cảm thấy bạn chưa hiểu về chức năng của snort cũng như iptables.

Hơn nữa nếu DDOS bằng tool thì sort và iptables có tác dụng chứ nếu chơi bằng x-flash thì chỉ còn một cách là hạn chế connection theo time mà thôi chứ snort nó ko phân biệt được gói tin của x-flash và gói tin của user thông thường đâu, vì nó có khác gì đâu :D

vdchuyen
08-01-2007, 14:10
Em ko biết nhiều nhưng cũng xin có mấy câu:
1 Sort ko thể tự drop gói tin mà chỉ có thể sinh thêm ACL cho iptabes để iptables thực hiện drop gói tin.
2 Khi đã bị drop trước khi vô đến apache thì làm gì có trong access_log và error_log
3 Config iptables thì đâu phải cứ config iptables là close port 80, close port 80 thì bạn phải config lại web service chạy trên port khác thôi.
Đọc một thôi một hồi thì cảm thấy bạn chưa hiểu về chức năng của snort cũng như iptables.

Hơn nữa nếu DDOS bằng tool thì sort và iptables có tác dụng chứ nếu chơi bằng x-flash thì chỉ còn một cách là hạn chế connection theo time mà thôi chứ snort nó ko phân biệt được gói tin của x-flash và gói tin của user thông thường đâu, vì nó có khác gì đâu :D

Yep, nocrack còn nắm vấn đề hơn tác giả của topic rồi :). Snort chỉ là một giải pháp soft IDS và IPS thôi, không ai chạy một mình snort cả , họa may chỉ để gen ra report rồi ngồi ngắm thôi. Người ta thường chạy chung với snort-inline, snortSnarf, sguil, hay bộ OSSIM, khi đó mới giải quyết được vấn đề của bạn.
Thân
PS: Lần sau hãy tìm hiểu kỹ trước khi nêu vấn đề, đừng chê bai người khác một cách vội vàng thế :)

money4nothing
08-01-2007, 17:59
Đa tạ các anh (chị, chú, bác, bà con) đã quan tâm.
Xin lỗi sự vì hồ đồ.

Nghe mọi người diễn giải mới biết là mình còn kém quá thôi, không phân biệt được snort và snort_inline, cứ tưởng 2 cái đó là 1 :whistling giống như hồi bé cứ tưởng Mark - Lenin là 1 ông.

Hoá ra trong khi hì hụi config snort mình đã làm thế này:

1. Tạo 1 user-defined chain là ip_queue trong iptables:
iptables -N ip_queue

2. routes các gói tcp vào chain này:
iptables -I INPUT -p tcp -j ip_queue

3. và các gói input từ port 80 vào chain
iptables -p tcp --dport 80 -I ip_queue -j QUEUE

Sau đó mình dùng modprobe để load ip_queue và daemon để load snort_inline.

Xem snort.conf thì thấy mình đã update được khá nhiều rules, trong đó có attack-responses.rules, web-attacks.rules, ...

Không biết mình làm vậy đã đúng chưa, các bạn góp ý cho mình với nhé.

Mình cũng có cài cả Acid và cả BASE để ngồi ngắm nữa.


nó ko phân biệt được gói tin của x-flash và gói tin của user thông thường đâu, vì nó có khác gì đâu

Mình chưa nghiên cứu xflash, nhưng với x-flash thì hình như các gói đó trong header đều có user-agent là "x-flash" thì phải. Nếu đúng thế thì có gì khó lắm trong việc drop chúng đâu nhỉ (dùng mod_security chắc ổn).

Cám ơn các bạn, mình rất mong được tiếp tục trao đổi vì mình thấy anh này rất hay.

nocrack
08-01-2007, 23:57
Mình chưa nghiên cứu xflash, nhưng với x-flash thì hình như các gói đó trong header đều có user-agent là "x-flash" thì phải. Nếu đúng thế thì có gì khó lắm trong việc drop chúng đâu nhỉ (dùng mod_security chắc ổn).
Không phải bạn ah với x-flash thì nó khác nó dùng chính trình duyệt web để kết nối vì thế user-agent của nó lại chính là user-agent của trình duyệt, vì vậy mình khẳng định một điều nó không có gì khác so với các request của user thông thường.

p/s: đọc các bài của bạn mình thấy bạn là một người nắm khá rõ lý thuyết thì phải, vì mình là người rất ít kiến thức về lý thuyết nên rất vui vì được trao đổi với bạn

oldfart
09-01-2007, 05:32
Đa tạ các anh (chị, chú, bác, bà con) đã quan tâm.
Xin lỗi sự vì hồ đồ.

Nghe mọi người diễn giải mới biết là mình còn kém quá thôi, không phân biệt được snort và snort_inline, cứ tưởng 2 cái đó là 1 :whistling giống như hồi bé cứ tưởng Mark - Lenin là 1 ông.

Hoá ra trong khi hì hụi config snort mình đã làm thế này:

1. Tạo 1 user-defined chain là ip_queue trong iptables:
iptables -N ip_queue

2. routes các gói tcp vào chain này:
iptables -I INPUT -p tcp -j ip_queue

3. và các gói input từ port 80 vào chain
iptables -p tcp --dport 80 -I ip_queue -j QUEUE

Sau đó mình dùng modprobe để load ip_queue và daemon để load snort_inline.

Xem snort.conf thì thấy mình đã update được khá nhiều rules, trong đó có attack-responses.rules, web-attacks.rules, ...

Không biết mình làm vậy đã đúng chưa, các bạn góp ý cho mình với nhé.

Mình cũng có cài cả Acid và cả BASE để ngồi ngắm nữa.

Những rules có sẵn của snort là những rules cho "known attacks". Nếu bồ muốn chống cái gì đó cụ thể, bồ phải viết rule cụ thể.

Snort_inline hay fwsam... đều có cái lợi và cái hại. Cái lợi là nó có thể dùng song song với iptables và DROP những packet vi phạm. Cái hại là kẻ tấn công có thể tạo ra các packet giả mạo (spoof) và cố tình vi phạm để bị firewall cản hàng loạt IP address --> tạo denial.

Lắm người bị lún sâu vô khía cạnh cản (để bảo toàn tài nguyên cho hệ thống) mà xem nhẹ khía cạnh chính mình tạo ra denial nếu không khéo.



Mình chưa nghiên cứu xflash, nhưng với x-flash thì hình như các gói đó trong header đều có user-agent là "x-flash" thì phải. Nếu đúng thế thì có gì khó lắm trong việc drop chúng đâu nhỉ (dùng mod_security chắc ổn).

Cám ơn các bạn, mình rất mong được tiếp tục trao đổi vì mình thấy anh này rất hay.
Nếu x-flash được dùng để gởi request đến trang web, trên HTTP header sẽ có một header có tên là x-flash-version. Cái này không dính dáng gì đến header "User-agent" header cả.
Nếu x-flash nằm trong 1 iframe để gởi đi thì x-flash-version hoàn toàn không xuất hiện trên HTTP header của request packets.

nocrack
09-01-2007, 10:26
Snort_inline hay fwsam... đều có cái lợi và cái hại. Cái lợi là nó có thể dùng song song với iptables và DROP những packet vi phạm. Cái hại là kẻ tấn công có thể tạo ra các packet giả mạo (spoof) và cố tình vi phạm để bị firewall cản hàng loạt IP address --> tạo denial.


Một điều rất hay mắc phải khi sử dụng các hệ thống IDS kết hợp với auto drop tùy tiện

money4nothing
10-01-2007, 00:22
Snort_inline hay fwsam... đều có cái lợi và cái hại. Cái lợi là nó có thể dùng song song với iptables và DROP những packet vi phạm. Cái hại là kẻ tấn công có thể tạo ra các packet giả mạo (spoof) và cố tình vi phạm để bị firewall cản hàng loạt IP address --> tạo denial.

Lắm người bị lún sâu vô khía cạnh cản (để bảo toàn tài nguyên cho hệ thống) mà xem nhẹ khía cạnh chính mình tạo ra denial nếu không khéo.


Cám ơn bạn về góp ý rất hữu ích này.

Điều này thật khó (chịu) phải không bạn.

Có ai đó nói với mình rằng các ADSL của VNN đều qua 1 số proxy cố định của VDC (với port 80), nếu điều này là đúng thì chẳng mấy chốc hệ thống sẽ chặn sạch sẽ người dùng MegaVNN mất thôi.

Mình sẽ tìm hiểu và đưa lên đây cùng thảo luận bạn nhé !

Chúc bạn và gia đình (nếu có) mạnh khoẻ.

tềthiên
10-01-2007, 10:05
Có ai đó nói với mình rằng các ADSL của VNN đều qua 1 số proxy cố định của VDC (với port 80), nếu điều này là đúng thì chẳng mấy chốc hệ thống sẽ chặn sạch sẽ người dùng MegaVNN mất thôi.


Hồi trước thì VDC có làm vậy. Thậm chí họ còn mua cho mỗi POP 01 Cache Server của CISCO. Nhưng sau đó thì :
1/ Người dùng bị chặn lung tung hết.
2/ Chậm hơn đi thẳng.
Nên bi giờ VDC bỏ hết rồi (Đối với ADSL, còn với dial-up thì hình như vẫn duy trì)

Để kiểm tra thì bạn làm như sau :
1/ Kiểm tra IP trên cổng WAN của Router ADSL.
2/ vô trang myip.dk hay whatsmyip.org hoặc các trang khác tương tự. Xem thử IP có trùng với IP đã xem ở bước 1 không ?
3/ Reset lại router ADSL rồi thực hiện lại bước 2 xem thử IP có bị thay đổi không.

Kết quả :
- Nếu IP ở bước 1 và 2 khác nhau --> có thể bạn bị proxy, cần kiểm tra tiếp bước 3. Nếu giống --> bạn không bị proxy.
- Nếu IP ở bước 2 và 3 là giống nhau --> bạn bị proxy. Nếu khác --> bạn không bị proxy.

money4nothing
11-01-2007, 00:42
Để kiểm tra thì bạn làm như sau :
1/ Kiểm tra IP trên cổng WAN của Router ADSL.
2/ vô trang myip.dk hay whatsmyip.org hoặc các trang khác tương tự. Xem thử IP có trùng với IP đã xem ở bước 1 không ?
3/ Reset lại router ADSL rồi thực hiện lại bước 2 xem thử IP có bị thay đổi không.

Kết quả :
- Nếu IP ở bước 1 và 2 khác nhau --> có thể bạn bị proxy, cần kiểm tra tiếp bước 3. Nếu giống --> bạn không bị proxy.
- Nếu IP ở bước 2 và 3 là giống nhau --> bạn bị proxy. Nếu khác --> bạn không bị proxy.

Mình có cách đơn giản hơn là telnet qua 1 proxy vào IP mà mình đọc được trên http://whatismyip.com/, nếu vào đúng máy mình thì là không bị proxy.

Ầy... mình ngố quá, có khi lại là phức tạp hơn, :wacko:

Chúc vui vẻ