ƯỜ Ẳ Ệ TR

Ề CHUYÊN NGÀNH: CÔNG NGH  M NG VÀ TRUY N THÔNG

NG CAO Đ NG CÔNG NGH  THÔNG TIN Ệ KHOA CÔNG NGH  THÔNG TIN Ệ Ạ ­­­­­­­­­­  ­­­­­­­­­­

Đ  TÀI:  NG D NG DDOS Đ  KHAI THÁC THÔNG TIN

Ỳ ƯƠ GVHD Ị : PHAN TH  QU NH H NG

Ơ Ị SVTH : TR NH VĂN S N

L PỚ : 14NTC

MSV : 141C920022

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Ờ Ả Ơ L I C M  N

ử ờ ả ơ ế ệ ầ ầ Đ u tiên em xin g i l i c m  n đ n quý th y cô khoa Công ngh  thông tin tr ườ   ng

ứ ệ ề ệ ế ẵ ạ ấ ẳ Cao đ ng công ngh  thông tin Đà n ng đã t o đi u ki n, cung c p ki n th c cho em

ự ậ ệ ề ủ ể ự đ  th c hi n đ  tài c a th c t p chuyên môn.

ệ ử ờ ả ơ ế ả ị ặ Đ c bi t em xin chân thành g i l ỳ   i c m  n  đ n gi ng viên Phan Th  Qu nh

ự ậ ươ ự ệ ậ ờ ướ ỉ ả ẫ ỡ H ng trong th i gian th c hi n th c t p đã t n tình h ng d n, giúp đ , ch  b o đ ể

ố ề em làm t t đ  tài.

Ngày          tháng         năm 2017

ự ệ    Sinh viên th c hi n

ị ơ     Tr nh Văn S n

Tr nh V n S n – 14NTC Trang: 2 ă ơ ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Ụ Ụ M C L C

Ữ Ế Ậ Ắ CÁC THU T NG  VI T T T

ệ ố ệ nh pậ IDS – Intrusion Detection System : H  th ng phát hi n xâm

NIDS: Network Intrusion Detection System.

HIDS: Host Intrusion Detection System.

DIDS: Distributed Intrusion Detection System.

ư ệ ở ứ ừ ượ ộ m c tr u t ng dành cho PHP ự và Python d a trên cùng ADOdb: là m t th  vi n

ệ ớ khái ni m v i ActiveX Data Objects c a ủ  Microsoft.

ừ ố ị v  ụ phân tán. DdoS – Distribute Denial of Service. T  ch i d ch

ạ ụ  b .ộ LAN – Local Area Network: m ng máy tính c c

ầ ả ộ ế ủ  IDS. Sensor: B  ph n c m bi n c a

ả IDS. Alert: C nh báo trong

ứ ề ể ề  v n.ậ TCP­Transmission Control Protocol : Giao th c đi u khi n truy n

ế ch m”.ậ Slow Scan: là  ti n  trình “quét

SSL – Secure Sockets Layer.

ứ ể ạ ế ậ ế ố ộ ạ t l p k t n i m ng m t cách b o ả  m t.ậ SSH­ Secure Shell:giao th c m ng đ  thi

IPSec: IP Security.

Tr nh V n S n – 14NTC Trang: 3 ă ơ ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ứ ạ ậ ị ủ v  ụ bên ngoài c a m t t ộ ổ DMZ – demilitarized zone : Vùng m ng v t lý ch a các d ch

ch c.ứ

ử tâm. CPU : Central Processing Unit­ Đ n ơ v  ị x  lý trung

ộ ệ ề tính. UNIX: Unix hay UNIX là m t h  đi u hành máy

ổ ứ ể ư ữ ệ ạ c ng đ  l u d  li u d ng web và có thể truy Host: Host là không gian trên

ậ ừ c p t xa.

Protocol: Giao th cứ

ộ ả ủ ộ i c a m t gói tin trên m ng.ạ Payload: Đ  t

Attacker: K  t nẻ ấ  công.

ườ ố ấ ố ng dây thuê bao s  b t đ i ADSL: Asymmetric Digital Subscriber Line – đ

x ng.ứ

ụ ộ ạ WLAN: Wireless Local Area – m ng c c b  không dây.

ệ ố ườ ử Iptables : H  th ng t ng l a trong linux.

ề ể ả ACID – Analysis Console for Intrusion Databases – B ng đi u khi n phân tích

ệ ố ệ ậ ữ ệ d  li u cho h  th ng phát hi n xâm nh p

ậ ộ BASE – Basic Analysis and Security Engine – B  ph n phân tích gói tin

ề ầ Software: Ph n m m

ệ ề OS : Operating System : h  đi u hành

ầ OSI : Open Systems Interconnection : mô hình 7 t ng OSI

Tr nh V n S n – 14NTC Trang: 4 ă ơ ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Ụ Ẽ DANH M C CÁC HÌNH V  TRONG BÁO CÁO

ệ ố ấ Hình 1.2.1 C u trúc h  th ng IDS

ữ ặ Hình 1.41. Đ t gi a Router và FIRewall.

ề ặ Hình 1.41. Đ t mi n DMZ

ặ Hình 1.41. Đ t gsau Firewall

ấ Hình 2.1.1 C u trúc Snort

ậ ậ ấ Hình 2.2.1 C u trúc t p lu t Snort

ặ Hình 3.1.2.1  Cài đ t Snort

ủ ạ Hình 3.1.2.2  Xem card m ng c a máy

ặ Hình 3.1.2.3  Cài đ t Snort trong Service

ậ Hình 3.1.2.1  B t Snort trong service

Trang: 5 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Ở Ầ M  Đ U

1.

ọ ề Lý do ch n đ  tài

ề ả ự ầ ở ổ Ngày nay internet tr  thành n n t ng chính cho s  trao đ i thông tin toàn c u. Có th ể

ặ ủ ờ ố ề ấ ộ th y rõ ràng là Internet đã và đang tác đ ng lên nhi u m t c a đ i s ng chúng ta t ừ ệ    vi c

ạ ộ ữ ệ ế ế ổ ươ ọ ậ ạ trao đ i thông tin, tìm ki m d  li u, đ n các ho t đ ng th ứ   ng m i, h c t p, nghiên c u

ề ớ ự ệ ế ả ấ ờ ị ổ   làm vi c tr c tuy n…Nh  đó mà kho ng cách đ a lý không còn là v n đ  l n,  trao đ i

ở ơ ờ ế ế ậ ứ ủ ệ ở thông tin tr  nên nhanh chóng h n bao gi h t, vi c ti p c n kho tri th c c a nhân tr  nên

ể ơ ợ ạ ấ ớ ễ d  dàng h n …Có th  nói l i ích mà nó mang l i r t l n.

ư ườ ự ặ ượ Nh ng trên môi tr ng thông tin này, ngoài các m t tích c c có đ ề   c, nó cũng ti m

ẩ ữ ự ặ ệ ề ả ị ấ ệ ế ấ n nh ng tiêu c c, đ c bi t là trong v n đ  b o v  thông tin. N u thông tin b  m t mát,

ẹ ề ặ ả ử ị ẻ ấ không còn nguyên v n khi truy n đi ho c gi ỉ ả   ắ  s  b  k  x u đánh c p thì nó không ch   nh

ưở ế ệ ả ưở ự ế ố h ng đ n cá nhân, doanh nghi p mà đôi khi còn  nh h ậ   ng đ n qu c gia, khu v c th m

ả ế ớ ữ chí là c  th  gi i n a .

ư ự ứ ữ ệ ặ ồ ớ ố ỉ Em th c hi n đ  án này v i mong mu n không ch  nghiên c u nh ng đ c  tr ng c ơ

ệ ậ ươ ậ ả ủ ệ ố b n c a h  th ng phát hi n xâm nh p trái phép v i ớ vai trò là ph ớ   ả ng pháp b o m t m i

ữ ươ ự ể ả ậ ượ ổ b  sung cho nh ng ph ng pháp b o m t hi n t ệ ạ mà còn có th  xây d ng đ i, ộ   c m t

ể ứ ụ ề ề ệ ầ ớ ự ễ ợ ph n m m IDS phù h p v i đi u ki n th c t ự ế và có th   ng d ng ằ   vào th c  ti n nh m

ả ự ệ ố ấ ượ ả đ m b o s  an toàn cho các h  th ng và ch t l ị ng d ch v  ụ cho ng iườ  dùng.

ụ ạ ỉ ừ ư IDS không ch  là công c  phân tích các gói tin trên m ng, t ế   ả  đó đ a ra c nh báo đ n

ữ ả ấ ị nhà qu n tr  mà nó còn cung c p nh ng thông tin sau:

(cid:0) Các s  ki n t n ự ệ ấ  công.

(cid:0) ươ Ph ng pháp t n ấ  công.

(cid:0) ồ Ngu n g c t n ố ấ  công.

Trang: 6 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) ấ D u hi u t n ệ ấ  công.

ạ ở ị ạ ả ọ Lo i thông tin này ngày càng tr ố    nên quan tr ng khi các nhà qu n tr  m ng mu n

ế ế ệ ươ ộ ổ ả ậ ợ ộ ứ thi ự t k  và th c hi n ch ng trình b o m t thích h p cho m t cho m t t ch c riêng

bi t.ệ

ể ề ể ấ ạ 2. Tìm hi u v  các ki u t n công m ng

ể ấ 2.1 T n công ki u thăm dò

Thăm  dò là việc thu  thập dữ liệu trái phép  về tài nguyên,  các lổ hỗng hoặc dịch

vụ  của  hệ  thống.  Các  cách  tấn  công  truy  cập  hay  DoS  thường  được  tiến  hành  bởi

kiểu tấn  công  thăm  dò  để  tìm  hiểu  sơ  lược  về  những  thông  tin  bảo  mật  của một  tổ

chức, doanh  nghiệp  hay công  ty nào  đó.  Kẻ tấn  công  sử d nụ g  k  tỹ huật này để  khám

phá  h  ệ thống  mục  tiêu  đang  chạy  trên  hệ  điều  hành  nào,  các  dịch  vụ  và  các  c nổ g

nào  đang được  mở,  đ aị   chỉ  IP,  kiến  trúc  hệ  thống  mạng...nhằm  đưa  ra  những  hình

thức  thâm nhập  hợp  lý.  Thăm  dò  và  thu  thập  thông  tin  còn  là  cách  duy nhất  để  biết

được  các  kiểu kết  nối,  như  Internet,  Intranet,  Wireless…  và  các  cấu  trúc  hệ  thống

đang  được  mục tiêu sử dụng.

ể ấ ậ 2.2 T n công ki u truy c p

Tấn công truy cập là kiểu tấn công mà các hacker lợi d nụ g các lỗ h nỗ g bảo mật

