Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x

  

OK, tối nay sẽ quay lại đây và cùng nhau xem qua sự thay đổi cách config đơn giản nhất để kết hợp giữa Snort và Graylog.


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x

Hôm nay sẽ dùng 2 con server, một con cài Snort 3.x và một con cài Graylog 4.x và toàn bộ chạy CenOS 8


Snort 3.x :

Vào thẳng trang chủ snort.org tìm đến phần document, đây là Centos8 nên chọn đúng tài liệu và đọc thật kỹ càng, cứ làm theo là sẽ hiểu.

Vì sao lại không ghi chi tiết cách cài đặt và config mà kêu đọc tài liệu ? wtf vậy ai nói không được :)

Xin thưa rằng đối với version 3 này phải công nhận một điều snort 3x nó viết guide hướng dẫn chi tiết và cặn kẽ, nếu bạn đọc mà không cài được để nó chạy thì nên học lại  linux đi là vừa :) nghiêm túc đây.


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x



Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Sau khi cài snort xong thì một số rules snort cung cấp đa phần là IPS là nhiều, nên đã viết một rules test IDS như sau, cứ icmp thì báo để lấy log test chơi :)


Snort cũng có tool để test xem mình cofig đã đúng chưa, cứ theo tài liệu thì dùng git kéo về dùng, nếu run pass qua hết các case xem như ok.

Viết rules test icmp để có log IDS như sau :


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Như trên là cách cài Snort, cứ theo hướng dẫn làm cho chạy đi là bạn sẽ hiểu được cách cài, sau khi hiểu muốn làm gì theo ý mình là dễ nhất.

Danh sách các log của snort như sau, mỗi tên file là name output trong config.


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Graylog 4.x : Nói đến Graylog thì thôi rồi, ngủ một giấc dậy thì nó đã sang version khác.

Cách cài đặt thì cũng khá là nhanh, thật sự cũng nhanh thật khi bạn đã hiểu nó, muốn version mấy cũng chơi tốt. Có thể tham khảo hướng dẫn trước đây mình đã viêt (Graylog 2x), cách cài cũng không khác gì lắm. Hướng dẫn cài đặt graylog trên centos


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Sau khi cài xong tắt SELinux và trỏ IP về host trong file config là lên được web ngay, khá là nhanh, các bước thư tự không thay đổi nên cứ theo đó mà cài.


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Rsyslog : Phần này là quan trọng, vì sao ? Vì nó là cách đẩy log từ con server snort qua con server graylog.


vi /etc/rsyslog.conf


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Mở module tcp và udp ra, và cho nó chạy port 10514.

Ở đây mình đã có log của snort lưu vào /var/log/snort rồi, nếu để mặc định thì rsyslog nó sẽ tạo ra các file message chưa log và các file khác thì sẽ khiến server bị x2 phình ra không hay. Khóa nó lại hết.

Có thể thay thế localx.* từ 1 đến 7 nếu muốn đọc hết các log trong snort, nếu bạn muốn.


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Có thể gọi tên ra vẫn được, do trên khóa hết rồi nên lấy all luôn cho nhanh


*.* @192.168.1.7:10514;RSYSLOG_SyslogProtocol23Format
systemctl restart rsyslog

Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x









Giới thiệu sơ về sự kết hợp và cách đẩy log từ Snort 3.x sang Graylog 4.x


Ở trên là cách cài đặt cấu hình, thuộc về cơ bản ban đầu để có môi trường sử dụng, còn muốn controll nó và phục vụ cho nhu cầu cầu phải học biết viết rules, block list ip, openappid... :)


Nhãn:

Reference - Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

 

Tối nay quay lại với bài toán như thế này, như tiêu đề ở trên là làm sao có thể sử dụng được Visual studio code trên tất cả các thiết bị từ iphone, ipad ,table đến android phone bla bla, và điều quan trọng cùng code chung project mới gớm chứ. :)


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone


OK, điều này code vẽ hoang đường nhưng giờ đã được thực hiện hóa như sau, code lẽ được xem là real visual studio code , có thể nói là vậy cho đến thời điểm giờ :)


Đầu tiên cảm ơn team Coder đã public project này cho mọi người sử dụng, nó khá là ngon, hầu như sử dụng nó rất giống với phiên bản install trên máy tính nên cũng không cần phải khen gì nhiều. :)


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla


Vậy chúng ta sẽ cài cái gì bây giờ, đó là CODE SERVER ,giờ là bắt đầu xúc thôi nào, hôm nay sẽ chạy trên CentOS8 :


Nói về cài đặt Code-Server thì có 3 cách:

1. Lên github của Code server lấy file script họ làm sẵn chạy lên nó sẽ cài cho bạn

2.Cài thủ công bằng packed, chạy rpm

3.Cài thủ công clone gói này về và bỏ vào thư mục cần cài, config service ....

Vậy hôm nay sẽ chọn cách 2 cài trên CentOS8 nhé (Cài cách 2 khi chạy lên bạn hiểu được nó thì cách 3 chỉ là muỗi, nếu bạn có kinh nghiệm rồi thì cài cách 3 khá nhanh)


Dùng Curl để lấy gói packed rpm về, gói này mới nhất hiện tại


curl -fOL https://github.com/cdr/code-server/releases/download/v3.7.4/code-server-3.7.4-amd64.rpm


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla


Install packed vừa tải về

sudo rpm -i code-server-3.7.4-amd64.rpm


Enable service code--server lên , hiện tại dùng $USER để lấy user hiện tại đang dùng, đây dùng root để cài, nếu muốn nên tạo riêng một user cho nó


sudo systemctl enable --now code-server@$USER


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla


Kiểm tra trạng thái đã cài ok chưa, như hình dưới là đã cài chạy, nhưng điều lưu ý ở đây là sau khi mở port firewalld rồi mà sao nó không chạy lên trình duyệt, mặc dù thấy chạy 8080 ngon lành.


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

Bình tĩnh , nó có help đàng hoàng nên cần mở xem có gì hot :) như trên là đã dùng được lệnh code-server rồi nhé


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

Ai cha, nhiều đồ chơi ah nghen, ok giờ dùng cái --binding-addr để chạy port 80 luôn nhé, vì không thích 8080. Còn muốn biết binding address là gì thì tham khảo link này


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

Sau khi chạy lệnh bind-addr (test thôi nhé)xong thì lên web ngon lành, nhưng cứ vào là phải chạy sau thế là phải vào sữa lại config default của nó xíu lại thành như sau :

Default:


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

Edit:

Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla



Sau khi edit xong chạy lệnh sau để reload lại daemon

systemctl daemon-reload


Nếu muốn dùng https thì cũng có thể dung lệnh sau

--bind-addr 192.168.1.8:443


Vào trình duyệt check xem ok không.


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

Note: Có vài cách vui như sau, nếu muốn ra ngoài internet để dùng code-server này mà không muốn đụng tay đụng chân gì đến router như Nat port , mở port firewall blabla thì tin vui ràng nó hỗ trợ tận răng.

code-server --link


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla



Nó sẽ sinh ra một link connect tới github, bạn phải có tài khoản github login xác thực là sử dụng thoải mái ngoài internet :)

Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla


Cách đơn giản để sử dụng Visual studio code trên iphone, ipad ,tablet,android phone bla bla

OK, cuối cùng là lôi ra mà chiến thôi, bất kể nền tảng nào, cầm điện thoại hay tablet bla bla vào xem dự án của mình bla bla đều ok :)



Nhãn:

Reference - Giấc mơ đổi đời với Keno - Vietlott (Crawl Data Keno - Vietlott from minhchinh dot com)


