1. Trang chủ
  2. » Luận Văn - Báo Cáo

FireWall

66 583 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 629,56 KB

Nội dung

Tài liệu tham khảo công nghệ thông tin FireWall

Trang 1

LỜI CẢM ƠN

Mở đầu cho đề tài tốt nghiệp này, em xin thành thật tỏ lòng kính trọng và biết ơn đến ban giám hiệu, cùng các thầy cô giáo đã giúp đỡ em, đặc biệt là thầy giáo

Nguyễn Văn Tam - Viện Công Nghệ Thông Tin, thầy Đào Văn Thành là

những thầy đã trực tiếp hướng dẫn em thực hiện đề tài tốt nghiệp này và đã cho em những chỉ dẫn và những kiến thức quý giá Em xin chân thành cảm ơn các thầy cô luôn sẵn sàng giúp đỡ và tạo mọi điều kiện tốt nhất cho em Cảm ơn bạn bè đã luôn quan tâm động viên cổ vụ giúp đỡ để em thực hiện tốt bài tập tốt nghiệp này.

Mặc dù có nhiều cố gắng bằng toàn bộ kiến thức để hoàn thành công việc, xong thời gian có hạn và kinh nghiệm kiến thức chưa nhiều nên việc trình bày, phân tích, xây dựng chương trình có nhiều thiếu sót cần được bổ xung Vì vậy, em rất mong nhận được ý kiến đóng góp của thầy cô và bạn bè để đề tài này được hoàn thiện hơn trong tương lai.

Hà Nội 6/2007

Người thực hiện

Nguyễn Tuấn Anh

Trang 2

LỜI NÓI ĐẦU

Từ xa xưa nhân loại đã tìm mọi cách để thông tin liên lạc với nhau, và đã phát minh ra nhiều phương cách thông tin liên lạc rất đa dạng và phong phú để cho việc chuyển tin tức từ nơi này sang nơi khác một cách thuận tiện và nhanh chóng Từ những phương cách thô sơ đơn giản như truyền miệng, đi bộ, đi ngựa, gửi qua chim bồ câu, qua thuyền bè… Cho tới những phương cách hiện đại hơn như máy radio, điện thoại và truyền hình, TV (television), vận chuyển thư từ bằng máy bay, gửi thư bằng điện tín v.v đã giúp cho việc thông tin liên lạc rất hữu hiệu và nhanh chóng.

Sự phát minh ra máy vi tính và sự hình thành của Mạng Lưới Thông Tin Toàn Cầu (Internet) đã mở ra một kỷ nguyên mới cho việc thông tin liên lạc Từ một máy vi tính nối vào Mạng Lưới Thông Tin Toàn Cầu (WWW) người sử dụng có thể gửi và nhận tin tức từ khắp nơi trên thế giới với khối lượng tin tức khổng lồ và thời gian tối thiểu thông qua một số dịch vụ sẵn có trên Internet.

Tuy nhiên việc làm này đã làm phát sinh những vấn đề khá quan trọng Đó là việc quản lý các tài nguyên thông tin của mình, bao gồm nguồn thông tin (các thông tin về một doanh nghiệp, một tổ chức hay là của một quốc gia nào đó) và việc bảo vệ chống lại sự truy cập bất hợp pháp Từ đây nảy sinh ra một yêu cầu đó là cần có một giải pháp hoặc một hệ thống an ninh bảo vệ cho hệ thống mạng và luồng thông tin chạy trên nó.

Một trong các giải pháp chính và tốt nhất hiện nay là đưa ra khái niệm Firewall và xây dựng nó để giải quyết những vấn đề này.

Thuật ngữ “Firewall” có nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để ngăn chặn và hạn chế hoả hoạn Trong Công nghệ mạng thông tin, Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống lại sự truy cập trái phép nhằm bảo vệ nguồn thông tin nội bộ cũng như hạn chế sự xâm nhập vào hệ thống của một số thông tin khác không mong muốn Có hai loại kiến trúc FireWall cơ bản là: Proxy/Application FireWall và filtering gateway Firewall Hầu hết các hệ thống Firewall hiện đại là loại lai (hybrid) của cả hai loại trên.

Nhiều công ty và nhà cung cấp dịch vụ Internet sử dụng máy chủ Linux như một Internet gateway Những máy chủ này thường phục vụ như máy chủ mail, web, ftp, hay dialup Hơn nữa, chúng cũng thường hoạt động như các Firewall, thi hành các chính sách kiểm soát giữa Internet và mạng của công ty Khả năng uyển chuyển, tính kinh tế, và sự bảo mật cao khiến cho Linux thu hút như là một

Trang 3

Tính năng Firewall chuẩn được cung cấp sẵn trong kernel của Linux được xây dựng từ hai thành phần : Ipchains và IP Masquerading.

Linux IP Firewalling Chains là một cơ chế lọc gói tin IP Những tính năng của IP Chains cho phép cấu hình máy chủ Linux như một filtering gateway/firewall dễ dàng Một thành phần quan trọng khác của nó trong kernel là IP Masquerading, một tính năng chuyển đổi địa chỉ mạng (network address translation- NAT) mà có thể che giấu các địa chỉ IP thực của mạng bên trong.

Ngoài ra trong kernel của Linux 2.4x và 2.6x cũng có một Firewall ứng dụng lọc gói tin có thể cấu hình ở mức độ cao Netfilter/Iptables.

Netfilter/Iptable gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân Netfilter cho phép cài đặt, duy trì và kiểm tra các quy tắc lọc gói tin trong Kernerl Netfilter tiến hành lọc các gói dữ liệu ở mức IP Netfilter làm việc nhanh và không làm giảm tốc độ của hệ thống Được thiết kế để thay thế cho linux 2.2.x Ipchains và linux 2.0.x ipfwadm, có nhiều đặc tính hơn Ipchains và được xây dựng hợp lý hơn IpTables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfilter xử lí Chương trình Iptables được dùng để quản lý các quy tắc lọc gói tin bên dưới cơ sở hạ tầng của Netfilter.

Các ứng dụng của Iptables đó là làm IP Masquerading, IP NAT và IP Firewall.

Tài liệu này được viết ra nhằm đem đến cho mọi người cái nhìn rõ nét về FireWall và đặc biệt là FireWall Iptables của Linux Nội dung chính của tài liệu gồm 3 Chương và 1 Phụ lục.

Chương I: Các mối đe dọa an ninh mạng và một số giải phápChương II:Tổng quan firewall

Chương III: Iptable trong linux

Chương IV: Ứng dụng của iptable trong linux

Phụ Lục A: Danh sách các từ viết tắt trong tài liệu này hoặc có liên quan.

Trang 4

CHƯƠNG I: CÁC MỐI ĐE DỌA AN MẠNG VÀ MỘT SỐ GIẢI PHÁP1.1 Tầm quan trọng của bức tường lửa

Ngày nay qua mạng Internet, chúng ta có thể truy nhập tới mọi nơi trên thế giới thông qua một số dịch vụ, khi ngồi trước máy vi tính con người có thể biết mọi thông tin trên toàn cầu, có thể giải trí, con người có thể kinh doanh tiếp thị trên toàn cầu và tiếp cận đươc khối lượng thông tin khổng lồ, luôn cập nhật trong thời gian tương đối nhanh Tuy nhiên, cùng với những lợi ích mà Internet đem lại thì vấn đề an ninh mạng cần được đưa ra xem xét một cách nghiêm túc vì khi tham gia vào mạng có rất nhiều nguy hiểm Nguy hiểm chính là các tin tặc trên Internet luôn rình rập để ăn trộm các thông tin.Vấn đề này là mối đe dọa lớn đối với mỗi cá nhân, một doanh nghiệp, một tổ chức hay một quốc gia về sự hư hỏng và mất mát thông tin.

Thông tin là sự sống còn của một doanh nghiệp, một tổ chức hay một quốc gia Do đó, chúng ta phải bảo vệ thông tin từ các mối đe dọa, một trong các giải pháp tốt nhất hiện nay là sử dụng bức tường lửa (firewall).

1.2 Đối tượng bảo vệ của bức tường lửa

Trong môi trường Internet có nhiều tổ chức, quốc gia cùng tham gia Do đó, nhu cầu bảo vệ thông tin trên Internet có thể chia làm 3 loại như sau:

- Tính sẵn sàng (Availability): Yêu cầu truy nhập thông tin vào đúng thời điểm cần thiết và ngăn ngừa việc nắm giữ thông tin và tài nguyên để hệ thống chứa các thông tin hoặc cung cấp các dịch vụ có khả năng truy cập được, đáp ứng các yêu cầu và tránh mất mát những thông tin quan trọng.

Trong các yêu cầu này, thì tính bí mật là quan trọng nhất đối với thông tin lưu trữ trên mạng Tuy nhiên, khi thông tin này không được bí mật thì tính toàn vẹn cũng rất quan trọng Không một cá nhân, một tổ chức nào lãng phí tài nguyên vật chất và thời gian để lưu trữ những thông tin mà không biết tính đúng đắn của thông tin đó

Trang 5

Mối đe dọa trên các tài nguyên này là ai đó xâm nhập vào mạng của chúng ta và sử dụng chúng như tài nguyên của chính họ.

Trong thực tế, trong các cuộc tấn công trên Internet, kẻ tấn công sau khi đã làm chủ hệ thống bên trong, có thể sử dụng những máy này để phục vụ cho lợi ích của mình như chạy các chương trình dò tìm mật khẩu người sử dụng, sử dụng các liên kết mạng sẵn có để tiếp tục tấn công các hệ thống khác…

1.2.3Bảo vệ uy tín, danh tiếng của công ty

Một phần lớn các cuộc tấn công không được thông báo rộng rãi, và là một trong những nguyên nhân là nỗi lo bị mất uy tín của cơ quan, đặc biệt là các công ty lớn và các cơ quan trong nội bộ nhà nước

Sự đe dọa này thể hiện ở chỗ một người nào đó xuất hiện trên Internet với định danh là mạng của chúng ta, thực hiện những gì mà qui ước quốc tế về lưu thông trên Internet cấm, hay gửi đi những thông tin không hợp pháp Hậu quả là ảnh hưởng tới uy tín của chúng ta, thậm chí cả tiền bạc.

1.3 Một số mối đe dọa an ninh mạng

Các mối đe dọa về bảo mật mạng có thể là con người và thiên nhiên (lũ lụt, động đất, hỏa hoạn, … ) nhưng phạm vi đề tài chỉ tập trung và khía cạnh con người.

Có hai cách tấn công theo mật khẩu

 Tấn công thô: là dùng tất cả các tổ hợp, các kí tự để làm mật khẩu vào mạng và thử truy nhập Tấn công này thường dùng cho mạng LAN

 Tấn công dùng từ điển: dự đoán một số từ khóa thông thường người ta hay dùng làm password Tấn công này thường dùng cho từ xa truy nhập vào mạng.

1.3.1.2 Tấn công theo phân tích mật khẩu:

Hầu hết trong các hệ điều hành đều lưu username và password Nhưng mỗi hệ điều hành có các cách lưu khác nhau Ví dụ, trong Window có file

Trang 6

etc/passwd và etc/shadow Trong các hệ điều hành thì hầu như password đều được mã hóa theo thuật toán DES và MD5 chứ nó không lưu bản rõ.

 Đối với Win 95,98 thì dùng thuật toán DES.

 Đối với Win NT và Win 2000 thì dùng thuật toán hàm băm MD4 sau đó sử dụng MD5.

Đối với Win 2000 sau này dùng Kerboros

Các thuật toán công khai như vậy thì người ta đều biết Thông thường biết mã và thuật toàn thì người ta giải mã được nhưng có một số thuật toán mà người ta giải mã rất khó như thuật toán DES thì người ta phải phá vài chục năm mới phá được (phương pháp này giống kiểu tấn công thô) Do đó, tin tặc sử dụng các kỹ thuật sau để tấn công:

Sử dụng wordlist:

Danh sách của những từ sử dụng như danh mục địa phương, danh mục họ tên của nước nào đó Đầu tiên dùng thuật toán mã hóa wordlist sau đó so sánh worslist đã mã với mật khẩu Có thể nói dùng phương pháp này cũng gần đi tới kết quả

Sử dụng chương trình giám điệp :

Tin tặc dùng chương trình này để copy các tệp mật khẩu Khi copy được các tệp mật khẩu thì nó cũng có thể thay đổi mật khẩu được Người dùng nên dùng password phức tạp để tin tặc tấn công khó hơn

1.3.2 Tấn công theo kiểu khai thác mạng:

Đầu năm 90 tin tặc đã sử dụng kỹ thuật tiếm quyền để khai thác mạng

1.3.2.1 Kỹ thuật làm tràn bộ đệm:

Kiểu bộ đệm có thể làm tràn bộ đệm trên ngôn ngữ lập trình, ví dụ trên ngôn ngữ lập trình C:

int f (int j ){

int i;

char buf [128]; gets (buf);}

chương trình chính gọi chương trình con thông qua stack và sử dụng push, pop.

Stack 100hĐịa chỉ byte

1000 4 j

996 4 return address992 4 i

Trang 7

… (1)

Return addressCT

CT Shell

(1) khoảng cách đó là tin tặc không biết trước nên tin tặc phải thử nhiều lần để biết return address cách bộ đệm bao nhiêu Khi biết khoảng các đó rồi thì phải viết địa chỉ vào để chương trình của tin tặc nhảy vào tiếp, nó không cần biết địa chỉ chính xác mà nó nhảy vào bất kỳ một NOP nào đó ( NOP không làm gì cả sau đó đến chương trình của tin tặc) Do các ngôn ngữ lập trình trỏ tới bộ đệm mà không giới hạn bộ đệm đó là bao nhiêu nên tin tặc dùng lỗ hổng để tấn công.

Tóm lại lỗ hổng kỹ thuật làm trần bộ đệm là kỹ thuật dễ dàng nhất để tin tặc tấn công vào mạng chiếm quyền điếu khiển.

1.3.2.2 Lỗi của Unicode:

Do đường dẫn URL bằng mã Unicode khi truy nhập mail hay web thì cũng phải qua Unicode để dẫn tới tài nguyên Nếu là mã của ASCII thì đường dẫn chỉ cho phép truy nhập vào nguồn tài nguyên đúng thư mục của server cung cấp cái thông tin đó

Trang 8

1.3.3.Tạo cửa hậu, xóa nhật ký:

Để tiếp tục tấn công vào lần sau (tấn công sau khi đã vào mạng)

 Nó xóa các cổng truyền thông tạo ra các cổng truyền thông mới (nếu cổng truyền thông server không cho phép thì tạo ra để cho phép).

 Tạo ra người sử dụng mới, người sử dụng có quyền quản trị.

 Cài các chương trình cho phép tin tặc từ xa có thể điều khiển được, thường điều khiển để lấy thông tin hoặc phá hoại.

 Ngụy trang để xóa hết tên tệp, thay đổi tên thư mục, thay đổi những lệnh mà người quản trị sử dụng để phát hiện truy nhập.

 Xóa tệp nhật ký để cho người quản trị không thấy được dấu vết đã truy nhập hoặc có thể thay đổi tệp đăng ký, thay đổi thời gian ghi nhật ký Ví dụ như khi truy nhập tuần này thì nó thay đổi thời gian là tuần trước (nhật ký tuần trước thì không thông báo) làm cho người quản trị không quản lí được.

Khắc phục:

 Một số tệp quan trọng của hệ thống thì phải được bảo vệ tính toàn vẹn của nó thông quan việc tạo ra các tóm lược và sau một thời gian nhất định thì phải kiểm tra tệp đó có toàn vẹn không.

 Đối với một số nhật ký quan trọng thì được sao chép lưu giữ, bảo vệ để tin tặc không thay đổi được.

 Luôn kiểm tra các cổng truyền thông để phát hiện tin tặc có truyền thông tin ra từ máy không

1.3.4 Tấn công từ chối dịch vụ

• SYN Fload:SYN3

CT tin

tặc server

Trang 9

SYN là yêu cầu của tin tặc gửi tới server

Đầu tiên tin tặc gửi yêu cầu tới server, khi server nhận được yêu cầu của tin tặc thì server trả lời cho tin tặc nhưng tin tặc lại không xác nhận trả lời của server (ACK) làm cho server chờ trả lời Khi server chờ hết thời gian Tout thì server buộc phải gửi yêu cầu hủy kết nối (RST/ACK) Khi tin tặc nhận được hủy kết nối thì tin tặc tiếp tục gửi tín hiệu SYN để yêu cầu kết nối và cứ như vậy server chỉ phục vụ cho tin tặc không phục được cái khác.

 Kết hợp các công cụ của hệ điều hành

*Tấn công UDP flood:

Tin tặc gửi rất nhiều UDP làm cho server không kịp sử lý

Khắc phục:

Sử dụng firewall, chỉ cho phép các dịch vụ UDP cần thiết buộc phải có như DNS, DHCP, SNMP Những gói UDP của các dịch vụ này thì bắt buộc phải cho vào mạng còn các gói UDP của các dịch vụ khác thì không cần thiết.

* Tấn công SMURF

Tấn công kiểu ICMP, thường sử dụng chế độ Broadcast (quảng bá) như thông tin Echo gửi thông tin quảng bá cho tất cả các máy và tất cả các máy gửi lại thông tin cho echo response Chính vì vậy, làm cho máy rất chậm có thể gây tê liệt hệ thống.

Khắc phục:

Cấu hình bức tường lửa để từ chối Broadcast từ các máy khác gửi đến.

.Tấn công Teardrop: Tin tặc chia gói tin thành nhiều mảnh và đánh địa

chỉ offset , số không theo trình tự làm cho router server bận rộn tức là làm cho server tê liệt vì không kịp sử lí gói tin đến

Trang 10

bomb thư cũng làm cho server tê liệt

1.3.5 Giả mạo địa chỉ IP:

Việc giả mạo địa chỉ IP có thể được thực hiện thông qua việc sử dụng khả năng dẫn đường trực tiếp Với cách tấn công này, tin tặc gửi các gói IP tới mạng bên trong với địa chỉ IP giả mạo (thông thường là địa chỉ của một mạng hoặc một máy được coi là an toàn đối với mạng bên trong), đồng thời phải chỉ rõ đường dẫn mà các gói tin IP phải gửi đi

1.3.6 Đùa nghịch, quấy rối:

Là do con người có tính tò mò, xâm nhập vào hệ thống tìm những thông tin mà họ thích thú Họ thường làm hỏng hệ thống do thiếu kiến thức hoặc cố gắng che dấu vết của họ.

1.3.7 Phá hoại:

Là những người cố ý phá hoại hệ thống thông tin mà họ muốn Những người này thường là họ bất bình trong môi trường làm việc của họ, hoặc do tính chất cạnh tranh nào đó Chúng có thể xóa dữ liệu hoặc làm hỏng thiết bị hệ thống mà chúng xâm nhập.

1.3.8 Gián điệp:

Là những người xâm nhập vào hệ thống và chỉ lấy những thông tin nào có giá trị lớn như các hệ thống tín dụng, ngân hàng…Khó phát hiện tức thời được, thường chúng lấy thông tin mà không để lại dấu vết.

1.3.9 Vô ý hay thiếu hiểu biết của con người:

Các tai họa hoàn toàn không phải do kẻ xấu làm nên, mà đa số là do những người chưa được đào tạo tốt về kiến thức máy tính nên không nhận thức được các mối nguy hiểm cho hệ thống và do những người quản trị hệ thống thiếu kinh nghiệm, hoặc lỗi của một chương chình ứng dụng…

1.3.10 Tấn công vào yếu tố con người:

Tin tặc liên lạc với người quản trị hệ thống, giả làm một người sử dụng để yêu cầu làm thay đổi mật khẩu, thay đổi quyền truy nhập của mình đối với hệ thống hoặc có thậm chí có thể làm thay đổi một số cấu hình của hệ thống để thực hiện các phương pháp tấn công khác Với kiểu tấn công này, không một thiết bị nào có thể ngăn chặn một cách hữu hiệu mà chỉ có một cách là giáo dục người sử dụng mạng nội bộ về những yêu cầu về bảo mật để đề cao cảnh giác với những hiện tượng đáng nghi ngờ Nói chung, con người là một điểm yếu trong bất kỳ hệ thống bảo vệ nào, chỉ có sự giáo dục và tinh thần hợp tác từ phía người sử dụng có thể nâng cao được hệ thống bảo vệ

Trang 12

CHƯƠNG II:TỔNG QUAN FIREWALL

2.1 Một số khái niệm :

-Nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để ngăn chặn hạn chế các hỏa hoạn, trong công nghệ thông tin, Firewall là một cơ chế đảm bảo an toàn cho mạng máy tính, nó bao gồm một hoặc nhiều những thành phần tạo lên bức tường lửa với mục đích để ngăn cản điều khiển các truy xuất giữa mạng bên ngoài với mạng nội bộ Bức tường lửa có thể là một server proxy, filter, hoặc phần cứng, phần mềm…để hiểu chi tiết hơn về bức tường lửa ta sẽ xem xét về các chức năng của bức tường lửa

- Về mặt vật lý, thường có sự khác nhau từ nơi này qua nơi khác.Thông thường Firewall là tập phần cứng sau : một router,một Host hay một tổ hợp nào đó của routers,máy tính và mạng có các phần mềm thích hợp

- Về mặt logic, Firewall là bộ tách(Separator) vì nó phân định một bên là mạng ngoài không an toàn và bên kia là mạng nội bộ cần được bảo vệ, là bộ tách(Restricter) vì nó ngăn chặn sự tấn công từ bên ngoài, là bộ phân tích(Analyzer) vì nó xem xét các gói thông tin vào ra để quyết định cho vào ra hay không.

- Về mặt tư tưởng nhằm giải quyết 2 công việc : Cửa khẩu(Gates) và chốt chặn(chokes) Cửa khẩu nhằm đảm bảo dữ liệu, dịch vụ thông suốt giữa các mạng Chốt chặn nhằm kiểm soát và ngăn chặn nguồn thông tin xác định nào đó vào ra mạng nội bộ.

-Nó kiểm soát người sử dụng truy cập giữa các mạng

-Kiểm soát theo nội dung truyền thông giữa mạng bên trong và mạng bên ngoài.

-Ngăn cản, chặn những tấn công từ bên ngoài vào bên trong nội bộ

Một vài từ ngữ sử dụng trong firewall có ý nghĩa sau

- Mạng nội bộ (Internal network): bao gồm các máy tính, các thiết bị mạng Mạng máy tính thuộc các đơn vị quản lý (Trường học, Công ty, Tổ chức đoàn thể, Quốc gia,…) cùng nằm một bên với firewall.

- Host bên trong (Internal Host): máy thuộc mạng nội bộ

Trang 13

- Host bên ngoài (External Host): máy bất kỳ kết nối vào liên mạng và không thuộc mạng nội bộ nói trên.

- “Nội bộ ”hay “bên trong” chỉ rõ thuộc đơn vị cùng một bên đối với firewall của đơn vị đó.

- Về vị trí: Firewall là nơi kiểm soát chặt chẽ và hạn chế về luồng thông

tin vào ra của một mạng nội bộ khi giao tiếp với các thành phần bên ngoài nó.- Về mục tiêu: nó ngăn cản đe dọa từ bên ngoài với những yêu cầu cần

được bảo vệ, trong khi vẫn đảm bảo các dịch vụ thông suốt qua nó.

Sơ đồ tổng quát của firewall

Figure2-1: sơ đồ tổng quát của firewall

2.2.1 Khả năng của hệ thống firewall

+ Một Firewall là một trung tâm quyết định những vấn đề an toàn: Firewall đóng vai trò là một chốt chặn, mọi dòng thông tin đi vào hay đi ra một mạng nội bộ đều phải qua nó theo các chính sách an toàn đã được cài đặt Tập trung kiểm soát chặt chẽ các dòng thông tin đó có lợi hơn là phân tán trên diện rộng.

+ Một firewall làm cho chính sách an toàn trở nên hiệu quả thực sự: Nhiều dịch vụ mà người sử dụng dịch vụ mong muốn vốn có những chỗ không an toàn Firewall chỉ cho đi qua sau khi đã kiểm nhận và được phép Mặt khác, firewall còn cho phép kiểm soát nghiêm ngặt mọi người sử dụng về quyền xâm nhập Internet Firewall có thể cấu hình đa dạng, nhiều mức khác nhau Do đó, Firewall có thể bảo đảm thích hợp cho một chính sách an toàn đã chọn.

+ Firewall có thể ghi nhận lại các giao tiếp với Internet rất hiệu quả: Như đã nói ở trên, mọi luồng thông tin vào hay ra mạng nội bộ đều phải qua Firewall Do đó, nó cung cấp một vị trí tốt nhất để tập hợp những thông tin về hệ thống và mạng đã dùng Ghi nhận điều gì xẩy ra trong giao tiếp giữa mạng nội bộ và bên ngoài Những thông tin đó rất quý giá cho những nguời có trách nhiệm quản lý.

