Cách làm việc với cửa sổ snort. Hệ thống phát hiện xâm nhập cho hình nộm. Cài đặt và cấu hình SNORT. Nhận trợ giúp về cú pháp dòng lệnh snort

Hàng tỷ gói dữ liệu được truyền hàng ngày qua các mạng công ty. Một số người trong số họ là nguy hiểm; tác giả của những gói tin như vậy đã thực hiện các bước đặc biệt để vượt qua tường lửa và phá vỡ các tuyến phòng thủ xung quanh chu vi mạng, phá vỡ tất cả các hệ thống gặp phải trên đường đi. Tác động phá hoại của các cuộc tấn công đóng gói như Code Red, Nimda, SQL Slammer và MSBlaster đã được biết rõ. Tất cả các chương trình độc hại này đều sử dụng các giao thức đáng tin cậy (chẳng hạn như HTTP) hoặc lưu lượng mạng từ các hệ thống của Microsoft cho các mục đích riêng của chúng. Các giao thức như vậy không thể đơn giản được thực hiện và bị chặn, vì vậy quản trị viên thường cố gắng nắm bắt lưu lượng nguy hiểm càng nhanh càng tốt bằng cách sử dụng hệ thống phát hiện xâm nhập Hệ thống phát hiện xâm nhập mạng (NIDS) để phản ứng kịp thời với mối đe dọa.

Một số NIDS được bán trên thị trường, có nhiều tính năng và giá thành khác nhau. Nhìn chung, tất cả đều làm việc thành công. Tất cả các gói thương mại mà tôi đã xem qua đều tạo được ấn tượng tuyệt vời. Nhưng các tổ chức có ngân sách khiêm tốn nên làm gì nếu việc phát hiện xâm nhập không phải là ưu tiên hàng đầu? Đối với trường hợp như vậy, có Snort - một gói NIDS miễn phí mạnh mẽ. Không giống như nhiều gói mã nguồn mở, nó tương thích với Windows.

Giới thiệu về Snort

Nhà phát triển ban đầu của Snort, Martin Resch, đã cung cấp chương trình này cho cộng đồng mở theo các điều khoản của Giấy phép Công cộng GNU (GPL). Lịch sử của gói này bắt đầu từ năm 1998, và kể từ đó nó đã nhiều lần chứng minh độ tin cậy của nó. Nhờ sự đóng góp của các thành viên cộng đồng mở và quản trị viên mạng trên khắp thế giới, Snort đã phát triển thành một sản phẩm rất mạnh mẽ. Phiên bản hiện tại cung cấp phân tích lưu lượng mạng theo thời gian thực và ghi nhật ký lưu lượng IP ở tốc độ Fast Ethernet và Gigabit Ethernet.

Michael Davies đã chuyển Snort 1.7 sang nền tảng Win32, cung cấp cho cộng đồng Windows. Chris Reid sau đó nhận nhiệm vụ biên dịch các phiên bản mới của Snort thành các tệp thực thi có thể dễ dàng triển khai trên môi trường Windows.

Các quản trị viên không quen với NIDS có thể coi công cụ này như một loại máy phân tích mạng đặc biệt. NIDS kiểm tra từng gói đi qua giao diện tìm kiếm các mẫu đã biết trong trọng tải nơi mã độc thường được ẩn. Với Snort, bạn có thể thực hiện các thao tác tìm kiếm và đối sánh trên mọi gói tin đi qua mạng của tổ chức và phát hiện nhiều kiểu tấn công và lưu lượng truy cập bất hợp pháp trong thời gian thực.

Yêu cầu về Snort

Snort yêu cầu máy tính Windows có ít nhất một bộ điều hợp mạng để hoạt động. Tốt hơn là có hai NIC, một kết nối với mạng được giám sát và một kết nối với mạng sản xuất; sau đó sẽ gửi báo cáo. Snort không chỉ tương thích với Windows 2000 Server trở lên mà còn với Windows XP Professional Edition, XP Home Edition và Windows 2000 Professional. Giấy phép máy chủ là không cần thiết. Tôi kết nối máy tính xách tay XP Pro của mình với nhiều mạng khách hàng ngày và thường chạy Snort như một dịch vụ. Bằng cách này, chương trình sẽ chạy ở chế độ nền, phát hiện bất kỳ cuộc tấn công nào vào hệ thống của tôi đến từ mạng khách hàng này. Tôi sử dụng Snort làm cảm biến di động - chương trình hoạt động như một NIDS cho bất kỳ cổng nào mà máy tính xách tay kết nối.

Trong các mạng nhỏ hơn, bạn có thể triển khai Snort trên một máy chủ cấp mục nhập. Để phát hiện các nỗ lực truy cập trái phép, không cần một máy chuyên dụng có công suất lớn. Ví dụ: tôi đã nghe nói về các nút Snort dựa trên FreeBSD với bộ xử lý 1 GHz và RAM 1 GB đã phục vụ thành công mạng với 15.000 người dùng và nhiều liên kết WAN T-3. Do tính hiệu quả của mã nguồn Snort, không cần một máy rất mạnh để chạy chương trình.

Vị trí tốt nhất trên mạng để định vị NIDS là ở đâu? Ý nghĩ đầu tiên là đặt thiết bị trước tường lửa. Đây là nơi NIDS sẽ phát hiện ra nhiều cuộc tấn công nhất, nhưng số lần dương tính giả cũng sẽ nhiều nhất, và quản trị viên sẽ nhận được rất nhiều cảnh báo vô ích. Bạn không phải lo lắng về các mối đe dọa bị ngăn chặn bởi tường lửa, điều quan trọng hơn là phát hiện các chương trình nguy hiểm đã xâm nhập đằng sau nó. Vì vậy, tốt nhất bạn nên đặt Snort sau tường lửa.

Tuy nhiên, nếu người dùng kết nối với mạng thông qua kết nối VPN (qua Internet hoặc qua liên kết không dây), thì nên đặt NIDS ở phía sau tường lửa, chẳng hạn như phía sau máy chủ hoặc bộ tập trung VPN, nơi các gói được giải mã như họ rời khỏi đường hầm VPN. Nếu không, NIDS sẽ không thể chống lại phần mềm độc hại được nhúng trong lưu lượng VPN vì các gói được phân tích sẽ được mã hóa. Điều tương tự cũng áp dụng cho lưu lượng SMTP được mã hóa, tệp .zip được mã hóa được đính kèm trong thư email và các loại dữ liệu được mã hóa khác.

Lý tưởng nhất, NIDS nên được đặt đủ xa sau bất kỳ thành phần mã hóa lưu lượng nào và đủ gần với chu vi mạng để phân tích lưu lượng trên càng nhiều phân đoạn và mạng con càng tốt. Trong môi trường mạng chuyển mạch, bộ chuyển mạch thường yêu cầu một cổng chẩn đoán nơi tất cả các gói đi qua mạng được thu thập. Kết quả là, NIDS có thể dễ dàng truy cập vào tất cả các lưu lượng mạng.

Bây giờ bạn đã quen với Snort và biết các yêu cầu lưu trữ của mình, bạn có thể cài đặt và thử nghiệm NIDS. Để biết thêm thông tin về Snort, hãy xem các tài liệu được liên kết trong thanh bên "Tài nguyên trên Web". Quá trình này bao gồm bảy bước:

  1. Cài đặt WinPcap
  2. Cài đặt Snort
  3. Kiểm tra Snort
  4. Thiết lập Snort
  5. Thiết lập các quy tắc
  6. Đặt cảnh báo và nhật ký
  7. Chạy như một dịch vụ

Bước 1. Cài đặt WinPcap

Về bản chất, Snort là một trình phân tích mạng hoạt động ở chế độ quảng bá, vì vậy nó cần hỗ trợ ở mức trình điều khiển. Hỗ trợ này được cung cấp bởi WinPcap. Loris DiGioanni đã tạo WinPcap bằng cách chuyển libpcap trình điều khiển chụp gói được sử dụng rộng rãi giữa những người dùng Unix sang môi trường Windows. WinPcap bao gồm một bộ lọc gói cấp hạt nhân, một DLL cấp thấp (pack.dll) và một thư viện độc lập hệ thống cấp cao (wpcap.dll, dựa trên libpcap 0.6.2).

WinPcap có thể được tải xuống từ http://winpcap.polito.it. Trình điều khiển tương thích với Windows Server 2003, XP, Windows 2000, Windows NT, Windows Me và Windows 9x. WinPcap cũng hỗ trợ trình duyệt gói Ethereal mã nguồn mở, có sẵn từ. Sử dụng Ethereal, bạn có thể xác minh rằng Snort đã được cài đặt chính xác.

Sau khi tải xuống tệp cài đặt WinPcap từ mạng, bạn chỉ cần xem qua một số màn hình của quy trình cài đặt. Nỗ lực lớn nhất từ ​​phía người dùng được yêu cầu bởi màn hình mà bạn phải đồng ý với các điều khoản của giấy phép.

Bước 2 Cài đặt Snort