Sau bốn rưỡi chưa biết ai giàu hơn ai nhé keke, đó là xưa rồi vì giờ này đối với Keno Vietlott thì sau 10 phút chưa biết ai giàu hơn kakak. Có một thanh niên ôm mộng làm giàu sau 10 phút cho hay :)


Crawl Data Keno - Vietlott from minhchinh dot com


Như hình bên trên thanh niên thấy nó nhảy sau 10 phút một lần và dãy số này random theo range 1 đến 80, làm sao dự đoán chính xác số sẽ ra. Như qua tìm hiểu thì tìm thấy có nhiều cách tính toán nghiên cứu cống nạp gì đây bla bla.

Sau một hồi review sơ qua trang web này thì nhẩm nhẩm chém gió cho sang miệng chứ thực chất đoán lụi vài số xem sao, chả ra số nào mà chẳng hiểu xác xuất của nó ra sao.

Ok, không biết thì ngồi tính, mà lấy gì tính đây thế là quyết tâm lấy Data về nghiên cứu xem nó như thế nào, với giấc mơ nuôi mộng làm giàu kakaka.

Bắt tay vào Crawl hết các kết quả về ngồi vọc :

Đầu tiên kiểm tra xem cấu trúc html nó có dễ đọc không và kết quả rõ ràng như sau nên xem ra khá nhẹ nhàng, không khó lắm. 

Check sơ qua thì thấy trang web này chỉ hoạt động kỳ xổ từ 6h sáng đến 22h đêm là ngừng, khi đó data sẽ không biến động, cắm máy chạy tới sáng là ngon lành :)


Crawl Data Keno - Vietlott from minhchinh dot com

Và ý tưởng sẽ là mở browser sau đó bấm từng trang là lấy data lưu lại, ví dụ mở lên vào web chọn page 1 lấy data xong bấm vào trang 2 và lấy tiếp tục, cứ tuần tự click hết các trang và sẽ lấy các dữ liệu đang có.


Crawl Data Keno - Vietlott from minhchinh dot com

Lôi python ra dùng, sẽ dùng thư viện Selenium WebDriver, ban đầu dùng chrome để chạy, nhưng chạy được thời gian thì phát sinh lỗi vì mỗi khi load page thì xảy ra tình trạng lag lag khá cao, tỉ lệ source html đọc không chính xác dù máy của mình thuộc hàng khủng nhưng cũng không giải quyết được gì cho lắm nên chuyển sang Firefox thì chạy khá ngon lành và nhẹ nhàng.


Crawl Data Keno - Vietlott from minhchinh dot com

Giải thích sơ về đoạn code trên như sau :

Sau khi import thư viện thì mở trình duyệt lên theo chế độ ẩn danh, tốt nhất nên set mode chế độ này sẽ tốt hơn.

geckodriver : tải theo link sau

https://github.com/mozilla/geckodriver/releases


GeckoDriver là gì? GeckoDriver là một công cụ trình duyệt web được sử dụng trong nhiều ứng dụng do Mozilla Foundation và Mozilla Corporation phát triển. GeckoDriver  là liên kết giữa các bài kiểm tra của bạn trong Selenium và trình duyệt Firefox. GeckoDriver là một proxy để sử dụng các ứng dụng khách tương thích với W3C WebDriver để tương tác với các trình duyệt dựa trên Gecko. Để khởi tạo đối tượng của GeckoDriver, bạn chỉ cần tạo đối tượng với sự trợ giúp của lệnh dưới đây.


# Options firefox
firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument("--private")
driver_firefox = webdriver.Firefox(firefox_options=firefox_options, executable_path='./geckodriver')


Sau khi mở trình duyệt thì nhập link vào để trình duyệt load vào trang muốn lấy data


url = "https://www.minhchinh.com/xo-so-dien-toan-keno.html"
driver_firefox.get(url)
time.sleep(10)


Còn lại thấy gần 3000 trang nên để cho nó chạy tới 3000, điểm quan trọng nhất là xpath, dựa vào nó để biết được cái button pagination ở đâu mà click vào :)