và các  lỗi  cấu hình  hệ  th nố g để lấy quyền  xâm  nhập  trái phép  vào  hệ  th nố g  và thay

đổi cấu trúc thông tin của mục tiêu.

Kẻ tấn công thường tìm kiếm quyền truy cập bằng cách chạy một đoạn mã, các

công  cụ  hack  hay  khai  thác  một  số  điểm  yếu  của  ứng  d nụ g  hoặc  một  dịch  vụ

đang chạy trên máy chủ. Sau khi có quyền truy cập, kẻ tấn công sẽ tìm cách nâng cao

đặc quyền  của  mình,  cài  đặt  các  phần  mềm  backdoor,  trojan  để  chiếm  quyền  truy

cập ở mức độ quản  trị (superuser,  admin,  root). Khi đã nắm  toàn quyền,  kẻ tấn công

có th  ể điều  khiển  hệ  thống  mạng  mục  tiêu  để  thực  hiện  các  mục  đích  của  mình,

Trang: 7 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

như  một  bước  đệm  để  tấn  công  lên  các  hệ  th nố g  máy  chủ  mẹ,  hay  sử  dụng  hệ

thống mục tiêu như một agent để tấn công DoS vào các hệ thống khác.

ể ừ ố ị ụ ấ

2.3 T n công ki u t

ch i d ch v  DoS

Tấn  công  từ  chối dịch  vụ  chỉ  là tên  gọi  chung  của  cách  tấn  công  làm  một hệ

thống bị quá tải không thể cung cấp dịch vụ, hoặc phải ngưng hoạt động.

Tấn  công  DoS nói  chung  không nguy hiểm như  các kiểu tấn  công  khác ở ch  ỗ nó

không cho phép kẻ tấn công chiếm quyền truy cập hệ thống hay có quyền  thay đổi hệ

th nố g.  Tuy nhiên,  nếu một máy chủ  tồn  tại mà không  thể cung  cấp  thông tin, dịch vụ

cho  người  sử  d nụ g,  sự  tồn  tại  là  không  có  ý  nghĩa  nên  thiệt  hại  do  các  cuộc  tấn

công  DoS do  máy chủ  bị đình  trệ hoạt  động  là  vô  cùng  lớn,  đặc biệt  là  các  hệ  thống

phục vụ các giao dịch điện tử.

ả ấ ụ

2.3.1 M c đích c  t n công DoS

Chiếm  băng  thông  mạng  và  làm  hệ  thống  mạng  bị  ngập  (flood),  khi  đó  hệ

thống mạng  sẽ  không  có  kh  ả năng đáp  ứng nh nữ g  dịch  vụ  khác  cho  người dùng bình

thường.

Làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào dịch v .ụ

ủ ấ ụ

2.3.2 M c tiêu c a t n công DoS

Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên

Băng  thông  của  hệ  thống  mạng(Network  Bandwidth),  bộ  nhớ,  ổ  đĩa,  và  CPU

Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS.

Phá hoại hoặc thay đổi các thông tin cấu hình.

2.4

ọ ả ố ậ Các m i đe d a b o m t

Chính  vì  một  hệ  th nố g  thông  tin  luôn  bị  đe  doạ  tấn  công  bởi  các  hacker  nên

việc  xây dựng  một  hệ  th nố g  bảo  vệ  xâm  nhập  là  rất  cần  thiết  đối  với  mỗi  một  tổ

Trang: 8 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

chức. Các  hình thức tấn  công của hacker ngày càng tinh  vi, chau  chuốt hơn, cũng như

mức  độ  tấn  công  ngày  càng  kh nủ g  khiếp  hơn,  nên  không  một  hệ  thống  nào  có  thể

đảm bảo hoàn  toàn  không bị xâm  nhập.  Nếu  các  tổ chức  antivirut  đang  cố  gắng  cập

nhập,  sửa đổi  để  cung  cấp  cho  người  dùng  những  phương  pháp  phòng  chống  hiệu

quả  thì bên cạnh  đó,  những  kẻ  tấn  công  cũng  ngày đêm  nghiên  cứu  tung  ra  các  hình

thức  xâm nhập, phá hoại khác.

Để bảo vệ tốt được một hệ thống, đầu tiên bạn phải có cái nhìn t nổ g quát về các

nguy cơ tấn  công, nghĩa  là đầu  tiên bạn phải nhận định được bạn cần bảo vệ cái gì,

và bảo  vệ  khỏi  ai,  cũng  như  phải  hiểu  các  kiểu  đe  dọa  đến  sự  bảo  mật  mạng  của

bạn.

Thông thường sẽ có 4 mối đe dọa bảo mật sau:

(cid:0) Mối đe dọa ở bên trong

(cid:0) Mối đe dọa ở bên ngoài

(cid:0) Mối đe dọa không có cấu trúc và có cấu trúc

ọ ố

2.i.1.2.4.1 M i đe d a bên trong

Mối đe doạ bên trong là kiểu tấn công được thực hiện  từ một cá nhân hoặc một

tổ  chức  được  tin  cậy  trong  mạng  và  có  một  vài  quyền  hạn  để  truy  cập  vào  hệ

thống.  Hầu  hết  chúng  ta  chỉ  quan  tâm  xây  dựng  một  thống  firewall  và  giám  sát  dữ

liệu  truy cập ở các đường biên mạng mà ít để ý đến  các truy cập  trong mạng nội bộ

do  sự  tin  tưởng  vào  các  chính  sách  và  ACL  được  người  quan  trị  quy  định  trong  hệ

thống.  Do  s ự bảo  mật  trong  một  mạng  local  thường  rất  l nỏ g  lẻo  nên  đây  là  môi

trường thường được các hacker sử dụng để tấn công hệ thống.

Trang: 9 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Mối  đe doạ  bên  trong  thường  được  thực hiện  bởi  các nhân  viên  do  có  bất đồng

với công ty, các gián điệp kinh tế hay do một vào máy client đã bị hacker chiếm quyền

truy cập. Mối đe doạ này thường ít được để ý và phòng ch nố g vì các nhân viên có thể

truy cập vào mạng và dữ liệu quan trọng của server.

ọ ừ ố 2.4.2 M i đe d a t bên ngoài

Mối  đe  doạ  bên  ngoài  là  việc  các  hacker  cố  gắng  xâm  nhập  vào  một  hệ  thống

mạng nào đó bằng một vài kỹ thuật (thăm dò, truy cập…) hay việc phá hoại truy cập

hệ th nố g (DoS,  DDoS…).  Xây dựng hệ thống firewall  và cảnh báo để ngăn ngừa các

mối đe doạ từ bên ngoài là việc mà các công ty và tổ chức thường phải bỏ nhiều thời

gian và tiền bạc để đầu tư phát triển.

ọ ố ấ ấ

2.4.3 M i đe d a có c u trúc và không c u trúc

Mối  đe doạ  tấn  công vào  một hệ  th nố g  có  thể  đến  từ  rất nhiều  loại. Phỗ biến

nhất là các hacker mới vào nghề, còn ít kiến thức và không có kinh nghiệm, thực hiện

việc  tấn  công  bằng  cách  sử  dụng  các  công  cụ  hoặc  thực  hiện  tấn  công  DoS  (mối

đe doạ  không  có  cấu  trúc).

Hoặc  việc  tấn  công  được  thực  hiện  bởi  các  hacker  thực  th  ụ hoặc  c  ả một  tổ

chức  (mối đe doạ  có  cấu  trúc), họ  là nh nữ g  người  có  kiến  thức và  kinh nghiệm  cao,

nắm rõ việc hoạt động của các hệ thống, giao thức mạng cũng như các phương pháp

thường  được  sử  d nụ g  để  ngăn  chặn  trong  các  firewall.  Đây là  mối  đe  do  ạ khó  ngăn

ngừa và phòng chống nhất đối với các hệ thống mạng.

ƯƠ Ổ CH NG 1. T NG QUAN IDS

Hệ  th nố g  phát  hiện  xâm  nhập  –  IDS(Intrusion  Detection  System)  là  một  hệ

thống có nhiệm vụ giám sát các lu nồ g dữ liệu traffic đang lưu thông trên mạng, có khả

năng  phát hiện  những  hành  đ nộ g  khả nghi,  những  xâm  nhập  trái phép  cũng  như  khai

Trang: 10 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

thác  bất  hợp  pháp  nguồn  tài  nguyên  của  hệ  thống  mà  từ  đó  có  thể  dẫn  đến  xâm

hại tính toàn ổn định,tòan vẹn và sẵn sàng của hệ thống.

IDS  có  thể  phân  biệt  được  những  cuộc  tấn  công  xuất  phát  từ  bên  ngoài  hay từ

chính  bên  trong  hệ  thống  bằng  cách  dựa  vào  một  database  dấu  hiệu  đặc  biệt  về

những cuộc  tấn  công  (smurf  attack,  buffer  overflow,  packet  sniffers….).  Khi  một  hệ

thống  IDS  có  khả  năng  ngăn  chặn  các  cuộc  tấn  thì  nó  được  gọi  là  hệ  th nố g  ngăn

chặn  xâm nhập – IPS (Intrusion Prevention System).

Có  rất  nhiều  công  cụ  IDS,  trong  đó  Snort  được  sử  d nụ g  rất  nhiều  vì  khả  năng

tương thích có thể hỗ  trợ cài đặt trên cả hai môi trường  Window  và Linux. Khi Snort

phát  hiện  những  dấu  hiệu  của  một  cuộc  tấn  công,  tùy thuộc  vào  cấu  hình  và những

qui  tắc  do  người  quản  trị  qui  định  (Snort  Rule)  mà  Snort  có  thể  đưa  ra  những  hành

động khác  nhau,  như  gửi  cảnh  báo  đến  người  quản  trị  hay  ghi  log  file,loại  bỏ  các

gói  tin xâm nhập hệ thống….

1.1

ệ ậ Phát hi n xâm nh p

Phát hiện  xâm nhập là một tập hợp các kỹ thuật và phương pháp được  sử dụng

để phát hiện những hành vi đáng ngờ ở cấp độ mạng và máy chủ. Hệ thống phát hiện

xâm nhập có hai loại c  ơ bản: phát hiện xâm nhập dựa trên dấu hiệu signature và phát

hiện sự bất thường.

1.1.1 Phát hiện dựa trên dấu hiệu (signature)

Phương  pháp  này  nhận  dạng  cuộc  tấn  công  bằng  cách  cách  so  sánh  dấu  hiệu

nhận được với một tập hợp các dấu hiệu đã biết trước được xác định  là sự tấn công.

Phương  pháp  này có hiệu quả  với nh nữ g dấu hiệu  đã biết trước, như  virus máy tính,

