Sử dụng công nghệ IPS (Intrusion Prevention System) kết hợp tường lửa Firewall Iptable để phòng chống và tự động ngăn chặn các cuộc tấn công hệ thống mạng cùng với sự hỗ trợ cảnh báo đắc lực của Snort inline.
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
-o0o -ĐỒ ÁN CHUYÊN NGÀNH
Đề 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à IPS Snort Inline
GVHD: Th.S Văn Thiên Hoàng
Sinh viên thực hiện:
Đặng Thành Phát - 1311060941
THÀNH PHỐ HỒ CHÍ MINH NĂM 2016
Trang 2MỤC LỤC
LỜI NÓI ĐẦU
CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG CHỐNG XÂM NHẬP
1.1 Giới thiệu 9
1.2 Các kiểu tấn công mạng 9
1.2.1 Phân loại các lỗ hổng bảo mật 9
1.2.2 Tấn công chủ động và tấn công bị động: 9
1.2.3 Các bước tấn công thường gặp 10
1.2.4 Cách thức tấn công: 11
1.3 Các phương pháp nhận biết tấn công: 14
1.3.1 Nhận biết qua tập sự kiện 14
1.3.2 Phát hiện dựa trên tập luật (Rule-Based ) 14
1.3.3 Phân biệt ý định người dùng (User intention identification) 14
1.3.4 Phân tích trạng thái phiên (State-transition analysis) 15
1.3.5 Phương pháp phân tích thống kê (Statistical analysis approach) 15
1.3.6 Phương thức phát hiện xâm nhập dựa vào chữ ký 16
1.3.7 Phương thức phát hiện xâm nhập dựa vào sự bất thường 16
1.4 Kiến trúc của một hệ thống chống xâm nhập 17
1.4.1 Module phân tích luồng dữ liệu: 17
1.4.2 Module phát hiện tấn công: 17
1.4.3 Module phản ứng 19
1.5 Các kiểu hệ thống IPS 20
1.5.1 IPS ngoài luồng 20
1.5.2 IPS trong luồng 20
1.6 Các sản phẩm IPS trên thị trường 21
1.6.1 Intrust 21
1.6.2 ELM 21
1.6.3 SNORT 22
Trang 31.6.4 Cisco IDS 23
1.6.5 Dragon 23
CHƯƠNG II: TỔNG QUAN VỀ IPTABLES & SNORT_INLINE
2.1 Tổng quan về Firewall 25
2.2 Phân loại firewall 26
2.2.1 Packet Filtering 26
2.2.2 Application-proxy firewall 28
2.3 Tổng quan về Iptables 30
2.3.1 Các tính năng của Iptables 31
2.3.2 Cơ chế hoạt động Iptables 31
2.3.3 Jumps và Targets 33
2.3.4 Các tùy chọn để thao tác với luật 33
2.4 Tìm hiểu các câu lệnh và thiết lập luật trong Iptables 34
1.6.6 Sử dụng chain tự định nghĩa 34
2.4.1 Lưu và phục hồi lại những script cấu hình trong Iptables 35
2.4.2 Ý nghĩa của một số luật cơ bản trong Iptables 35
2.5 Firewall and Logging 36
2.5.1 The syslog protocol 36
2.5.2 Proprietary logging methods 38
2.6 Firewall log review and analysis 38
2.6.1 Tổng quan 38
2.6.2 Các thông tin sự kiện từ file log 38
2.7 Tổng quan về Snort inline 41
2.7.1 Giới thiệu Snort inline 41
2.7.2 Snort-inline và Iptables: 41
2.7.3 Các trạng thái 43
2.8 Các thành phần của Snort inline 44
2.8.1 Bộ packet sniffer 45
2.8.2 Bộ Preprocessor 45
2.8.3 Bộ phát hiện (detection engine) 46
Trang 42.8.4 Hệ thống ghi và cảnh báo (Logging và alerting) 472.8.5 Cấu trúc của một luật 482.9 Các option phổ biến của Snort: 49 CHƯƠNG III: TRIỂN KHAI HỆ THỐNG IPS (SNORT_INLINE KẾT HỢPIPTABLES) 571.7 CHƯƠNG IV: DEMO SNORT_INLINE 84 TÀI LIỆU THAM KHẢO 92
Trang 5LỜI NÓI ĐẦU
Trước hết, nhóm em 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 chúng em những kiếnthức thật bổ ích trong thời gian học tại trường
Chúng em xin cảm ơn thầy Văn Thiên Hoàng đã hướng dẫn chúng em hoànthành Đồ án chuyên ngành Cảm ơn thầy đã định hướng, hướng dẫn, truyền đạt lạinhữ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 để chúng emhoàn thành được đồ án Cảm ơn sự nhiệt tình, tận tâm của thầy đối với chúng em
Xin cảm ơn tất cả thầy cô trường Đại Học Kỹ Thuật Công Nghệ cũng như thầy
cô trong khoa Công Nghệ Thông Tin đã đào tạo, tạo điều kiện và cung cấp cho chúng
em những kiến thức hữu ích, làm hành trang bước vào tương lai
Cuối cùng, kính chúc thầy Hoàng cũng như tất cả thầy cô trong khoa CôngNghệ Thông Tin trường Đại Học Kỹ Thuật Công Nghệ Thành Phố Hồ Chí Minh dồidào sức khỏe, gặt hái nhiều thành trong sự nghiệp trồng người mà thầy cô đã chọn
Trang 6MỞ ĐẦUGiới thiệu:
Ngày nay, thời kỳ kinh tế hóa luôn mở rộng trên toàn cầu Để phát triển kinh tế,nắm bắt thông tin kịp thời thì ngành công nghệ thông tin là một trong ngành rất cầnthiết Chính vì thế mà công nghệ thông tin phát triển rất nhanh, mang lại những lợi íchthiế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ọptrong 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 conngườ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 đóngvai 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ănphòng
Internet còn góp phần làm thay đổi phương thức hoạt động kinh doanh của cácdoanh nghiệp Ngoài các hoạt động kinh doanh truyền thống, giờ đây các doanhnghiệ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ọngtrong 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ácdoanh 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ópphần mang lại tính hiệu quả cho nền kinh tế của doanh nghiệp nói riêng và cho toàn xãhội nói chung
Chính sự đa dạng thông tin trên internet, lại là cầu nối chung cho toàn cầu nên
dễ xảy ra tiêu cực trên mạng như : lấy trộm thông tin, làm nhiễu thông tin, thay đổi
Trang 7thông tin, …Ði đôi với sự phát triển công nghệ thì bảo mật mạng đang là một nhu cầucấp thiết nhằm bảo vệ hệ thống mạng bên trong, chống lại những tấn công xâm nhập
và thực hiện các trao đổi thông tin, giao dịch qua mạng được an toàn Về những giá trịlợi ích của công nghệ thông tin mang lại, những kẻ xấu cũng lợi dụng công nghệ nàygây ra không ít những khó khăn cho tổ chức, cơ quan cũng như những người áp dụngcông nghệ thông tin vào cuộc sống
Công nghệ nào cũng có ưu điểm và nhược điểm Người tấn công (Attacker)chúng lợi dụng những lỗ hổng của hệ thống để truy xuất bất hợp phát vào khai thácnhững thông tin quan trọng, những dữ liệu có tính chất bảo mật, nhạy cảm, thông tinmật của quốc phòng… Vì vậy chúng ta cần phải có biện pháp, phương pháp để pháthiện sự truy nhập trái phép đó Để phát hiện sự truy nhập trái phép đó, hiện nay côngnghệ phát hiện chống xâm nhập hiệu quả được nhiều tổ chức, cơ quan, doanh nghiệptriển khai và áp dụng vào trong hệ thống mạng của mình là công nghệ Snort IPS
Các nghiên cứu về hệ thống phát hiện xâm nhập đã được nghiên cứu chính thứccách đây khoảng 32 năm và cho tới nay đã được áp dụng rộng rãi ở các tổ chức, doanhnghiệp trên toàn thế giới
Nhiệm vụ đề tài:
Sử dụng công nghệ IPS (Intrusion Prevention System) kết hợp tường lửaFirewall Iptable để phòng chống và tự động ngăn chặn các cuộc tấn công hệ thốngmạng cùng với sự hỗ trợ cảnh báo đắc lực của Snort inline
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ạnglạ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ệtNam đã 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 IPS của riêng mình
Trong báo cáo này, chúng em sẽ tìm hiểu về cấu trúc một hệ thống IPS, và đisâu tìm hiểu phát triển hệ thống IPS mềm sử dụng mã nguồn mở để có thể áp dụngtrong hệ thống mạng của mình thay thế cho các IPS cứng đắt tiền Với sự kết hợp của
Trang 8các phần mềm nguồn mở Iptables và Snort inline 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
Trang 9CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG CHỐNG XÂM NHẬP
1.1 Giới thiệu
Hệ thống phòng chống xâm nhập IPS (Intrusion Prevention System) là một kỹ
thuật an ninh, kết hợp các ưu điểm của kỹ thuật tường lửa với hệ thống phát hiện xâm
nhập IDS (Intrusion Detection System) Có khả năng phát hiện các cuộc tấn công và tự
động ngăn chặn các cuộc tấn công nhằm vào điểm yếu của hệ thống
IPS có hai chức năng chính là phát hiện các cuộc tấn công và chống lại cáccuộc tấn công đó Phần lớn hệ thống IPS được đặt ở vành đai mạng, đủ khả năng bảo
vệ tất cả các thiết bị trong mạng
1.2 Các kiểu tấn công mạng
1.2.1 Phân loại các lỗ hổng bảo mật
Hiểu được những điểm yếu trong bảo mật là một vấn đề hết sức quan trọng đểtiến hành những chính sách bảo mật có hiệu quả Những điểm yếu trong bảo mật mạnggồm có những điểm yếu: Về mặt kỹ thuật, về mặt cấu hình và các chính sách bảo mật
Ðiểm yếu về mặt kỹ thuật: Điểm yếu trong kỹ thuật gồm có điểm yếu trong các
giao thức, trong Hệ điều hành và các thiết bị phần cứng như Server, Switch, Router,
Ðiểm yếu trong cấu hình hệ thống: Đây là lỗi do nhà quản trị tạo ra Lỗi này do
các thiếu sót trong việc cấu hình hệ thống như: Không bảo mật tài khoản khách hàng,
sử dụng các cấu hình mặc định trên thiết bị như switch, router, modern…
Nếu dựa vào hành động của cuộc tấn công có thể chia tấn công ra làm hai loạilà:
1.2.2 Tấn công chủ động và tấn công bị động:
• 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
Trang 10Nế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 hailoạ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.2.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ấncô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ậptiếp trong tương lai Một vài kỹ thuật như backboors, trojans… được sử dụng ở bướcnà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ạicho 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ìxâm nhập Bước tiếp theo là chúng phải làm sao xóa hết dấu vết để không còn chứng
cứ pháp lí xâm nhập Kẻ tấn công phải xóa các tập tin log, xóa các cảnh báo từ hệthống phát hiện xâm nhập
Ở bước “Dò tìm” và “Xâm nhập”, kẻ tấn công thường làm lưu lượng kết nối mạng
thay đổi khác với lúc mạng bình thường rất nhiều Ðồng thời tài nguyên của hệ thống
Trang 11máy chủ bị ảnh hưởng đáng kể Những dấu hiệu này rất có ích cho người quản trịmạng trong việc phân tích và đánh giá tình hình hoạt động của hệ thống mạng.
1.2.4 Cách thức tấn công :
Gồm hai bước cơ bản sau: Nhận packet và thi hành tấn công
Kỹ thuật tấn công ARP:
Khi một máy tính A cần biết địa chỉ MAC từ một IP, nó sẽ gởi gói tin ARP cóchứa thông tin yêu cầu IP address ở dạng Broadcasting lên mạng Máy tính B khi nhậnđược gói tin ARP này sẽ so sánh giá trị IP của nó với IP nhận được từ gói tin do A gởi.Nếu hai giá trị này trùng khớp thì B sẽ gởi gói tin reply có chứa thông tin địa chỉ IPcủa B cho A Khi A nhận được gói tin do B reply, nó sẽ lưu địa chỉ MAC của B trongARP table ARP cache để dùng cho lần truyền tiếp theo
Kiểu tấn công Man-in-the-middle (MITM):
Điều kiện cần của phương pháp tấn công ARP là hacker phải đạt được sự truyxuất vào mạng WLAN và biết một số thông tin về IP, MAC của một số máy tính trênmạng
Ví dụ: Lây nhiễm ARP cache như sau:
Có hai máy tính E, F với địa chỉ IP và MAC tương ứng như sau:
E (IP = 10.1.3.2, MAC = EE:EE:EE:EE:EE:EE)
F (IP = 10.1.3.3, MAC = FF:FF:FF:FF:FF:FF)
Máy tính của hacker có địa chỉ:
H (IP = 10.1.3.4, MAC = HH:HH:HH:HH:HH:HH)
H sẽ gởi thông điệp ARP reply cho E nói rằng IP: 10.1.3.3 có địa chỉ MAC là
HH:HH:HH:HH:HH:HH Lúc này ARP table của E sẽ là IP= 10.1.3.3– MAC=
HH:HH:HH:HH:HH:HH
Trang 12H sẽ gởi thông điệp ARP reply cho F nói rằng IP: 10.1.3.2 có địa chỉ MAC là
HH:HH:HH:HH:HH:HH Lúc này ARP table của F sẽ là IP= 10.1.3.2– MAC=
HH:HH:HH:HH:HH:HH
Hình 0-1 Phương thức nhiễm ARP cache
Khi E cần truyền thông điệp đến F, nó thấy trong ARP table F 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 F H nhậnđược thông điệp này, xử lý và có thể truyền lại thông điệp đó đến F (tùy theo mục đíchtấn công)
Trường hợp F cần gởi thông điệp đến E 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 E và F mà haihost 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
Trang 13Hình 0-2 Tấn công trên máy đã bị nhiễm ARP cache.
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
Trang 14- Chính sách sử dụng, quản lý password.
- Sử dụng các trình bảo mật để bảo vệ các tài liệu, tập tin quan trọng
- Thường xuyên back-up
1.3 Các phương pháp nhận biết tấn công:
Hiện nay một số loại hệ thống phát hiện xâm nhập, được phân biệt bởi cáchthức theo dõi và phân tích Mỗi phương pháp có những lợi điểm và những hạn chếnhất định Tuy nhiên, mọi phương pháp đều có thể mô tả thông qua một mô hình tiếntrình chung tổng quát cho hệ thống phát hiện xâm nhập Error! No index entries found
1.3.1 Nhận biết qua tập sự kiện
Hệ thống này làm việc trên một tập các nguyên tắc đã được định nghĩa từ trước
để miêu tả các tấn công Tất cả các sự kiện có liên quan đến bảo mật đều được kết hợp
vào cuộc kiểm định và được dịch dưới dạng nguyên tắc if-then-else Lấy ví dụ
Wisdom và Sense và Computer Watch (được phát triển tại AT&T)
1.3.2 Phát hiện dựa trên tập luật (Rule-Based )
Giống như phương pháp hệ thống Expert, phương pháp này dựa trên nhữnghiểu biết về tấn công Chúng biến đổi sự mô tả của mỗi tấn công thành định dạng kiểmđịnh thích hợp
Như vậy, dấu hiệu tấn công có thể được tìm thấy trong các bản ghi (record).Một kịch bản tấn công có thể được mô tả, ví dụ như một chuỗi sự kiện kiểm định đốivới các tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy được trong cuộc kiểm định
Phương pháp này sử dụng các từ tương đương trừu tượng của dữ liệu kiểmđịnh Sự phát hiện được thực hiện bằng cách sử dụng chuỗi văn bản chung hợp với các
cơ chế Điển hình, nó là một kỹ thuật rất mạnh và thường được sử dụng trong các hệ
thống thương mại (ví dụ như: Cisco Secure IDS, Emerald eXpert-BSM (Solaris))
1.3.3 Phân biệt ý định người dùng (User intention identification)
Kỹ thuật này mô hình hóa các hành vi thông thường của người dùng bằng mộttập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ thống (liên quan đến chứcnăng người dùng)
Trang 15Các nhiệm vụ đó thường cần đến một số hoạt động được điều chỉnh sao chohợp với dữ liệu kiểm định thích hợp Bộ phân tích giữ một tập hợp nhiệm vụ có thểchấp nhận cho mỗi người dùng Bất cứ khi nào một sự không hợp lệ được phát hiện thhmột cảnh báo sẽ được sinh ra.
1.3.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áohay đáp trả theo các hành động đã được định trước
1.3.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ậptrong 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 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ượtquá ngưỡng được định nghĩa từ trước Ngay cả phương pháp đơn giản này cũng khôngthể 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àoviệ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ộplạ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ằngcá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ườngxuyê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 IDSdựa trên thông tin hành vi người dùng thông thường
Trang 161.3.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 địnhmộ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 đượcbiết đến, được che giấu bằng cách nào đó hoặc những biến thể của những mối đe dọa
đã biết
Phát hiện dựa vào chữ ký là phương thức đơn giản nhất vì nó chỉ so sánh cácđơn vị hoạt động (gói tin hay file log) với danh sách các chữ ký, sử dụng phương thức
so sánh chuỗi Vì vậy nếu kẻ tấn công thay đổi tên từ "freepic.exe" thành
"freepic2.exe" thì phương thức này sẽ không thể phát hiện được đó là malware
Phương thức này không hiểu được nhiều giao thức hoạt động của mạng, giaothức hoạt động của các ứng dụng, không theo dõi và hiểu các trạng thái liên lạc phứctạp
1.3.7 Phương thức phát hiện xâm nhập dựa vào sự bất thường
Phương thức phát hiện xâm nhập dựa vào sự bất thường (Anomaly – BasedDetection) là quá trình so sánh các định nghĩa sự kiện được cho là bình thường với các
sự kiện được quan sát để xác định các vấn đề bất thường
Sử dụng phương thức phát hiện xâm nhập dựa vào sự bất thường sử dụng cácprofile đại diện cho các trạng thái bình thường của người dùng, hoặc kết nối mạnghoặc ứng dụng
Ví dụ khi profile đại diện cho trạng thái bình thường của kết nối mạng chỉ ra
rằng hoạt động truy cập web tốn 16% băng thông mạng trong suốt thời gian làm việc.
IDS so sánh kết quả này với băng thông mạng thật sự và nếu phát hiện ra việc sử dụngcao hơn, IDS sẽ cảnh báo cho admin về sự bất thường này Các profile có thể được
Trang 17chỉnh cho phù hợp, ví dụ như số lượng mail có thể gửi đi, số lần login sai, mức hoạtđộng của CPU…
Ưu điểm của phương thức này là sự đa dạng nó có thể được chỉnh sửa, thay đổi
để đạt hiệu quả khi phát hiện những mối đe dọa chưa biết trước đó
Ví dụ như khi malware xâm nhập vào máy tính, malware có thể tiêu thụ nhiềutài nguyên máy tính, gửi đi một lượng lớn email, tạo ra nhiều kết nối, ngốn băng thôngmạng, và thực hiện nhiều hành động bất thường so với những thông tin có trongprofile
1.4 Kiến trúc của một hệ thống chống xâm nhập
Một hệ thống IPS được xem là thành công nếu chúng hội tụ được các yếu tố: thực hiệnnhanh, chính xác, đưa ra các thông báo hợp lý, phân tích được toàn bộ thông lượng,cảm biến tối đa, ngăn chặn thành công và chính sách quản lý mềm dẻo Hệ thống IPSgồm 3 module chính: module phân tích luồng dữ liệu, module phát hiện tấn công,module phản ứng
1.4.1 Module phân tích luồng dữ liệu:
Module này có nhiệm vụ lấy tất các gói tin đi đến mạng để phân tích Thông thường các gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó huỷ bỏ nhưng card mạng của IPS được đặt ở chế độ thu nhận tất cả Tất cả các gói tin qua chúng đều được sao chụp, xử lý, phân tích đến từng trường thông tin Bộ phân tích đọc thông tin từng trường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì Các thông tin này được chuyển đến module phát hiện tấn công.
1.4.2 Module phát hiện tấn công:
Đây là module quan trọng nhất trong hệ thống có nhiệm vụ phát hiện các cuộc tấn công Có hai phương pháp để phát hiện các cuộc tấn công, xâm nhập là dò sự lạm dụng và dò sự không bình thường
Phương pháp dò sự lạm dụng: Phương pháp này phân tích các hoạt động của hệ
thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước Các mẫu tấncông biết trước này gọi là các dấu hiệu tấn công Do vậy phương pháp này còn đượcgọi là phương pháp dò dấu hiệu Kiểu phát hiện tấn công này có ưu điểm là phát hiện
Trang 18các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khảnăng hoạt động của mạng và giúp các người quản trị xác định các lỗ hổng bảo mật
trong hệ thống của mình
Tuy nhiên, phương pháp này có nhược điểm là không phát hiện được các cuộc tấn công không có trong cơ sở dữ liệu, các kiểu tấn công mới, do vậy hệ thống luôn phải cập nhật các mẫu tấn công mới
Phương pháp dò sự không bình thường: Đây là kỹ thuật dò thông minh, nhận
dạng ra các hành động không bình thường của mạng Quan niệm của phương pháp này
về các cuộc tấn công là khác so với các hoạt động thông thường
Ban đầu, chúng lưu trữ các mô tả sơ lược về các hoạt động bình thường của hệ thống Các cuộc tấn công sẽ có những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng Có một số kỹ thuật giúp thực hiện dò sự không bình thường của các cuộc tấn công như dưới đây:
Phát hiện mức ngưỡng:
Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động bình thường trên mạng Các mức ngưỡng về các hoạt động bình thường được đặt ra Nếu có sự bất thường nào đó như đăng nhập với số lần quá quy định, số lượng các tiến trình hoạt động trên CPU, sốlượng một loại gói tin được gửi vượt quá mức thì hệ thống có dấu hiệu bị tấn công
Phát hiện nhờ quá trình tự học:
Kỹ thuật này bao gồm hai bước Khi bắt đầu thiết lập, hệ thống phát hiện tấn công
sẽ chạy ở chế độ tự học và tạo ra một hồ sơ về cách cư xử của mạng với các hoạt độngbình thường Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế độ làm việc, tiến hành theo dõi, phát hiện các hoạt động bất thường của mạng bằng cách so sánh với hồ sơ đãthiết lập
Chế độ tự học có thể chạy song song với chế độ làm việc để cập nhật hồ sơ của mình nhưng nếu dò ra có tín hiệu tấn công thì chế độ tự học phải dừng lại cho tới khi cuộc tấn công kết thúc
• Phát hiện sự không bình thường của các giao thức:
Kỹ thuật này căn cứ vào hoạt động của các giao thức, các dịch vụ của hệ thống để
Trang 19nhập, tấn công Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu thập thông tin của các tin tặc.
Phương pháp dò sự không bình thường của hệ thống rất hữu hiệu trong việc phát hiện các cuộc tấn công kiểu từ chối dịch vụ
Ưu điểm của phương pháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dò sự lạm dụng, tuy nhiên chúng
có nhược điểm thường tạo ra một số lượng các cảnh báo sai làm giảm hiệu suất hoạt động của mạng
Phương pháp này sẽ là hướng được nghiên cứu nhiều hơn, khắc phục các nhược điểm còn gặp, giảm số lần cảnh báo sai để hệ thống chạy chuẩn xác hơn
1.4.3 Module phản ứng
Khi có dấu hiệu của sự tấn công hoặc thâm nhập, module phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến module phản ứng Lúc đó module phản ứng sẽ kích hoạt tường lửa thực hiện chức năng ngăn chặn cuộc tấn cônghay cảnh báo tới người quản trị Tại module này, nếu chỉ đưa ra các cảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động Module phản ứng này tùy theo hệ thống mà có các chức năng và phương pháp ngăn chặn khác nhau Dưới đây là một số kỹ thuật ngăn chặn:
• Kết thúc tiến trình:
Cơ chế của kỹ thuật này là hệ thống IPS gửi các gói tin nhằm phá huỷ tiến trình
bị nghi ngờ Tuy nhiên phương pháp này có một số nhược điểm Thời gian gửi gói tin can thiệp chậm hơn so với thời điểm tin tặc bắt đầu tấn công, dẫn đến tình trạng tấn công xong rồi mới bắt đầu can thiệp
Phương pháp này không hiệu quả với các giao thức hoạt động trên UDP như DNS, ngoài ra các gói tin can thiệp phải có trường thứ tự đúng như các gói tin trong phiên làm việc của tiến trình tấn công Nếu tiến trình tấn công xảy ra nhanh thì rất khóthực hiện được phương pháp này
• Huỷ bỏ tấn công:
Trang 20Kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặc chặn đường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin tấn công Kiểu phản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tin hợp lệ.
• Thay đổi các chính sách của tường lửa:
Kỹ thuật này cho phép người quản trị cấu hình lại chính sách bảo mật khi cuộc tấn công xảy ra Sự cấu hình lại là tạm thời thay đổi các chính sách điều khiển truy nhập bởi người dùng đặc biệt trong khi cảnh báo tới người quản trị
• Cảnh báo thời gian thực:
Gửi các cảnh báo thời gian thực đến người quản trị để họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng
• Ghi lại vào tệp tin:
Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các tệp tin log Mục đích
để các người quản trị có thể theo dõi các luồng thông tin và là nguồn thông tin giúp cho module phát hiện tấn công hoạt động
1.5 Các kiểu hệ thống IPS
Có hai kiểu kiến trúc IPS chính là IPS ngoài luồng và IPS trong luồng
1.5.1 IPS ngoài luồng
Hệ thống IPS ngoài luồng không can thiệp trực tiếp vào luồng dữ liệu Luồng
dữ liệu vào hệ thống mạng sẽ cùng đi qua tường lửa và IPS IPS có thể kiểm soát luồng dữ liệu vào, phân tích và phát hiện các dấu hiệu của sự xâm nhập, tấn công
Với vị trí này, IPS có thể quản lý bức tường lửa, chỉ dẫn nó chặn lại các hành động nghi ngờ mà không làm ảnh hưởng đến tốc độ lưu thông của mạng
1.5.2 IPS trong luồng
Vị trí IPS nằm trước bức tường lửa, luồng dữ liệu phải đi qua IPS trước khi tới bức tường lửa Điểm khác chính so với IPS ngoài luồng là có thêm chức năng chặn lưu thông
Trang 21Điều đó làm cho IPS có thể ngăn chặn luồng giao thông nguy hiểm nhanh hơn
so với IPS ngoài luồng Tuy nhiên, vị trí này sẽ làm cho tốc độ luồng thông tin ra vào
kiểm soát được Nhập phức tạp
Ngoài ra nó cũng hỗ trợ một giải pháp cảnh báo toàn diện cho phép cảnh báotrên các thiết bị di động và nhiều công nghệ khác Dưới đây là một số tính năng cơ bảncủa Instrust:
Tính năng cảnh báo toàn diện
Tính năng báo cáo toàn diện
Hợp nhất và thẩm định hiệu suất dữ liệu từ trên các nền tảng
Lọc dữ liệu cho phép xem lại một cách dễ dàng
Kiểm tra thời gian thực
Phân tích dữ liệu đã được capture
Tuân thủ theo các chuẩn công nghiệp
Sự bắt buộc theo một nguyên tắc
1.6.2 ELM
Là sản phẩm hỗ trợ các chức năng HIDS, đây là một sản phẩm được phân tích
so sánh dựa trên ELM Enterprise Manager Nó hỗ trợ việc kiểm tra thời gian thực, khảnăng hoạt động toàn diện và phương pháp báo cáo chi tiết
Cơ sở dữ liệu được bổ sung thêm để bảo đảm cơ sở dữ liệu của phần mềm được
an toàn Ðiều này có nghĩa là nếu cơ sở dữ liệu chính ELM offline thì ELM Server sẽ
Trang 22tự động tạo một cơ sở dữ liệu tạm thời để lưu dữ liệu cho đến khi cơ sở dữ liệu chínhonline trở lại.
Dưới đây là một số mô tả các tính năng về ELM Enterprise Manager 3.0
ELM hỗ trợ giao diện mô đun phần mềm MMC linh hoạt
Hỗ trợ việc kiểm tra tất cả các máy chủ Microsoft NET bằng cách kiểm tracác bản ghi sự kiện và bộ đếm hiệu suất
Hỗ trợ báo cáo wizard với phiên bản mới có thể lập lịch trình, ngoài ra còn
hỗ trợ các báo cáo HTML và ASCII
Quan sát tập trung các bản ghi sự kiện trên nhiều máy chủ
Client chỉ được kích hoạt Web trên trình duyệt hỗ trợ JavaScript và XML
Hỗ trợ giao diện kiến thức cơ sở
Hỗ trợ thông báo có thể thực thi wscripts, cscripts và các file CMD/BAT
Hỗ trợ cơ sở dữ liệu SQL Server và Oracle
Các truy vấn tương thích WMI cho mục đích so sánh
Ðưa ra hành động sửa lỗi khi phát hiện xâm nhập
1.6.3 SNORT
Snort là một sản phẩm tuyệt vời và nó đã được nhiều tổ chức, cơ quan, doanhnghiệp đưa vào hoạt động trong môi trường Unix Sản phẩm mới nhất được đưa ra gầnđây được hỗ trợ nền Windows nhưng vẫn còn một số chọn lọc tinh tế
Thứ tốt nhất có trong sản phẩm này đó là mã nguồn mở và không tốn kém mộtchút chi phí nào ngoại trừ thời gian và băng tần cần thiết để tải nó Giải pháp này đãđược phát triển bởi nhiều người và nó hoạt động rất tốt trên các phần cứng rẻ tiền, điều
đó đã làm cho nó có thể tồn tại được trong bất kỳ tổ chức nào
Dưới đây là những tính năng về sản phẩm này:
Hỗ trợ cấu hình hiệu suất cao trong phần mềm
Hỗ trợ tốt cho Unix
Hỗ trợ mã nguồn mở linh hoạt
Trang 23 Hỗ trợ mô đun quản lý tập trung
Hỗ trợ việc cảnh báo và phát hiện xâm nhập
Có các gói bản ghi
Phát hiện tấn công toàn diện
Các mô đun đầu ra tinh vi cung cấp khả năng ghi chép toàn diện
Hỗ trợ người dùng trên các danh sách mail và qua sự tương tác email
1.6.4 Cisco IDS
Giải pháp này là của Cisco, với giải pháp này chúng ta thấy được chất lượng,cảm nhận cũng như danh tiếng truyền thống của nó Dưới đây là những tính năng vềthiết bị này:
Các tính năng phát hiện chính xác làm giảm đáng kết các cảnh báo sai
Khả năng nâng cấp hoạt động kinh doanh giống như các sản phẩm củaCisco
Hệ thống phát hiện xâm phạm thời gian thực, báo cáo và ngăn chặn cáchành động trái phép
Việc phân tích mẫu dùng để phát hiện được thực hiện ở nhiều mức khácnhau
Cho hiệu suất mạng cao
Quản lý danh sách truy cập định tuyến động thích nghi kịp thời với hành vicủa kẻ xâm nhập
Quản lý GUI tập trung
Quản lý từ xa
Email thông báo sự kiện
1.6.5 Dragon
Một giải pháp toàn diện cho hoạt động kinh doanh Sản phẩm này rất đa năng
và có các yêu cầu bảo mật cần thiết trong môi trường hoạt động kinh doanh Nó cũng
hỗ trợ NIDS, quản lý máy chủ, quản lý sự kiện, kiểm tra tấn công
Trang 24Ðây là một giải phát IDS toàn diện, được thiết kế hoàn hảo cùng với việc kiểmtra tích hợp Tuy nhiên điểm yếu của sản phẩm này là ở chỗ giá cả của nó
Dưới đây là những tính năng về Dragon:
Dragon hỗ trợ cả NIDS và HIDS
Hỗ trợ trên một loạt nền tảng Windows, Linux, Solaris và AIX
Ðược mô đun hóa và có thể mở rộng
Kiểm tra quản lý tập trung
Phân tích và báo cáo toàn diện
Khả năng tương thích cao với các chi tiết kỹ thuật trong hoạt động kinhdoanh
Kiểm tra bảo mật hiệu quả, tích hợp các switch, firewall và router
Quản lý biên dịch báo cáo
Có chu kỳ cập nhật chữ ký hoàn hảo
Trang 25CHƯƠ NG II: TỔNG QUAN VỀ IPTABLES & SNORT_INLINE
2.1 Tổng quan về Firewall
Hiện nay internet ngày trở nên phổ biến và việc kết nối hầu như đã trở nên quenthuộc với nhiều người từ các máy tính đơn đến các hệ thống mạng của các tổ chức, cơquan, doanh nghiệp
Vấn đề đặt ra là nếu các máy tính hệ thống này không được bảo vệ thì sẽ trởthành mục tiêu cho hacker xâm nhập Do đó nhiều tính năng bảo mật đã được pháttriển nhằm hạn chế sự xâm nhập trái phép của hacker trong đó đáng chú ý là Firewall
Firewall là thiết bị nhằm ngăn chặn sự truy nhập không hợp lệ từ mạng ngoàivào mạng trong Hệ thống firewall thường bao gồm cả phần cứng và phần mềm
Firewall thường được dùng theo phương thức ngăn chặn hay tạo các luật đốivới các địa chỉ khác nhau, có chức năng quản lý lưu lượng thông tin giữa internet và
hệ thống mạng cá nhân
Firewall có thể chia hệ thống mạng nội bộ thành hai hay nhiều phần khác nhau
và điều khiển việc trao đổi dữ liệu giữa các vùng này
Các chức năng cơ bản của firewall:
Chức năng chính của Firewall là kiểm soát luồng thông tin giữa mạng cần bảo
vệ (Trusted Network) và Internet thông qua các chính sách truy nhập đã được thiết lập.Cho phép hoặc cấm các dịch vụ truy nhập từ trong ra ngoài và từ ngoài vào trong.Kiểm soát địa chỉ truy nhập, và dịch vụ sử dụng
Kiểm soát khả năng truy cập người sử dụng giữa hai mạng Kiểm soát nội dungthông tin truyền tải giữa hai mạng Ngăn ngừa khả năng tấn công từ các mạng ngoài
Xây dựng firewall là một biện pháp khá hữu hiệu, nó cho phép bảo vệ và kiểmsoát hầu hết các dịch vụ, do đó được áp dụng phổ biến nhất trong các biện pháp bảo vệmạng
Thông thường, một hệ thống firewall là một cổng (gateway) giữa mạng nội bộgiao tiếp với mạng bên ngoài và ngược lại
Trang 26Hình 0-3 Mô hình Firewall
2.2 Phân loại firewall
Có khá nhiều loại firewall, mỗi loại có những ưu và nhược điểm riêng Tuynhiên để thuận tiện cho việc nghiên cứu người ta chia hệ thống làm hai loại chính:Packet filtering và Application-proxy firewall
• Pac k et f il terin g : là hệ thống firewall cho phép chuyển thông tin giữa hệ thống
trong và ngoài mạng có kiểm soát
• A p p l ic a t i on - p r ox y f i r e w a l l : là hệ thống firewall thực hiện các kết nối thay
cho các kết nối trực tiếp từ máy khách yêu cầu
2.2.1 Packet Filtering
Firewall chung nhất là kiểu dựa trên mức mạng của mô hình OSI Firewallmức mạng thường hoạt động theo nguyên tắc router, có nghĩa là tạo ra các luật chophép quyền truy nhập mạng dựa trên mức mạng Mô hình này hoạt động theo nguyêntắc lọc gói tin (packet filtering)
Ở kiểu hoạt động này các gói tin đều được kiểm tra địa chỉ nguồn nơichúng xuất phát Sau khi địa chỉ IP nguồn được xác định thì nó được kiểm tra vớicác luật đã được đặt ra trên router
Trang 27Ví dụ người quản trị firewall quyết định rằng không cho phép bất kỳ một góitin nào xuất phát từ mạng google.com được kết nối với mạng trong thì các gói tinxuất phát từ mạng này sẽ không bao giờ đến được mạng trong.
Các firewall hoạt động ở lớp mạng (tương tự như một router) thường chophép tốc độ xử lý nhanh bởi nó chỉ kiểm tra địa chỉ IP nguồn mà không có một lệnhthực sự nào trên router, nó không cần một khoảng thời gian nào để xác định xem
là địa chỉ sai hay bị cấm Nhưng điều này bị hạn chế bởi tính tin cậy của nó
Kiểu firewall này sử dụng địa chỉ IP nguồn làm chỉ thị, điểu này tạo ra một lỗhổng là nếu một gói tin mang địa chỉ nguồn là địa chỉ giả thì như vậy nó sẽ có đượcmột số mức truy nhập vào mạng bên trong
Tuy nhiên có nhiều biện pháp kỹ thuật có thể được áp dụng cho việc lọc góitin nhằm khắc phục yếu điểm này Ví dụ như đối với các công nghệ packet filteringphức tạp thì không chỉ có trường địa chỉ IP được kiểm tra bởi router mà còn cócác trường khác nữa được kiểm tra với các luật được tạo ra trên firewall, cácthông tin khác này có thể là thời gian truy nhập, giao thức sử dụng, port…
Firewall Packet Filt e r i n g có thể đ ư ợ c p h â n t h à n h hai l o ạ i:
• Packet filtering firewall: hoạt động tại lớp mạng của mô hình OSI hay lớp
IP trong mô hình giao thức TCP/IP
Hình 0-4 Packet filtering firewall
Trang 28• Circuit level gateway: hoạt động tại lớp phiên (session) của mô hình OSI hay
lớp TCP trong mô hình giao thức TCP/IP
Hình 0-5 Circuit level gateway
2.2.2 Application-proxy firewall
Firewall này hoạt động dựa trên phần mềm Khi một kết nối từ một ngườidùng đến mạng sử dụng firewall thì kết nối đó sẽ bị chặn lại, sau đó firewall sẽkiểm tra các trường có liên quan của gói tin yêu cầu kết nối
Nếu việc kiểm tra thành công các trường thông tin đáp ứng được các luật đãđặt ra trên firewall thì firewall sẽ tạo một cầu kết nối giữa hai node với nhau
Ưu điểm của kiểu firewall này là không có chức năng chuyển tiếp các góitin IP, hơn nữa ta có thể điểu khiển một cách chi tiết hơn các kết nối thông quafirewall Đồng thời nó còn đưa ra nhiều công cụ cho phép ghi lại các quá trình kếtnối
Tất nhiên điều này phải có nhược điểm bởi tốc độ xử lý, bởi vì tất cả cáckết nối cũng như các gói tin chuyển qua firewall đều được kiểm tra kỹ lưỡng vớicác luật trên firewall và nếu được chấp nhận sẽ được chuyển tiếp tới node đích
Sự chuyển tiếp các gói tin IP xảy ra khi một máy chủ nhận được một yêucầu từ mạng ngoài rồi chuyển chúng vào mạng trong Điều này tạo ra một lỗ hổngcho các kẻ phá hoại (hacker) xâm nhập từ mạng ngoài vào mạng trong Firewall
Trang 29Application-proxy có thể được phân thành hai loại: Application level gateway và
Stateful multilayer inspection firewall.
• Appl i ca t i o n l evel gatewa y : Tính năng tương tự như loại circuit-level
gateway nhưng lại hoạt động ở lớp ứng dụng trong mô hình giao thức TCP/IP
Hình 0-6 Application level gateway
• Statef u l m ultil a yer ins p e c ti o n firewall:
Đây là loại kết hợp được các tính năng của các loại firewall trên: Lọc các góitại lớp mạng và kiểm tra nội dung các gói tại lớp ứng dụng
Firewall loại này cho phép các kết nối trực tiếp giữa các client và các host nêngiảm được các lỗi
Stateful multilayer inspection firewall cung cấp các tính năng bảo mật cao vàlại trong suốt đối với các end users
Trang 30Hình 0-7 Stateful multilayer inspection firewall
2.3 Tổng quan về Iptables
Để xây dựng Firewall cho một hệ thống mạng chi phí thường rất cao nếu chúng
ta mua những sản phẩm thương mại Iptable là phần mềm mã nguồn mở miễm phí,tích hợp sẵn trên hệ điều hành Linux, có thể triển khai trên hệ thống mạng vừa và nhỏ
Ban đầu Firewall/NAT chạy trên Linux là Ipchains nhưng do thiếu sót lỗi vềmặt kỹ thuật chạy không ổn định Tổ chức Netfilter quyết định viết ra phần mềm khắcphục những lỗi đó và sản phẩm Iptable được ra đời nhằm tăng tính năng lọc gói tin,bảo mật trên hệ thống Linux Tích hợp tốt trên nhân Linux (Kernel Linux), thiết kếmô-đun cụ thể nâng cao tốc độ và độ tin cậy, có khả năng phân tích gói tin hiệu quả.Iptables lọc gói tin dựa trên địa chỉ MAC và các giá trị của những cờ hiệu trong phầnđầu TCP header của gói tin Điều này là hữu ích trong việc phòng chống các cuộc tấncông bằng cách sử dụng các gói dữ liệu bị thay đổi và hạn chế truy cập đến máy chủlocal từ những máy chủ khác có cùng địa chỉ IP
Iptables cung cấp chi tiết các tùy chọn để ghi nhận các sự kiện xảy ra trong hệthống, cung cấp kỹ thuật NAT NAT từ trong nội bộ ra ngoài và ngược lại Có khảnăng ngăn chặn một số cơ chế tấn công theo kiểu từ chối dịch vụ (DoS)
Trang 312.3.1 Các tính năng của Iptables
Tích hợp tốt trên Linux kernel, để cải thiện sự tin cậy và tốc độ chạy iptables.Quan sát kỹ tất cả các gói dữ liệu, điều này cho phép firewall theo dõi mỗi một kếtnối thông qua nó và xem xét nội dung của từng luồng dữ liệu để từ đó xử lý bước tiếptheo sử dụng các giao thức Điều này rất quan trọng trong việc hỗ trợ các giao thứcFTP, DNS …
Lọc gói dựa trên địa chỉ MAC và các cờ trong TCP header Điều này giúp ngănchặn việc tấn công bằng cách sử dụng các gói dị dạng (malformed packets) và ngănchặn việc truy cập từ nội bộ đến một mạng khác bất chấp IP của nó
Ghi chép hệ thống (System logging) cho phép việc điều chỉnh mức độ của báocáo Hỗ trợ việc tính hợp các chương trình Web proxy như Squid Ngặn chặn các kiểutấn công từ chối dịch vụ
2.3.2 Cơ chế hoạt động Iptables
Tất cả mọi gói dữ liệu đều được kiểm tra bởi iptables, quá trình kiểm trađược thực hiện một cách tuần tự dùng các bảng xây dựng sẵn (queues)
Có ba loại bảng trong Iptables gồm:
Output Lọc gói đi ra khỏi firewall
NAT
NetworkAddressTranslation( Biên dịch địachỉ mạng ) Prerouting
Việc thay đổi địa chỉ diễn ratrước khi định tuyến Thay đổiđịa chỉ đích sẽ giúp gói dữ liệuphù hợp với bảng định tuyếncủa firewall Sử dụngdestination NAT hay DNATViệc thay đổi địa chỉ diễn ra
Trang 32Postrouting sau khi định tuyến Sử dụng
source NAT hay SNATOutput NAT sử dụng cho các gói dữ
liệu xuất phát từ firewall
Mangle
Chỉnh sửa TCPheader
PreroutingPostrouting Output
Input Forward
Điều chỉnh các bit quy địch chấtlượng dịch vụ trước khi dẫnđường
Bảng 0-1 Bảng các chức năng của queue và chain
Mangle table: Chịu trách nhiệm thay đổi các bits chất lượng dịch vụ trong TCP
header như: TOS (type of service), TTL (time to live), và MARK
Filter queue: Chịu trách nhiệm thiết lập bộ lọc (packet filtering) Nó gồm có ba
quy tắc nhỏ (chain) để thiết lập các nguyên tắc lọc gói, bao gồm:
Forward chain: Lọc gói khi đi đến đến các server khác.
Input chain: Lọc gói khi đi vào trong server.
Output chain: Lọc gói khi ra khỏi server.
NAT queue: Thực hiện chức năng NAT (Network Address Translation) gồm có hai
loại:
• P r e - r ou ti n g c h ai n : NAT từ ngoài vào trong nội bộ Quá trình NAT sẽ thực
hiện trước khi thực thi cơ chế định tuyến (routing) Điều này thuận lợi choviệc đổi địa chỉ đích để địa chỉ tương thích với bảng định tuyến củafirewall, được gọi là NAT đích destination NAT hay DNAT
• P os t -ro u t i n g c h ai n : NAT từ trong ra ngoài Quá trình NAT sẽ thực hiện sau
khi thực hiện cơ chế định tuyến, quá trình này nhằm thay đổi địa chỉ nguồncủa gói tin Kỹ thuật này được gọi là NAT one-to-one hoặc many-to-one,được gọi là Source NAT hay SNAT
Trang 332.3.3 Jumps và Targets
Jump: Là cơ chế chuyển một packet đến một target nào đó để xử lý thêm một
số thao tác khác
Target: Là cơ chế hoạt động trong Iptables, dùng để nhận diện và kiểm tra
packet Các target được xây dựng sẵn trong iptables như:
• ACCEPT: Iptables chấp nhận chuyển data đến đích.
• DROP: Iptables khóa những packet.
• LOG: T hông tin của packet sẽ gởi vào syslog daemon iptables tiếp tục
xử lý luật tiếp theo trong bảng mô tả luật Nếu luật cuối cùng không match
thì sẽ drop packet Với tùy chọn thông dụng là log-prefix=”string”, tức iptables sẽ ghi nhận lại những message bắt đầu bằng chuỗi “string”.
• REJECT: Ngăn chặn packet và gửi thông báo cho lại cho người gửi Với
tùy chọn thông dụng là reject-with qualifier, tức qualifier chỉ định loại reject message sẽ được gởi lại cho người gởi Các loại qualifier sau: icmp-
port-unreachable (default), icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable…
• DNAT: Thay đổi địa chỉ đích của packet Tùy chọn là to-destination
ipaddress.
• SNAT: Thay đổi địa chỉ nguồn của packet Tùy chọn là to-source
<address>[- address][:<port>-<port>]
• MASQUERADING: Được sử dụng để thực hiện kỹ thuật NAT (giả mạo
địa chỉ nguồn với địa chỉ của interface của firewall) Tùy chọn là
[ to-ports <port>[-<port>]], chỉ định dãy port nguồn sẽ ánh xạ với dãy port
ban đầu
2.3.4 Các tùy chọn để thao tác với luật
Iptable command Mô tả
-t <-table-> Chỉ định bảng cho iptables bao gồm: filter, nat, mangle
tables Mặc định iptable chọn filter-j <target> Nhảy đến một target chain khi packet thỏa luật hiện tại
-A Thêm luật vào cuối iptables chain
-F Xóa tất cả các luật trong bảng lựa chọn
Trang 34-p <protocol-type> Mô tả các giao thức bao gồm: icmp, tcp, udp và all
-s <ip-address> Chỉ định địa chỉ nguồn
-d<ip-address> Chỉ định địa chỉ đích
-i<interface-name> Chỉ định “input” interface nhận packet
-o<interface-name> Chỉ định “output” interface chuyển packet ra ngoài
Bảng 0-2 Bảng mô tả về Iptables command switch
2.4 Tìm hiểu các câu lệnh và thiết lập luật trong Iptables
1.6.6 Sử dụng chain tự định nghĩa
Thay vì sử dụng các chain đã được xây dựng trong iptables, chúng ta có thể
sử dụng User Defined chains để định nghĩa một chain name mô tả cho tất cảprotocol-type cho packet
Chúng ta có thể sử dụng User Defined chains thay thế chain, bằng cách sửdụng chain chính chỉ đến nhiều chain con
Một số ví dụ:
# iptables -A INPUT -i eth0 -d 192.168.0.38 -j fast-input-queue
# iptables -A OUTPUT -o eth0 -s 192.168.0.38 -j fast-output-queue
# iptables -A fast-input-queue -p icmp -j icmp-queue-in
# iptables -A fast-output-queue -p icmp -j icmp-queue-out
# iptables -A icmp-queue-out -p icmp icmp-type echo-request \-m state state NEW-j ACCEPT
# iptables -A icmp-queue-in-p icmp icmp-type echo-reply \-m state state NEW -jACCEPT
INPUT Được xây dựng trong INPUT chain trong bảng iptables
OUTPUT Được xây dựng trong OUTPUT chain trong bảng iptablesfast-input-queue Input chain tách riêng biệt để hỗ trợ cho những giao thức đặc
biệt và chuyển các gói đến những protocol specific chains.fast-output-queue Output chain tách riêng biệt để hỗ trợ cho những giao thức đặc
biệt và chuyển các gói đến những protocol specific chains.icmp-queue-out lệnh output tách riêng cho giao thức ICMP
Trang 35Bảng 0-3 Bảng danh sách các lệnh (Queue)
2.4.1 Lưu và phục hồi lại những script cấu hình trong Iptables
Lệnh service iptables save để lưu trữ cấu hình iptables trong file
/etc/sysconfig/iptables Khi chúng ta khởi động lại thì chương trình iptables-restore
sẽ đọc lại file script này và kích hoạt lại thông tin cấu hình
Để có thể phục hồi script khi mất script file Đầu tiên, chúng ta phải lưuscript lại dùng lệnh:
Cuối cùng, chúng ta dùng lệnh để lưu trữ lại các luật vào file cấu hình:
# service iptables save
2.4.2 Ý nghĩa của một số luật cơ bản trong Iptables
:INPUT ACCEPT [0:0] : Default rule của các gói tin đi vào
:FORWARD ACCEPT [0:0] : Default rule của các gói tin từ firewall đi ra
:OUTPUT ACCEPT [0:0]: Default rule của các gói tin đi ra
-A INPUT -j RH-Firewall 1-1 INPUT : Luật đầu tiên, yêu cầu jump đến, do hệ thống
tự định nghĩa tên RH-Firewall 1-1 INPUT
-A INPUT -j RH-Firewall 1-1 INPUT -i lo -j ACCEPT : Cho phép tất cả user bênngoài được phép truy cập đến card loopback Nếu thông tin không phải truy xuất đếncard loopback, thì chương trình sẽ truy xuất đến rule kế tiếp
-A RH-Firewall 1-1 INPUT -p icmp icmp-type any -j ACCEPT: Kiểm soát ping, bênngoài có thể ping vào hệ thống cục bộ hay không nếu như ta cho phép ACCEPT chấpnhận
Trang 36Nguyên lý xử lý của các luật Đầu tiên hệ thống sẽ xử lý luật đầu tiên, nếu thỏa mãnmột trong các điều kiện như ACCEPT chấp nhận, DROP loại bỏ, REJECT từ chối, thìthực thi Nếu không thỏa mãn hệ thống sẽ chuyển qua tập luật thứ hai và cứ tiếp tụcnhư vậy cho đến tập lệnh cuối cùng.
-A RH Firewall 1-1 INPUT -j REJECT reject-with icmp-host-prohibited
-A RH Firewall 1-1 INPUT -m state state ESTABLISHED,RELATED -j: Cho phépfirewall được thiết lập kết nối đi ra và chấp nhận các gói được yêu cầu trả về khifirewall thiết lập kết nối
-A RH Firewall 1-1 INPUT -m state state NEW -m tcp -p tcp dport 110 -jACCEPT: Cho phép tất cả những người bên ngoài truy xuất vào port 110 ứng dụngpop3
-A RH Firewall 1-1 INPUT -m state state NEW -m tcp -p tcp dport 22 -j ACCEPT:Cho phép tất cả những người bên ngoài truy xuất vào port 22 ứng dụng SSH
-A RH Firewall 1-1 INPUT -m state state NEW -m tcp -p tcp dport 25 -j ACCEPT:Cho phép tất cả những người bên ngoài truy xuất vào port 25 ứng dụng mail SMTP.-A RH Firewall 1-1 INPUT -m state state NEW -m tcp -p tcp dport 80 -j ACCEPT:Cho phép tất cả những người bên ngoài truy xuất vào port 80 ứng dụng web
-A RH Firewall 1-1 INPUT -m state state NEW -m tcp -p tcp dport 443 -jACCEPT: Cho phép tất cả những người bên ngoài truy xuất vào port 443 ứng dụnghttps
2.5 Firewall and Logging
Logging là một cơ chế vô cùng quan trọng trong firewall, cung cấp các thôngtin về quá trình sử dụng Thông qua cơ chế logging, người quản trị sẽ nắm rõ tìnhtrạng hiện tại của hệ thống mạng và đây cũng là phương thức duy nhất để firewallthông báo cho người quản trị biết những gì đang diễn ra bên trong hệ thống
Có hai phương thức logging là Syslog logging và Proprietary logging
2.5.1 The syslog protocol
Syslog protocol là phương thức cung cấp message nhắc nhở trong hệ thốngmạng Định nghĩa trong RFC 3164, sử dụng giao thức UDP port 514 Với UDP, syslog
Trang 37có nhiều thuận lợi vì là kết nối không lưu trạng thái (không yêu cầu nhiều tài nguyên)
do đó đôi khi kết quả syslog không đáng tin cậy, thường mất message
Để cải thiện vấn đề trên, nhiều thiết bị hỗ trợ syslog chạy trên TCP nhằm đảmbảo gói tin không bị mất
Logging facility code Logging facility description
4 Security authorization messages
5 Messages geberated internally by syslog daemon
Bảng 0-4 Cấp độ logging facility của syslog
Syslog message sử dụng logging facility và severity level phân chia các cấp độlogging về hệ thống nhằm quyết định message sẽ được gửi đến đâu và tầm quan trọngcủa nó
Các cấp độ được xếp theo mức độ quan trọng từ cao nhất tới thấp Qui luật tổngquát là đầu tiên cài đặt syslog chỉ ghi nhận Information level message và sau đó tùytheo nhu cầu mà cài đặt hệ thống logging message
Trang 38Lý do là mức độ quan trọng càng thấp thì càng nhiều message được sinh ra dẫn đếnảnh hưởng hiệu suất của hệ thống, người quản trị phải cài đặt mức độ bảo mật phù hợpvới hệ thống của mình.
2.5.2 Proprietary logging methods
Các phương thức logging độc quyền (proprietary logging) là các phương thứclogging tiêu chuẩn mà firewall không có cài đặt syslog sử dụng được phát triển bởiOpen Platform for Security - Logging Export API (OPSEC LEA)
Về cơ bản thì OPSEC LEA tương tự như syslog, cần cài đặt một logging server
để ghi nhận thông tin bằng các thủ tục riêng biệt
Đối với các firewall như ISA Server sử dụng phần lớn các phương thức loggingriêng biệt để ghi nhận các sự kiện vào cơ sở dữ liệu, ví dụ như MSDE và SQLdatabase
Một trong những ưu thế của hệ thống logging này là khả năng có thể tổng hợp
và thực hiện các lệnh truy vấn khác nhau dựa vào dữ liệu trong database, cung cấphàng loạt tính năng tạo report linh hoạt
2.6 Firewall log review and analysis
2.6.1 Tổng quan
Để hỗ trợ cho việc phân tích các file log, nhiều công cụ hỗ trợ quản trị firewallcho phép người quản trị phân tích các file log và ghi nhận các thông tin cần thiết nhằmxác định vấn đề đang gặp phải
Một khía cạnh khác là các file logs cần được thiết lập một chính sách lưu trữthường xuyên Điều này đưa đến một vấn đề là dữ liệu nào trong file log là cần thiếtbởi các file log sẽ bị xóa, nghĩa là chuyển các file này thành một định dạng tiêu chuẩncho phép xem các dữ liệu từ các nguồn khác nhau (ví dụ từ các firewall khác)
2.6.2 Các thông tin sự kiện từ file log
Sau khi có được các file log từ firewall và bắt đầu phân tích, điều quan trọng làđừng lúc nào cũng quan tâm đến các sự kiện xấu
Trang 39Thực tế các file log này là chìa khóa dùng để tìm ra các vấn đề liên quan đếnbảo mật và là công cụ duy nhất dùng để phân tích Đồng thời cũng có thể sử dụng cácthông tin này hỗ trợ hoạt động cho firewall
Sau cùng cách thức dễ nhất tìm ra các phương thức xấu là nhận biết các phươngthức tốt sau đó dùng cách loại trừ Có mười sự kiện cơ bản:
+ Authenfication Allowed: Nghe có vẻ vô ích, nhưng thật sự vô cùng quan trọng
trong việc xác định sự kiện về xác thực được cho phép bởi nó có thể xác nhận firewall
đã cho phép các truy cập ở đâu trong khi nó có thể bị từ chối Lý do là trong khi nhữngadmin hợp lệ đăng nhập thì không cho phép người dùng bất hợp pháp sử dụng account
và password mà admin đang dùng Hơn nữa nếu firewall được cấu hình để xác thựcngười dùng truy xuất thì các thông tin này có thể được dùng để xác thực các user đãđược xác thực và các ứng dụng mà họ đã dùng
+ Traffic Dropped (không nằm tại firewall): Hầu hết firewall bảo vệ một số tài
nguyên nhất định Các luồng địa chỉ tới các server này đều được firewall theo dõi vàlọc kỹ Dù vậy gói tin traffic dropped ghi nhận những ai truy xuất vào hệ thống tàinguyên có thể không giống những gì mà người quản trị đã cài đặt, đây chỉ là một lỗicấu hình thông thường Do đó, nếu user không thể truy cập vào tài nguyên thì cần xemlại các file log để biết được firewall đã đánh rớt luồng dữ liệu nào, dựa vào đó khaibáo lại đường đi sẽ giải quyết được vấn đề này
+ Firewall Stop/Start/Restart: Mặc định firewall không bao giờ dừng hay khởi
động lại mà không thông qua admin Tuy nhiên một số trường hợp cũng có thể xảy ranhư mất điện hay hệ thống bị treo hay do bị tấn công Do đó cần ghi nhận logging đểbiết rõ nguồn gốc vấn đề
+ Firewall Configuration Changed: Cấu hình của firewall khi ðýợc thay ðổi cần
phải tùy chỉnh các tài liệu ðiều khiển cho phù hợp Nhằm ðảm bảo các thay ðồi là hợp
lệ và hỗ trợ cho vấn ðề xảy ra về sau
Trang 40+ Interface Up/Down Status Changed: Các cổng giao tiếp của firewall thay đổi
trạng thái từ up sang down hay ngược lại đều có thể dẫn đến vấn đề cấu hình của hệthống mạng Thông tin này sẽ hữu ích đối với hệ thống mạng có nhiều firewall bởi cáccổng giao tiếp mạng thay đổi trạng thái có thể dẫn đến tình trạng firewall xảy ra lỗi
+ Adminstrator Access Granted: Bất cứ khi nào người quản trị kết nối thành
công vào hệ thống thì thông tin này sẽ được ghi nhận Mặc dù tương tự như theo dõiviệc xác thực tuy nhiên vấn đề ở đây là người quản trị được quyền truy xuất Hầu hếtthì các truy xuất đều hợp lệ tuy nhiên nếu có trưởng hợp không hợp lệ xảy ra rủi ro thìcần phải kiểm tra log xem liệu việc tài khoản quản trị đó đã bị đánh cắp hay không
+ Authentication Failed: Diễn ra có thể là một user nào đó cố gắng nhập một
password nào đó bằng phương thức brute-force nhằm tìm ra password thật sự Sự kiệnxác nhận thất bại có thể do đăng nhập vào tài khoản riêng tư hay là các admin account
+ Traffic Dropped (Tại firewall): Tương tự như việc đánh rớt gói tại một server
nào đó, nhưng trường hợp này là ngay tại firewall Thông thường, firewall sẽ không cóbất kỳ một luồng dữ liệu nào trực tiếp tới nó qua các cổng giao tiếp bên ngoài thay vào
đó là tất cả các luồng sẽ được dẫn tới các hệ thống tài nguyên bên trong Sự kiện này
có thể là chỉ một user nào đó muốn đoạt quyền điều khiển firewall hoặc do lỗi cấuhình như ICMP hay IPSEC, do quản lý hay do các giao thức định tuyến
+ Administrator Session Ended: Tương tự như khi quyền đăng nhập admin được
cho phép, khi phiên làm việc của người quản trị kết thúc cũng cần theo dõi xem ngườiquản trị nào đã được phép đăng nhập Sự kiện này theo dõi thời gian cụ thể bởi chỉngười quản trị mới có thể thay đổi firewall và do đó các file log sẽ được phân tích kĩ
về thời gian sau khi phiên làm việc kết thúc nhằm xác định rõ những thay đổi đã diễn
ra trong hệ thống
+ Connection Was Torn Down: Việc ngắt kết nối sau quá trình định tuyến là bình
thường Tuy nhiên có một vài lí do ngắt kết nối là không bình thường Ví dụ như gói