path_click = './/a[@href="javascript:chosePage('+str(i + 1)+')"]'

Sau khi chạy page lên là lấy dữ liện ghi vào file, khá đơn giản

elements = driver_firefox.find_elements_by_css_selector(".wrapperKQKeno")

Thế là cắm máy để nó chạy thôi và mơ về giấc mơ đang phân tích đống data này và tìm ra 10 con số trúng 2 tỷ kakaka


Crawl Data Keno - Vietlott from minhchinh dot com


Còn muốn lấy data đã kéo sẵn thì vào link đây : link

Có data rồi giờ phân tích và dự đoán mới căng, thôi đấp mền mơ tiếp kaka


Crawl Data Keno - Vietlott from minhchinh dot com


Nhãn:

Reference - Chém gió hiệp 2 về RabbitMQ performance với Python dùng pika



Như hôm qua đã chém sơ về cách thức hoạt động RabbitMQ, cũng đã test thử nó chạy như thế nào rồi và kết quả khá là ngon lành. Có thể tham khảo ở bài chém gió về RabbitMQ performance



Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Về phương thức test thì không gì là thay đổi, cũng code cũ, RabbitMQ chạy trên host cũ nhưng lần này thay đổi xíu như sau : Ở phấn trước thì tập trung vào message queue và dung lượng message cũng khá nhẹ, một đoạn xíu vậy cũng chưa đã lắm :)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Như trên show ra hết rồi nên tối nay quyết cho nó banh luôn, mục tiêu sẽ là gởi file chứ không gởi text nữa. :) (Mặt ngầu)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


Xem sơ về code như sau :

Producer (Sender)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


Consumer (Receiver)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


Data sẽ là file pdf, chơi luôn file 8.2MB :)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Phát đầu tiên : Cho nó gởi nhưng không nhận message xem nó chơi cỡ nào :)

Message Queue càng lên thì Ram cung lên theo, RabbitMQ server thì vẫn chạy phà phà, không có gì là nặng nề cho lắm, giờ phải đợi thời gian mới nói được. :)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


Và message mã hóa theo base64


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Lên tới 100 queue là xem thấy Ram lên cao và nhìn thấy có vẻ đuối đuối rồi


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


Và phát hiện ra một điểm cực kỳ hay, đến một thời điểm đang trên cao đã điều tiết lại Ram và xuống cực kỳ thấp trong khi queue đang tăng dần, và nó giống như quay lại thời điểm bắt đầu để kéo theo. Có lẽ vậy giờ RabbitMQ đã nhẹ nhàng hơn. hay đấy :)


Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika


 Và cứ thế là nó chạy thôi :) thấy lên xuống theo chu kỳ. good



Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika

Và cuối cùng nó đã banh :), banh ở đây là nó không cho các connections nào liên kết vào nó, để đảm bảo nó còn sống, cách duy nhất chỉ dùng được localhost trên chính nó kakaka, chỉ có nước chạy receiver trên chính nó để xả queue, cơ chế nó lên Ram khi bắt đầu get lên xuống tương tự như nhận :)



Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Phát thứ hai : Giờ test đơn đơn vừa gởi vừa nhận xem sao, bài test trên phải reboot lại mới test được phát thứ hai kakaka.

Phát thứ hai thì chạy khá ổn định, gởi đi và nhận ok, nói chung duyệt :)



Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika



Reference - Chém gió hiệp 2 về  RabbitMQ performance với Python dùng pika




Qua test sơ sơ chơi cho vui thôi thì thấy khá ok, nói chung được, cuối cùng nhận ra một điều không liên quan như sau : Bà mẹ con GPON ONT iGate GW020 VNPT cho như cục shit, test xíu mà reboot mấy lần, xài xíu chịu không nỗi :(


Nhãn:

Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Lâu lắm rồi mới rảnh rỗi ngồi viết lại, hôm nay ngồi vọc RabbitMQ xem performance nó như thế nào mà nhiều người dùng như vậy. :)


