BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
o0o
ĐỒ ÁN TỐT NGHIỆP
Đề tài
Xây dựng hệ thống phát hiện – chống xâm nhập dựa
vào Firewall Iptables và IDS Snort
Sinh viên thực hiện:
NGUYỄN NGỌC LONG - MSSV:08B1020185
THÀNH PHỐ HỒ CHÍ MINH NĂM 2010
LỜI NÓI ĐẦU
Trước hết, xin chân thành gửi lời cảm ơn đến trường Đại Học Kỹ Thuật Công
Nghệ Tp.Hồ Chí Minh đã đào đạo, trau dồi cho tôi những kiến thức thật bổ ích trong
suốt thời gian vừa qua.
Xin cảm ơn thầy Văn Thiên Hoàng đã hướng dẫn em hoàn thành luận văn
trong thời gian vừa qua. Thầy đã định hướng cho em làm luận văn, hướng dẫn, truyền
đạt lại những kiến thức rất bổ ích, cũng như cung cấp những tài liệu cần thiết để em
hoàn thành được đồ án.
Xin cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin trường Đại Học Kỹ
Thuật Công Nghệ đã đào tạo và cung cấp cho em những kiến thức hữu ích, làm hành
trang áp dụng vào cuộc sống.
Cám ơn gia đình, người thân và bạn bè đã động viên tôi hoàn thành đồ án tốt
nghiệp.
Nguyễn Ngọc Long
- 2 -
MỤC LỤC
MỤC LỤC 3
Danh mục từ viết tắt 7
Danh mục hình minh họa 8
1.6.3 Network Behavior Analysis (NBA) 32
1.6.4 Host – Based 32
1.7 Các sản phẩm IDS trên thị trường 34
1.7.1 Intrust 34
1.7.2 ELM 34
1.7.3 SNORT 35
1.7.4 Cisco IDS 36
1.7.5 Dragon 36
Giới thiệu tổng quan về Firewall Iptable và IDS Snort 38
1.8 Tổng quan về Firewall 38
1.9 Phân loại firewall 39
1.9.1 Packet Filtering 39
1.9.2 Application-proxy firewall 41
1.10 Tổng quan về Iptables 43
1.10.1 Các tính năng của Iptables 43
1.10.2 Cơ chế hoạt động Iptables 44
1.10.3 Jumps và Targets 45
1.10.4 Các tùy chọn để thao tác với luật 46
1.11 Tìm hiểu các câu lệnh và thiết lập luật trong Iptables 46
1.11.1 Sử dụng chain tự định nghĩa 46
1.11.2 Lưu và phục hồi lại những script cấu hình trong Iptables 47
1.11.3 Ý nghĩa của một số luật cơ bản trong Iptables 48
1.12 Firewall and Logging 49
1.12.1 The syslog protocol 49
1.12.2 Proprietary logging methods 50
1.13 Firewall log review and analysis 51
- 4 -
1.13.1 Tổng quan 51
1.13.2 Các thông tin sự kiện từ file log 51
1.14 Tổng quan về Snort 53
- 6 -
Danh mục từ viết tắt
Viết tắt Tiếng Anh Tiếng Việt
AP Access point Điểm truy cập
DdoS Distributed Denial of Service Tấn công từ chối dịch vụ
DNS Domain Name System Hệ thống tên miền
DoS Denial-of-service Tấn công từ chối dịch vụ
FTP File Transfer Protocol Giao thức truyền dữ liệu
ICMP Internet Control Message Protocol Giao thức xử lý các thông
báo trạng thái cho IP
IDS Intrusion Detection System Hệ thống phát hiện xâm
nhập
IP Internet Protocol Giao thức Internet
IPS Intrusion Prention System Hệ thống phát hiện xâm nhập
IOS Internetwork Operating System
HIDS Host Intrusion Detection System
LAN Local Area Network Mạng cục bộ
MITM Man-in-the-middle s
MAC Media Access Control Định danh được gán cho
thiết bị mạng
NBA Network Behavior Analysis
NIDS Network Intrusion Detection
System
OSI Open Systems Interconnection Mô Hình Mạng OS
SNMP Simple Network Management
Protocol
Giao thức giám sát và điều
khiển thiết bị mạng
SMTP Simple Mail Transfer Protoco Giao thức truyền tải thư tín
đơn giản
Hình 3-22 Được phép truy xuất vào trang web 73
Hình 3-23 Giao diện chính của Base 74
Hình 3-24 Snort phát hiện Nmap đang scanport, truy cập ssh 74
Hình 3-25 Hiển thị các địa chỉ nghi vấn 75
Hình 3-26 Xem nội dung một packet 75
Hình 3-27 Thống kê theo ngày, giờ 76
Hình 3-28 Thống kê theo ngày 76
Hình 3-29 IDS Snort phát hiện các gói tin được gửi vào hệ thống 77
- 8 -
Danh mục bảng
- 9 -
MỞ ĐẦU
Giới thiệu
Ngày nay, trên thế giới công nghệ thông tin phát triển rất nhanh, mang lại những lợi
ích thiết thực về nhiều mặt như: kinh tế, xã hội, chính trị, y tế, quân sự… những cuộc
họp trong tổ chức, cơ quan, công ty hay những buổi hội thảo xuyên quốc gia, xuyên
lục địa (Video Conference).
Mạng Internet ngày càng đóng vai trò quan trọng trong các hoạt động của con
người. Với lượng thông tin ngày càng phong phú và đa dạng. Không chỉ có ý nghĩa là
nơi tra cứu tin tức sự kiện đang diễn ra trong đời sống hàng ngày, Internet còn đóng
vai trò cầu nối liên kết con người với nhau ở mọi vùng địa lý. Các khoảng cách về địa
lý hầu như không còn ý nghĩa, khi con người ở cách nhau nửa vòng trái đất họ vẫn có
thể trao đổi thông tin, chia sẻ dữ liệu cho nhau như những người trong cùng một văn
phòng.
Internet còn góp phần làm thay đổi phương thức hoạt động kinh doanh của các
doanh nghiệp. Ngoài các hoạt động kinh doanh truyền thống, giờ đây các doanh
nghiệp có thêm một phương thức kinh doanh hiệu quả, đó là thương mại điện tử.
Trong những năm gần đây, thương mại điện tử đã trở thành một bộ phận quan trọng
trong sự tăng trưởng, phát triển của xã hội, mang lại những lợi ích rất lớn cho các
doanh nghiệp, đồng thời thúc đẩy xã hội hóa thông tin cho các ngành nghề khác, góp
IDS không đem lại hiệu quả như mong muốn là do các vấn đề còn tồn tại trong việc
quản lý và vận hành chứ không phải do bản chất công nghệ kiểm soát và phân tích gói
tin của IDS. Cụ thể, để cho một hệ thống IDS hoạt động hiệu quả, vai trò của các công
cụ, con nguời quản trị là rất quan trọng, cần phải đáp ứng được các tiêu chí sau:
Thu thập và đánh giá tương quan tất cả các sự kiện an ninh được phát hiện
bởi các IDS, tường lửa để tránh các báo động giả.
Các thành phần quản trị phải tự động hoạt động và phân tích.
Kết hợp với các biện pháp ngăn chặn tự động.
- 11 -
Trước các hạn chế của hệ thống IDS, nhất là sau khi xuất hiện các cuộc tấn công ồ
ạt trên quy mô lớn như các cuộc tấn công của Code Red, NIMDA, SQL Slammer, một
vấn đề được đặt ra là làm sao có thể tự động ngăn chặn được các tấn công chứ không
chỉ đưa ra các cảnh báo nhằm giảm thiểu công việc của nguời quản trị hệ thống. Hệ
thống IPS được ra đời vào năm 2003 và ngay sau đó, năm 2004 nó được phổ biến
rộng rãi.
Ngày nay các hệ thống mạng đều hướng tới sử dụng các giải pháp IPS thay vì hệ
thống IDS. Tuy nhiên để ngăn chặn xâm nhập thì trước hết cần phải phát hiện nó. Vì
vậy khi nói đến một hệ thống IDS, trong thời điểm hiện tại, ta có thể hiểu đó là một hệ
thống tích hợp gồm cả hai chức năng IPS/IDS.
Cơ sở hạ tầng công nghệ thông tin càng phát triển, thì vấn đề phát triển mạng lại
càng quan trọng, mà trong việc phát triển mạng thì việc đảm bảo an ninh mạng là một
vấn đề rất quan trọng. Sau hơn chục năm phát triển, vấn đề an ninh mạng tại Việt Nam
đã dần được quan tâm đúng mức hơn. Trước khi có một giải pháp toàn diện thì mỗi
một mạng phải tự thiết lập một hệ thống tích hợp IDS của riêng mình. Trong luận văn
này, chúng ta sẽ tìm hiểu về cấu trúc một hệ thống IDS, và đi sâu tìm hiểu phát triển
hệ thống IDS mềm sử dụng mã nguồn mở để có thể áp dụng trong hệ thống mạng của
mình thay thế cho các IDS cứng đắt tiền. Với sự kết hợp của các phần mềm nguồn
mở Iptables và Snort. Tạo ra một hệ thống giám sát mạng, có khả năng phát hiện
những xâm nhập, phòng chống tấn công mạng.
Cấu trúc đề tài
Hệ thống phát hiện xâm nhập mạng – IDS có thể tóm tắt các chức năng chủ yếu sau
đây:
Các chức năng quan trọng nhất: Giám sát - cảnh báo - bảo vệ
1.2.1 Giám sát:
Bên cạnh việc theo dõi mạng để phát hiện truy cập trái phép, phòng chống xâm
nhập còn là việc giám sát lưu lượng mạng và các hoạt động khả nghi giám sát các
thiết bị và dịch vụ mạng, giám sát nguồn tài nguyên trên hệ thống.
- 14 -
Một hệ thống IDS/IPS có thể phát hiện và phòng chống các cuộc tấn công xâm
nhập mạng dựa vào các dấu hiệu tấn công được lưu trữ và cập nhập thường xuyên.
Tuy nhiên cũng không tránh khỏi những trường hợp có những dạng tấn công mới mà
những dấu hiệu chưa được biết tới.
Hệ thống giám sát lưu lượng hỗ trợ cho người quản trị mạng giám sát lưu lượng
trao đổi giữa các thiết bị mạng. Nó hoạt động thời gian thực và thể hiện lưu lượng của
các giao tiếp mạng (các giao tiếp của Router, Switch, Server, ), hoạt động của CPU,
RAM một cách trực quan thông qua những đồ thị, Ðiều này giúp người quản trị
mạng có những phân tích tình trạng hoạt động của các thiết bị mạng trong hệ thống.
Ngoài ra, người quản trị có thể thiết lập những ngưỡng cảnh báo để kết hợp với hệ
thống báo động để giúp người quản trị nhanh chóng có được những thông tin về
những cuộc tấn công hay phát hiện những bất thường trong hệ thống.
Ngoài ra còn có thành phần giám sát thiết bị và dịch vụ. Hệ thống giám sát thiết bị
và dịch vụ có chức năng theo dõi trạng thái hoạt động của các thiết bị và các dịch vụ
trong hệ thống mạng. Ngoài ra, nó còn có thể giám sát các tài nguyên trên các thiết bị
như dung lượng trống của các ổ cứng trên Server, kiểm tra trạng thái hoạt động của
các cổng trên các Switch trung tâm… Mọi hoạt động bất thường như có thiết bị
ngưng làm việc hay dịch vụ mạng ngưng hoạt động, hay dung lượng ổ cứng trên các
server còn quá ít sẽ được gửi cảnh báo tới người quản trị mạng.
1.2.2 Cảnh báo
Báo cáo về tình trạng mạng cho nhà quản trị. Hệ thống báo động là một trong
những thành phần quan trọng trong hệ thống giám sát mạng. Hệ thống báo động giúp
Tấn công chủ động: Kẻ tấn công thay đổi hoạt động của hệ thống và hoạt động của
mạng khi tấn công và làm ảnh hưởng đến tính toàn vẹn, sẵn sàng và xác thực của dữ
liệu.
Tấn công bị động: Kẻ tấn công cố gắng thu thập thông tin từ hoạt động của hệ
thống và hoạt động của mạng làm phá vỡ tính bí mật của dữ liệu.
- 16 -
Nếu dựa vào nguồn gốc của cuộc tấn công thì có thể phân loại tấn công làm hai
loại. Tấn công từ bên trong và tấn công từ bên ngoài:
Tấn công từ bên trong: Là những tấn công xuất phát từ bên trong hệ thống mạng.
Kẻ tấn công là những người trong hệ thống mạng nội bộ muốn truy cập, lấy thông tin
nhiều hơn quyền cho phép.
Tấn công từ bên ngoài: Là những tấn công xuất phát từ bên ngoài Internet hay các
kết nối truy cập từ xa.
1.3.3 Các bước tấn công thường gặp
Bước 1: Khảo sát, thu thập thông tin. Kẻ tấn công thu thập thông tin về nơi tấn
công như phát hiện các máy chủ, địa chỉ IP, các dịch vụ mạng…
Bước 2: Dò tìm. Kẻ tấn công sử dụng các thông tin thu thập được từ bước một để
tìm kiếm thêm thông tin về lỗ hổng, điểm yếu của hệ thống mạng. Các công cụ thường
được sử dụng cho quá trình này là các công cụ quét cổng (scanport), quét IP, dò tìm lỗ
hổng…
Buớc 3: Xâm nhập. Các lỗ hổng được tìm thấy trong bước hai được kẻ tấn công sử
dụng, khai thác để xâm nhập vào hệ thống. Ở bước này, kẻ tấn công có thể dùng các
kỹ thuật như: Tràn bộ đệm, từ chối dịch vụ (DoS)…
Buớc 4: Duy trì xâm nhập. Một khi kẻ tấn công đã xâm nhập được vào hệ thống,
bước tiếp theo là làm sao để duy trì các xâm nhập này nhằm khai thác và xâm nhập
tiếp trong tương lai. Một vài kỹ thuật như backboors, trojans… được sử dụng ở bước
này. Một khi kẻ tấn công đã làm chủ hệ thống, chúng có thể gây ra những nguy hại
cho hệ thống hoặc đánh cắp thông tin. Ngoài ra, chúng có thể sử dụng hệ thống này để
tấn công vào các hệ thống khác như loại tấn công DDoS.
Bước 5: Che đậy, xóa dấu vết. Một khi kẻ tấn công đã xâm nhập và cố gắng duy trì
H sẽ gởi thông điệp ARP reply cho B nói rằng IP: 10.1.1.2 có địa chỉ MAC là
HH:HH:HH:HH:HH:HH. Lúc này ARP table của B sẽ là IP= 10.1.1.2– MAC=
HH:HH:HH:HH:HH:HH
- 18 -
Hình 1-1 Phương thức nhiễm ARP cache
Khi A cần truyền thông điệp đến B, nó thấy trong ARP table B có địa chỉ Ethernet
là HH:HH:HH:HH:HH:HH nên nó sẽ gởi thông điệp đến cho H thay vì đến B. H nhận
được thông điệp này, xử lý và có thể truyền lại thông điệp đó đến B (tùy theo mục
đích tấn công).
Trường hợp B cần gởi thông điệp đến A thì quy trình cũng tương tự như trên. Như
vậy, H đóng vai trò là người trung gian nhận và chuyển thông điệp giữa A và B mà
hai host này không hề hay biết. H có thể thay đổi thông điệp trước khi truyền đến máy
đích.
Hình 1-2 Tấn công trên máy đã bị nhiễm ARP cache.
- 19 -
Ping of Death:
Kiểu DoS attack này, ta chỉ cần gửi một gói dữ liệu có kích thước lớn thông qua
lệnh ping đến máy đích thì hệ thống của họ sẽ bị treo.
VD: ping –l 65000
Tấn công từ chối dịch vụ DNS
Hacker có thể đổi một lối vào trên Domain Name Server A của hệ thống nạn nhân
rồi chỉ đến một website B nào đó của hacker. Khi máy khách truy cập đến Server A để
vào trang Web, thì các nạn nhân sẽ vào trang Web do chính hacker tạo ra.
Giải pháp phòng chống:
- Thường xuyên cập nhật các bản vá lỗi và update hệ thống.
- Triển khai những dịch vụ hệ thống mạng cần thiết.
- Xây dựng hệ thống IDS/IPS.
- Tường lửa (Firewall).
- Chống virus.
- Chính sách sử dụng, quản lý password.
1.4.4 Phân tích trạng thái phiên (State-transition analysis)
Một tấn công được miêu tả bằng một tập các mục tiêu và phiên cần được thực hiện
bởi một kẻ xâm nhập để gây tổn hại hệ thống. Các phiên được trình bày trong sơ đồ
trạng thái phiên. Nếu phát hiện được một tập phiên vi phạm sẽ tiến hành cảnh báo hay
đáp trả theo các hành động đã được định trước.
1.4.5 Phương pháp phân tích thống kê (Statistical analysis approach)
Đây là phương pháp thường được sử dụng. Hành vi người dùng hay hệ thống (tập
các thuộc tính) được tính theo một số biến thời gian. Ví dụ, các biến như là: Đăng
nhập người dùng, đăng xuất, số tập tin truy nhập trong một khoảng thời gian, hiệu suất
sử dụng không gian đĩa, bộ nhớ, CPU,… Chu kỳ nâng cấp có thể thay đổi từ một vài
- 21 -
phút đến một tháng. Hệ thống lưu giá trị có nghĩa cho mỗi biến được sử dụng để phát
hiện sự vượt quá ngưỡng được định nghĩa từ trước. Ngay cả phương pháp đơn giản
này cũng không thể hợp được với mô hình hành vi người dùng điển hình. Các phương
pháp dựa vào việc làm tương quan thông tin về người dùng riêng lẻ với các biến nhóm
đã được gộp lại cũng ít có hiệu quả.
Vì vậy, một mô hình tinh vi hơn về hành vi người dùng đã được phát triển bằng
cách sử dụng thông tin người dùng ngắn hạn hoặc dài hạn. Các thông tin này thường
xuyên được nâng cấp để bắt kịp với thay đổi trong hành vi người dùng. Các phương
pháp thống kê thường được sử dụng trong việc bổ sung trong IDS dựa trên thông tin
hành vi người dùng thông thường.
1.4.6 Phương thức phát hiện xâm nhập dựa vào chữ ký
Phát hiện xâm nhập dựa vào chữ ký (Signature - Based Detection) để xác định một
sự kiện có phải là một mối nguy hiểm không. Một số các trường hợp tiêu biểu:
+ Chương trình kết nối đến hệ thống sử dụng quyền root với tên truy cập là
“root”, có thể là một mối nguy hiểm đến các chính sách bảo mật của tổ chức.
+ Email với tiêu để "Free Picture" file đính kèm "freepicture.exe", là đặc điểm
của một loại malware.
Việc phát hiện xâm nhập dựa vào chữ ký hiệu quả với những mối đe dọa đã được
biết đến. Tuy nhiên, cách này vô hiệu hóa đối với những mối đe dọa chưa được biết
1.5.1 Mô hình chung hệ thống IDS
Cấu trúc hệ thống IDS phụ thuộc vào kiểu phương pháp được sử dụng để phát hiện
xâm nhập, các cơ chế xử lý khác nhau được sử dụng đối với một IDS. Mô hình cấu
trúc chung cho các hệ IDS:
- 23 -
Hình 1-3 Mô hình chung hệ thống IDS
Nhiệm vụ chính của các hệ thống phát hiện xâm nhập là phòng chống cho một hệ
thống máy tính bằng cách phát hiện các dấu hiệu tấn công và có thể đẩy lùi nó. Việc
phát hiện các tấn công phụ thuộc vào số lượng và kiểu hành động thích hợp. Việc làm
lệch hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo vệ cũng là một
nhiệm vụ quan trọng. Cả hệ thống thực cần phải được kiểm tra một cách liên tục. Dữ
liệu được tạo ra bằng các hệ thống phát hiện xâm nhập được kiểm tra một cách cẩn
thận (đây là nhiệm vụ chính cho mỗi IDS) để phát hiện các dấu hiệu tấn công.
Khi một sự xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản trị
viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản trị viên hoặc
có thể là bản thân IDS bằng cách lợi dụng các tham số do bổ sung (các chức năng
khóa để giới hạn các session, backup hệ thống, định tuyến các kết nối đến bẫy hệ
thống, cơ sở hạ tầng hợp lệ…) theo các chính sách bảo mật của các tổ chức. Một IDS
là một thành phần nằm trong chính sách bảo mật.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những
nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý các tình
tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn công trong
tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống.
- 24 -
Phát hiện xâm nhập đôi khi có thể đưa ra các cảnh báo sai, ví dụ những vấn đề xảy
ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công hoặc các chữ
ký thông qua email.
1.5.2 Cấu trúc của một hệ thống phát hiện xâm phạm dạng tập trung:
Bộ cảm biến được tích hợp với thành phần thu thập dữ liệu, một bộ tạo sự kiện.
Cách thu thập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế độ lọc