Bước tiếp theo là cài đặt Snort. Phiên bản mới nhất có thể được tìm thấy trên các trang Web của CodeCraft Consultants ( http://www.codecraftconsultants.com/snort.aspx) hoặc Snort.org ( http://www.snort.org). Tôi khuyên bạn nên tải xuống Snort từ CodeCraft Consultants, vì tệp thực thi tự giải nén có thể được lấy từ trang web đó. Chương trình thậm chí còn hướng dẫn người dùng các bước cơ bản để cài đặt Snort trên máy tính. Bài viết này được chuẩn bị bằng cách sử dụng phiên bản mới nhất của Snort 2.1.1 build 18. Các phiên bản cập nhật đã được phát hành.

Khi bạn chạy trình cài đặt trong hộp thoại đầu tiên, bạn phải chọn chế độ cấu hình cơ sở dữ liệu để lưu trữ kết quả. Nếu bạn đang sử dụng MySQL hoặc cơ sở dữ liệu tuân thủ ODBC, bạn có thể chấp nhận chế độ mặc định (Hình 1). Nhưng nếu bạn định lưu trữ nhật ký trong cơ sở dữ liệu Microsoft SQL Server hoặc Oracle, thì bạn cần chọn chế độ thích hợp và đảm bảo rằng máy có chương trình khách phù hợp. Bài viết này đã được chuẩn bị bằng cách sử dụng chế độ mặc định.

Bước tiếp theo là xác định các thành phần Snort để cài đặt. Bộ mặc định (màn hình 2) là ổn, vì vậy tôi khuyên bạn nên chấp nhận nó và nhấp vào Tiếp theo. Trong hộp thoại Chọn vị trí cài đặt, bạn phải chỉ định thư mục nơi Snort sẽ được triển khai. Sau khi nhập tên thư mục, nhấp vào nút Tiếp theo để hoàn tất quá trình cài đặt.

Hình 2: Lựa chọn các thành phần cài đặt

Bước 3: Kiểm tra cài đặt Snort

Sau khi hoàn thành quá trình cài đặt, Snort cần được kiểm tra. Theo mặc định, tệp thực thi Snort cần được cho biết hai địa chỉ: nơi ghi nhật ký và nơi tìm tệp cấu hình (snort.conf). Thông tin này được cung cấp bởi người dùng khi chạy Snort từ dòng lệnh bằng cách sử dụng các công tắc -l và -c tương ứng. Ví dụ, lệnh

Snort -l F: snortlog -c F: snortetcsnort.conf -Một bảng điều khiển

cho chương trình biết rằng các bản ghi phải được ghi vào thư mục F: snortlog và snort.conf nằm trong thư mục F: snortetc. Công tắc -A chỉ định cách gửi cảnh báo do chương trình tạo ra. Trong ví dụ này, các cảnh báo được hiển thị trên màn hình điều khiển để người quản trị có thể xác minh rằng Snort đang hoạt động chính xác. Lưu ý rằng trong bài viết lệnh được in trên nhiều dòng, nhưng trong cửa sổ lệnh phải gõ trên một dòng. Điều tương tự cũng áp dụng cho các lệnh nhiều dòng khác trong bài viết này. Nhiều tùy chọn dòng lệnh của Snort có phân biệt chữ hoa chữ thường, vì vậy bạn phải nhập các lệnh chính xác như khi chúng được nhập.

Nếu hệ thống có nhiều giao diện mạng, theo mặc định, Snort sẽ lắng nghe trên giao diện đầu tiên mà nó tìm thấy. Nếu thứ tự của các giao diện mạng trên máy không xác định, bạn có thể chạy lệnh Snort với một công tắc -W. Snort liệt kê tên và số lượng giao diện mạng theo thứ tự mà chương trình phát hiện ra chúng. Để buộc Snort sử dụng một giao diện mạng cụ thể, bạn phải nhập khóa chuyển -i với số giao diện khi khởi động Snort. Sau khi thực hiện Snort, màn hình sẽ hiển thị thông tin tương tự như trong màn hình 3 .

Bằng cách chạy Snort, bạn có thể kiểm tra độ nhạy của nó bằng cách gửi lưu lượng truy cập được chuẩn bị đặc biệt tới NIDS. Một trong những cách dễ nhất để kích hoạt cảnh báo là truy cập trình bao (cmd.exe) trên máy từ xa như một phần của yêu cầu URL HTTP (một thủ thuật điển hình của sâu Code Red và Nimda). Để mô phỏng giai đoạn này của cuộc tấn công, bạn có thể truy cập bất kỳ URL nào và thêm /cmd.exe vào cuối yêu cầu. Ví dụ: để phản hồi cuộc gọi đến http://www.a-website-that-I-can-trust.com/cmd.exe, Snort sẽ hiển thị một cảnh báo trong cửa sổ lệnh giống như ba cảnh báo đầu tiên trên màn hình 4. Những thông báo này được ghi vào F: snortlog.

Các trang web đích để thử nghiệm nên được lựa chọn cẩn thận. Từ quan điểm kỹ thuật, hầu hết các quản trị viên trang Web sẽ coi những hành động đó như một hành động hack. Nỗ lực như vậy sẽ không thành công (trừ khi có lỗi nghiêm trọng trong cấu hình máy chủ), nhưng tôi khuyên bạn chỉ nên kiểm tra với máy chủ của riêng bạn hoặc máy chủ đáng tin cậy có quản trị viên biết về việc kiểm tra.

Nếu không thể kiểm tra, một cách khác để kiểm tra Snort là gửi một yêu cầu echo dài bất thường qua mạng tới một máy chủ hoặc máy tính đang chạy Snort. Ví dụ, bạn có thể sử dụng lệnh Ping

Ping -l 32767 ip_address

trong đó ip_address là địa chỉ IP của máy chủ đích hoặc máy Snort. Lệnh này phải gửi một gói tin rất dài (độ dài chính xác là 32 KB), điều này rõ ràng là không bình thường đối với lệnh Ping. Snort sẽ phát hiện ra gói này, như đã thấy trong tám cảnh báo dưới cùng trong màn hình 4 .

Nếu nhận được cảnh báo, bạn có thể tiến hành tùy chỉnh Snort cho các điều kiện cụ thể. Nếu không, bạn cần quay lại quy trình cài đặt và kiểm tra xem có bước nào bị bỏ qua hay không.

Bước 4: Thiết lập Snort

Thông tin cấu hình cơ bản cho Snort được lưu trữ trong tệp snort.conf, tệp này được đặt theo mặc định trong thư mục% systemdrive% snortetc. Tệp có thể được để trong thư mục này hoặc di chuyển sang thư mục khác bằng cách chỉ định đường dẫn đến chương trình trên dòng lệnh.

Mô tả chi tiết về tất cả các tùy chọn được cung cấp trong snort.conf có thể lấp đầy toàn bộ số tạp chí, vì Snort là một chương trình mạnh mẽ đáng kinh ngạc. Hiện tại, chúng tôi sẽ chỉ xem xét các thông số chính của nó.

Để phân biệt giữa lưu lượng đến và đi, bạn cần cho Snort biết các máy chủ và địa chỉ IP của mạng doanh nghiệp của bạn. Biến HOME_NET phải được đặt trong tệp snort.conf để nhập thông tin này. Bạn cần tìm dòng

VarHOME_NET bất kỳ

và thay thế nó bằng một loạt địa chỉ IP. Bạn có thể đặt một phạm vi, chẳng hạn

VarHOME_NET 192.168.0.1/24

hoặc nhiều phạm vi. Khi chỉ định nhiều phạm vi, bạn phải đặt tập hợp các phạm vi trong dấu ngoặc vuông và phân tách từng phạm vi bằng dấu phẩy. Bạn không thể nhập khoảng trắng giữa các dải địa chỉ IP. Ví dụ, dòng

VarHOME_NET

cho Snort biết rằng các mạng con 10.0.1.0/24, 10.0.2.0/24 và 10.0.3.0/24 thuộc về mạng doanh nghiệp. Theo mặc định, Snort coi tất cả các địa chỉ khác là bên ngoài. Bạn có thể chỉ định rõ ràng mạng nào nên được coi là bên ngoài bằng cách đặt biến EXTERNAL_NET. Trong tệp snort.config, bạn cần tìm dòng

Var EXTERNAL_NET bất kỳ

và thay thế nó bằng địa chỉ IP của mạng được coi là bên ngoài. Tuy nhiên, tốt nhất bạn nên để biến EXTERNAL_NET được đặt thành bất kỳ để bắt đầu.

Sau khi dành một chút thời gian, bạn có thể chỉ định các loại máy chủ có sẵn trong doanh nghiệp và vị trí của chúng. Thông tin này có trong các biến DNS_SERVERS, SMTP_SERVERS, HTTP_SERVERS, SQL_SERVERS và TELNET_SERVERS trong các dòng sau của tệp snort.conf:

Var DNS_SERVERS $ HOME_NET var SMTP_SERVERS $ HOME_NET var HTTP_SERVERS $ HOME_NET var SQL_SERVERS $ HOME_NET var TELNET_SERVERS $ HOME_NET var SNMP_SERVERS $ HOME_NET

Theo mặc định, tất cả sáu biến máy chủ được đặt thành $ HOME_NET; điều này có nghĩa là Snort sẽ kiểm soát tất cả các kiểu tấn công trên tất cả các hệ thống trong phạm vi HOME_NET. Cấu hình này hoàn toàn có thể chấp nhận được đối với một mạng nhỏ, nơi quản trị viên có thể chấp nhận một số cảnh báo sai nhất định. Nhưng để theo dõi lưu lượng truy cập lớn, bạn nên tinh chỉnh Snort để chỉ kiểm tra một phần chữ ký cho các nút nhất định. Không có ý nghĩa gì nếu bảo vệ máy chủ Web chỉ chạy Microsoft IIS khỏi các cuộc tấn công tràn bộ đệm SQL. Để xác định một lớp máy chủ cụ thể, bạn phải thay thế $ HOME_NET bằng dải địa chỉ IP của máy chủ đích, theo định dạng được sử dụng cho biến HOME_NET. Ví dụ: đối với biến DNS_SERVERS, hãy thay thế $ HOME_NET bằng một dải địa chỉ IP máy chủ DNS.

Bạn có thể cải thiện độ chính xác của việc điều chỉnh bằng cách xác định các cổng được máy chủ sử dụng cho các ứng dụng cụ thể. Ví dụ: nếu máy chủ Web sử dụng cổng đặc biệt 8080 cho lưu lượng HTTP thay vì cổng 80 (là cổng thường được sử dụng cho máy chủ Web và trình duyệt), thì bạn có thể đặt Snort để lắng nghe trên cổng 8080 bằng cách thay đổi biến HTTP_PORTS. Trong snort.conf, bạn sẽ tìm thấy dòng

VarHTTP_PORTS 80

và thay thế nó bằng dòng

Var HTTP_PORTS 8080

Tương tự, bạn có thể thay đổi các cổng cho Oracle (được xác định bởi biến ORACLE_PORTS) và các ứng dụng khác. Giống như biến HTTP_PORTS, ORACLE_PORTS mặc định là 80. Nếu máy chủ sử dụng cổng 1521 thay thế, chuỗi sẽ giống như

Var ORACLE_PORTS 1521

Do đó, nhiều tùy chọn có thể được cấu hình trong tệp snort.conf. Bạn nên truy cập snort.conf, tìm các cài đặt quan trọng nhất đối với môi trường của bạn và điều chỉnh chúng cho phù hợp.

Giai đoạn 5. Thiết lập các quy tắc

Một trong các dòng trong snort.conf chứa biến RULE_PATH. Một ví dụ về dòng này:

Var RULE_PATH ../rules

Tùy chọn ../rules chỉ định rằng các quy tắc (tức là chữ ký) có thể được tìm thấy trong thư mục quy tắc, ở cùng cấp với các tệp nhị phân Snort trong cấu trúc thư mục. Vì vậy, ví dụ: nếu bạn cài đặt Snort trong thư mục điển hình F: snort, các tệp nhị phân Snort nằm trong F: snortin và các quy tắc nằm trong F: snort ules. Bạn có thể thay đổi biến RULE_PATH nếu muốn, nhưng tùy chọn mặc định cũng có thể chấp nhận được.

Các quy tắc là nền tảng của Snort. Chúng là chuỗi byte, chữ ký tấn công và các loại dữ liệu khác tạo ra cảnh báo khi bị phát hiện. Snort có hơn 1500 chữ ký được tạo sẵn.

Quy tắc trông như thế nào? Quy tắc cho cmd.exe bị vi phạm trong quá trình kiểm tra Snort là: alert tcp $ EXTERNAL_NET bất kỳ -> $ HTTP_SERVERS $ HTTP_PORTS (msgstr: "WEB-IIS truy cập cmd.exe"; flow: to_server, thành lập; nội dung: "cmd. exe "; nocase; classtype: web-application-attack; sid: 1002; rev: 5;). Xem xét các thành phần chính của quy tắc. Liên kết $ EXTERNAL_NET bất kỳ -> $ HTTP_SERVERS $ HTTP_PORTS chỉ ra rằng chỉ lưu lượng truy cập vào mạng từ bên ngoài (như được xác định bởi biến EXTERNAL_NET) mới được phân tích. Nội dung: tham số chỉ định tìm kiếm chuỗi ký tự cmd.exe trong luồng dữ liệu. Khi gặp một trình tự như vậy, Snort tạo ra một cảnh báo được đưa ra bởi tham số msg:.

Như đã thấy trong ví dụ cmd.exe, các quy tắc hầu hết rất đơn giản. Bạn có thể tạo quy tắc của riêng mình cho bất kỳ loại lưu lượng nào. Ví dụ: nếu bạn muốn phát hiện các nỗ lực truy cập trái phép từ xa vào một thư mục trên máy thông qua shell, bạn có thể tìm kiếm chuỗi khối lượng trong ổ đĩa hoặc số sê-ri của ổ đĩa trên các cổng mà chúng hiếm khi xảy ra, chẳng hạn như cổng gửi đi. Nhờ cách tiếp cận linh hoạt để gán các quy tắc, quản trị viên được cung cấp nhiều tùy chọn cấu hình cho Snort.

1500 quy tắc Snort được lưu trữ trong các tệp khác nhau tùy theo loại dữ liệu được phân tích. Ví dụ: quy tắc cho cmd.exe nằm trong tệp web-iis.rules. Nếu doanh nghiệp không sử dụng IIS thì chương trình không cần phát hiện các cuộc tấn công IIS. Bạn có thể dễ dàng xóa tệp web-iis.rules khỏi toàn bộ cấu hình bằng cách tìm và đánh dấu dòng dưới dạng nhận xét

Bao gồm $ RULE_PATH / web-iis.rules

trong tệp snort.conf. Để tạo một dòng nhận xét, hãy đặt trước dòng đó bằng ký hiệu (#):

# bao gồm $ RULE_PATH / web-iis.rules

Theo mặc định, các tệp quy tắc thuộc một số loại (ví dụ: icmp-info.rules, chat.rules) được thể hiện bằng các nhận xét trong snort.conf. Cấu hình quy tắc mặc định trong snort.conf khá tốt. Sau khi kích hoạt các quy tắc bị chặn, chương trình, như một quy luật, tạo ra rất nhiều cảnh báo không cần thiết.

Một số tệp chứa một số quy tắc hữu ích, nhưng một số quy tắc tạo ra quá nhiều cảnh báo không cần thiết. Để tắt một quy tắc cụ thể, bạn cần đánh dấu dòng tương ứng trong tệp quy tắc dưới dạng nhận xét. Trong tương lai, Snort sẽ bỏ qua quy tắc này khi làm việc với tệp.

Khi các nguồn đe dọa mới xuất hiện, tệp quy tắc phải được cập nhật. Nguồn tốt nhất cho các quy tắc mới là trang Web Snort.org. Trang Web này không có dịch vụ cập nhật tự động, vì vậy quản trị viên sẽ phải liên hệ thường xuyên để cập nhật khi có nguy cơ xảy ra tiếp theo.

Bước 6: Thiết lập cảnh báo và nhật ký

Như đã lưu ý, Snort cung cấp tính năng ghi thông tin trong cơ sở dữ liệu tuân thủ MySQL, SQL Server, Oracle và ODBC. Tất cả những gì bạn phải làm là chọn loại cơ sở dữ liệu thích hợp trong quá trình cài đặt Snort. Để không tăng quá mức khối lượng của bài viết, chúng tôi sẽ xem xét các chế độ ghi nhật ký tiêu chuẩn sử dụng tệp văn bản và chức năng ghi thông báo vào nhật ký sự kiện Windows.

Khi bạn khởi động NIDS bằng lệnh Snort, công tắc bàn điều khiển -A sẽ hiển thị cảnh báo trên màn hình. Để chuyển tiếp tin nhắn sang tệp văn bản, hãy thay đổi công tắc này thành -A nhanh hoặc -A đầy, tùy thuộc vào chế độ ghi ưa thích của bạn. Tham số đầy đủ hiển thị mô tả chi tiết về mối đe dọa trong một số dòng của tệp văn bản được gọi là alerts.ids trong thư mục, đường dẫn đến được chỉ định bởi công tắc -l. Loại ghi nhật ký này báo cáo chi tiết đầy đủ, nhưng rất khó để hiểu chúng nếu có nhiều sự kiện trong mạng. Trong các mạng "ồn ào" như vậy, bạn nên sử dụng chế độ nhanh để nhập các mục nhập một dòng trong alerts.ids có chứa các đặc điểm chính của lưu lượng truy cập đáng ngờ. Theo tôi, làm việc với một tệp văn bản ở chế độ nhanh sẽ dễ dàng hơn ở chế độ đầy đủ.

Phiên bản hiện tại của Snort cung cấp tính năng ghi nhật ký sự kiện Windows. Nhiều tổ chức đã mua các công cụ theo dõi sự kiện, ghi nhật ký và thu thập dữ liệu tập trung và tính năng này sẽ là một bổ sung tuyệt vời cho môi trường Windows.

Để ghi cảnh báo vào Nhật ký sự kiện ứng dụng của hệ thống đang chạy Snort, hãy sử dụng tùy chọn -E thay vì tùy chọn -A (các tham số là tùy chọn). Hình 5 cho thấy sự kiện Snort (trong trường hợp này là nỗ lực truy cập cmd.exe) trong Nhật ký ứng dụng. Sự kiện Windows cung cấp thông tin chi tiết giống như màn hình bảng điều khiển.

NIDS sẽ vô dụng nếu quản trị viên xem nhật ký sự kiện (hoặc nhật ký văn bản) mỗi tuần một lần. Nếu có điều gì đó xảy ra trên mạng, quản trị viên phải biết về nó ngay lập tức. Hệ thống giám sát và xử lý sự kiện tập trung có thể gửi tin nhắn qua e-mail, đến máy nhắn tin và các thiết bị liên lạc khác. Nhưng nếu không có hệ thống này thì đây không phải là nguyên nhân đáng lo ngại. NETIKUS.NET cung cấp gói EventSentry Light miễn phí có thể được sử dụng để gửi cảnh báo.

EventSentry Light là một phiên bản đánh giá của EventSentry và có thể được tải xuống từ http://www.netikus.net/products_downloads.html. Với EventSentry Light, bạn có thể thiết lập hệ thống của mình để theo dõi nhật ký sự kiện và tự động gửi email chi tiết về bất kỳ sự kiện Snort nào đã ghi. Trên màn hình 6 hiển thị thông báo thư về các nỗ lực tấn công cmd.exe. Tôi nhận được tin nhắn này từ EventSentry Light vài giây sau cuộc tấn công.

Như đã đề cập ở trên, Snort thường tạo ra rất nhiều thông báo không cần thiết làm đầy nhanh chóng các bản ghi sự kiện. Hãy ghi nhớ điều này khi chọn kích thước tệp cho nhật ký sự kiện và cách xoay chúng. Để ngăn EventSentry Light làm ngập hộp thư của bạn với các thông báo về các sự kiện nhỏ, bạn có thể tạo bộ lọc để tìm kiếm các chuỗi khóa. Ví dụ: tôi đã tổ chức một bộ lọc tìm kiếm chuỗi trong văn bản tin nhắn.

Bước 7: Chạy như một dịch vụ

Khi tất cả các bước chuẩn bị đã hoàn tất, bạn có thể sử dụng Snort như một dịch vụ thay vì đăng nhập vào màn hình mỗi khi bạn muốn chạy chương trình. Nếu bạn khởi động Snort với các tùy chọn / SERVICE và / INSTALL (cùng với các tùy chọn dòng lệnh khác), thì Snort được định cấu hình để chạy như một dịch vụ Windows và tự động khởi động với Windows mà không cần sự can thiệp của người dùng.

Cấp độ tiếp theo: mô-đun mở rộng

Snort là một ứng dụng đầy đủ chức năng. Tuy nhiên, trong một số trường hợp, chương trình cần được mở rộng. Ví dụ, nếu một số NIDS được triển khai trong các phần khác nhau của mạng, thì việc quản lý Snort từ giao diện đồ họa sẽ rất tiện lợi. Các khả năng như vậy được triển khai trong các trình cắm thêm IDScenter từ Engage Security và Trình quản lý chính sách IDS từ Activeworx. Đôi khi cần phải phân tích thông tin có trong các thông điệp. Bạn có thể xem và phân tích dữ liệu được lưu trữ bằng cách sử dụng mô-đun Bảng điều khiển phân tích cho cơ sở dữ liệu xâm nhập (ACID) được phát triển tại Đại học Carnegie Mellon.

Bảo vệ đáng tin cậy

Snort là một chương trình đầy đủ tính năng sẽ không làm tổn hại đến ngân sách của công ty. Bằng cách kết hợp Snort với một ứng dụng giám sát sự kiện mạnh mẽ như EventSentry Light, các cuộc tấn công vào mạng có thể được ngăn chặn kịp thời.

Bài viết sẽ xem xét một ví dụ về việc triển khai hệ thống IDS dựa trên OS Debian và Snort để giám sát chu vi mạng nội bộ, bao gồm các hệ thống con:
- dịch vụ phát hiện xâm nhập Snort;
- Máy chủ cơ sở dữ liệu MySQL để lưu trữ các bản ghi về các sự kiện tấn công, nhận được từ Snort;
- giao diện phân tích, xử lý và trực quan hóa các sự kiện Snort (nginx, php5-fpm, BASE).

Cài đặt và thiết lập ban đầu

Tối ưu hóa giao diện mạng

Hãy tối ưu hóa giao diện mạng bằng tiện ích ethtool. Để tránh các lỗi trong giao diện mạng khi tải nặng, hãy tắt các chức năng để giảm tải trên CPU:

# apt-get install ethtool
# nano /etc/rc.local

ethtool - offload eth1 rx off tx off ethtool -K eth1 gso off ethtool -K eth1 gro off ...

trong đó "-offload eth1 rx off tx off" - vô hiệu hóa định nghĩa tổng kiểm tra cho các gói đến và đi; và "gso (giảm tải phân đoạn chung) off" và "gro (giảm tải nhận chung) tắt" - tắt chức năng truyền và nhận một gói tin mà không có sự tham gia của CPU.

Chuẩn bị cơ sở dữ liệu

Tất cả thông tin về các cuộc tấn công được phát hiện bởi Snort sẽ được lưu trữ trong cơ sở dữ liệu MySQL. Hãy thực hiện thiết lập ban đầu của nó:

# mysql -u "root" -h "MYSQL_SERVER_IP" -p "ROOT_PASSWORD"

Mysql> tạo snort cơ sở dữ liệu; mysql> cấp CREATE, INSERT, SELECT, DELETE, UPDATE trên snort. * cho [email được bảo vệ]"SNORT_SERVER_IP_ADDRESS"; mysql> ĐẶT MẬT KHẨU CHO [email được bảo vệ]"SNORT_SERVER_IP_ADDRESS" = PASSWORD ("SNORT_USER_PASSWORD"); mysql> thoát ra;

Cài đặt Snort

Sau khi thiết lập cơ sở dữ liệu ban đầu, hãy bắt đầu cài đặt Snort với sự hỗ trợ của MySQL:

# apt-get install snort-mysql

Trong quá trình cài đặt, bạn phải chỉ định chế độ khởi động Snort (mặc định là "khởi động"), cũng như các giao diện và địa chỉ mạng của mạng nội bộ. Nếu cần, bạn có thể chỉ định một số giao diện hoặc địa chỉ được phân tách bằng dấu cách. Ví dụ:

eth1 eth2 eth3 192.168.1.0/24 192.168.2.0/24 192.168.3.1/32

Chúng tôi kích hoạt "chế độ quảng bá", cho phép Snort xem nội dung của các gói đi qua các giao diện và cũng chỉ định các tham số để kết nối với cơ sở dữ liệu.

Hãy tạo cấu trúc cơ sở dữ liệu Snort:

# cd / usr / share / doc / snort-mysql
# zcat create_mysql.gz | mysql -u "snort" -h "MYSQL_SERVER_IP" -p "SNORT_USER_PASSWORD" snort

Khi kết thúc công việc, hãy xóa tệp:

# rm / etc / snort / db-pending-config

Hãy bắt đầu thiết lập giao diện web.

Thiết lập máy chủ web

Chúng tôi sử dụng một loạt nginx và php5-fpm làm môi trường web. Bạn cũng sẽ cần thành phần php5-gd để vẽ đồ thị.

# apt-get install nginx-light php5-fpm libphp-adodb php5-gd php-lê
# lê cài đặt --alldeps Kênh Image_Canvas: //pear.php.net/Image_Canvas-0.3.5
# lê cài đặt --alldeps Kênh Image_Graph: //pear.php.net/Image_Graph-0.8.0

Đặt TIMEZONE trong cài đặt php5-fpm:

# nano /etc/php5/fpm/php.ini

Date.timezone = Châu Âu / Moscow

và cũng thay thế dòng:

Error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT

error_reporting = E_ALL & ~ E_NOTICE

Hãy cấu hình vhost:

# cd / etc / nginx / sites-enable
# mv snort mặc định
#nano snort

Máy chủ (nghe 8080; server_name snort; root / var / www / snort-base; index index.php; location @rewrite (rewrite ^ / (. *) $ /Index.php?_url=/$1;) vị trí ~ \. php $ (fastcgi_pass unix: /var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; include / etc / nginx / fastcgi_params;))

Hình dung các cuộc tấn công bằng cách sử dụng BASE

Để trực quan hóa các cuộc tấn công đã phát hiện, hãy cài đặt BASE (Công cụ phân tích và bảo mật cơ bản):

# wget http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz -qO- | tar xvzpf - -C / var / www / && mv /var/www/base-1.4.5 / var / www / snort-base
# chmod -R 0770 / var / www / snort-base && chown -hR www-data: www-data / var / www / snort-base

Khởi động lại các dịch vụ web:

# /etc/init.d/php5-fpm khởi động lại
# /etc/init.d/nginx khởi động lại

Hãy kết nối với BASE và thực hiện khởi tạo ban đầu:

    Đường dẫn đến adodb: / usr / share / php / adodb;
    Chỉ định các tham số để kết nối với cơ sở dữ liệu Snort;
    Đặt người dùng để ủy quyền trong BASE;
    Quá trình thiết lập BASE được hoàn tất bằng cách tạo bảng BASE AG - "Tạo BASE AG" và theo liên kết 'bước 5'.

Hãy bắt đầu khịt mũi:

# dịch vụ bắt đầu ngắn gọn

Bây giờ các cuộc tấn công được phát hiện bởi Snort sẽ được lưu trữ trong cơ sở dữ liệu và có sẵn thông qua giao diện web BASE.

Đến đây, quá trình cài đặt và cấu hình ban đầu của hệ thống có thể coi là đã hoàn thành.

Tùy chỉnh Snort nâng cao

Tôi sẽ bắt đầu bằng một câu trích dẫn: "Vấn đề chính của bảo mật thông tin, như một quy luật, không liên quan đến sự sẵn có của các hệ thống an toàn thông tin, mà với việc xử lý và phân tích kết quả công việc của họ." Chúng ta hãy thử tìm ra cách thức và tiêu chí nào mà Snort tạo ra các sự kiện và tối ưu hóa đầu ra và xử lý của chúng, loại bỏ tất cả những thứ không cần thiết.

Các tệp cấu hình Snort nằm trong thư mục / etc / snort. Thông tin về giao diện mà Snort lắng nghe, cũng như dữ liệu địa chỉ mạng được chỉ định trong quá trình cài đặt tiện ích, được lưu trữ trong tệp snort.debian.conf. Dữ liệu để kết nối với cơ sở dữ liệu nằm trong tệp database.conf. Thông tin về các quy tắc Snort có trong tệp snort.conf. Chúng ta hãy xem xét nó chi tiết hơn.

snort.conf

Tệp cấu hình bao gồm các phần:

    1) Đặt các biến mạng
    2) Định cấu hình bộ giải mã
    3) Định cấu hình công cụ phát hiện cơ sở
    4) Định cấu hình các thư viện được tải động
    5) Định cấu hình bộ tiền xử lý
    6) Định cấu hình các plugin đầu ra
    7) Tùy chỉnh bộ quy tắc của bạn
    8) Tùy chỉnh bộ quy tắc tiền xử lý và bộ giải mã
    9) Tùy chỉnh bộ quy tắc đối tượng được chia sẻ

Xem xét các phần chính.

1. Cài đặt mạng và các biến
Trong danh mục này, bạn có thể chỉ định, ví dụ, địa chỉ mạng của các mạng bên trong và bên ngoài, các dịch vụ được sử dụng trong mạng của chúng tôi và cũng nhóm các dịch vụ hoặc máy chủ đó, tạo điều kiện thuận lợi cho việc phân tích cú pháp các sự kiện tiếp theo.

Ngoài ra, phần này còn chứa các đường dẫn của thư mục quy tắc Snort, cũng như danh sách Trắng và Đen. Chúng ta sẽ quay lại vấn đề này sau một thời gian ngắn.

Var RULE_PATH / etc / snort / rules ... var WHITE_LIST_PATH / etc / snort / rules var BLACK_LIST_PATH / etc / snort / rules

2. Bộ giải mã
Một trong những quy trình đầu tiên mà Snort thực hiện trên một gói là xử lý bởi bộ giải mã, có nhiệm vụ xác định giao thức cơ bản trong gói (ETHERNET, IP, TCP, v.v.), tuy nhiên, nội dung của gói không được xử lý, nhưng được chuyển để xử lý thêm cho các bộ tiền xử lý và công cụ phát hiện.

Thí dụ. Loại trừ các gói có tùy chọn IP không hợp lệ khỏi bộ giải mã:

cấu hình disable_ipopt_alerts

và các gói được gửi tới máy chủ DNS:

Cấu hình ignore_ports: 53

3. Định cấu hình công cụ phát hiện
Công cụ phát hiện có thể sử dụng PCRE, một thư viện tìm kiếm mẫu tương thích với Perl. Trong phần này, bạn có thể tối ưu hóa các tham số tìm kiếm, cũng như phương pháp của nó.

5. Thiết lập bộ tiền xử lý
Lẽ ra tôi phải nói điều này ngay từ đầu, nhưng bây giờ tôi sẽ nói với bạn - Snort có thể hoạt động ở 2 chế độ - nội tuyến (IPS) và chế độ quảng bá (IDS). Trong trường hợp đầu tiên, Snort có thể quản lý các gói đi qua nó (sửa đổi, chặn), trong trường hợp thứ hai, nó chỉ có thể theo dõi và cảnh báo trong trường hợp có hoạt động đáng ngờ. Trong cài đặt bộ tiền xử lý, một số tùy chọn chỉ hoạt động ở chế độ nội tuyến, ví dụ: tùy chọn bộ tiền xử lý normalize_ip4 chuẩn hóa các gói (có thể nói là) - sửa TTL, TOS, v.v. Vì trong ngữ cảnh của bài viết này, chúng tôi đang nói về IDS, chúng tôi sẽ bỏ qua các tùy chọn như vậy.

Bộ tiền xử lý làm việc trực tiếp với nội dung của gói, sử dụng các bộ quy tắc như http_inspect_server, xác định phương thức http, các cổng, nhu cầu phân tích cú pháp cookie, các ký tự đặc biệt được phép, v.v. Hồ sơ cho máy chủ web cũng có sẵn.

6. Cài đặt đầu ra
Snort có chức năng đầu ra khá linh hoạt ở định dạng syslog, Unix2, prelude, tcpdump, v.v.
Theo mặc định, dữ liệu được ghi ở định dạng tcpdump (pcap) vào tệp tcpdump.log. Hãy bình luận ra dòng:

Đầu ra log_tcpdump: tcpdump.log

Sẽ không thừa nếu thiết lập ghi nhật ký từng dòng các cảnh báo vào một tệp bằng cách sử dụng alert_fast:

Đầu ra alert_fast: snort.log 10 triệu

Tuy nhiên, vì chúng tôi đã định cấu hình ghi nhật ký MySQL, phần này không phù hợp lắm với chúng tôi.

7. Bật / Tắt quy tắc Snort
Phần này bật và tắt các quy tắc Snort. Biến $ RULE_PATH được xác định trong phần đầu tiên được sử dụng làm thư mục nơi các quy tắc được đặt. Vì vậy, chúng tôi đã xem xét cấu hình, hãy cố gắng tìm ra các quy tắc.

Quy tắc ngắn gọn

Như chúng ta đã hiểu, các quy tắc nằm trong thư mục / etc / snort / rules. Hãy xem xét ví dụ về cảnh báo gửi yêu cầu phát đa hướng:

Mở rộng bản ghi cảnh báo, chúng tôi xác định bên lề của quy tắc đã tạo cảnh báo.

Trong trường hợp này, sid là 527. Hãy tìm kiếm quy tắc:

# grep "sid: 527" -R / etc / snort / rules /

/etc/snort/rules/bad-traffic.rules:alert ip any any -> any any (msg: "BAD-TRAFFIC same SRC / DST"; sameip; reference: bugtraq, 2666; reference: cve, 1999-0016; tham chiếu: url, www.cert.org / Consultories / CA-1997-28.html; classtype: bad -nown; sid: 527; rev: 8;

Hãy phân tích quy tắc:

    ip - giao thức;
    "bất kỳ" đầu tiên là SRCIP và SRCPort, thứ hai là DSTIP và DSTPort, tương ứng;
    "->" - cho biết hướng của gói tin, bạn cũng có thể sử dụng "";
    msgstr: "BAD-TRAFFIC cùng SRC / DST" - thông báo được tạo ra khi cảnh báo được kích hoạt;
    tham số sameip nói rằng quy tắc sẽ được kích hoạt nếu SRCIP và DSTIP giống hệt nhau;
    sau đó có các liên kết đến các nguồn nhận dạng bên ngoài của cuộc tấn công;
    tham số classtype xác định phân loại của cuộc tấn công;
    sid - định danh quy tắc duy nhất;
    tham số rev chỉ định bản sửa đổi của quy tắc này.

Để loại trừ một máy chủ khỏi quy tắc, chỉ cần thêm !. Hãy loại trừ địa chỉ multicast khỏi quy tắc:

Báo ip bất kỳ ->! bất kỳ (msgstr: "BAD-TRAFFIC giống SRC / DST"; sameip; tham chiếu: bugtraq, 2666; tham chiếu: cve, 1999-0016; tham chiếu: url, www.cert.org /visoryories / CA-1997-28.html; classtype: bad-không xác định; sid: 527; rev: 8;

Khởi động lại Snort:

# service snort khởi động lại

Hãy xem xét một ví dụ khác - nỗ lực truy cập thư mục sao lưu trên máy chủ web:

Quy tắc trông như thế này:

Cảnh báo tcp $ EXTERNAL_NET bất kỳ ->

Hãy thêm máy chủ quản trị viên vào ngoại lệ:

Cảnh báo tcp! $ EXTERNAL_NET bất kỳ -> $ HTTP_SERVERS $ HTTP_PORTS (msg: "Quyền truy cập sao lưu WEB-MISC"; flow: to_server, thành lập; uricontent: "/ backup"; nocase; classtype: fixed-Re; sid: 1213; rev: 5;)

Cũng có thể chỉ định địa chỉ IP của quản trị viên như một biến trong snort.conf và sử dụng một biến như vậy cho các trường hợp ngoại lệ khỏi các quy tắc. Ngoài ra, Snort sử dụng danh sách trắng \ đen, trong đó bạn có thể chỉ định địa chỉ IP của máy chủ và mạng. Thí dụ:

Danh tiếng của nhà tiền xử lý: \ blacklist /etc/snort/default.blacklist whitelist /etc/snort/default.whitelist

P.S.
Bộ quy tắc Snort tiêu chuẩn (quy tắc cộng đồng) được phân phối miễn phí, bộ quy tắc mở rộng chứa các chữ ký cập nhật nhất của các cuộc tấn công đã biết, có sẵn cho một đăng ký trả phí.
Hướng dẫn chi tiết cho Snort bằng tiếng Anh có tại liên kết.
Đó là tất cả! Nếu có bổ sung, góp ý, tôi rất vui lòng thảo luận trong phần bình luận.

1. IDS là gì.

Ngày nay, khi có rất nhiều trang web có mô tả về các vụ hack, cũng như các bài báo, khai thác, chương trình về cùng chủ đề, các nỗ lực tấn công máy chủ đã trở nên thường xuyên hơn rất nhiều. Rốt cuộc, bất kỳ người dùng nào tưởng tượng mình là một hacker đều có thể thử một cách khai thác mới được tải xuống đối với bạn và giành quyền kiểm soát máy chủ của bạn. Nó thực sự không dễ dàng như vậy, nhưng vẫn ...

Để tìm hiểu về các cuộc tấn công, hoặc chỉ để theo dõi tất cả các sự kiện diễn ra trên máy chủ, nhiều quản trị viên xem qua nhật ký mỗi ngày. Nhưng khi tệp nhật ký, ví dụ, của máy chủ web Apache, tăng 10 Mb mỗi ngày, thì bạn phải tự động hóa quá trình giám sát bảo mật của máy chủ. Một trong những giải pháp là IDS - Hệ thống phát hiện xâm nhập, đã phát triển hiệu quả trong vài năm qua và hiện là một phần không thể thiếu của bất kỳ biện pháp bảo vệ mạng nào.

Trong số nhiều loại IDS (Hệ thống phát hiện xâm nhập), có thể phân biệt hai loại: dựa trên phân tích giao thức(phát hiện các gói không phù hợp với tiêu chuẩn), và dựa trên phân tích chữ ký(Trong các gói, một chữ ký tấn công được tìm kiếm - một chuỗi (mẫu) chỉ ra rằng gói này thuộc lưu lượng có hại. IDS như vậy được gọi là NIDS (Hệ thống phát hiện xâm nhập mạng). Nói chung, nguyên tắc hoạt động của NIDS có thể được mô tả như sau : tất cả lưu lượng được phân tích về sự hiện diện của các gói chứa dữ liệu độc hại và nếu gói như vậy được tìm thấy, thì các hành động báo hiệu khác nhau sẽ được thực hiện (thông báo hiển thị trên bảng điều khiển, thư được gửi, ghi vào nhật ký, thông báo Winpopup là gửi, v.v.) Cả hai loại IDS đều có ưu điểm và nhược điểm, ví dụ: phân tích giao thức chậm hơn do việc chuyển đổi gói thành một biểu mẫu có sẵn để phân tích. Các tiêu chuẩn đã được đăng ký .IDS dựa trên phân tích chữ ký nhanh hơn và bên cạnh đó, chúng dễ dàng cấu hình và cập nhật (tôi đã thấy một lỗ hổng mới, đã thêm nó vào cơ sở và IDS của bạn sẽ tìm thấy nó.) Nhưng tốt hơn nên sử dụng IDS dựa trên hai phương pháp phân tích, uh nó sẽ mang lại cho bạn kết quả thực sự tuyệt vời.

2. Tổng quan về IDS

Hiện tại, có rất nhiều IDS, mỗi IDS đều có những ưu và nhược điểm riêng. Tôi sẽ mô tả ngắn gọn về một số trong số chúng (thông tin về các chương trình này được lấy từ trang www.opennet.ru, nơi bạn cũng có thể tìm thấy tất cả các IDS này):

PortSentry

Một chương trình cho phép bạn phát hiện và chặn các nỗ lực quét các cổng UDP và TCP của máy chủ trong thời gian thực. Các nỗ lực quét cổng ẩn (SYN / nửa mở, FIN, NULL, X-MAS, dấu lạ) cũng được phát hiện.

Một hệ thống để phân tích và theo dõi (ghi nhật ký) các gói đi qua, chẳng hạn như các cuộc tấn công như "tràn bộ đệm, quét cổng tàng hình, tấn công CGI, đầu dò SMB, nỗ lực lấy dấu vân tay hệ điều hành" được công nhận. Có khả năng thông báo theo thời gian thực cho quản trị viên khi phát hiện một cuộc tấn công

Needsbench

Hệ thống kiểm tra mạng các lỗ hổng điển hình và tìm ra phản ứng của hệ thống được cài đặt để phát hiện các nỗ lực truy cập trái phép. Có một lựa chọn tốt các tài liệu về NIDS.

Giám sát lưu lượng TCP / IP, có thể đăng nhập lưu lượng đi qua, phát hiện quét cổng, lũ lụt và một số kiểu tấn công.

Một thư viện để xây dựng hệ thống NIDS mô phỏng ngăn xếp TCP / IP của Linux 2.0.x, không chỉ cho phép nắm bắt các gói (một tập hợp các gói hỗn loạn), như hầu hết các trình đánh giá thường làm (ví dụ: libpcap, tcpdump) mà còn theo dõi các phiên riêng lẻ (ví dụ: để chặn lưu lượng SMTP và tách từng phiên SMTP) có tính đến việc chống phân mảnh và lắp ráp các phần gói tin TCP. Chạy trong Linux, * BSD và Solaris.

Chương trình cho phép bạn theo dõi và đưa vào tệp nhật ký tất cả dữ liệu đi qua cổng nối tiếp.

Đây không phải là tất cả IDS, và thậm chí không phải là những IDS nổi tiếng nhất, nhưng chúng rất dễ tìm.

Trong số tất cả các chương trình này, Khịt mũi- yêu thích của tôi. Tại sao? Đây là những ưu điểm của nó: hai chế độ phân tích, bằng phân tích chữ ký và giao thức, cài đặt và cấu hình chương trình dễ dàng, kích thước nhỏ và yêu cầu hệ thống, phát hiện một số lượng lớn các cuộc tấn công.

3. Cài đặt và cấu hình Snort

Để bắt đầu, hãy tải xuống Snort từ www.snort.org. Đây là liên kết trực tiếp đến phiên bản mới nhất tại thời điểm này http://www.snort.org/dl/binaries/linux/snort-1.9.1-1snort.i386 .rpm. Ngoài ra còn có các sửa đổi khác nhau của Snort, ví dụ, với hỗ trợ cho MySQL, postgresql, snmp, bạn có thể tải xuống tất cả những điều này từ cùng một trang web và tôi đã chọn phiên bản chương trình của chúng tôi là dễ cài đặt nhất.

Cài đặt khá đơn giản:

rpm –i snort-1.9.1-1snort.i386.rpm

Sau đó, tất cả các tập tin cần thiết sẽ được sao chép vào hệ thống.

Bây giờ bạn cần phải tùy chỉnh chương trình cho chính mình, mà chúng ta sẽ làm bây giờ ... Hãy vào thư mục / etc / snort, ở đây bạn có thể tìm thấy cơ sở dữ liệu chữ ký (chính xác hơn, chúng có thể được gọi là các quy tắc mà Snort xác định lưu lượng có hại) và một số tệp cấu hình, chúng ta cần snort.conf. Ở đây chúng tôi thiết lập các biến có thể thay đổi như HOME_NET, EXTERNAL_NET và các biến khác ... Sẽ không khó để tìm ra, vì mỗi tùy chọn đều có kèm theo các chú thích khá dễ hiểu, mặc dù bằng tiếng Anh. Ở phần cuối của tệp cấu hình, có chữ ký của trình cắm thêm, những phần không cần thiết có thể góp ý để cải thiện hiệu suất.

Đây là một ví dụ về cấu hình của tôi:


# Bước # 1: Đặt các Biến liên quan đến Mạng
# Thay đổi IP thành các địa chỉ mạng cục bộ của bạn
# Bạn có thể chỉ định nhiều phạm vi bằng cách phân tách chúng bằng dấu phẩy
var HOME_NET 192.168.168.0/24
var EXTERNAL_NET! $ HOME_NET
var DNS_SERVERS $ HOME_NET
var SMTP_SERVERS $ HOME_NET
var HTTP_SERVERS $ HOME_NET
var SQL_SERVERS $ HOME_NET
var TELNET_SERVERS $ HOME_NET
var ORACLE_PORTS 1521
var HTTP_PORTS 80
var SHELLCODE_PORTS! 80

# Đường dẫn đến chữ ký
var RULE_PATH / etc / snort

# Bao gồm các tệp cần thiết chứa phân loại cuộc tấn công được phát hiện và các liên kết đến
# xe tải bao

Bao gồm phân loại.config
bao gồm tham chiếu.config

###################################################

# Bước # 2: Thiết lập cơ chế phát hiện tấn công

Bộ tiền xử lý frag2
tiền xử lý luồng4: phát hiện_scan, disable_evasion_alerts
bộ tiền xử lý stream4_reassemble
bộ tiền xử lý http_decode: 80 unicode iis_alt_unicode double_encode iis_flip_slash full_whitespace
bộ tiền xử lý rpc_decode: 111 32771
bộ xử lý trước portcan: $ HOME_NET 4 3 portcan.log
# Tôi đã phải thêm tùy chọn này vì một số phần mềm cụ thể được sử dụng trong
# mạng thường gây ra kết quả dương tính giả
cổng bộ xử lý tiền xử lý quét-bỏ qua: 192.168.168.0/24
arpspoof bộ xử lý trước
cuộc trò chuyện tiền xử lý: allow_ip_protocols all, timeout 60, max_conversations 32000
bộ xử lý tiền portcan2: scanners_max 3200, target_max 5000, target_limit 5, port_limit 20, timeout 60

####################################################################

# Bước # 3: Chỉ định chữ ký nào chúng tôi cần

Bao gồm $ RULE_PATH / bad-traffic.rules
bao gồm $ RULE_PATH / mining.rules
bao gồm $ RULE_PATH / scan.rules
bao gồm $ RULE_PATH / ngón tay.rules
bao gồm $ RULE_PATH / ftp.rules
bao gồm $ RULE_PATH / dos.rules
bao gồm $ RULE_PATH / ddos.rules
bao gồm $ RULE_PATH / dns.rules
bao gồm $ RULE_PATH / web-cgi.rules
# Tôi đã để tùy chọn tiếp theo để thống kê - máy chủ của tôi thường xuyên được quét các lỗi IIS,
# Chính xác hơn, không phải máy chủ của tôi, mà là một loạt các địa chỉ, mà tôi cũng rơi vào :)
bao gồm $ RULE_PATH / web-iis.rules
bao gồm $ RULE_PATH / web-client.rules
bao gồm $ RULE_PATH / web-php.rules
bao gồm $ RULE_PATH / sql.rules
bao gồm $ RULE_PATH / icmp.rules
bao gồm $ RULE_PATH / netbios.rules
bao gồm $ RULE_PATH / misc.rules
bao gồm $ RULE_PATH / tấn công-phản hồi.rules
bao gồm $ RULE_PATH / mysql.rules

Bao gồm $ RULE_PATH / pop3.rules
bao gồm $ RULE_PATH / pop2.rules
bao gồm $ RULE_PATH / other-ids.rules
bao gồm $ RULE_PATH / web-attack.rules
bao gồm $ RULE_PATH / backdoor.rules
bao gồm $ RULE_PATH / shellcode.rules

Bây giờ mọi thứ đã sẵn sàng để bắt đầu Snort. Viết nó vào inittab và nó sẽ bắt đầu với hệ thống.

4. Thêm chữ ký của riêng bạn

Snort rất linh hoạt và dễ thiết lập IDS. Một trong những phẩm chất của nó cho phép chúng tôi tự thêm các chữ ký tấn công (hoặc như tôi đã nói, nó giống các quy tắc hơn). Chúng tôi có các quy tắc như vậy trong tệp * .rules. Cú pháp của các quy tắc khá đơn giản:

ACTION PROTO IP_ADDR1 PORT1 DIRECTION IP_ADDR2 PORT2 [(TÙY CHỌN)]

Hãy xem xét các trường quy tắc chi tiết hơn:

Trường Hành động có ba chỉ thị chính xác định các hành động khi tìm thấy một gói mạng khớp với một quy tắc nhất định: truyền, ghi nhật ký và cảnh báo.

đi qua- bỏ qua gói tin

khúc gỗ- gói tin phải được chuyển tới quy trình ghi nhật ký để được ghi vào tệp nhật ký

báo động tạo thông báo khi tìm thấy một gói phù hợp với quy tắc

Giao thức gói, có thể là tcp, udp, icmp

Vì nó rõ ràng từ tên của tùy chọn, trường này có nghĩa là địa chỉ IP. không tí nào cho phép bạn thiết lập tất cả các địa chỉ có thể. Biểu tượng! đảo ngược điều kiện, tức là ! 192.168.168.0/24 có nghĩa là bất kỳ mạng con nào không phải là 192.168.168.0/24. Bạn có thể liệt kê nhiều địa chỉ IP được phân tách bằng dấu phẩy

Ngoài một số cổng, bạn có thể chỉ định một loạt các cổng được phân tách bằng dấu hai chấm, ví dụ: 6000: 6010, ký hiệu ! đảo ngược điều kiện, và không tí nào viết tắt của tất cả các cổng

HƯỚNG ĐI

Chỉ định hướng chuyển động của gói:

-> (một chiều) - quy tắc sẽ chỉ được áp dụng cho các gói đến từ IP_ADDR1 đến IP_ADDR2;

(hai chiều) - hướng chuyển động của gói hàng không đóng vai trò gì

Các tham số được đặt trong dấu ngoặc đơn là một phần tùy chọn của quy tắc, nhưng chúng xác định văn bản của thông báo thông báo về mối đe dọa, chỉ định các hành động bổ sung khi quy tắc được kích hoạt và các điều kiện bổ sung để các gói được phân tích cú pháp phù hợp với quy tắc này. Các tham số được phân tách với nhau bằng dấu chấm phẩy và từ khóa của tham số được phân tách với đối số của nó bằng dấu hai chấm.

Các thông số chỉ định các điều kiện bổ sung để phù hợp với quy tắc:

ttl- đặt giá trị của trường TTL trong tiêu đề gói IP;

tos- đặt giá trị của trường TOS trong tiêu đề gói IP;

Tôi- đặt giá trị của trường số phân mảnh trong tiêu đề gói IP;

ipopts- đặt giá trị của trường tham số gói IP;

fragbits- thiết lập các bit phân mảnh của gói IP;

dsize- thiết lập các điều kiện cho kích thước của gói IP;

cờ- đặt điều kiện cho sự hiện diện hoặc vắng mặt của một số cờ TCP nhất định;

seq- đặt số lượng của phân đoạn gói TCP trong chuỗi;

ack- đặt giá trị của trường xác nhận trong gói TCP;

tôi cho tiền boa- đặt giá trị của trường loại gói ICMP;

icode- đặt giá trị của trường mã gói ICMP;

icmp_id- đặt giá trị của trường ICMP ECHO ID trong gói ICMP;

icmp_seq- đặt số lượng gói ICMP ECHO trong chuỗi;

Nội dung- chỉ định mẫu mong muốn trong nội dung gói, không phải trong tiêu đề (mẫu có thể được chỉ định cả ở dạng văn bản và ở dạng thập lục phân);

danh sách nội dung- tham số này tương tự như tham số nội dung, ngoại trừ danh sách các mẫu được tìm kiếm được lấy từ tệp đã cho;

bù lại- hoạt động cùng với tùy chọn nội dung để xác định độ lệch trong gói mà từ đó nội dung sẽ được phân tích cú pháp;

chiều sâu- tương tự như tham số offset và xác định vị trí trong gói mà nội dung sẽ được phân tích;

không có trường hợp- vô hiệu hóa phân biệt chữ hoa chữ thường khi phân tích nội dung của gói;

rpc- tham số này cho phép bạn chỉ định chính xác hơn các đặc tính của các lệnh gọi chương trình hoặc thủ tục tới các dịch vụ RPC.

Như bạn có thể thấy, các tham số được liệt kê cho phép bạn tạo các quy tắc để chặn hầu hết mọi gói tin có thể đe dọa đến bảo mật bằng cách nào đó. Và cho rằng Snort có thể chặn các gói ở lớp liên kết, thì việc sử dụng nó đặc biệt thú vị trên các máy chủ được bảo vệ bởi tường lửa, vì các gói bị tường lửa thả vẫn sẽ nằm trong trường xem của Snort.

Các tham số có giá trị có ý nghĩa nếu gói được phân tích đáp ứng tất cả các điều kiện:

tin nhắn- chứa nội dung tin nhắn;

logto- chỉ định một tệp thay thế để ghi nội dung của gói vào đó;

phiên họp- tùy chọn này cho phép bạn kích hoạt một tính năng Snort rất thú vị - ví dụ: trích xuất dữ liệu người dùng từ một phiên TCP để phân tích tiếp theo những lệnh mà người dùng đã nhập trong một phiên telnet;

đáp lại- nếu gói phù hợp với quy tắc, thì Snort sẽ thực hiện một trong các hành động được chỉ định - ví dụ: đóng kết nối bằng cách gửi gói TCP-RST đến một trong các máy chủ.

phản ứng- chặn các trang web được chỉ định trong quy tắc bằng cách đóng kết nối với chúng và / hoặc gửi thông báo được chỉ định tới trình duyệt mà từ đó cố gắng truy cập trang web.

Dưới đây là một số ví dụ về việc xây dựng các quy tắc của riêng bạn:

Nếu một yêu cầu đến máy chủ Napster được tìm thấy, kết nối buộc phải đóng. Như bạn có thể thấy, với sự trợ giúp của Snort, có thể tổ chức lọc lưu lượng truy cập không mong muốn hiệu quả hơn chỉ đơn giản là đóng các cổng tương ứng trên tường lửa, vì có thể đưa ra một điều kiện bổ sung về nội dung của các gói.

5. Kiểm tra Snort

Để kiểm tra hiệu suất của Snort, chúng ta hãy lấy một ví dụ đơn giản. Tại dòng lệnh, gõ ping -s 65507. Bây giờ chúng ta truy cập / var / log / snort, các bản ghi được lưu trữ ở đây theo mặc định. Mở tệp cảnh báo và xem các dòng sau:

[**] ICMP Gói ICMP lớn [**]
01/06-07:37:37.119752 192.168.168.99 -> 192.168.168.9
ICMP TTL: 255 TOS: 0x0 ID: 18479 IpLen: 20 DgmLen: 63028
Loại: 0 Mã: 0 ID: 512 Seq: 19456 ECHO REPLY

Dòng đầu tiên cho chúng ta biết hành động nào đã kích hoạt cảnh báo, trong trường hợp này là gói ICMP quá lớn. Dòng thứ hai hiển thị lớp tấn công và mức độ ưu tiên của nó (thông tin này được xác định từ tệp phân loại.config). Dòng thứ ba chứa thời gian của cuộc tấn công, cũng như địa chỉ IP của máy chủ đã gửi gói tin và máy chủ mà gói tin đó được sử dụng. Tiếp theo là phần còn lại của các trường gói, chẳng hạn như TTL, TOS - bằng cách này, bạn có thể xác định hệ điều hành của kẻ tấn công và những trường khác ...

6. Kết luận

Từ tất cả những gì đã nói ở trên, có vẻ như đối với tôi, người ta có thể kết luận rằng Snort cực kỳ hữu ích. Trong mọi trường hợp, việc sử dụng chương trình này sẽ khiến cuộc sống của các hacker trở nên khó khăn hơn một chút. Và đó không phải là mục tiêu mà bất kỳ quản trị viên hệ thống nào cũng theo đuổi?

Bài viết này không giả vờ là một hướng dẫn đầy đủ về Snort, nhưng tôi hy vọng nó sẽ giúp bạn hiểu được cách cài đặt, cấu hình và hoạt động của nó. Rất nhiều suy nghĩ đến từ các tài liệu khác nhau, chủ yếu là tiếng Anh, mà tôi đã xem qua trên các trang web bảo mật khác nhau, nhưng đây chủ yếu là kết quả của kinh nghiệm của tôi với Snort.

Chào mừng trở lại với tin tặc của tôi!

Trong thế giới bảo mật thông tin, hệ thống phát hiện xâm nhập (IDS) phổ biến nhất mà bạn sẽ sớm gặp phải là Snort. Như bạn có thể đã biết, IDS hoạt động theo cách tương tự như phần mềm chống vi-rút - nó cố gắng xác định phần mềm độc hại trên mạng của bạn và cảnh báo bạn về sự hiện diện của nó.

Snort, được tạo ra bởi Martin Roesch vào năm 1999, đã trở nên phổ biến đến nỗi gã khổng lồ mạng Cisco đã mua lại nó vào năm 2014. Do đó, trong tương lai gần, bạn rất có thể sẽ thấy nó trên hầu hết tất cả các thiết bị của Cisco. Và vì Cisco là nhà sản xuất các thiết bị mạng phổ biến nhất, bạn sẽ sớm tìm thấy Snort ở khắp mọi nơi.

Ngay cả khi tổ chức của bạn không bao giờ sử dụng (không chắc) các sản phẩm của Cisco hoặc Snort, bạn nên hiểu cách thức hoạt động của IDS này, vì hầu hết các hệ thống phát hiện xâm nhập khác hoạt động theo cách tương tự.

Gần đây chúng tôi đã xuất bản một vài bài báo về Snort, nhưng chúng tôi nghĩ sẽ rất tuyệt nếu thực hiện một loạt bài viết về chủ đề này. Trong loạt bài này, chúng tôi sẽ hướng dẫn bạn cách sử dụng Snort từ đầu đến cuối, bao gồm cài đặt, cấu hình, quản lý đầu ra, quy tắc viết và cảnh báo giám sát.

Hãy bắt đầu!

Phương pháp 1: Cài đặt Snort từ kho

Cài đặt Snort rất dễ dàng nếu bạn có Snort trong kho lưu trữ trên hệ thống của mình. Thật không may, nó không còn khả dụng trong Kali, vì vậy bước đầu tiên của chúng tôi là thêm một kho lưu trữ có Snort. Trong trường hợp này, chúng tôi sẽ thêm một số kho lưu trữ Ubuntu.

Mở tệp /etc/sources.list. Chúng tôi có thể làm điều này với bất kỳ trình soạn thảo văn bản nào (chúng tôi sẽ sử dụng Leafpad ở đây).

Kali> leafpad /etc/apt/sources.list

Như đã thấy trong ảnh chụp màn hình ở trên, chúng tôi đã thêm một số kho lưu trữ Ubuntu, cũng được liệt kê bên dưới. Vì Ubuntu là một nhánh của Debian (bản phân phối Linux chính mà Kali được xây dựng) nên hầu hết các gói Ubuntu cũng sẽ hoạt động trên Kali.

Deb http://ch.archive.ubuntu.com/ubuntu/ saucy main limited deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main limited deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main

Để cập nhật danh sách các kho lưu trữ của chúng tôi, sau khi lưu tệp, chúng tôi cần cập nhật danh sách các gói. Chúng tôi có thể thực hiện việc này bằng cách nhập vào bảng điều khiển:

Kali> apt-get cập nhật

Khi các gói của chúng tôi được cập nhật, chúng tôi có thể cài đặt gói Snort từ kho lưu trữ bằng lệnh:

Kali> apt-get install snort

Thats tất cả để có nó. Snort đã được cài đặt và sẵn sàng hoạt động! Để kiểm tra điều này, chỉ cần nhập vào bảng điều khiển:

Kali> snort -V

Trong trường hợp của chúng tôi, Snort đã in ra số phiên bản của nó (trong trường hợp này là 2.9.2).

Phương pháp 2: Cài đặt Snort từ các nguồn

Cài đặt Snort từ nguồn phức tạp hơn và tốn thời gian hơn, nhưng ưu điểm của việc này là Snort sẽ được biên dịch riêng cho cấu hình phần cứng và phần mềm cụ thể của bạn.

Điều này sẽ cung cấp cho bạn hiệu suất tổng thể tốt nhất. Như với bất kỳ IDS nào, hiệu suất là rất quan trọng. Hiệu suất IDS thấp hơn sẽ làm chậm khả năng kết nối mạng tổng thể của bạn hoặc dẫn đến rớt gói. Trong trường hợp đầu tiên, bạn sẽ có những khách hàng hoặc người dùng không hài lòng, và trong trường hợp thứ hai, bạn sẽ làm tổn hại đến tính bảo mật của mạng.

Khi sử dụng Snort trong một môi trường sản xuất an toàn, bạn nên cài đặt từ nguồn. Ngoài ra, cài đặt từ nguồn đảm bảo rằng bạn đang cài đặt phiên bản mới nhất của Snort. Nhiều kho chứa các phiên bản cũ hơn. Phiên bản hiện tại của Snort là 2.9.8 và trong kho lưu trữ là 2.9.2. Một sự khác biệt nhỏ, nhưng khi chúng ta đang cố gắng bảo vệ "kho báu", thì mọi chi tiết sẽ có ích.

Hãy bắt đầu bằng cách tạo một thư mục trong Kali nơi chúng tôi sẽ tải lên mã nguồn.

Kali> mkdir snort_source

Sau đó đi đến thư mục này

Kali> cd snort_source

Trước khi có thể tải xuống Snort, bạn cần cài đặt thư viện Thu thập dữ liệu hoặc DAQ. DAQ có một số phụ thuộc mà chúng ta cần cài đặt.

Kali> apt-get install -y bison flex

Bây giờ chúng ta có thể tải xuống và cài đặt DAQ từ trang web Snort.

Kali> wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz kali> tar -xvzf daq-2.0.6.tar.gz

Sau đó, hãy vào thư mục daq.

Kali> cd daq-2.0.6

Cuối cùng, hãy cấu hình DAQ và đưa ra lệnh make.

Kali> ./configure kali> tạo kali> cài đặt kali> wget "https://snort.org/snort/snort-2.9.8.0.tar.gz"https://snort.org/snort/snort-2.9.8.0 .tar.gz

Sau khi tải xuống, bạn sẽ cần phải giải nén nó. (Để biết thêm thông tin về lệnh tar, hãy xem bài viết Cơ bản về Linux của chúng tôi).

Kali> tar -xvzf snort-2.9.8.0.tar.gz

Hãy đi đến thư mục chứa các tệp Snort mới.

Kali> cd /snort-2.9.8.0

Bạn cần phải cấu hình nó.

Kali> ./configure --enable-sourcefire

Sau đó, chúng ta cần sử dụng lệnh make, lệnh này xác định thành phần nào của mã nguồn nên được biên dịch lại và sau đó hướng dẫn làm như vậy.

Kali> làm

Và cuối cùng, chúng ta thực hiện cài đặt (make install). Lệnh này nhận các thành phần chương trình đã được biên dịch lại và đặt chúng vào các thư mục tương ứng.

Kali> thực hiện cài đặt

Vì chúng tôi đã cài đặt các tệp thư viện mới trong quá trình cài đặt, nên chúng tôi cần cập nhật các thư viện được chia sẻ. Để thực hiện việc này, hãy nhập lệnh sau vào bảng điều khiển:

Kali> ldconfig

Để chạy Snort từ bất kỳ thư mục nào, bạn có thể tạo một liên kết tượng trưng đến các tệp nhị phân (có thể thực thi) trong / usr / local / bin / snort và đặt nó vào thư mục / usr / sbin, gọi nó là snort. Vì / usr / sbin nằm trong PATH của chúng tôi, chúng tôi có thể nhập Snort ở bất kỳ đâu trên hệ điều hành để bắt đầu sử dụng IDS.

Kali> ln -s / usr / local / bin / snort / usr / sbin / snort

Hãy kiểm tra xem Snort đã được cài đặt bình thường chưa. Để thực hiện việc này, hãy nhập vào bảng điều khiển:

Kali> khịt mũi

Như chúng ta có thể thấy, Snort đã khởi động và đang chạy thành công ở chế độ kết xuất gói, hay còn gọi là chế độ trình thám thính.

Bây giờ chúng ta đã cài đặt thành công Snort, hãy tiếp tục định cấu hình nó để phát hiện phần mềm độc hại. Nó sẽ có trong bài viết tiếp theo của chúng tôi trong loạt bài này, vì vậy hãy nhớ kiểm tra lại!

Từ chối trách nhiệm: Bài báo này được viết cho mục đích giáo dục. Tác giả hoặc nhà xuất bản đã không xuất bản bài viết này cho các mục đích xấu. Nếu độc giả muốn sử dụng thông tin cho mục đích cá nhân, tác giả và nhà xuất bản không chịu trách nhiệm về bất kỳ thiệt hại hoặc thiệt hại gây ra.

SNORT là một IDS (Hệ thống phát hiện xâm nhập) mã nguồn mở cho phép bạn phát hiện bất kỳ hoạt động mạng đáng ngờ nào bằng cách so sánh các quy tắc phát hiện lưu lượng độc hại được tích hợp sẵn với dữ liệu đi qua mạng cục bộ của tổ chức. Trên thực tế, bất kỳ phần mềm chống vi-rút nào cũng hoạt động theo cách này, nhưng điểm giống nhau kết thúc ở đó, vì mục đích của các hệ thống này hoàn toàn khác nhau, điều rất quan trọng là phải hiểu đúng mục tiêu và mục tiêu của hệ thống IDS và không nhầm lẫn chúng với các phương tiện bảo vệ khác.

Hệ thống IDS được thiết kế để chặn các hành động của kẻ tấn công ở giai đoạn nghiên cứu mạng của bạn:

  • phát hiện hoạt động mạng đáng ngờ,
  • xác định các công cụ phân tích và tấn công mạng đã biết được kẻ tấn công sử dụng
  • và, nếu có thể, hãy ngăn chặn các hoạt động bất hợp pháp.

Thông thường tác vụ này không được thực hiện bằng các phương tiện khác, ví dụ, một bức tường lửa, chỉ đặt một rào cản ở lối vào mạng cục bộ. Phần mềm chống vi-rút bắt được các dấu hiệu vi-rút đã biết, nhưng việc kiểm soát lưu lượng trong mạng cục bộ không được thực hiện theo bất kỳ cách nào và trong hầu hết các tổ chức, nó hoàn toàn không có.

Hãy tưởng tượng rằng một trong các máy trạm trong mạng cục bộ bị nhiễm một loại Trojan mới, chưa từng được biết đến trước đó. Trong trường hợp này, chương trình chống vi-rút sẽ không thể theo dõi và vô hiệu hóa nó, vì chữ ký tương ứng chỉ đơn giản là không có trong bộ nhớ của nó. Đồng thời, tất cả các Trojan đều nhằm mục đích thực hiện một nhiệm vụ - chặn thông tin bí mật và gửi nó cho tác giả virus, và việc gửi thông tin bí mật có thể đơn giản bị dừng bằng cách sử dụng IDS SNORT. Việc quét tài nguyên mạng để xác định điểm yếu của mạng cũng không bị chặn bởi phần mềm chống vi-rút hoặc tường lửa, mặc dù điều này rất quan trọng, vì việc trinh sát không bao giờ được thực hiện giống như vậy, nó thường được theo sau bởi một cuộc tấn công.

Cài đặt

Công nghệ IDS miễn phí, nhưng tương đối khó cài đặt và bảo trì, có thể bạn sẽ không thể chỉ cài đặt IDS SNORT (như cách chúng ta làm với tường lửa và chống vi-rút) và quên nó đi. Chương trình và bộ quy tắc khám phá cơ bản có thể tải xuống từ snort.org. Nếu bạn để tất cả các cài đặt hệ thống mặc định, bạn sẽ nhận được rất nhiều thông báo về các hoạt động tiềm ẩn không an toàn trên mạng cục bộ, thậm chí lệnh ping sẽ gây ra cảnh báo thích hợp. Sẽ mất thời gian để nghiên cứu hệ thống, hiểu cách thức hoạt động của các quy tắc khám phá và đưa ra các cài đặt phù hợp, nhưng điều này sẽ tránh được hàng trăm, thậm chí hàng nghìn thông báo thừa và khiến người quản trị hệ thống phải đau đầu.

IDS SNORT phải được đào tạo để chỉ ứng phó với một số mối đe dọa nhất định, chẳng hạn như hoạt động của máy quét mạng, nỗ lực chuyển các tệp nhất định ra bên ngoài mạng cục bộ của tổ chức và / hoặc truy cập trái phép vào các tài nguyên mạng đã chọn. IDS SNORT là một hệ thống có thể tùy chỉnh cao, cho phép bất kỳ người dùng nào đặt bộ lọc của riêng họ để có thể phản ứng với các mối đe dọa đáng kể hơn đối với một mạng nhất định và bỏ qua những mối đe dọa khác, ít liên quan hơn. Bộ quy tắc phát hiện cơ bản được cung cấp bởi nhà phát triển, các chữ ký bổ sung có thể được mua từ các công ty khác cung cấp hệ thống IDS dựa trên SNORT, từ lâu đã trở thành tiêu chuẩn công nghiệp trên thực tế trong lĩnh vực hệ thống phát hiện xâm nhập.

IDS chạy trên Linux, Windows, SunOS và các hệ điều hành khác.

Quản trị viên SNORT có thể chỉnh sửa các gói chữ ký, tùy chọn bật và tắt các quy tắc mong muốn hoặc viết chữ ký của riêng mình, điều này sẽ yêu cầu một số kỹ năng và kinh nghiệm, cũng như kiến ​​thức về cú pháp SNORT, tuy nhiên, điều này tương đối đơn giản.

Đừng quên rằng bảo vệ tuyệt đối không tồn tại, câu hỏi duy nhất là cài đặt chính xác của hệ thống IDS, sẽ cho phép bạn phản ứng đúng với các mối đe dọa hiện có và chưa biết trước đó. Các nhà phát triển phần mềm độc hại cũng không ngừng nghỉ trên vòng nguyệt quế của họ và không ngừng cải tiến các công cụ của họ, vì vậy bạn cần thường xuyên cập nhật chữ ký IDS.