Trang 14

+ Firewall có thể hạn chế được sự đổ vỡ của hệ thống bên trong: Firewall có thể tách một phần mạng nội bộ với các phần khác trong mạng nội bộ Làm điều này nhằm mục đích có những phần được ủy quyền nhiều hơn Do đó, hạn chế được những nguy hiểm xẩy ra hơn

+ Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không đi qua nó Một cách cụ thể, Firewall không thể chống lại một cuộc tấn công từ một đường dial-up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất hợp pháp lên đĩa mềm.

+ Firewall không thể bảo vệ chống lại những mối đe dọa mới phát sinh vì nó không thể tự động bảo vệ trước những mối đe dọa mới phát sinh Do đó, khi có những vấn đề mới cần cấu hình lại cho Firewall.

+ Firewall không thể bảo vệ chống lại virus Firewall hầu hết chỉ xem xét địa chỉ nơi gửi, nơi đến, số cổng của gói thông tin chứ không xem chi tiết phần dữ liệu ngay cả các phần mềm lọc gói thông tin Firewall không thể làm nhiệm vụ quét virus trên dữ liệu được chuyển qua nó do sự xuất hiện của các virus mới và do có rất nhiều cách để mã hóa dữ liệu thoát khỏi sự kiểm soát của Firewall Do đó, chống virus bằng Firewall là vấn đề không khả thi, vì có quá nhiều loại virus và có quá nhiều cách virus ẩn trong dữ liệu.

Tuy nhiên Firewall vẫn là giải pháp hữu hiệu nhất được áp dụng rộng rãi

2.3 Phân loại bức tường lửa (Firewall)

Firewall bao gồm các loại sau :

• Bức tường lửa lọc gói tin (packet-filtering router).

• Bức tường lửa ứng dụng (proxy).

2.3.1 Firewall lọc gói

Trang 15

Figure2-2: Firewall lọc gói

Bức tường lửa lọc gói làm việc ở tầng 3 đối với mô hình OSI Thông tin được đưa lên tầng 3 sau đó lại tiếp tục được chuyển đi Nếu thông tin được ở dưới tầng 3 thì bức tường lửa không thể kiểm soát được, ví dụ như mạng LAN không dây dữ liệu được truyền ở dưới tầng 3 Do vậy, bức tường lửa không thể kiểm soát được mà mạng LAN không dây phải dùng một phần mềm khác để bảo vệ và kiểm soát dữ liệu.

Bộ lọc gói cho phép hay từ chối mỗi gói mà nó nhận được Khi nhận được gói tin từ Internet, nó kiểm tra toàn bộ dữ liệu để quyết định xem đoạn dữ liệu đó có thỏa mãn một trong các luật lệ của gói đặt ra hay không Các luật lệ này là dựa trên thông tin ở đầu mỗi gói (packet header).

Thông tin của ở đầu gói tin bao gồm:

SA DA Port Get Index html- SA (Source Address): địa chỉ IP nguồn

- DA(Destination Address): địa chỉ IP đích

(Nếu đi từ bên trong ra bên ngoài thì địa chỉ nguồn là ở bên trong mạng nội bộ còn địa chỉ đích là bên ngoài Nếu đi từ bên ngoài vào bên trong thì địa chỉ nguồn sẽ là ở bên ngoài còn địa chỉ đích sẽ là ở bên trong mạng nội bộ).

- Port: lọc theo cổng nguồn, cổng đích của giao thức tương ứng với TCP hay UDP

- Các giao thức (UDP, TCP, ICMP…): nó có thể cấm và cho phép, ví dụ có thể cấm giao thức UDP và chỉ cho TCP và ICMP hoặc Cấm ICMP cho phép TCP và UDP…

- Dạng thông điệp ICMP (Internet control message protocol).

Nếu luật được thỏa mãn thì gói được chuyển qua firewall, nếu không thỏa mãn thì gói sẽ bị hủy đi Nhờ vậy mà firewall có thể ngăn chặn được các kết nối vào máy chủ hoặc mạng nào đó được xác định hoặc khóa việc truy nhập vào hệ thống mạng nội bộ từ những địa chỉ không cho phép Như vậy, việc kiểm soát càng làm cho firewall có khả năng chỉ cho phép một một số loại kết nối nhất định vào máy chủ nào đó hoặc chỉ một số dịch vụ nào đó (Telnet, SMNP,

Trang 16

Mặc dù firewall loại này có tốc độ kiểm tra nhanh nhưng chúng cũng tương đối dễ bị qua mặt Một phương pháp để vượt qua firewall kiểu này là giả mạo địa chỉ IP (IP spoofing), ví dụ như trong hệ thống mạng của một công ty, khi một người nào đó đi công tác ở xa nhưng vẫn phải truy nhập vào mạng của công ty để lấy dữ liệu Khi đó, firewall vẫn phải mở các dịch vụ để người đó vào lấy dữ liệu và nhân cơ hội này thì hacker ăn trộm địa chỉ IP và tấn công vào mạng và làm cho firewall tưởng rằng các gói của hacker đến từ nguồn thực sự

Loại router được sử dụng trong Firewall để làm Pactket Filtering được xem như là một Sreening router.

- Một số khác nhau giữa router bình thường và Screening router: router bình thường thì chọn đường đi tốt nhất để gửi gói tin Screening router thì xem xét gói tin kỹ hơn, nó xác định một gói có được gửi đi hay không bởi chính sách bảo mật của nó.

Một số ưu điểm của lọc gói

- Do bức tường lửa lọc gói ở tầng 3 nên nó kiểm tra tất cả các ứng dụng đi qua nó Nó không phụ thuộc vào ứng dụng mặc dù của mail hay web

- Chi phí thấp vì cơ chế lọc gói đã được bao gồm trong mỗi phần mềm router và nó chỉ xem xét thông tin của đầu gói tin, do đó thời gian trì hoãn thấp.

- Sẵn sàng cho nhiều sản phẩm phần mềm và phần cứng, cả trong các sản phẩm thương mại và miễn phí.

- Ngoài ra bộ lọc gói là trong suốt đối với người sử và các ứng dụng vì vậy nó không yêu cầu sự huấn luyện đặc biệt nào cả

- Giúp bảo vệ toàn mạng, một thuận lợi chính của nó là đơn giản và tương đối nhẹ.

Một số nhược điểm của lọc gói

- Việc định nghĩa các chế độ lọc gói là một việc khá phức tạp, nó đòi hỏi người quản trị cần có các hiểu biết về các dịch vụ Internet, các dạng packet header, và các giá trị cụ thể mà họ có thể nhận trên mỗi trường Khi đòi hỏi sự lọc là càng lớn thì các quy tắc về lọc gói càng trở lên dài và phức tạp, rất khó để quản lý và điều khiển.

- Do làm việc dựa trên header của gói tin, bộ lọc gói không kiểm soát được nội dung thông tin của gói tin Các gói tin chuyển qua vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại của kẻ xấu

2.3.2 Bức tường lửa ứng dụng(Application firewall)

Trang 17

Figure 2-3: Bức tường lửa ứng dụng

Làm việc ở tầng 7 của mô hình OSI Nếu TCP thì nó làm việc ở tầng dịch vụ Nó không kiểm soát được thông tin ở tầng ứng dụng.

Nguyên tắc hoạt động chung:

- Firewall này được thiết lập từ phần mềm ứng dụng.- Không chuyển tiếp các gói tin IP.

- Tốc độ xử lí chậm.

- Mỗi một dịch vụ phải có kết nối chương trình tương ứng: ví dụ đối với web thì phải có kết nối tương ứng để quản lí web và chương trình tương ứng để cho phép hay cấm, đối với mail thì cũng phải có kết nối tương ứng để quản lí mail và chương trình tương ứng để cho phép hay cấm.

- Vì nó làm việc ở tầng ứng dụng do đó nó cho phép nhiều công cụ ghi lại quá trình kết nối.

- Do quản lí kết nối nên các chương trình yêu cầu dịch vụ của client gốc có thể phải thay đổi để thích ứng với proxy.

- Quá trình kết nối được thực hiện theo kiểu đại diện chính vì vậy firewall kiểu này người ta còn gọi là proxy.

Proxy có hai thành phần:

- Proxy Server: là chương trình ứng sử với server bên ngoài thay mặt cho các yêu cầu của người sử dụng bên trong Nó chuyển tiếp các yêu cầu hợp lệ của mọi người sử dụng và quyết định cái nào cho qua, cái nào ngăn lại.

- Proxy Client: là chương trình của người sử dụng làm việc với Proxy server thay vì với server thực

Một số ưu điểm của Proxy

- Dịch vụ Proxy có thể ghi lại nhật ký thông tin rất tốt, bởi vì nó hiểu được giao thức ứng dụng Có thể ghi lại những hoạt động theo cách hữu hiệu nhất, chỉ ghi lại những lệnh đã phát ra và nhận lại.

Trang 18

- Dịch vụ Proxy có thể lưu trữ lại các dữ liệu đã được yêu cầu, để giảm bớt khả năng hoạt động và giảm bớt tải trên đường liên kết mạng khi có yêu cầu đến cùng dữ liệu

- Dịch vụ Proxy có thể làm packet filtering thông minh, có khả năng lọc kiểu nội dung của dịch vụ Web (loại bỏ Javascript,…) và nhận biết virus tốt hơn hệ thống packet filtering.

- Dịch vụ proxy có thể xác thực người sử dụng (packet filtering có thể nhưng khó khăn).

- Dịch vụ Proxy có thể bảo vệ các máy bên trong trước các packet nguy hiểm.

Một số khuyết điểm của Proxy

- Các dịch vụ Proxy chậm hơn các dịch vụ không có Proxy, độ chậm phụ thuộc vào dịch vụ được thiết kế Ngoài ra, khi một phần mềm Proxy đang có hiệu lực mà hệ thống cần dịch vụ mới, có thể ngoài tầm kiểm soát của nó (lỗ hổng an toàn mới), do đó cần phần mền Proxy mới.

- Dịch vụ Proxy có thể đòi hỏi nhiều server khác nhau cho mỗi dịch vụ vì proxy Server phải hiểu giao thức đó để xác định cái gì được phép và cái gì không được phép.

- Dịch vụ Proxy thường đòi hỏi biến đổi ứng dụng, thủ tục, trừ khi ứng dụng được thiết kế cho proxy Hạn chế của biến đổi này là không thể luôn sử dụng dễ dàng như bình thường

2.3.3 Bức tường lửa nhiều tầng

Figure 2-4: Firewall nhiều tầng

Trang 19

- Kết hợp từ tầng 3 với tầng ứng dụng, có thể cấm và cho phép ở tầng phiên, tầng trình, tầng giao vận Đối với bức tường lửa lọc gói ngoài những thông số kiểm soát như địa chỉ nguồn, địa chỉ đích, cổng nguồn, cổng đích, giao thức tầng trên (TCP, UDP, ICMP) thì còn có bức tường lửa phân tích chi tiết hơn về gói tin Ví dụ ACK, ACK=0 (khởi động một kết nối của gói tin đầu của kết nối), ACK=1 (là các gói theo sau).ACK=0, SYN =1 (Yêu cầu kết nối); ACK=1,SYN=1 (trả lời kết nối) Kiểm tra chi tiết về gói tin để bảo vệ hệ thống tốt hơn, chống các dịch vụ từ bên ngoài.

Tất cả những điều trên đã giới thiệu sơ qua về bức tường lửa, để hiểu được chi tiết bức tường lửa nó hoạt động như thế nào, được xậy dựng như thế nào, và bức tường lửa có những loại kiến trúc nào thì chúng ta cùng đi vào phần hai “kiến trúc cơ bản và hoạt động của bức tường lửa”

2.4 Một vài kiến trúc firelwall

2.4.1 Screening Router

- Screening Router là một kiểu Firewall đơn giản, chỉ gồm một router sử dụng cơ chế packet filtering.

- Screening Router bảo vệ cho toàn mạng, có giá thành thấp.

- Screening Router không linh động có thể cho phép hoặc ngăn cấm các giao thức bởi số hiệu cổng.

- Screening Router không cho phép phòng thủ chiều sâu khi nó bị tổn thương hay có lỗi an toàn thì toàn bộ hệ thống dễ dàng bị tổn thương.

Figure 2-5: Kiến trúc Screening Router

2.4.2 Dual-Homed Host

Trang 20

- Firewall kiểu kiến trúc Dual-Homed Host được xây dựng trên máy tính Dual-Homed Host Một máy tính Dual-Homed Host có tối thiểu hai giao diện, một giao diện để kết nối với bên ngoài và một giao diện để kết nối với bên trong (mạng nội bộ).

- Chức năng đầu tiên của nó hoạt động như bộ định tuyến

- Khi giữ vai trò bức tường lửa, nó không thể thực hiện được chức năng định tuyến mà thay vào đó là chức năng phân tích gói tin.

- Các gói tin IP thì truyền giữa mạng trong và mạng ngoài.

- Dual-Homed Host là một điểm bảo vệ không có chiều sâu, nên sự an toàn của các máy bên trong phải rất hoàn hảo Nếu Dual-Homed Host bị tổn thương thì toàn bộ mạng bên trong sẽ bị tổn thương.

- Máy chủ trung gian có thể cung cấp các dịch vụ như Proxy Nó thường tốt cho những người sử dụng bên trong mạng nội bộ truy cập Internet hơn là những người sử dụng trên Internet truy cập tài nguyên bên trong mạng nội bộ.

Hình 2.6 Cấu trúc firewall Dual Home Host.

2.4.3 Bastion Host (máy chủ pháo đài)

- Máy chủ pháo đài thuộc mạng nội bộ, nó chỉ có một giao diện để kết nối với một mạng nội bộ

- Máy tính có cấu hình bảo mật ở mức độ bảo mật cao Trên nó được cài các phần mềm bảo vệ ví dụ như Proxy trên firewall Mọi thông tin từ bên ngoài muốn đưa vào bên trong đều phải qua máy chủ pháo đài hay mọi thông tin từ bên trong ra bên ngoài cũng qua máy chủ pháo đài

- Đặt ở điểm mà mạng nội bộ kết nối với Internet: đối mặt chính với các kẻ tấn công truy nhập.

Trang 21

RoutertrongFirewall

Trang 22

2.4.4 Screened host (mỏy chủ sang lọc)

- Cả server và router đều là thành phần của bức tường lửa.

- Về cấu trỳc thỡ mỏy chủ sàng lọc cú một router và một mỏy chủ để lọc thụng tin.

- Chức năng an ninh cơ bản là do bộ lọc.

- Mỏy chủ nội bộ chỉ được phộp kết nối Internet đối với một số dịch vụ hạn chế.

- Phần lớn cỏc mỏy nội bộ phải sử dụng cỏc dịch vụ đại diện trờn cỏc mỏy chủ nội bộ.

- Khi mỏy chủ cú lỗ hổng an ninh thỡ thỡ mạng nộ bộ rễ bị tấn cụng.

- Nếu trường hợp router bị đỏnh thủng thỡ server nằm ngay trong mạng nội bộ bị tổn thương và chớnh vỡ vậy mạng nội bộ bị ảnh hưởng

Figure 1-8: Kiến trỳc Screened host

2.4.5 Screened Subnet (mạng con)

- Screened Subnet dẫn xuất từ kiến trỳc Screened host bằng cỏch thờm vào một tầng an toàn gọi là mạng ngoại vi (Perimeter network), nhằm cụ lập mạng nội bộ ra với mạng bờn ngoài và cụ lập Bastion host bằng cỏch đặt chỳng trờn mạng ngoại vi, nhằm trỏnh sự lay lan khi bastion bị tổn thương.

- Screened Subnet cú hai router.

- Rrouter ngoài được cấu hỡnh để bảo vệ cỏc mỏy chủ phỏo đài và bộ định tuyến trong và mạng nội bộ.

- Cỏc mỏy chủ phỏo đài phục vụ như một điểm chớnh của mạng nội bộ liờn hệ với cỏc mạng Internet.

- Router trong ngăn cỏch mỏy chủ phỏo đài với mạng nội bộ, khi hệ thống bảo mật trờn phỏo đài bị tổn thương thỡ mỏy chủ phỏo đài cũng khụng thể bị lợi dụng làm bàn đạp để tấn cụng vào mạng nội bộ vỡ trong mạng nội bộ đó cú

Mạng nội bộFirewall

Routersàng lọc

Pháo đàiHost

Trang 23

một router trong bảo vệ Như vậy Screened Subnet đã tạo nên một tầng bảo vệ lớn.

- Bastion host trong mạng ngoại vi là điểm tiếp xúc của kết nối đi vào từ bên ngoài Ngoài ra nó còn phục vụ cho các máy bên trong truy cập mạng bên ngoài theo một vài hướng sau:

 Có thể cài đặt cả router giao tiếp với Internet và router giao tiếp với mạng nội bộ là packet filtering, điều này cho phép mạng nội bộ truy cập trực tiếp mạng bên ngoài.

 Có thể cài đặt một Proxy server trên một bastion host và mạng nội bộ từ Internet, điều này cho phép các mạng nội bộ truy nhập mạng bên ngoài gián tiếp.

- Router trong (Interior router) nó có chức năng packet filtering Các dịch vụ mà router trong cho phép giữa Bastion host và mạng nội bộ, giữa mạng bên ngoài và mạng nội bộ không nhất thiết phải giống nhau Giới hạn giữa dịch vụ bastion host và mạng nội bộ nhằm làm giảm số lượng máy có thể bị tấn công khi bastion host bị tổn thương.

Hình 2.9 Cấu trúc firewall Screen Subnet.

Trong các kiến trúc trên thì kiến trúc Screened Subnet được sử dụng nhiều nhất hiện nay Trong mỗi một cơ quan bao giờ giờ cũng có một trang web để giới thiệu với bên ngoài và phải có giao dịch với bên ngoài Do đó, họ phải dùng kiến trúc bưc tường lửa có kiểu Screened Subnet thì mới an toàn vì nếu dùng cấu trúc khác thì khi tin tặc tấn công được vào server thì mạng nội bộ sẽ bị tổn thương, có thể dẫn đến tê liệt mạng hoàn toàn Chính vì vậy, mỗi một cơ

Trang 24

Kết Chương:

Trong Chương vừa rồi chúng ta đã tìm hiểu về Firewall, và đó là tập hợp thành phần làm nhiệm vụ ngăn cản hay điều khiển việc truy xuất giữa mạng ngoài và mạng nội bộ.

FIREWALL được chia làm hai loại là Firewall ứng dụng và Firewall mức mạng Firewall mức ứng dụng kiểm tra các lưu thông chi tiết hơn Firewall mức mạng và duy trì nhiều mô hình bảo mật hơn Firewall mức mạng nhưng lại thiếu tính trong suốt và khó hiểu.

Có rất nhiều mô hình kiến trúc Firewall khác nhau mà người thiết kế mạng nên áp dụng các mô hình đó như thế nào đối với những bài toán cụ thể được đặt ra cho những yêu cầu khác nhau về tính bảo mật của cơ quan Nhưng những thiết kế vẫn chủ yếu dựa trên các kiến trúc cơ bản đó là kiến trúc Dual Home Host, Screen Host và Screen Subnet.

Trên hệ điều hành Windows có rất nhiều công cụ quản trị mạng giúp các nhà quản trị có thể bảo vệ mạng của mình rất hữu hiệu Nhưng một giải pháp cho việc xây dựng mạng truy cập Internet ổn định là dùng server chạy trên hệ điều hành Linux Hiện nay linux đang được coi là một trong những hệ điều hành tốt nhất trong môi trường mạng, giải pháp này giúp giảm chi phí đầu tư về phần cứng cho server, tăng tốc độ của mạng cục bộ và đảm bảo môi trường mạng chạy ổn định Để có thể xây dựng được các chương trình bảo vệ mạng trong Linux, trước tiên chúng ta cần thực hiện việc cài đặt và cấu hình chương trình bảo vệ mạng vào trong hệ điều hành Linux Ở đây cụ thể là chương trình Iptables trong Linux.

Trang 25

CHƯƠNG III: IPTABLES TRONG LINUX

Trong hệ thống Unix/Linux có rất nhiều FIREWALL Trong đó có một số Firewall được cấu hình và hoạt động trên nền Console rất nhỏ và tiện dụng đó là Iptable và Ipchains

3.1 Giới thiệu IPTABLES - IPCHAINS - so sánh

3.1.1 Giới thiệu Ipchains : Ipchains - quản trị IP Firewall

Một trong những phần mềm mà linux sử dụng để cấu hình bảng NAT của kernel là Ipchains Bên trong chương trình Ipchains có hai trình kịch bản (script) chính có thể được sử dụng để đơn giản hoá công tác quản trị Ipchains

Những Firewall cũ hơn của Linux không xử lý các packet phân mảnh, chỉ hỗ trợ các giao thức TCP, UDP hoặc ICMP Không thể chỉ định những nguyên tắc ngược

Ipchains được dùng để cài đặt, duy trì và kiểm tra các luật của IP Firewall trong Linux kernel Những luật này có thể chia làm nhóm chuỗi luật khác nhau là:

IP input chain (chuỗi luật input áp dụng cho các gói tin đi đến Firewall), IP output chain (áp dụng cho các gói tin được phát sinh cục bộ trên Firewall và đi ra khỏi Firewall), IP Forwarding chain (áp dụng cho các gói tin được chuyển tiếp tới máy hoặc mạng khác thông qua Firewall) và các chuỗi luật do người dùng định nghĩa (user defined).

Ipchains sử dụng khái niệm chuỗi luật (chain) để xử lý các gói tin Một chuỗi luật là một danh sách các luật dùng để xử lý các gói tin có cùng kiểu là gói tin đến, gói tin chuyển tiếp hay gói tin đi ra Những luật này chỉ rõ hành động nào được áp dụng cho gói tin Các luật được lưu trữ trong bảng NAT là những cặp địa chỉ IP chứ không phải từng địa chỉ IP riêng lẻ.

Một luật Firewall chỉ ra các tiêu chuẩn cho packet và đích đến Nếu packet không đúng, luật kế tiếp sẽ được xem xét, nếu đúng thì luật kế tiếp sẽ chỉ định rõ giá trị của đích có thể các chain do người dùng định nghĩa hay có thể là một trong các giá trị cụ thể sau: ACCEPT, DENY, REJECT, MASQ, REDICRECT hay RETURN

* ACCEPT: Cho phép packet đi qua

* DENY/DROP: Huỷ packet mà không có trả lời thông báo cho client biết điều này.

Trang 26

* REJECT: Tương tự như DROP nhưng sẽ có trả lời cho client biết gói tin đã bị huỷ bỏ

* MASQ: Chỉ hợp lệ đối với chain forward và chain do người dùng định nghĩa và được dùng khi kernel được biên dịch với CONFIG_IP_MASQUERADE Với chain này packet sẽ được masquerade như là nó được sinh ra từ máy cục bộ, hơn thế nữa các packet ngược sẽ được nhận ra và chúng sẽ được demasqueraded một cách tự động, bỏ qua forwarding chain.

* REDIRECT: Chỉ hợp lệ với chain input và chain do người dùng định nghĩa và chỉ được dùng khi Linux kernel được biên dịch với tham số CONFIG_IP_TRANSPARENT_PROXY được định nghĩa Với điều này packets sẽ được chuyển tới socket cục bộ, thậm chí chúng được gửi đến host ở xa.

3.1.2 Giới thiệu Netfilter/Iptables

3.1.2.1 Giới thiệu Iptables

Hình 3.1 Vị trí Netfilter/Iptables trong Kernel Linux 2.4.

Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, có sẵn bên trong kernel Linux 2.4.x và 2.6.x Netfilter/Iptable gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân Iptables được dùng để quản lý các quy tắc lọc gói tin bên dưới cơ sở hạ tầng của Netfilter.Hệ thống con Netfilter của Linux 2.4x cho phép cài đặt, duy trì, và kiẻm tra các quy tắc lọc gói tin trong Kernel Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống.

Nó là một giải pháp lọc gói tin mới, cao cấp hơn so với những gì có sẵn đối với Linux Kernel trước 2.4x Netfilter cung cấp 1 số ưu điểm và hiện nay nó đã trở thành một giải pháp mạnh mẽ và hoàn thiện hơn để giúp bạn bảo vệ các mạng cộng tác.

Trang 27

Tuy nhiên, Netfilter cũng không phải là một giải pháp hoàn toàn mới Nó là một khung làm việc để xử lý các gói tin khi chúng đi qua các thành phần của Kernel Netfilter bao gồm:

* Xây dựng bức tường lửa dựa trên cơ chế lọc gói stateless và stateful* Dùng bảng NAT và masquerading chia sẻ sự truy cập mạng nếu không có đủ địa chỉ mạng.

* Dùng bảng NAT để cài đặt transparent proxy

* Có khả năng theo dõ sự kết nối, có khả năng kiểm tra nhiều trạng thái của packet Nó làm việc này cho UDP và ICMP tốt nhất là kết nối TCP, thí dụ tình trạng đầy đủ của lọc ICMP chỉ cho phép hồi âm khi có yêu cầu phát đi, chứ không chặn các yêu cầu nhưng vẫn chấp nhận hồi âm với giả sử rằng chúng luôn đáp lại lệnh ping Sự hồi âm không do yêu cầu có thể là tín hiệu của sự tấn công hoặc cửa sau.

* Xử sự đơn giản của các packet thoả thuận trong các chains (một danh sách các nguyên tắc) INPUT, OUTPUT, FORWARD Trên các host có nhiều giao diện mạng, các packet di chuyển giữa các giao diện chỉ trên chain FORWARD hơn là trên 3 chain.

* Phân biệt rõ ràng giữa lọc packet và NAT (Nework Address Translation)

* Có khả năng giới hạn tốc độ kết nối và ghi nhật ký Bạn có thể giới hạn kết nối và ghi nhật ký ồ ạt để tránh sự tấn công từ chối dịch vụ (Deinal of service).

* Có khả năng lọc trên các cờ và địa chỉ vật lý của TCP.

* Là một Firewall có nhiều trạng thái, nên nó có thể theo dõi trong suốt sự kết nối, do đó nó an toàn hơn Firewall có ít trạng thái.

* Iptables bao gồm một vài bảng, mỗi bảng với một chính sách (police) mặc định và các nguyên tắc trong chain xây dựng sẵn.

Trang 28

- Các cổng của TCP và UDP bây giờ cần đưa ra “- source-port hoặc –sport/ destination-port hoặc dport” được đặt sau “-p tcp” hoặc “-p udp”.

- Cờ TCP –y bây giờ là –syn phải được đặt sau “-p tcp”.- DENY đích, bây giờ là DROP.

- Tên chain có thể lên đến 16 ký tự.

- REJECT và LOG bây giờ chúng có thể riêng biệt với kernel.- Iptables có một hệ thống con cho NAT riêng biệt

3.2 Cài đặt Iptables trong Kernel

Iptables được cấu hình trong kernel khi thực hiện cài đặt Để chạy Iptables các lựa chọn sau đây cần thiết trong khi cấu hình hoặc một trong số những lệnh liên quan

CONFIG_PACKET- lựa chọn này cho phép các ứng dụng và các tiện ích cần thiết để làm việc trực tiếp đến các thiết bị mạng khác nhau Ví dụ tiện ích tcpdump hoặc snort.

CONFIG_NETFILTER- lựa chọn này yêu cầu nếu bạn dùng máy tính của bạn như là 1 Firewall hoặc gateway cho Internet cần một trình điềukhiển cho một giao diện ví dụ bộ tích hợp ethernet, PPP và SLIP interface.

CONFIG_IP_NF_CONTRACK – thành phần này cần cho theo dõi kết nối (connection tracking) Connection tracking được sử dụng trong các công việc khác (NAT và Masquerading) Nếu cần một máy Firewall trên mạng cục bộ thì cần đánh dấu lựa chọn này Ví dụ thành phần này cần rc.fr.txt để làm việc

CONFIG_IP_FTP- thành phần này là cần thiết nếu muốn theo dõi kết nối trên các kết nối FTP Không cần lựa chọn này nếu không dùng FTP cho Firewall hoặc gateway

CONFIG_IP_NF_IPTABLES- lựa chọn này cần thiết nếu muốn thực hiện bất kỳ loại lọc filtering, masquerading hoặc NAT Nó thêm toàn bộ khung làm việc (framework) của Iptables vào Kernel Nếu không có lựa chọn này sẽ không thể làm được gì với Iptables

CONFIG_IP_NF_MATCH_LIMIT - lựa chọn này không thực sự cần thiết nhưng nó cung cấp khả năng làm thế nào điều khiển số lượng packet

Trang 29

trên phút được thoả điều kiện bằng một luật Ví dụ: -m limit –limit 3/minute Thành phần này có thể dùng để tránh sự tấn công từ chối dịch vụ CONFIG_IP_NF_MATCH_MAC – cho phép các packet tương ứng với các địa chỉ vật lý MAC Mỗi card mạng có một địa chỉ MAC riêng Chúng ta có thể chặn các packet sử dụng địa chỉ mạng và hầu như chặn các máy tính với địa chỉ MAC vì MAC tương đối ổn định Chúng ta không dùng lựa chọn này trong rc.Firewall.txt

CONFIG_IP_NF_MATCH_MARK – Cho phép dùng đánh dấu một packet thoả điều kiện

CONFIG_IP_NF_MATCH_MULTIPORT – thành phần này cho phép các packet có thể thoả một dãy port đích hoặc port nguồn.

CONFIG_IP_NF_MATCH_TOS – lựa chọn này có thể cho phép các packet thoả các giá trị trong TOS TOS là kiểu của dịch vụ (type of service) TOS cũng có thể là tập hợp các luật trong bảng mangle và theo lệnh tp/tc.

CONFIG_IP_NF_MATCH_TCPMSS - lựa chọn này cho phép các packet TCP tương ứng trên trường MSS

CONFIG_IP_NF_MATCH_STATE – đây là sự khác biệt lớn nhất so với Ipchains Với thành phần này chúng ta có thể lọc gói tích cực (stateful) trên các gói Ví dụ: Nếu có lưu thông hai hướng trên kết nối TCP, packet này được xem như được thiết lập modul này dùng phổ biến trong rc.Firewall.txt.

CONFIG_IP_NF_MATCH_UNCLEAN – thành phần này sẽ thêm vào cho ta những packet IP, TCP,UDP tương ứng mà kiểu của nó không phù hợp hoặc không hợp lệ Ví dụ chúng ta có thể huỷ các packet này nhưng không biết nó có hợp pháp hay không Thành phần này vẫn còn đang thí nghiệm, chưa làm việc hoàn toàn trong các trường hợp

CONFIG_IP_NF_MATCH_OWNER –lựa chọn này sẽ thêm cho chúng ta khả năng thực hiện trên chủ nhân của một socket Ví dụ: Cho phép chỉ 1 người dùng root được truy cập Internet Thành phần này vẫn còn đang thí nghiệm chưa làm việc hoàn toàn cho tất cả mọi người.

CONFIG_IP_NF_FILTER- Thành phần này sẽ thêm vào bảng lọc cho phép thực hiện lọc ở tất cả Trong bảng filter bạn sẽ không thấy INPUT, FORWARD, và OUTPUT chains Thành phần này sẽ yêu cầu bạn thiết kế

Trang 30

CONFIG_IP_NF_TARGET_REJECT - Cho phép chúng ta chỉ rõ một thông báo lỗi ICMP được gửi trả lời từ các packet đi vào thay vì huỷ chúng.

CONFIG_IP_NF_TARGET_MIRROR - Cho phép các packet bị trả lại người gửi Ví dụ: Nếu đặt MIRROR đích trên cổng đích trên chuỗi luật OUTPUT và ai đó cố gắn truy cập trên cổng này, chúng ta sẽ gửi trở lại người đó gói tin và cuối cùng chắc chắn người đó sẽ thấy được homepage của họ.

CONFIG_IP_NF_NAT- thành phần này cho phép chuyển đổi địa chỉ mạng và truy cập bảng NAT trong iptables, lựa chọn này đòi hỏi nếu muốn làm một port chuyển tiếp hay masquerading Lựa chọn này không đòi hỏi cho Firewall và masquerading cho mạng cục bộ

CONFIG_IP_NF_TARGET_MASQUERADE - thành phần này thêm hành động MASQUERADE Lựa chọn này cho phép cấp IP động để gán địa chỉ IP cho giao diện

CONFIG_IP_NF_TARGET_REDIRECT - Mục tiêu lựa chọn này để làm việc với các ứng dụng proxy, nói cách khác chúng ta có thể làm trong suốt proxy bằng cách này

CONFIG_IP_NF_TARGET_LOG - Hành động này sử dụng cho ghi nhật ký sự kiện (LOG) với các packet do đó có thể biết được điều gì xảy ra packet Thông tin này có ích cho kiểm tra an toàn, pháp lý và sửa lỗi.

CONFIG_IP_NF_TARGET_TCPMSS (Maximum Segment Size)- lựa chọn này được sử dụng để đếm các nhà cung cấp dịch vụ Internet và server mà ngăn chặn sự phân mảnh packet ICMP kết quả là một số trang web có thể không được đi qua, những mail nhỏ đi qua còn những mail lớn không qua được.

CONFIG_IP_NF_COMPAT_IPCHAIN - Lựa chọn này cho phép thêm tích hợp với Ipchains khi chuyển từ Linux 2.2, 2.4 sang 2.6

CONFIG_IP_NF_COMPAT_IPFWADM - Lựa chọn này cho phép khả năng tương thích với Ipfwadm.

3.3 Cài đặt ứng dụng phần người dùng (user-land)

Trước hết giải nén packet Iptables ở đây sử dụng packet Iptables 1.2.6a và kernel 2.4 Để mở gói, thông thường dùng bzip2 – cd Iptables – 1.2.6a.tar.bz2 | tar –xvf gói sẽ được đưa vào thư mục Iptables – 1.2.6a sau

Trang 31

đó, lựa chọn cấu hình và cài đặt modul mở rộng cho kernel bằng cách chạy lệnh

make pending-patches KERNEL_DIR=/usr/src/linux/

Biến KERNEL_DIR chỉ tới vị trí của mã nguồn kernel Thông thường trong /usr/src/linux

lệnh trên chỉ trả lời các đường dẫn chắc chắn để vào kernel nhưng có thể thêm vào các đường dẫn khác bằng câu lệnh

make most-of-pom KERNEL_DIR=/usr/src/linux/

Câu lệnh trên sẽ hỏi về cách cài đặt các phần của Netfilter được gọi là

Patch-0-matic, nhưng vẫn giữ lại các đường dẫn ban đầu Các đường dẫn

mà có thể bị xoá bỏ trong kernel Chú ý rằng chúng ta có thể hỏi bởi đó là điều mà các lệnh này có thể thực hiện thực sự Chúng hỏi bạn trước khi bất

cứ cái gì bị thay đổi trong kernel source để cài đặt tất cả trong matic chúng ta sẽ thực hiện câu lệnh:

patch-o-make patch-o-matic KERNEL_DIR=/usr/src/linux/

Một vài thao tác thêm vào sẽ phá huỷ những phần khác nếu dùng

Tiếp tục biên dịch ứng dụng user-land Iptables để biên dịch Iptables bạn đưa ra các câu lệnh đơn giản như là:

make KERNEL_DIR=/usr/src/linux/

Để biên dịch chương trình, sau đó dùng lệnh để cài đặt chúng

KERNEL_DIR vị trí nguồn của kernel.

make install KERNEL_DIR=/usr/src/linux/

Sử dụng để thay đổi Iptables, bây giờ có thể biên dịch lại hoặc cài đặt lại kernel và các thành phần

Trang 32

3.4 Cách thức packet qua Firewall.

Hình 3.2 Đường đi của packet.

* FORWARD packet (chuyển packet): Một packet để cho host khác được gọi là FORWARD packet, đầu tiên nó chuyển qua chain PREOUTING (trước khi định tuyến) trong bảng mangle, tại đây packet có thể bị thay đổi thông số Sau đó chuyển qua chain PREOUTING trong bảng NAT, đây là nơi nguyên tắc DNAT (Destination Network Addess Translation- chuyển đổi địa chỉ đích) được áp dụng vào

- Đối với packet đi vào máy, nó sẽ qua chain INPUT Tại chain INPUT, packet có thể được chấp nhận hoặc huỷ bỏ Tiếp theo packet sẽ được chuyển lên cho các ứng dụng (client/server) xử lí và tiếp theo là được chuyển ra chain OUTPUT Tại chain OUTPUT, packet có thể bị thay đổi các thông số và bị lọc chấp nhận hay bị huỷ bỏ.

- Đối với packet forward qua máy, packet sau khi rời chain PREROUTING sẽ qua chain FORWARD trong bảng filter, tại chain FORWARD chỉ những nguyên tắc lọc mới được áp vào (ACCEPT hoặc DENY).

- Sau khi packet qua chain FORWARD hoặc chain OUTPUT sẽ được chuyển qua chain POSTROUTING (sau khi định tuyến) trong bảng NAT, trong chain này các nguyên tắc SNAT (source Network Address Tranlation - đổi địa chỉ IP nguồn) được áp vào hoặc MASQUERADE, cuối cùng packet được chuyển ra giao diện bên ngoài.

Trang 33

tiên được chuyển sang chain OUTPUT của bảng mangle, sau đó chúng chuyển qua chain OUTPUT của bảng NAT, sau đó chuyển qua chain OUTPUT của bảng filter Khi packet chuyển qua chain này, hệ thống xác định nơi packet được định tuyến, khi đã quyết định được định tuyến packet chuyển qua chain POSTOUTING trong bảng NAT, đây là nơi nguyên tắc SNAT được áp vào, packet chuyển qua giao diện thích hợp.

* Receive packet (Nhận packet): packet được chuyển đến host cục bộ, đầu tiên nó được chuyển đến chain PREOUTTING trong bảng mangle, sau đó được chuyển qua chain PREOUTING trong bảng NAT Đây là nơi nguyên tắc DNAT được áp vào, sau khi nguyên tắc DNAT được áp vào thì định tuyến được quyết định, sau đó packet được chuyển qua chain OUTPUT trong bảng filter, cuối cùng packet được chuyển vào tiến trình hoặc ứng dụng thích hợp.

3.5 Các bảng và chuỗi luật

Khi một gói tin đầu tiên tới Firewall, phần cứng sẽ tiếp nhận nó và sau đó chuyển tiến trình điều khiển thiết bị tương ứng trong nhân hệ điều hành Sau đó, gói tin sẽ bắt đầu đi qua một loạt các bước trong nhân hệ điều hành, trước khi nó được gửi tới ứng dụng cục bộ hoặc là được chuyển tiếp đến máy tính khác hay chịu tác động nào đó của nhân hệ điều hành Một mặt mạnh của Iptables là ở chỗ nhiều bảng có thể được sử dụng để quyết định “số phận” của một gói tin nào đó, phụ thuộc vào kiểu của gói tin đang được kiểm tra Và hành động được thực hiện trên gói tin đó

Bảng mặc định, bảng filter, có chứa các chuỗi luật được xây dựng sẵn: INPUT, OUTPUT, và FORWARD Theo mặc định Iptables chứa hai bảng bổ sung dùng để thực hiện các công việc lọc gói xác định Bảng NAT và bảng Mangle.

Mỗi bảng chứa tập hợp các chuỗi luật mặc định và các hành động Khi các chuỗi luật được thảo mãn, thì các hành động đã được áp dụng vào gói tin Các hành động có thể khác nhau tương ứng với mỗi bảng hoặc thậm chí là chuỗi mà nó chiếm giữ Tuy nhiên, người dùng cũng được phép định nghĩa những chuỗi luật mới trong các bảng.

3.5.1 Bảng Nat

Chỉ được sử dụng để chuyển đổi địa chỉ tĩnh hoặc động trên những gói tin Nói cách khác, nó chỉ được dùng để chuyển đổi trường địa chỉ nguồn

Ngày đăng: 22/11/2012, 15:15

HÌNH ẢNH LIÊN QUAN

Sơ đồ tổng quát của firewall - FireWall
Sơ đồ t ổng quát của firewall (Trang 13)
Hình 3.1 Vị trí Netfilter/Iptables trong Kernel Linux 2.4. - FireWall
Hình 3.1 Vị trí Netfilter/Iptables trong Kernel Linux 2.4 (Trang 26)
Hình 3.2 Đường đi của packet. - FireWall
Hình 3.2 Đường đi của packet (Trang 32)
Cỏc hành động thực hiện trong bảng này là: - FireWall
c hành động thực hiện trong bảng này là: (Trang 34)
Hình 3.3: NAT tĩnh - FireWall
Hình 3.3 NAT tĩnh (Trang 34)
3.5.2 Bảng lọc (filter) - FireWall
3.5.2 Bảng lọc (filter) (Trang 35)
3.5.2  Bảng lọc (filter) - FireWall
3.5.2 Bảng lọc (filter) (Trang 35)
Hình 3.1 Mô hình kết nối máy Linux và Anybox - FireWall
Hình 3.1 Mô hình kết nối máy Linux và Anybox (Trang 47)
Hình 3.2 Mô hình kết nối máy Linux với mạng nội bộ và Internet - FireWall
Hình 3.2 Mô hình kết nối máy Linux với mạng nội bộ và Internet (Trang 54)

TỪ KHÓA LIÊN QUAN

w