có thể được phát hiện  bằng  `cách  sử dụng phần mềm để tìm  các  gói dữ  liệu  có  liên

quan đến  sự  xâm  nhập  trong  các  giao  thức  Internet.  Dựa  trên  một  tập  hợp  các  dấu

hiệu  và các  quy tắc,  hệ thống phát  hiện  xâm  nhập  có  thể tìm  thấy và  ghi  log  lại  các

hoạt  động  đáng  ngờ  và  tạo  ra  các  cảnh  báo.  Tuy  nhiên  phương  pháp  này  hầu  như

Trang: 11 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

không  có  tác d nụ g  với những  cuộc  tấn  công  mới,  quy mô  phức  tạp,  sử  dụng  các  kỹ

thuật lẩn  tránh (evation technique)… do chưa có được thông tin về cuộc tấn công.

ệ ự ấ ườ

1.1.2 Phát hi n s  b t th

ng

Phương  pháp  này  thiết  lập  và  ghi  nhận  trạng  thái  hoạt  đ nộ g  ổn  định  của  hệ

thống,  sau đó  so  sánh  với  trạng  thái đang  hoạt  đ nộ g hiện  hành  để kiểm  tra sự chênh

lệch.  Khi  nhận  ra  sự  khác  biệt  lớn  trong  hệ  thống  thì  có  khả  năng  đã  xảy  ra  một

cuộc tấn công, Ví dụ như sự tăng đột biến các traffic truy cập vào một website…. Phát

hiện xâm  nhập  dựa  trên  sự  bất  thường  thường  phụ  thuộc  vào  các  gói  tin  hiện  diện

trong phần  tiêu đề giao  thức. Trong một số  trường hợp các phương pháp này cho  kết

quả  tốt  hơn  so  với  IDS  dựa  trên  signature.  Thông  thường  một  hệ  thống  phát  hiện

xâm  nhập thu thập dữ liệu từ mạng và áp dụng luật của nó với dữ liệu đ  ể phát hiện

bất thường trong đó. Snort là một IDS chủ yếu  dựa trên các luật lệ, và những plug­in

hiện nay đ  ể phát hiện bất thường trong tiêu đề giao thức.

Quá trình phát hiện có thể được mô tả bởi 3 yếu tố cơ bản nền tảng sau:

(cid:0) Thu thập thông tin (information source): Kiểm tra các gói tin trên mạng.

(cid:0) Sự  phân  tích  (Analysis):  Phân  tích  các gói tin đã  thu  thập để nhận biết  hành

động nào là tấn công.

ự ấ ả ả ượ

(cid:0) C nh báo (response): hành đ ng c nh báo cho s  t n công đ ộ

c phân tích ở

trên.

Snort sử dụng các quy tắc được lưu trữ trong các tập tin văn bản có thể sửa đổi.

Nội quy được nhóm  lại trong các  chuyên  mục và được lưu  trữ trong các tập  tin  riêng

biệt.  Những  tập  tin  này sau  đó được tập hợp trong  một  tập  tin  cấu hình  chính  gọi là

snort.conf.  Snort  đọc những quy định  này trong  thời  gian  khởi  động  và  xây dựng  cấu

trúc  dữ  liệu  nội  bộ  hoặc  dây  chuyền  để  áp  d nụ g  những  quy  tắc  này  capture  dữ

liệu. Tìm  và sử lý dấu hiệu  theo  các luật là một việc khó khăn vì việc xử  lý yêu  cầu

phải capture  và  phân  tích  dữ  liệu  trong  một  thời  gian.  Snort  đi  kèm  với  một  tập  hợp

Trang: 12 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

phong phú của các tiền quy tắc xác định để phát hiện hoạt đ nộ g xâm nhập, bạn  cũng

có  thể  t ự thêm  hoặc  loại  bỏ  các  quy  tắc  tùy  thuộc  vào  mục  đích  cảnh  báo  của  hệ

thống.

ệ ố ấ

1.2 C u trúc h  th ng IDS

ệ ố ấ Hình 1.2.1 C u trúc h  th ng IDS

ầ ơ ả Các thành ph n c  b n

Sensor/Agent:  Giám  sát  và phân  tích  các  hoạt đ ngộ .  “Sensor”  thường  được dùng

cho dạng Network­base IDS/IPS trong khi “Agent” thường được dùng cho  dạng  Host­

base  IDS/IPS.  Sensor/Agent  là  các  bộ  cảm  biến  được  đặt  trong  hệ  th nố g  nhằm

phát  hiện  những  xâm  nhập  hoặc  các  dấu  hiệu  bất thường trên toàn mạng.

Trang: 13 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

Management  Server:  Là  thiết  bị  trung  tâm  dùng  thu  nhận  các  thông  tin  từ

Sensor/Agent  và quản lý chúng, management  server thường là các máy trạm trọng một

hệ thông. Một số Management Server có thể thực hiện việc phân tích  các thông  tin sự

và nhận dạng được các sự kiện này trong khi các Sensor/Agent đơn lẻ không thể nhận

diện.

Database     server:    Dùng    lưu    tr ữ   các    thông    tin    t ừ   Sensor/Agent     hay

Management Server

Console:  Là  chương  trình  cung  cấp  giao  diện  có  thể  cài  đăt  trên  một  máy tính

bình  thường  dùng  để  phục  vụ  cho  tác  vụ  quản  tr ,ị   hoặc  để  giám  sát, phân tích.

1.3 Phân lo i IDS

Các hệ thống IDS được chia thành 2 loại sau:

Host­based  IDS  (HIDS):  Sử  d nụ g dữ  liệu  kiểm  tra  trên  một  hoặc  vài máy

đơn để phát hiện xâm nhập.

Network­based  IDS  (NIDS):  Sử  d nụ g  dữ  liệu  trên  toàn  bộ  lưu  thông  mạng, cùng

với dữ liệu  kiểm  tra từ cá  bộ  cảm  biến  và  một  vài máy trạm  để phát hiện xâm nhập.

1.3.1 Hệ thống phát hiện xâm nhập Host­Based (HIDS)

Host­base  IDS  (HIDS)  kiểm  tra  sự  xâm  nhập  bằng  cách  quan  sát  và  phân  tích

các thông tin ở mức độ host hay hệ điều hành trên những giao diện của hệ thống, như

những  cuộc  gọi  (system  call),  bản  ghi  (audit  log),  hay  nh nữ g  thông  điệp  lỗi  (error

message)…Một  hệ  th nố g  phát  hiện  xâm  nhập  host­base  có  thể  kiểm  tra  các  file  hệ

thống và những file log ứng dụng để phát hiện dấu hiệu hoạt động của kẻ xâm nhập

nhằm  bảo vệ những tài nguyên  đặc biệt của hệ thống bao gồm những tập tin mà chỉ

có thể tồn tại trên mỗi host.

Trang: 14 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Nhiệm  vụ  của HIDS  là  đưa  ra  phản  ứng,  nghĩa  là  nó  sẽ  gửi  các  thông  báo  đến

người  quản  trị  khi  phát  hiện  những  sự  kiện  xảy  ra  trong  thời  gian  thực.  Khác  với

NIDS hoạt động cùng với các bộ cảm biến sensor có nhiệm  vụ giám sát và ngăn chặn

các  cuộc  tấn  công  trên  một  network  segment  hay  trên  toàn  hệ  th nố g  mạng,  HIDS

thường  được  cài đặt  và  giám  sát  các hoạt động  trên  mỗi máy tính  độc  lập  nên  nó  có

thể  xác  định  xem  một  cuộc  tấn  công  có  thành  công  hay  không  dựa  vào  những  ảnh

hưởng  trên  hệ  thống.  HIDS  thường  được  đặt  trên  các  host  xung  yếu  của  hệ  thống,

và  các  server  trong  vùng  DMZ  –  thường  là  mục  tiêu  bị  các  hacker  tấn  công  đầu

tiên.  Nhiêm  vụ  chính  của  HIDS  là  giám  sát  các  thay  đổi  trên  hệ  thống,  bao  gồm

(không phải tất cả):

(cid:0) Các tiến trình.

(cid:0) Các entry c a Registry.

ứ ộ ử ụ

(cid:0) M c đ  s  d ng CPU.

ệ ố ẹ ể ậ

(cid:0) Ki m tra tính toàn v n và truy c p trên h  th ng file.

ộ ố ố ượ ộ ưỡ

(cid:0) M t vài thông s  khác. Các thông s  này khi v

t qua m t ng ị ng đ nh

trước hoặc những thay đổi khả nghi trên hệ thống file sẽ gây ra báo động.

HIDS  có  một  vai  trò  quan  tr nọ g  trong  hệ  th nố g  bởi  vì  không  phải  tất  cả  các

cuộc  tấn  công  đều  được  thực  hiện  qua  mạng.  Ví  dụ  như  bằng  cách  giành  quyền

truy cập  ở mức vật  lý (physical  access)  vào một hệ th nố g  máy tính, kẻ xâm nhập  có

thể  tấn công  một  hệ thống hay dữ  liệu  mà  không  cần  phải  tạo  ra bất  cứ  lưu  lượng

mạng (network traffic) nào cả, do đó đối với các hệ th nố g sử dụng NIDS sẽ không thể

phát hiện  ra  các  tấn  công này.  Một  ưu  điểm  khác  của  HIDS  là nó  có  thể  ngăn  chặn

các kiểu tấn  công  dùng  sự  phân  mảnh  hoặc  TTL,  vì  một  host  phải  nhận  và  tái  hợp

các  phân mảnh khi xử lí lưu lượng nên IDS dựa trên host có thể giám sát chuyện này.

ế ủ ợ L i th  c a H­IDS:

(cid:0) ả ị ườ ớ Có kh  năng xác đ nh ng i dùng liên quan t ộ ự ệ i m t s  ki n.

Trang: 15 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) ộ ấ ễ ệ ả ộ HIDS có kh  năng phát hi n các cu c t n công di n ra trên m t máy.

(cid:0) ữ ệ ể Có th  phân tích các d  li u mã hoá.

(cid:0) ấ ộ ấ Cung c p các thông tin v  ề host trong lúc cu c t n công di n ễ  ra

ạ ế ủ H n ch  c a H­IDS:

(cid:0) ừ ự ấ Thông tin t ậ  HIDS là không đáng tin c y ngay khi s  t n công vào host

này thành công.

(cid:0) ệ ề ị ạ ồ ờ ấ Khi h  đi u hành b  "h " do t n công, đ ng th i HIDS cũng b ị "h ".ạ

(cid:0) ả ượ ế ậ ừ ầ HIDS ph i đ c thi t l p trên t ng host c n giám sát .

(cid:0) ệ HIDS   không   có  kh  ả năng   phát   hi n   các   cu c ộ dò  quét   m ngạ

(Nmap, Netcat…)

(cid:0) ể ầ HIDS c n tài nguyên trên host đ  ho t ạ  đ ng.ộ

(cid:0) ể ệ ả HIDS có th  không hi u qu  khi b ị DOS.

(cid:0) ệ ề ạ ố ố ạ   Đa s  ch y trên h  đi u hành Window. Tuy nhiên cũng đã có 1 s  ch y

ượ ệ ề ữ đ c trên UNIX và nh ng h  đi u hành khác.

ệ ố ệ ậ

1.3.2 H  th ng phát hi n xâm nh p Network­Based ( NIDS)

Network­based  IDS  (NIDS)  kiểm  tra  sự  xâm  nhập  bằng  cách  sử  d nụ g  các  bộ  dò

tìm  và các bộ  cảm  biến  (sensor)  cài đặt trên  toàn mạng để giám sát hoạt động  của hệ

thống.  Những  bộ  cảm  biến  thu  nhận  và  phân  tích  lưu  lượng  cũng  như  kiểm  tra  các

header  của  tất  cả  các  gói  tin  trong  thời  gian  thực,  sau  đó  so  sánh  các  kết  quả  nhận

được  với một database  các mô  tả  sơ  lược  được  định  nghĩa hay là  những  dấu hiệu  để

nhận định có xảy ra một cuộc tấn công hay không. Khi ghi nhận được một sự kiện bất

Trang: 16 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

thường, bộ cảm biến sẽ gửi tín hiệu cảnh báo đến trạm quản trị và thực hiện vài hành

đ nộ g dựa vào các rule đã được cấu hình trước.

NIDS  thường  được  đặt  ở  những  vị  trí  trọng  yếu  như  nh nữ g  network  interface

kết  nối  hệ  thống  giữa  mạng  bên  trong  và  mạng  bên  ngoài  để  giám  sát  toàn  bộ  lưu

lượng  vào  ra, do  đó  nó  có  thể giám  sát  toàn  bộ  các  traffic  lưu  thông  trên  mạng.  Việc

giám  sát dựa  vào  các  bộ  cảm  biến  sensor  và  các  trạm  nên  hệ  th nố g  không  cần  phải

nạp các  phần  mềm  và  quản  lý  trên  mỗi  máy  trong  mạng.  NIDS  phát  hiện  các  tấn

công ngay khi xảy ra, vì thế việc cảnh báo và đối phó có thể được thực hiện một cách

nhanh chóng.  Tuy nhiên  NIDS  sẽ  gặp  khó  khăn  trong  việc  xử  lý  toàn  bộ  các  gói  tin

trên  một mạng  có  mật  độ  traffic  cao,  dẫn  đến  việc  bỏ  sót  một  số  gói  tin  có  thể  là

nguyên  nhân gây nên các lỗ hỗng cho các cuộc tấn công vào hệ thống. HIDS và NIDS

có những ưu và khuyết điểm riêng trong việc giám sát và đưa ra các  cảnh  báo,  tùy  vào

từng  mô  hình  mà  mỗi  người  quản  trị  sẽ  lựa  chọn  cho  mình những  chính  sách  xây

dựng  các  IDS  phù  hợp  cho  từng  hệ  thống  mạng.  Trong  thực  tế, NIDS  thường  được

sử  dụng  tại  biên  mạng  nhằm  phát  hiện  các  dấu  hiệu  tấn  công  và hạn  chế  các  tấn

công  này  ở  mức  network.  Đối  với  nh nữ g  máy  chủ  hoặc  máy  client quan  trọng,  việc

bổ sung  HIDS cho các máy này là cần  thiết để  tăng cường  khả năng bảo mật khi kết

hợp với các hệ NIDS trong cùng hệ thống.

ợ ế ủ L i th  c a N­IDS

(cid:0) ả ượ ả ộ ề ồ Qu n lý đ c c  m t network segment (g m nhi u host).

(cid:0) ả ả ả ưở ơ Cài đ t ặ và b o trì đ n gi n, không  nh h ng t iớ  m ng.ạ

(cid:0) ả ưở ớ ộ Tránh DOS  nh h ng t i m t host nào đó.

(cid:0) ả ị ỗ ở ầ Có kh  năng xác đ nh l t ng Network (trong i mô hình OSI).

(cid:0) ộ ậ Đ c l p v i ớ  OS.

ạ ế ủ H n ch  c a N­IDS

Trang: 17 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) ườ ợ ể ả Có th  x y ra tr ng h p báo đ ng ộ  gi .ả

(cid:0) ể Không th  phân tích các gói tin đã đ ượ mã hóa (vd: SSL, SSH, IPSec…) c

(cid:0) ả ượ ỏ ấ ể ự ự ậ ậ ớ NIDS đòi h i ph i đ c c p nh t các signature m i nh t đ  th c s  an

toàn.

(cid:0) ộ ễ ữ ị ấ ể ể ờ ớ ộ ờ Có đ  tr  gi a th i đi m b  t n công v i th i đi m phát báo đ ng. Khi

ượ ệ ố ể ộ báo đ ng đ c phát ra, h  th ng có th  đã b  t n ị ổ  h i.ạ

(cid:0) ế ệ ấ Không cho bi t vi c t n công có thành công hay không.

ữ ượ ặ ị 1.4 Nh ng v  trí IDS nên đ c đ t trong Network Topology

Tùy thuộc  vào  cấu  trúc  liên  kết mạng  của  bạn,  bạn  có  thể muốn  đặt hệ  thống

phát  hiện  xâm  nhập  tại  một  hoặc  nhiều  đ aị   điểm.  Nó  cũng  phụ  thuộc  vào  loại

hoạt  đ nộ g  xâm  nhập  bạn  muốn  phát  hiện:  bên  trong,  bên  ngoài  hoặc  c  ả hai.  Ví  dụ,

nếu  bạn  chỉ  muốn  phát  hiện  hoạt  động  xâm  nhập  bên  ngoài,  và  bạn  chỉ  có  một

router  kết  nối với  Internet,  nơi  tốt  nhất  cho  một  hệ  thống  phát  hiện  xâm  nhập  có

thể  được  là  bên trong  các  bộ  định  tuyến  hay  tường  lửa.  Nếu  bạn  có  nhiều  đường

vào  Internet,  bạn  có thể muốn  đặt IDS ở mỗi điểm  ra vào.  Tuy nhiên  nếu bạn  muốn

phát hiện một cách  tốt nhất các mối đe dọa trong một mạng nội bộ, bạn có thể muốn

đặt một IDS trong mỗi phân đoạn mạng.

Trong  nhiều  trường  hợp  bạn  không  cần  phải  có  các  hoạt  đ nộ g  phát  hiện  xâm

nhập  trong  tất  cả  các phân  đoạn  mạng  và bạn  có  thể  muốn  hạn  chế  nó  chỉ đến  các

khu vực  mạng  nhạy cảm.  Lưu  ý  rằng  việc  triển  khai  hệ  thống  phát  hiện  xâm  nhập

nhiều hơn có nghĩa là làm việc nhiều hơn và chi phí bảo  trì hơn. Quyết định  của bạn

thực s  ự phụ  thuộc  vào  chính  sách  bảo  mật  của bạn,  trong  đó  xác  định  những  gì  bạn

thực s  ự muốn bảo vệ từ tin tặc.

Trang: 18 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ữ ặ Hình 1.41. Đ t gi a Router và FIRewall.

Trang: 19 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ề ặ Hình 1.4.2 Đ t trong mi n DMZ

ặ Hình 1.4.3 Đ t sau Firewall

Trang: 20 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ƯƠ CH NG 2      SNORT IDS

.1

Khái quát

Snort  được  phát  triển  năm  1998  bởi  Sourcefire  và  CTO  Martin  Roesch,  là  1

phần  mềm  miễn  phí mã nguồn mở có  khả năng  phát hiện  và phòng chống xâm nhập

trái phép vào hệ thống mạng có khả năng phân tích thời gian thực lưu lượng mạng, và

ghi  log  gói  tin  trên  nền  mạng  IP.  Ban  đầu  được  gọi  công  nghệ  phát  hiện  và  phòng

chống xâm nhập hạng nhẹ, Snort đã dần phát triển và trở thành tiêu chuẩn trong việc

phát hiện và phòng chống xâm nhập.

Snort  thực  hiện  việc  tìm  kiếm  và  phân  tích  nội  dung  các  giao  thức  của  các

traffic lưu thông trên mạng, từ đó có thể phát hiện ra các kiểu thăm dò và tấn công như

buffer  overflow,  stealth ports scanning….Các  thông tin  thu  thập sẽ được ghi log lại và

cảnh báo đến console của người quản trị trong thời gian thực.

Snort  có  thể  thực  hiện  phân  tích  giao  thức  và  tìm  kiếm  nội  dung,  từ  đó  có  thể

phát  hiện  rất  nhiều  kiểu  thăm  dò  và  tấn  công  như  buffer­overflow,  stealth  ports

scanning,..v.v.  Để  có  thể  làm  được  điều  này,  Snort  dùng  1  loại  ngôn  ngữ  mô  tả  các

quy  tắc  giao  thông  mạng  mà  nó  sẽ  thu  thập  hoặc  bỏ  qua,  cũng  như  sử  dụng  cơ

ch  ế phát  hiện  xâm  nhập  theo  kiến  trúc modular  plug­ins.  Nó  cũng  có  khả năng  cảnh

báo  tức  thời,  kết  hợp  với  các  cơ  chế  cảnh  báo  syslog,  tập  tin  người  dùng  chỉ  định,

Unix socket hoặc Winpopup message.

Trang: 21 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

ấ Hình 2.1.1 C u trúc Snort

Snort có thể sử dụng với một số cơ chế:

(cid:0) Sniffer  mode:  là  chế  độ  cho  phép  bạn  có  thể  theo  dõi  và  đọc  các  luồng

dữliệu ra vào hệ thống mạng được hiển thị trên màn hình điều khiển.

(cid:0) Logger mode: cho phép ghi các logs dữ liệu vào đĩa lưu trữ.

(cid:0) Network  Intrusion  Detection  System  (NIDS)  mode:  là  cơ  chế  được  cấu  hình

phức  tạp  nhất,  cho  phép  Snort  phân  tích  các  lu nồ g  dữ  liệu,  trong  đó  kiểm

soát  cho  (hay  không)  cho  phép  các  dữ  liệu  ra  vào  hệ  thống  mạng  dựa  vào

các  bộ  qui  tắc  được  định  nghĩa  bởi  người  quản  tr ,ị   đ nồ g  thời  thực  hiện

một vài hành động dựa vào những gì mà Snort nhìn thấy.

Trang: 22 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) Inline  mode:  các  gói  tin  thu  từ  iptables  thay vì  libpcap,  sau  đó  iptables  thực

hiện hành  động hủy hay cho phép  các gói tin đi qua dựa trên những qui tắc

được qui định và sử d nụ g bởi Snort.

.2

ầ ủ Các thành ph n c a Snort

ậ ấ ậ Hình 2.2.1 C u trúc t p lu t Snort

Snort bao  gồm  nhiều  thành  phần.  Mỗi phần  có một chức năng  riêng biệt nhưng

làm  việc  cùng  nhau  để  góp  phần  đưa  ra  các  nhận  định  giúp  phát  hiện  các  cuộc  tấn

công  cụ  thể  và  tạo  ra  output  theo  một  định  dạng  cần  thiết  từ  hệ  thống.  Một  IDS

dựa trên Snort bao gồm các thành phần chính sau đây:

(cid:0) Module giải mã gói tin (Packet Decoder)

Trang: 23 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) Module tiền xử lý (Preprocessors)

(cid:0) Module phát hiện (Detection Engine)

(cid:0) Module log và cảnh báo (Logging and Alerting System)

(cid:0) Module xuất thông tin (Output Module)

.2.1  Module gi

i mã

Module  giải mã  lấy các  gói dữ  liệu  từ  các  giao  diện  mạng  khác  nhau  và  chuẩn

bị cho  việc các  gói  tin  sẽ được  xử  lý  trước  khi được  gửi đến module  phát hiện.  Các

giao diện có thể là Ethernet, SLIP, PPP….

ề ử

.2.2  Module ti n x  lý

Module tiền xử lý là nh nữ g thành phần được s  ử dụng với Snort để sắp xếp hoặc

sửa  đổi  các  gói  dữ  liệu  trước  khi  module  phát  hiện  kiểm  tra  xem  gói  tin  đã  được  xử

d nụ g bởi kẻ xâm nhập hay không. Module tiền  xử lý là phần rất quan  trọng trong IDS

để  chuẩn  bị  các  gói  dữ  liệu  cho  việc  phân  tích  dựa  vào  các  luật  trong  module  phát

hiện. Hacker sử dụng các kỹ thuật khác nhau để đánh lừa IDS bằng nhiều cách. Ví dụ,

bạn  có  thể  đã  tạo  ra một  quy tắc  để  tìm  một  chuỗi  ký  tự  "scripts/iisadmin"  trong  gói

HTTP. Nếu bạn đang kết hợp chuỗi này chính xác, bạn có thể dễ dàng bị lừa bởi một

hacker khi đã làm thay đổi chút ít các chuỗi này:

"scripts/./iisadmin"

"scripts/examples/../iisadmin"

"scripts\iisadmin"

"scripts/.\iisadmin"

Module tiền xử lý còn được dùng để chống phân mảnh  gói tin. Khi một khối dữ

liệu  lớn  được  chuyển  tới  một  host,  gói  tin  thường  bị  phân  mảnh.  Ví  dụ,  chiều  dài

tối đa mặc định  của bất  kỳ gói dữ  liệu  trên  một  mạng  Ethernet  thường  là 1500 byte.

Giá trị này được qui định bởi giá trị MTU (Maximum  Transfer Unit) cho mỗi giao diện

mạng.  Điều  này  có  nghĩa  rằng  nếu  bạn  gửi  dữ  liệu  hơn  1500  byte,  nó  sẽ  được

Trang: 24 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

chia thành nhiều  gói dữ liệu sao cho mỗi mảnh gói tin nhỏ hơn hoặc bằng 1500  byte.

Các hệ thống tiếp nhận có khả năng ghép các đơn vị này để hình thành các gói dữ liệu

gốc. Trên IDS, trước khi bạn có thể áp dụng bất kỳ quy tắc nào hoặc cố gắng tìm một

chuỗi ký  tự, bạn  cần phải tập hợp  lại các gói tin. Ví dụ, một nửa số  ký  tự có thể có

mặt  trong  một  gói  và  một  nửa  khác  trong  gói  khác.  Để  phát  hiện  các  ký  tự  đúng,

bạn  phải  kết hợp  tất cả các  gói tin  lại.  Lợi dụng  yếu  tố phân  mảnh  của  các gói  tin,

hacker có th  ể đ  ể đánh bại các hệ thống phát hiện xâm nhập.

.2.3 Module phát hi nệ

Đây là  phần  quan  trọng  nhất  của  Snort.  Nó  ch uị   trách  nhiệm  phát  hiện  các  dấu

hiệu  xâm  nhập  vào  hệ  thống.  Module  phát  hiện  sử  d nụ g  các  luật  được  định  nghĩa

trước để so  sánh  với dữ  liệu  thu  thập  được  từ  đó  xác định  xem  có  xâm  nhập  xảy ra

hay không. Nếu một gói tin phù hợp với bất kì luật nào, một hành động tương ứng sẽ

được thực  hiện  như  ghi  log,  tạo  ra  các  cảnh  báo,đưa  ra  các  thông  tin…  hoặc  gói  tin

sẽ b  ị hủy.

Một  vấn  đề  rất  quan  tr nọ g  trong  module  phát  hiện  là  thời  gian  thực  thi,xử  lý

các  gói  tin.  Tùy  thuộc  vào  hệ  thống  của  bạn  mạnh  như  thế  nào  mà  sẽ  tốn  những

khoảng thời gian khác nhau để xử lý, vì một IDS thường nhận được rất nhiều gói tin,

tương  nứ g với việc cũng  có  rất nhiều  các luật được thực thi.  Nếu lưu lượng cần xử

lý trên mạng là quá lớn khi Snort đang hoạt đ nộ g trong chế độ NIDS, bạn  có thể mất

một vài  gói tin  hoặc  thời  gian  đáp  ứng không  chính  xác.  Kh  ả năng  xử  lý  của  module

phát hiện phụ thuộc vào các yếu tố sau:

(cid:0) Số lượng các luật

(cid:0) Sức mạnh của hệ thống máy mà Snort đang chạy

(cid:0) Tốc độ của bus hệ thống

(cid:0) Lưu lượng trên mạng

Trang: 25 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

Khi xây dựng một hệ  th nố g phát hiện xâm nhập, bạn  phải lưu ý tất cả các  yếu

tố này để hệ th nố g có thể hoạt đ nộ g hiệu quả. Lưu ý là module phát hiện có thể phân

tích các gói tin và áp dụng các luật đối với các phần khác nhau của một gói tin. Đó là:

(cid:0) IP header của gói tin

(cid:0) Header  của lớp  vận chuyển,  bao gồm  TCP,  UDP…Nó  cũng có thể làm  việc

trên header ICMP

(cid:0) Header của lớp ứng dụng như header của DNS, FTP, SNMP hay SMTP…

(cid:0) Tải  trọng  của  gói:  Điều  này  có  nghĩa  bạn  có  thể  tạo  ra  các  luật  sử

dụng module phát hiện để tìm  kiếm  một chuỗi nằm trong dữ  liệu  của một

gói tin.

.2.4 Module ghi và c nh báo

Tùy  thuộc  việc  module  phát  hiện  có  nhận  dạng  được  xâm  nhập  hay  không  mà

một  gói  tin  có  thể được  ghi  log hay đưa  ra một  cảnh  báo.  Các  file log được  lưu  dưới

các  định  dạng  đơn  giản  như  tcpdump  hoặc  một  vài  dạng  khác,  tất  cả  được  lưu  trữ

trong  folder  mặc  định  /var/log/snort.  Bạn  có  thể  sử  dụng  tùy  chọn  –l  trong

commandline để thay đổi vị trí tạo ra các log file và cảnh báo.

.2.5 Module output

Module  đầu  ra  có  thể  hoạt  động  theo  nhiều  cách  phụ  thuộc  vào  việc  muốn  lưu

các kết quả được tạo ra bằng module ghi và cảnh báo như thế nào. Tùy theo việc cấu

hình hệ thống mà nó có thể thực hiện các công việc như là:

(cid:0) Ghi log file vào thư mục mặc định /var/log/snort/alerts hoặc một nơi khác.

(cid:0) Gửi các cảnh báo SNMP.

(cid:0) Gửi thông tin tới syslog.

(cid:0) Đăng nhập vào một cơ sở dữ liệu như MySQL hoặc Oracle.

(cid:0) Tạo ra các output XML.

Trang: 26 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) Cấu hình lại Router, firewall.

(cid:0) Gửi   các   thông   điệp   Server   Message   Block   (SMB)   tới   các   máy   tính

Windows.

Module Mô Giải mã

Chuẩn bị các gói dữ liệu cho việc xử lý. Bình  thường  hóa  header  các  giao  thức,  phát  hiện  dấu  Áp d nụ g bộ luật cho các gói tin.

Phát hiện Log và cảnh báo Tạo cảnh báo và các thông tin log. Output Xử lý cảnh báo, log và đưa ra kết quả output cuối cùng.

Bảng 1 Bảng tóm tắt các module của Snort

2.3

ế ộ ạ ộ ủ Các ch  đ  ho t đ ng c a Snort

2.3.1 Sniffer Mode

Đây  là  một  tính  năng  cơ  bản  dễ  dàng  sử  dụng  nhưng  rất  hiệu  quả  trong  việc

giám  sát các luồng dữ  liệu đang  lưu  thông trên hệ thống. Nó có  khả năng  tạo  ra một

bảng  tóm  tắt  về  các  traffic  trên  mạng  sau  khi  capture  các  gói  tin,  từ  đó  giúp  người

quản  trị có  cái nhìn tổng quan  v  ề hệ thống. Nếu bạn chỉ quan  tâm đến  thông tin của

những gói tin TCP/IP packet headers, hãy bắt đầu với khóa ­v:

(cid:0) ./snort –v

Lệnh này sẽ chạy Snort và chỉ hiển thị đ aị  chỉ IP và các TCP/UDP/ICMP headers,

ngoài  ra  không  có  gì  khác.  Nếu  bạn  muốn  theo  dõi  các  dữ  liệu  application đang vận

chuyển, hãy thêm khóa ­d như sau:

(cid:0) ./snort –vd

Chỉ  thị  Snort  trên  sẽ  hiển  thị  các  gói  dữ  liệu  cũng  như  các  header.  Nếu  bạn

muốn  hiển  thị  mô  tả  chi  tiết  hơn,  như  việc  hiển  thị  cả  header  lớp  liên  kết  dữ  liệu,

hãy sử dụng thêm khóa ­e:

Trang: 27 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) ./snort –vde

Các chuỗi thập lục phân hiển th  ị nhiều dữ liệu hơn, như đ aị  chỉ MAC và đ aị  chỉ

IP. Khi thực hiện  kiểm  tra trên một mạng hoặc  capture dữ  liệu bằng Snort,  việc bật

– vde cung  cấp  nhiều  thông  tin  nhất.  Để  lưu  lại trong  logfile  thay vì  xuất  ra  console,

s  ử d nụ g:

(cid:0) ./snort ­dve > ttooip.log

Ngoài  ra,  do  một  số  thiết  bị  chuyển  mạch  có  thể  chia  ra  hay  gộp  chung  các

khóa trong một dòng lệnh,ta cũng có thể nhập ra như:

(cid:0) ./snort ­d ­v –e

Khoá

Mô tả Đưa  ra  packet  headers  trong  phần  Hiển th  ị packet payload Hiển thị ARP packets Hiển th  ị dữ liệu lớp data link ­v ­d ­a ­e

Bảng 2 – Một vài khóa trong mode sniffer của Snort

2.3.2 Packet Logger Mode

Nếu  bạn  muốn  ghi  lại  các  gói  dữ  liệu  vào  đĩa,  bạn  cần  phải  chỉ  định  một  thư

mục log và thêm khóa –l, Snort sẽ tự động biết để đi vào chế độ packet logger:

(cid:0) ./snort ­dev ­l file./log

Tất nhiên, điều này giả định bạn có một thư mục với tên log trong thư mục hiện

hành.  Thư  mục  mặc  định  trong  Snort  là  /var/log/snort.  Khi  Snort  chạy  trong  chế  độ

này,  nó thu thập  tất cả các gói nó  thấy và đặt nó vào một thư mục hệ thống phân  cấp

dựa trên đ aị  ch  IPỉ của một trong những máy chủ trong các gói dữ liệu.  Nói cách khác,

một  thư  mục mới được  tạo  ra  cho mỗi  đ aị   chỉ được  capture  và dữ  liệu  liên  quan đến

đ aị   chỉ này được  lưu  trong  thư mục đó.  Snort  lưu  các gói  tin  thành  các  file  ASCII,  với

tên file được tạo ra từ tên giao thức và số của cổng kết nối.

Trang: 28 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Nếu bạn ch  ỉ định một chuyển đổi đ nồ g bằng ­l, bạn có thể nhận thấy rằng Snort

đôi khi sử d nụ g đ aị  chỉ của các máy tính từ xa như các thư mục trong đó nó đặt gói và

đôi khi nó sử dụng địa chỉ host nội bộ. Để thiết lập Snort cho các mạng gia đình, bạn

cần chỉ định cho Snort biết mạng cần đi đến là các mạng gia đình:

(cid:0) ./snort ­dev ­l file./log ­h 192.168.1.0/24

Quy luật  này cho  Snort  biết  bạn  muốn  in  ra  các  liên  kết  dữ  liệu  và  các  TCP/IP

header  cũng  như  dữ  liệu  ứng  dụng  vào  thư  mục./log,  và  bạn  muốn  log  các  gói  liên

quan  đến  mạng  lớp  C 192.168.1.0.  Tất  cả  các  gói  tin  đến  sẽ được  ghi  vào  thư  mục

con của thư mục log, với các tên thư mục được dựa trên địa chỉ của các máy chủ từ xa.

2.3.3 Network Intrusion Detection System Mode

Kích hoạt hệ thống phát hiện xâm nhập mạng (NIDS) để bạn không phải ghi lại

tất cả gói đơn lẻ được gửi xuống bằng lệnh:

(cid:0) ./snort ­d ­h 192.168.1.0/24 ­l file./log ­c snort.conf

snort.conf là tên của tập tin nơi mà bạn qui định các luật của snort, tập tin này nằm

trong  /etc.  Tất  cả  các  luật  được qui  định  trong  file  snort.conf  sẽ được  áp  đặt  cho mỗi

gói  tin  để  quyết  định  một  hành  đ nộ g  sẽ  được  thực  hiện  hay  không  dựa  trên  các loại

quy tắc này. Nếu bạn không chỉ định một thư mục output cho chương trình, nó s  ẽ mặc

định là /var/log/snort.

Lệnh  này  sẽ  cấu  hình  Snort  để  chạy  theo  hình  thức  NIDS  cơ  bản  nhất,  ghi  lại

các  log  dữ  liệu  dựa  theo  các  luật  trong  snort.conf  theo  định  dạng  plain  ASCII  vào  đĩa

lưu  trữ bằng  cách  sử dụng  một  cấu  trúc th  ư mục phân  cấp (giống  như  ch  ế độ packet

logger).

2.3.3.1 NIDS Mode Output Options

Có một số  cách  để cấu hình đầu  ra output  của Snort  ở  chế độ  NIDS.  Mặc định

log sẽ được ghi theo định dạng ASCII  và được đặt trong cơ chế cảnh báo  toàn phần.

Trang: 29 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Cơ  chế  cảnh  báo  toàn  phần  sẽ  hiển  thị  thông  điệp  cảnh  báo  cùng  với  toàn  bộ  các

packet headers. Ngoài ra còn có các cơ ch  ế cảnh báo bằng việc thực thi các dòng lệnh

cũng như việc log các dữ liệu.

Cơ  chế  cảnh  báo  của  Snort  khá  phức  tạp  với  bảy  chế  độ  hoạt  đ nộ g  theo  các

dòng  lệnh,đó  là:  full,  fast,  socket,  syslog,  console,  cmg,  và none.  Sáu  trong  số  các  chế

độ này thực hiện với khóa –A tại dòng lệnh.

Option

Tắt chế độ cảnh báo.

Tạo một cảnh báo “cmg style”. Description Đưa  ra  một  thông  điệp  cảnh  báo  với  định  dạng  đơn  giản  trong  ­a fast Đưa  ra  một  cảnh  báo  đầy  đủ.  Đây  là  chế  độ  mặc  định  nếu  bạn  ­a full ­a unsock Gửi  một  thông  báo  đến  một  socket  UNIX  rằng  có  một  chương  ­a none ­a console Gửi một cảnh báo “fast­style” ra màn hình console. ­a cmg

Bảng 3 – Các tùy chọn của Snort ở chết độ NIDS

Các  gói  tin  có  thể  được  lưu  lại  với  định  dạng  ASCII  hoặc  định  dạng  mã

nh  ị phân  bằng  khóa  –b  tại  dòng  lệnh  command  line.  Để  vô  hiệu  hóa  toàn  bộ  các

gói tin log, hãy sử d nụ g khóa –N.

Để gửi cảnh báo đến syslog,  sử dụng khóa ­s. Cơ chế mặc định  của syslog  là

LOG_AUTHPRIV  và  LOG_ALERT.  Nếu  bạn  muốn  cấu  hình  cơ  chế  khác  cho

syslog output,  hãy sử  d nụ g  những  chỉ  thị output plugin  trong  file  snort rules.  Ví dụ,

sử  dụng dòng  lệnh  sau  đây để  log  các  file  theo  chế độ  mặc  định  (giải  mã  ASCII)

và gửi thông báo đến syslog:

(cid:0) ./snort ­c snort.conf ­l./log ­h 192.168.1.0/24 –s

.3.3.2 Understanding Standard Alert Output

Khi  Snort  tạo  ra một thông điệp  cảnh  báo, nó  thường  dựa  vào  cấu  trúc  giống

như sau:

(cid:0) [**] [116:56:1] (snort_decoder): T/TCP phát hiện [**]

Trang: 30 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Thông  số  đầu  tiên  (116)  là  Generator  ID,  điều  này  cho  phép  user  biết  được

những thành phần trong một thông điệp Snort. Các thông số GIDs được trình bày ở

etc/generators trong source Snort.

Thông  số  thứ hai  (56)  là  ID  Snort  (đôi  khi được  gọi  là Signature  ID).  Đối  với

một  danh  sách  các  SID  tiền  xử  lý,  xin  vui  lòng  xem  etc/gen­msg.map.  Quy  tắc

dựa trên  SID  được  viết  trực  tiếp  vào  các  quy định  với  tùy chọn  sid.  Trong  trường

hợp này,

56 đại diện cho một T/TCP sự kiện.

Thông  số thứ ba (1) là số revision  ID. Con số này chủ  yếu được sử d nụ g viết

ra  các  signatures,  với  mỗi  hành  động  thực  thi  của  các  quy  t cắ ,  nên  tăng  con  số

này đ  ể phân biệt các tùy chọn rev.

.3.4

Inline Mode

Inline  Mode  là một nhánh  cơ  chế hoạt động  của  Snort. Phiên  bản  Snort  2.3.0

RC1  tích  hợp  các  hệ  th nố g  phòng  chống  xâm  nhập  (IPS)  của  Snort  Inline  vào  hệ

thống chính của Snort. Snort Inline kết hợp khả năng ngăn chặn của iptables vào bên

trong Snort,  sau  đó đưa  ra những bổ  sung và thay đổi trong bộ  qui tắc luật  Snort để

giúp iptables đưa ra những đ nộ g cho phép hay hủy một gói tin.

Có ba loại quy tắc có thể sử d nụ g khi chạy Snort với Snort Inline:

(cid:0) DROP  –  Hành  động  DROP  yêu  cầu  iptables  loại  bỏ  gói  tin  và  ghi  lại  thông

tin như hành động LOG thông thường.

(cid:0) REJECT  –  Hành  động  REJECT  yêu  cầu  iptables  từ  chối  gói  tin,  ghi  lại

thông  tin  log  và  gửi một  yêu  cầu  TCP  reset nếu  giao  thức  TCP  hoặc  gói  tin

ICMP  không thể truy cập được port hoặc nếu giao  thức là UDP,  có nghĩa là

iptables sẽ loại bỏ và gửi lại một thông báo cho nguồn gửi gói tin đó.

Trang: 31 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) SDROP  –  Hành  động  SDROP  cũng  tương  tự  hành  đ nộ g  DROP,  điều  khác

biệt là ở chỗ Snort sẽ không ghi lại bất kì thông tin gì như hành động LOG.

Snort Inline Rule Application Order:

Trong các phiên bản gốc, trình tự ưu tiên của các hành động trong Snort là:

(cid:0) activation(cid:224) dynamic(cid:224) drop  (cid:224) sdrop (cid:224) reject (cid:224) alert (cid:224) pass (cid:224) log

Trong inline­mode, trình tự ưu tiên này được thay đổi như sau:

(cid:0) activation (cid:224) dynamic (cid:224) pass (cid:224) drop (cid:224) sdrop (cid:224) reject (cid:224) alert (cid:224) log

Điều  này sẽ đảm  bảo  rằng một hành  động drop  sẽ được ưu tiên hơn một cảnh

báo alert hoặc hành đ nộ g log.

Cài đặt Snort Inline

Để cài đặt Snort Inline, sử d nụ g lệnh sau đây:

(cid:0) ./configure ­­enable­inline

(cid:0) make

(cid:0) make install

Chạy Snort Inline

Trước tiên, bạn cần đảm bảo rằng các module ip queue đã được tải. Sau đó, bạn

cần gửi lưu lượng truy cập để Snort Inline sử d nụ g các hàng đợi đối tượng. Ví dụ:

(cid:0) iptables ­A OUTPUT ­p tcp ­­dport 80 ­j QUEUE

Gửi tất cả lưu  lượng TCP ra khỏi firewall đến c nổ g 80 với hàng đợi đối tượng.

Đây là  những  gì  sẽ  gửi  gói tin  từ  hạt  nhân  kernel  tới  không  gian  người  dùng  (Snort

Inline). Cuối cùng, để bắt đầu Snort Inline:

(cid:0) snort_inline ­QDc../etc/drop.conf ­l /var/log/snort

Bạn có thể sử dụng tùy chọn dòng lệnh sau đây:

Trang: 32 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

(cid:0) ­Q lấy các gói tin từ iptables.

(cid:0) ­D  Chạy Snort  Inline  ở chế  độ nền.  Các  mã  số  tiến  trình  (process  ID) được

lưu ở /var/run/snort.pid

 ­c Đọc các tập tin cấu hình.

 l Ghi log vào thư mục.

Tốt  nhất  Snort  Inline  nên  được  chạy  bằng  cách  sử  d nụ g  cấu  hình  drop.rules

riêng của mình. Nếu bạn muốn sử d nụ g Snort để chỉ cảnh báo, một quá trình riêng biệt

nên được chạy với bộ quy tắc riêng của mình.

Trang: 33 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ƯƠ Ặ Ấ Ể CH NG 3     CÀI Đ T  C U HÌNH  SNORT VÀ   TRI N KHAI DEMO

1.1

Cài đ t ặ

ị .1.1 Chu n bẩ

ướ ề ầ ầ ế ệ ặ ộ ố D i   đây   là   các   gói   ph n   m m   c n   thi t   khi   cài   đ t   m t   h   th ng   Snort   trên

Windows Server 2003.

(cid:0) Snort:

ố ệ ậ ệ   H th ng   phát hi n   xâm   nh p. Download t ạ i ị     đ a

chỉ https://snort.org/downloads

(cid:0) WinPcap: H  th ng cho phép b t các gói tin và phân tích m ng. Download t

ệ ố ắ ạ ạ   i

ị đ a ch : ỉ  http://www.winpcap.org/install/default.htm

(cid:0) Snort

ẫ Rules: ộ   B ậ lu t ủ   m u   c a   Snort. Download t ạ i ị     đ a

ch :ỉ  https://snort.org/downloads/#rule­downloads

.1.2

ế ặ Ti n  hành cài đ t

ệ ố ể ả Em tri n khai h  th ng trên Win  o v i ớ  VMware Workstation, mô hình  Demo có 3

máy:

(cid:0) Máy Windows Server 2003 đ

ượ ặ ệ ố c cài đ t h  th ng Snort

(cid:0) Máy Windows XP v i vai trò là client.

(cid:0) Máy Unbuntu 14.04 v i vai trò client.

(cid:0) Card m ng c a VMware

ủ ạ ủ ở ế ộ ị ỉ c a 3máy ch  ch  VNet8 (NAT), đ a ch  IP đ ượ   c

ượ ế ố ấ c p phát tĩnh  và đ c k t n i Internet.

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

ầ ượ Vào th  m c ư ụ  Temp ngoài Desktop, double click vào file WinPcap v4.1.2 và l n l ự   t th c

hi nệ  Next ­> Next ­> I Agree ­> Install ­> Finish.

ướ ấ ặ B c 2: Cài đ t và c u hình Snort

Trang: 34 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

(cid:0) T i th  m c

ạ ư ụ  Temp ngoài Desktop, double click vào file Snort_2_9_7_2_Installer

ầ ượ ể ự ặ  đ  cài đ t. L n l t th c hi n ệ  I Agree ­> Next ­> Next ­> Next ­> Close ­>

OK.

(cid:0) Gi

ả ấ ả ộ i nén file snortrules­snapshot­CURRENT.tar  và copy t t c  n i dung trong

ư ụ ể ặ đó vào th  m c cài đ t Snort: C:\Snort, ch n ọ  Yes to All đ  copy đè.

(cid:0) Truy c p vào th  m c là C:\Snort\etc\ và m  file

ư ụ ậ ở ằ  snort.conf  b ng Notepad++

(cid:0) Th c hi n tìm ki m và thay đ i nh ng n i dung sau:

ự ữ ệ ế ộ ổ

# Setup the network addresses you are protecting

ipvar HOME_NET 192.168.1.0/24

# Set up the external network addresses. Leave as "any" in most situations

ipvar EXTERNAL_NET !$HOME_NET

# Note for Windows users:  You are advised to make this an absolute path,

# such as:  c:\snort\rules

var RULE_PATH C:\Snort\rules

var SO_RULE_PATH C:\Snort\so_rules

var PREPROC_RULE_PATH C:\Snort\preproc_rules

# If you are using reputation preprocessor set these

var WHITE_LIST_PATH C:\Snort\rules

var BLACK_LIST_PATH C:\Snort\rules

Trang: 35 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

# path to dynamic preprocessor libraries

dynamicpreprocessor directory C:\Snort\lib\snort_dynamicpreprocessor

# path to base preprocessor engine

dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll

# path to dynamic rules libraries

# dynamicdetection directory /usr/local/lib/snort_dynamicrules

# Reputation preprocessor. For more information see README.reputation

preprocessor reputation: \

memcap 500, \

priority whitelist, \

nested_ip inner, \

whitelist $WHITE_LIST_PATH\white.list, \

blacklist $BLACK_LIST_PATH\black.list

# metadata reference data.  do not modify these lines

include classification.config

include reference.config

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

(cid:0) ở ủ ổ M  c a s  DOS và gõ l nh ệ  cd c:\snort\bin

Trang: 36 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

(cid:0) Ch y   l nh   đ

ệ ạ ể ể ki m   tra   đ ộ ổ ị n   đ nh: snort   ­l   c:\snort\log   ­c

c:\snort\etc\snort.conf ­A console

ặ Hình 3.1.2.1  Cài đ t Snort

ạ ộ ư ậ ẵ ấ ướ Nh  v y chúng ta đã c u hình xong Snort. Snort đã s ng sàng ho t đ ng d i các

ế ộ ch  đ  khác nhau.

ướ ử ụ B c 4: S  d ng Snort

(cid:0) Ch  đ  Sniffer Paket:

ế ộ ể ế ạ ầ ọ ể Đ  ti n hành sniffer, chúng ta c n ch n card m ng đ

ủ ạ ử ụ ế ộ ế ề ặ Snort đ t vào ch  đ  promicous, n u máy tính c a b n s  d ng nhi u card thì

ử ụ ố ệ ể ạ hãy s  d ng l nh ệ  snort ­W đ  xem s  hi u card m ng

Trang: 37 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

ủ ạ Hình 3.1.2.2  Xem card m ng c a máy

Ở ệ ạ ố ờ ế đây   s   hi u   card   m ng   là   1.   Bây   gi chúng   ta   ti n   hành   sniffer   paket   dùng

ố ệ ạ ạ ớ l nh:ệ ế    snort ­dev ­ix (v i x là s  hi u card m ng). Trong quá trình ch y snort, chúng ta ti n

ừ hành ping t client sang server.

ế ộ ữ ệ ể ư ể Ch  đ  Packet Log: ằ    Chúng ta có th  l u các gói d  li u vào file log đ  xem b ng

ẽ l nh:ệ ữ ệ ạ ầ   i t ng ệ  snort ­dev ­i1 ­l c:\snort\log (dòng l nh s  ghi log các thông tin d  li u t

Datalink và TCP/IP)

ệ ọ Ờ Đ c file log dùng l nh: snort ­dvr c:\snort\log\snort.log.NHÃN TH I GIAN

ướ ặ B c 5: Cài đ t Snort trong Service

ắ ệ ạ ấ T i   d u   nh t   l nh   gõ: snort   /SERVICE   /INSTALL   ­c   c:\snort\etc\snort.conf ­l

c:\snort\log ­K ascii ­i1

Trang: 38 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ặ Hình 3.1.2.3  Cài đ t Snort trong Service

ạ ở ộ Kh i đ ng l i Windows Server

ở ộ ạ ể ể ượ Sau khi kh i đ ng l i Windows, vào Service đ  ki m tra Snort đ c start thành công

hay ch aư

ậ Hình 3.1.2.1  B t Snort trong service

Trang: 39 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

ư ậ ấ ặ Nh  v y là ta đã cài đ t và  c u hình xong  Snort trên Win server 2003

.2 Tri n khai Demo

ấ ỉ ị C u hình đ a ch  IP tĩnh cho :

Winserver 2003 : IP add: 192.168.1.12/24

Win XP: IP add: 192.168.1.10/24

Ubuntu: IP add: 192.168.1.11/24

ạ ậ ả 3.2.1 T o lu t c nh báo Ping

ụ ư ở ệ ậ Vào   th   m c   C:\Snort\rules,   m   file finger.rules, thêm   lu t   phát   hi n   máy

ư ế khácpingđ nnh sau:

alert icmp any any ­> $HOME_NET any (msg: “Co may dang ping”; sid: 140791;)

ự ừ Th c hi n l nh ế  máy win Xp đ n Server 2003 ệ ệ  ping 192.168.1.12  t

ả ở ế ở ư ụ ư K t qu file log máy Server trong th  m c C:\Snort\log nh  sau:

.2.2

ậ ả ớ ạ ướ ớ T o lu t c nh báo PING v i kích th t l n

Thêm ệ l nh vào file icmp.rules

alert icmp $HOME_NET any ­> any any (msg: “Size ping lon”; dsize: >50; sid: 2;)

ạ ệ ở ư T o l nh ping máy Client nh  sau: ping ­l 1000 ­f google.com ­t

ạ Start l i Snort

ả ở ế K t qu file log

.2.3

ế ậ ả ậ Thi t l p c nh báo truy c p Web

ư ụ ạ ể ế ộ Trong th  m c  C:\Snort\rules ta t o file youtube.com đ  bi t m t máy nào trong

ạ m ng truy ậ c p   vào ớ  website youtube.com v i ộ   n i dung file:

Trang: 40 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

alert   tcp   any   any   ­>   any   any   (content:   “www.youtube.com”;   msg:   “Ban   moi   truy

cap youtube.com”; sid: 100000; rev: 1;)

Trong file snort.conf, thêm dòng: include $RULE_PATH/youtube.rules

ạ Start l i Snort

ạ ậ T i máy Client truy c p vào website youtube.com

ế ở ả K t qu  file log máy Server

.2.4

ậ ả ủ ạ ậ T o lu t c nh báo xâm nh p Web máy ch  server 2003

(cid:0) alert tcp any any ­> 192.168.1.12/24 any (msg: "Phat hien xam nhap web may

chu"; sid: 11597530;)

ư ụ ể ế ạ ộ

(cid:0) Trong th  m c C:/Snor/rules/finger.rules đ  bi

t m t máy nào trong m ng truy

ớ ộ ậ c p vào website  Server v i n i dung file:

(cid:0) tcp any any ­> 192.168.1.12/24 any (msg: "Phat hien xam nhap web may chu";

sid: 11597530;)

ệ ạ ậ

(cid:0) T i máy Client truy c p trình duy t web gõ: 192.168.1.12

ế ở

(cid:0) K t qu  file log  ả

máy Server

Trang: 41 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

Ổ Ế T NG K T

ệ ố ệ ệ ậ ọ H  th ng phát hi n xâm nh p (IDS) đóng vai trò quan tr ng trong vi c giám sát

ậ ệ ố ườ ộ ạ ả b o m t h  th ng m ng. IDS giúp con ng ơ ấ   i khám phá, phân tích m t nguy c  t n

ừ ớ ườ ạ ươ ố Ở ộ công m i. T  nó ng i ta v ch ra ph ng án phòng ch ng. ộ  m t góc đ  nào đó, có

ể ầ ượ ộ ấ ộ ổ ứ ớ ủ ể ạ th  l n tìm đ ộ c th  ph m gây ra m t cu c t n công. M t t ch c l n không th  nào

ế thi u IDS.

1. ề ạ ượ ữ ấ Nh ng v n đ  đ t đ c

ắ ắ ượ ơ ế ủ ệ ố ạ ộ ệ ậ

(cid:0) N m b t đ

c c  ch  ho t đ ng c a h  th ng phát hi n xâm nh p IDS.

ộ ệ ố ụ ệ ậ ạ ấ ặ

(cid:0) Cài đ t và c u hình m t h  th ng phát hi n xâm nh p trên m ng c c b  d a ộ ự

ở ồ trên mã ngu n m  Snort, iptables, squid proxy.

Trang: 42 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

ể ượ ứ ấ ơ ả ạ

(cid:0) Hi u đ

c các cách th c t n công m ng c  b n.

ể ọ ượ ả

(cid:0) Đ c hi u, phân tích đ

c các c nh báo trong Snort thông qua các rules và log.

.

ề ư ạ ượ ữ ấ Nh ng v n đ  ch a đ t đ c

(cid:0) V nấ   đề  về  t nấ   công  r tấ   r ngộ   l n,ớ   hi nệ   nh ngữ   cách  th cứ   t nấ   công  m iớ

ở ngày càng tr  nên tinh vi và ph c t p ứ ạ  h n.ơ

ố ớ ề ệ ẩ ấ ả

(cid:0) Đ i v i Snort, hi n có r t nhi u s n ph m đi

ấ   ạ ộ kèm ho t đ ng r t

ư hay nh : Snort_inline, Fsnort(Firewall Snort),… ch aư  đ cượ  áp d ngụ

tri tệ  đ .ể

ậ ủ ậ ượ ể ầ

(cid:0) T p lu t c a Snort ngày càng đ

c phát tri n nên c n ph i c p ả ậ  nh t.ậ

ư ế ợ ầ

(cid:0) Ch a k t h p ph n m m Mod Security đ  b o  ề

ể ả v  ệ Web server.

.

ề H ng ộ ướ m  ở r ng đ  tài

ố ớ ậ ấ ạ ạ ự ơ ế ư Đ i v i m ng không dây, c u trúc v t lý mang l ề   i s  an toàn nh ng c  ch  truy n

ạ ạ ữ ỗ ổ ậ ả ậ ữ tin không dây gi a các node m ng l i kéo theo nh ng l ầ    h ng b o m t, do v y luôn c n

ứ ữ ả ườ ự ph i ch ng th c gi a các ng i dùng trong m ng.ạ

ệ ủ ề ạ ệ Cách làm vi c c a IDS trong m ng WLAN có nhi u khác bi ớ t so v i môi tr ườ   ng

ề ạ ố ườ ề ạ ả m ng LAN truy n th ng. Trong môi tr ố   ng m ng có dây ta có toàn quy n qu n lý đ i

ạ ư ượ ượ ề ẫ ớ v i các lo i l u l ng đ c truy n trên dây d n. Trong WLAN, không khí là môi tr ườ   ng

ề ẫ ấ ả ọ ườ ủ ầ ố ủ ẩ truy n d n, t t c  m i ng i trong ph m ề   ạ vi ph  sóng c a t n s  theo chu n 802.11 đ u

ự ể ả ả ậ ạ ầ có th  truy c p vào m ng. Do đó c n ph i có s  giám sát c  bên trong và  bên ngoài

ạ m ng WLAN.

ộ ệ ữ ể ầ ạ M t khác bi t n a là wireless IDS c n cho m ng máy tính đã tri n khai WLAN và

ữ ư ể ơ ị ấ ả ừ ạ ả c  nh ng n i ch a tri n khai WLAN. Lý do là dù kh  năng b  t n công t m ng WLAN

ự ự ự ư ư ạ ộ ọ ọ ố vào m ng LAN ch a rõ ràng nh ng đó là m t m i đe d a th c s . S  đe d a này đ ượ   c

ự ự ử ụ ộ ổ ứ ư ế ỉ coi là ch  liên quan đ n ai s  d ng WLAN nh ng s  th c thì toàn b  t ạ  ch c m ng LAN

ư ượ ể ắ ư ể ắ ạ ề đ u nên giám sát l u l ạ ỏ ự   ng l u chuy n trong m ng WLAN đ  ch c ch n lo i b  s  đe

Trang: 43 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

ả ể ế ộ ọ ừ d a t ề  không gian xung quanh. M t đi u luôn ph i đ  tâm đ n là các AP gi ạ  ả m o b t ấ kể

ạ ạ ta đang dùng m ng không dây hay m ng LAN truy n ề  th ng.ố

Ụ Ụ PH  L C

ệ ả Tài li u tham kh o

Trang: 44 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ệ ể ậ ớ

­ [1] Intrusion Detection Systems with Snort: Advanced IDS Techniques

Using Snort, Apache, MySQL, PHP, and ACID – By Rafeeq Ur Rehman –

May 08, 2003 – 0­13­140733­3.

­ [2] Snort 2.1 Intrusion Detection Second Edition – Featuring Jay Beale

and Snort Development Team Andrew R. Baker, Brian Caswell, Mike Poor –

Copyright 2004 by Syngress Publishing – ISBN: 1­931836­04­3.

­ [3] Snort User Manual 2.8.5 Martin Roesch Chris Green, October 22,

2009 Sourcefire, Inc.

­ [4] Syngress – Intrusion.Prevention.and.Active.Response.(2005)

­ [5]   Guide   to   Intrusion   Detection   and   Prevention   Systems

Recommendations  of the  National Institute  of Standards and Technology –

Karen Scarfone Peter Mell

­ [6] Managing Security with Snort and IDS Tools – O’Reilly­By Kerry

J. Cox, Christopher Gerg

­ [7] Snort cookbook – O’Reilly By Kerry J. Cox, Christopher Gerg

­ [8] Snort IDS and IPS Toolkit­Featuring Jay Beale and Members of the

Snort Team­Andrew R. Baker –Joel Esler

­ [9] ModSecurity Handbookby Ivan Ristiæ Copyright © 2009, 2010 Ivan

Ristiæ

ễ ấ ặ ồ ­ [10] Cài đ t và c u hình Iptables ­ Nguy n H ng Thái

­ [11]   Firewalls,   Nat   &   Accounting   Linux   iptables   Pocket   Reference­

O'REILLY GREGOR N. PURDY.

­ [12] Linux Firewalls ­ Attack Detection and Response with iptables,

psad, and fwsnort­MICHAEL RASH.

Trang: 45 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

Các trang web:

ệ ướ Vi t Nam N c ngoài:

http://www.hvaonline.net http://www.google.co.uk

http://nhatnghe.com/forum http://www.snort.org

http://quantrimang.com.vn http://www.openmaniak.com/inline.php

http://forum.saobacdau­acad.vn http://sectools.org/

http://forum.t3h.vn http://linux.org/

http://ipmac.vn/forum http://ibm.com

http://vnexperts.net http://support.microsoft.com

http://kmasecurity.net http://www.winids.com

ơ ả ủ ấ C u hình các Rules c  b n c a Snort .

ả C nh báo ping.

­ Trong đó:

ả ộ Alert:  là hành đ ng c nh báo.

Trang: 46 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ứ ể ậ ả Icmp:  là giao th c đ  b t c nh báo.

ộ ấ ủ ị ườ i dùng có ỉ $EXTERNAL_NET:  là đ a ch  đích c a cu c t n công. Ng

ể ị th  đ nh nghĩa (var $EXTERNAL_NET 192.168.1.0/24 )

ấ ứ Any:  là port mà gói tin đi qua (b t c  port nào).

ộ ấ ể ị ủ ị ỉ ế $HOME_NET: là đ a ch  gói tin đi đ n c a cu c t n công. Ta có th  đ nh

ộ ộ ả ạ ớ ợ ỉ ị nghĩa đ a ch  này cho phù h p v i m ng n i b  mà ta đang qu n lý.

ử ệ 7:  là port mà l nh ping g i gói tin echo qua.

ệ ặ ả ả ấ Msg: xu t câu thông báo trong log ho c trên giao di n qu n lý c nh báo.

ạ ả ể Classtype: dùng đ  phân lo i c nh báo.

ủ ả ố ỗ ộ Sid: s  id c a câu rule c nh báo, m i rule có m t sid khác nhau.

ả C nh báo truy c p ậ  website.

ả C nh báo truy c p ậ  FTP.

ả C nh báo truy c p ậ  Telnet.

ả C nh báo gói tin ICMP có kích th ướ  l n.ớ c

ả ỗ C nh báo Dos l i SMB 2.0

ớ ả C nh báo chat v i các máy có IP lạ

Trang: 47 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

ộ ặ Ngăn ch n các trang Web có n i dung x uấ

Ủ Ả ƯỚ Ẫ ĐÁNH GIÁ C A GI NG VIÊN H NG D N

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

Trang: 48 Tr nh V n S n – 14NTC ơ ă ị

t

Tri n khai DEMO h th ng phát hi n xâm nh p IDS v i Snor ệ ố ể ệ ậ ớ

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

Trang: 49 Tr nh V n S n – 14NTC ơ ă ị