RabbitMQ là phần mềm Opensource message-broker , ban đầu nó thực hiện Advanced Message Queuing Protocol (AMQP) và sau này mở rộng thêm kiến trúc hỗ trợ cho Streaming Text Oriented Messaging Protocol và MQTT protocol, cái này có thể vào trang chủ nó để xem.




Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay




OK, giờ đang phân vân nên chọn máy ảo hay là máy thật, đã test thì chơi lớn luôn lôi cái laptop i5 8Gb win10 ra chơi.


Cái này cài khá đơn giản nên vào đây tải về là cài thôi, nhanh mau lẹ, RabbitMQ không bận tâm việc cài lắm đâu, quan trọng hiểu nó và config cho nó chạy theo yêu cầu mới quan trọng, đây win 10 next next nên nhanh.


Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay


Cuối cùng thì phần cài đặt cũng xong



Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay


Giờ mục đích sẽ như sau : Bài test này sẽ bắt đầu gồm 2 phần, một là sender gởi message sang receiver, tạm hiểu như mô hình rabbitmq là Producer gởi message cho Consumer. Chơi kiểu demo đơn giản vậy mới nhanh thấy :)


Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Sau khi ngồi test trên RabbitMQ Management nào là tạo queue name xong tạo exchange gán  Bindings xong, test Publish message kiểm tra thì mọi thứ ok


Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay




Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Như tiêu đề RabbitMQ performance, thế là lôi python pika lib và chiến thôi, mục tiêu là tao ra thật nhiều queue, nào là send và receive thật nhiều xem nó banh không :)


pip install pika


Producer (Sender)



Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Consumer (Receiver)



Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Trước tiên chạy sender trước vì muốn nó có thật nhiều queue xem nó như thế nào, chơi nhiều tab cho nhanh haha. Nói cho vui chứ không khác nào DDOS luôn, nhưng kệ vậy mới xem được nó ngon lành hay không :)


Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay




Mới đầu là chạy thấy ngon ngon, lên vài tab nữa là báo đỏ, xem lại memory nó đỏ cmnr, default nó lên 4Gb là đỏ, cảnh báo, thế nào nâng lên 6Gb xem sức tới đâu



Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay


Như vậy queue càng cao thì performance càng cao nhưng vấn đề đang để publish message ồ ạc nhưng nó vẫn gánh nỗi khá là ok, nếu một host bình thường mà request ồ ạc vậy coi như banh luôn.


Nó có cơ chế khi request nhiều quá sẽ khóa lại, đợi ok rồi nhả ra từ từ nên hệ thống lúc nào cũng được an toàn hơn, không bị banh nữa chừng :) nó sẽ theo dõi và đánh vào các Connections, thằng nào mà tào lao là khóa phát, êm êm nói chuyện lại haha.

 Tiếp theo chạy Consumer để nó nhận hết các message queue về, thời gian nhận cũng khá nhanh vì message cũng nhẹ, nên thời gian giải phóng cũng nhanh.


Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay


Sau khi giải phóng hết Queue message thì nó nhẹ nhàng như sau




Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay


Test thử vừa send vừa nhận 1 triệu message

Sau khi chạy xong kiểm tra thì Message rates cũng tương đối :)



Reference - Ngày nghỉ ngồi chém gió về RabbitMQ performance với Python có gì hay



Tùy vào mục đích bạn cần làm gì thì đưa vào sử dụng từ cách config, nhu cầu vật lý thích ứng ra sao cho phù hợp... Thường các hệ thống lớn người ta mới dùng đến RabbitMQ hoặc Microservice architecture bạn mới biết đến và dùng nó, đa phần là vậy.


Ok chém gió tới đây cũng tạm được rồi, nếu tiếp xúc và trực tiếp test và vọc vạch nghiên cứu thằng này bạn sẽ thấy rất tuyệt vời luôn :)



Nhãn: