1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO THỰC TẬP-BÁO CÁO BÀI TẬP LỚN-AN TOÀN THÔNG TIN VÀ HỆ THỐNG

58 934 0

Đ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 58
Dung lượng 818,12 KB

Nội dung

Nhiều người nghĩ rằng tường lửa hoàn toàn là thiết bị phần cứng.Khi mọi người nghĩ về việc mua và cài đặt tường lửa,họ cứ nghĩ rằng có một hộp ma thuật màu đen được gắn tại điểm truy cập

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

BÁO CÁO BÀI TẬP LỚN

AN TOÀN THÔNG TIN VÀ HỆ THỐNG

Đề tài :

Giảng viên hướng dẫn: Ths Đỗ Văn Uy

Sinh viên thực hiện:

1 Nguyễn Văn Công- 20010330

2 Đinh Văn Đông - 20080695

Trang 2

MỤC LỤC

Contents

CHƯƠNG 1: TƯỜNG LỬA VÀ CÁC BỘ LỌC GÓI TIN 2

1 Tường lửa và bộ lọc gói tin 2

1.1 Tường lửa là gì? 2

1.2 Personal FireWall 4

1.3 Parental Control Software 4

1.4 Sự khác nhau giữa một tường lửa và một bộ lọc tin là gì? 5

1.5 Các tường lửa bảo vệ các mạng như thế nào? 5

1.6 Loaị đặc điểm nào của gói tin mà bạn có thể lọc trong một Ruleset? 5

1.7 Sự khác nhau giữa một tường lửa không trạng thái và đa trạng thái? 7

1.8 Tìm hiểu về Network Adress Translation (NAT) và Port Forward 7

1.9 Khái niệm cơ bản của các mạng riêng ảo (Virtual Private Networks) 9

1.10 Bên trong khu phi quân sự 10

2 Freeware firewalls 10

2.1 Ipchans 10

2.2 Implementation 11

3 IPFW2 14

3.1 Implementation 14

4 COMMERCIAL FIREWALLS 20

4.1 Implementation 20

4.2 SonicWALL 21

4.3 Cisco PIX 23

CHƯƠNG 2: NHỮNG CÔNG CỤ TRINH THÁM MẠNG 25

1 WHOIS VÀ FWHOIS 25

Trang 3

2 HOST DIG VÀ NSLOOKUP 34

3 PING 38

4 FPING 42

5 TRACEROUTE 45

6 HPING 49

Xác định trạng thái của máy chủ khi ping không làm việc 50

Kiểm tra quy tắc tường lửa 51

Quét cổng tàng hình 56

Nhận dạng hệ điều hành từ xa 56

Hping lắng nghe 57

Yêu cầu thành viên và phân công công việc 59

Trang 4

CHƯƠNG 1: TƯỜNG LỬA VÀ CÁC BỘ LỌC GÓI TIN

1 Tường lửa và bộ lọc gói tin

1.1 Tường lửa là gì?

Nhiều người nghĩ rằng tường lửa hoàn toàn là thiết bị phần cứng.Khi mọi người nghĩ về việc mua và cài đặt tường lửa,họ cứ nghĩ rằng có một hộp ma thuật màu đen được gắn tại điểm truy cập mạng của họ,nhằm chống đỡ tin tặc và các kẻ xấu khác.Trên thực tế,tường lửa lại là mộtchương trình phần mềm để kiểm tra lưu lượng mạng hoặc các gói tin qua một giao diện

mạng.Bởi vì tường lửa sẽ vô dụng nếu như không có giao diện phần cứng bảo vệ.Phần mềm tường lửa thường đi kèm và cài đặt sẵn với thiết bị phần cứng được thiết kế đặc biệt.Qua chương này,chúng ta sẽ biết cách phân biệt được các thiết bị phần cứng và phần mềm tường lửa đi kèm với chúng

Bây giờ chúng ta hãy xem tường lửa là gì?Một thiết bị tưởng lửa là một thiết bị mạng mà phân cách hai hoặc nhiều mạng và có phần mềm tường lửa đang chạy trên ít nhất một giao diện mạng.Thiết bị sử dụng phần mềm tường lửa sẽ xác định các luồng nào sẽ được lưu chuyển giữa các mạng.Đó là phần mềm tường lửa và các nguyên tắc cơ bản được liên quan của nó mà làm cho thiết bị thực hiện các chức năng phổ biến của tường lửa.Nếu không có phần mềm,thiết bị tường lửa chỉ là một bộ định tuyến đơn giản ,một gateway,hay chỉ là một nơi giao nhận gói tin

Như vậy phần mềm tường lửa là bất kỳ phần mềm nào mà kiểm tra giao thong qua lại củamột giao diện và đưa ra các quyết định điều hướng dựa trên một tập các nguyên tắc Một số phầnmềm tường lửa sẽ được liệt kê ở đây:

in, cũng như các dịch vụ bất kỳ mạng nào đang chạy trên máy tính của bạn sẽ được hiển

thị, và khai thác bằng cách, chỉ là về bất cứ ai trên Internet.Personal Firewall được thiết kế để ngăn chặn các địa chỉ nguy hại

1.3 Parental Control Software

Ngăn chặn không cho phép người dùng vào các trang web cấm như các trang web đen…Các phần mềm khác như phần mềm chặn thư giác hay phần mềm quét virus tương tự như phần mềm tường lửa nhưng không hoàn toàn giống.Phần mềm chặn thư giác và quét virus hoạt động trên các thực thể lớn hơn(như các thư mục hay email…) trong khi phần mềm tường lửa thường

Trang 5

chỉ lọc các gói tin.Một vài tường lửa thường xuất hiện khi phát hiện ra các gói tin mà nó không nhận ra được.Nhiều tường lửa loại này được gọi là tường lửa của tầng ứng dụng bời vì nó có thể kiểm tra cú pháp của một ứng dụng(như một trang web thương mại điện tử) thay vì chỉ cung cấp các thông tin về các mức gói tin(HTTP).Ví dụ,trang web thương mại điện tử dùng giao thức HTTP để giao tiếp với trình duyệt web.Một tường lửa ở mức gói có thể nhìn vào các yêu cầu HTTP để xem chúng có được hình thành một cách chính xác và tuân thủ các đặc điểm kỹ thuật của giao thức hay không.Một tường lửa ở mức ứng dụng có thể hiểu cách trang được xây dựng thế nào và xác nhận loại yêu cầu nào mà người sử dụng được phép thực hiện ,loại nào không được thực hiện.Điều này là quan trọng bởi vì các yêu cầu hợp pháp và các web độc hại đều có thể bao gồm các yêu cầu HTTP nơi mà tường lửa ở mức gói tin ngừng hoạt động kiểm tra của nó.

1.4 Sự khác nhau giữa một tường lửa và một bộ lọc tin là gì?

Tường lửa và bộ lọc tin nói chung thực hiện cùng một chức năng.Bộ lọc gói tin dựa trên lưu lượng truy cập dựa trên những đặc điểm giao thức,địa chỉ nguồn hoặc đích và các trường khác nằm trong phần đầu của gói tin TCP/IP.Tường lửa là các bộ lọc gói tin nhưng một số tường lửa có thể kiểm tra nhiều hơn chứ không chỉ là phần header,chúng còn có thể kiểm tra ở phần dữ liệu(như trọng tải).Ví dụ,một bộ lọc gói tin có thể theo dõi các kết nối tới cổng 20 và 21(cổng FTP).Trong khi đó tường lửa có thể thiết lập các tiêu chuẩn dựa trên số cổng FTP cũng như trọngtải FTP,chẳng hạn như lệnh PORT hay tên tập tin bao gồm các text password

1.5 Các tường lửa bảo vệ các mạng như thế nào?

Các tường lửa không chỉ hiệu quả với các quy tắc mà chúng được cấu hình.Như chúng ta

đã đề cập từ trước,tường lửa kiểm tra các đặc điểm cụ thể để quyết định xem đường truyền nào được phép và không được phép truyền qua dựa trên một số tiêu chí.Đó là công việc của một người quản trị hệ thống nhằm xây dựng lên một tập nguyên tắc theo một cách nào đó mà nó bảo

vệ mạng ở phía sau nó một cách hiệu quả,trong khi vẫn cho phép lưu lượng truy cập một cách hợp lý.Hầu hết các tường lửa đều điều khiển đường truyền theo ba cách khác nhau bằng một nguyên tắc

 Chấp nhận gói tin và đưa nó tới đích đã định từ trước

 Từ chối gói tin và đưa ra thông báo từ chối gói tin (ICMP) hoặc xác nhận nào khác.Điều này sẽ đưa ra một phản hồi rõ ràng tới người gửi gói tin rằng lưu lượngnhư thế sẽ không được phép qua tường lửa

 Sút gói tin đi mà không cần bất cứ sự thừa nhận nào.Đây là giai đoạn kết thúc trong vòng đời của gói tin.Không có gói tin được gửi tới người gửi gói tin.Điều này nhằm làm giảm khả năng của người gửi đoán ra thông tin về mạng được bảo vệ,nhưng nó cũng tác động tiêu cực đến hiệu suất mạng của một số đường truyền mạng nào đó

Hầu hết các tường lửa được thiết lập một cách mặc định là để sút các gói tin

Trang 6

1.6 Loaị đặc điểm nào của gói tin mà bạn có thể lọc trong một Ruleset?

Hầu hết các tường lửa và bộ lọc gói tin đều có khả năng kiểm tra các đặc điểm dưới đây một cách nhỏ nhất :

 Loại giao thức (IP, TCP, UDP, ICMP, IPSec, etc.)

 Địa chỉ IP nguồn và cổng

 Địa chỉ IP đích và cổng

 Loại thông báo mã ICMP và mã

 Thẻ TCP (SYN, FIN, ACK, etc.)

 Giao diện mạng mà gói tin đến

Vì vậy nếu bạn muốn ngăn chặn gói tin Ping đến từ mạng nhà của bạn

192.168.1.0/24,bạn hãy viết một nguyên tắc như thế này.Đừng lo lắng về cú pháp cụ thể nàodeny proto icmp type 8:0 from any to 192.168.1.0/24

hoặc nếu bạn muốn cho phép luồng Web đi tới 192.168.1.50 và từ chối tất cả các luồng khác.allow proto tcp from any:any to 192.168.1.50:80

deny proto all from any to 192.168.1.0/24

Bạn cũng có thể dùng tường lửa để bảo vệ mạng của bạn bằng cách giả mạo địa chỉ IP.Ví

dụ,chúng ta gọi giao diện bên ngoài tường lửa của bạn (called eth 1) có địa chỉ IP là 10.0.0.1 với mặt lạ mạng là 255.255.255.0.Giao diện bên trong tường lửa của bạn có địa chỉ IP là

192.168.1.1,với mặt lạ mạng là 255.255.255.0.Bất kỳ đường truyền mạng nào đến từ địa chỉ 192.168.1.0 đến mạng 10.0.0.0 sẽ đến giao diện eth0 và ra khỏi giao diện eth1,như trong hình minh họa sau đây

Ngược lại đường truyền từ mạng 10.0.0.0 tới mạng 192.168.1.0 đi ra từ giao diện eth1 và đi vào

từ giao diện eth0.Vì vậy,bạn sẽ không bao giờ thấy đường truyền với địa chỉ nguồn 192.168.1.x được gửi đến từ giao diện eth1.Nếu bạn thấy,điều đó có nghĩa là một vài người nào đó bên ngoài mạng 10.0.0.0 đang cố gắng giả mạo 1 đia chỉ trong dải địa chỉ IP địa phương của bạn

deny proto any from 192.168.1.0/24 to any on eth1

Bây giờ, nếu chúng ta xem xét cẩn thận tại quy định này, có vẻ một chút mơ hồ Có thểquy tắc này phù hợp với hợp pháp giao thông đến từ 192.168.1.0 tiêu đề ra với mạng bên ngoài? Nó có thể, nhưng nó phụ thuộc vào giải thích tường lửa của cú pháp Vì chúng ta đang sử dụng

một cú pháp bức tường lửa hư cấu cho các ví dụ này, quy định này vẫn còn mơ hồ

và có thể không hiệu quả Điều này minh họa một điểm quan trọng:Bạn phải rất cẩn thận

Trang 7

khi viết các quy tắc tường lửa Chúng tôi biết những gì chúng tôi đãcố gắng để ngăn

chặn, nhưng đã làm chúng tôi thực hiện nó một cách chính xác? Bạnphải chắc chắn rằng bạn hiểu làm thế nào bức tường lửa áp dụng các quy tắc và nhữnggì mặc định của nó hoặc hành

vi giả định có thể được Chúng tôi có thể viết các quy tắcchống giả mạo ít mơ hồ nếu chúng

ta quy định các giao diện mạng mà trên đó để áp dụng các quy tắc

deny proto any from 192.168.1.0/24 to any in on eth1

allow proto any from 192.168.1.0/24 to any out on eth1

1.7 Sự khác nhau giữa một tường lửa không trạng thái và đa trạng thái?

Trở về chương 4,chúng ta đã đề cập các công cụ như nmap có thể được sử dụng để xemxét xem liệu một tường lửa có phải là stateless or stateful.Vậy đích thực nó là loại nào?Một tường lửa không trạng thái chỉ có thể kiểm tra một gói dữ liệu cá nhân tại một thời điểm cô lập,không để ý đến các gói tin đã đến trước nó.Nói một cách khác,một tường lửa đa trạng thái,có thể đặt gói tin trong một ngữ cảnh của một luồng điều khiển của một giao thức khác và trong giao thức đặc biệt như TCP/IP hay FTP.Điều này cho phép tường lửa đa trạng thái nhóm các gói tin riêng lẻ với nhau vào một connection,session hay conversation.Do đó,một bức tường lửa đa trạng thái có thể lọc lưu lượng truy cập không chỉ dựa vào đặc tính của gói tin riêng lẻ mà còn dựa vào ngữ cảnh của gói tin theo một phiên họp(session) hay một cuộc hội thoại(conversation)

Tường lửa đa trạng thái cũng cho phép nhiều tập nguyên tắc hơn.Ví dụ,một máy tính trong mạng nội bộ 192.168.1.0 muốn kết nối tới một máy chủ web nằm trên Internet.Các bước sau đây chứng minh những hạn chế để thử kiểm tra gói đơn đến phân luồng

1.8 Tìm hiểu về Network Adress Translation (NAT) và Port Forward.

Nhiều thiết bị tường lửa được dùng để tách các mạng bên ngoài với địa chỉ IP truy cập công cộng

từ một mạng nội bộ với địa chỉ IP riêng.Giao diện bên ngoài của thiết bị có một địa chỉ IP

chung,trong khi giao diện bên trong của thiết bị có địa chỉ IP riêng.Địa chỉ chung cũng được tham chiếu tới như bộ định tuyến và địa chỉ riêng cũng thường được tham chiếu như địa chỉ vô đinh tuyến.Trong thực tế,một trong hai không gian địa chỉ riêng hay chung là bộ định

tuyến.Nhưng nếu phân biệt cụ thể,địa chỉ riêng không được sử dụng cho cho địa chỉ trên

Internet.Địa chỉ riêng được dành riêng cho các tổ chức để tạo ra các mạng nội bộ

Internet Assigned Numbers Authority (IANA) thuộc các khối IP nhất định cho các mạng riêng tư.Điều này có nghĩa là các bộ định tuyến công cộng sẽ không(hay ít nhất sẽ không nên) định tuyến luồng đi và đến các máy nằm trong phạm vi mạng này.Phạm vi mạng như sau :

192.168.0.0 thông qua 192.168.255.255 được viết 192.168.0.0/16 o hay

192.168.0.0/255.255.0.0

Như trên thì,điều này sẽ mang lại cho chúng ta một số lượng lớn địa chỉ IP và mặt nạ

mạng(sunnet)cho địa chỉ mạng nội bộ.Bất kỳ một mạng riêng tư nào mà hệ thống của nó không được truy cập vào một máy nằm trong mạng Internet sẽ sử dụng một subnet mạng riêng tư thuộc phạm vi này như một subnet của nó

Trang 8

Tuy nhiên,điều này đặt ra một vấn đề,nếu bất kỳ một hệ thống trên mạng riêng tư muốn truy cập tới Internet.Hãy nhớ rằng các hành vi được đề nghị rằng các bộ định tuyến Internet công cộng sẽ không phải đinh tuyến luồng hoặc hệ thống các địa chỉ tư nhân.Điều này dường như ngụ ý rằng một địa chỉ riêng tư không bao giờ có thể truy cập tới một trang Web trên Internet.

NAT giải quyết vấn đề này bằng cách chuyển(translating) các gói tin từ địa chỉ riêng tư thành địachỉ công cộng.NAT thường được thực hiện bởi một thiết bị tường lửa trên giao diện bên ngoài của nó vì lời ích của các hệ thống trên giao diện nội bộ của mình.Nhiều thiết bị mạng có thể thựchiện NAT,bao gồm cả thiết bị định tuyến.Một thiết bị NAT cho phép các máy trên mạng riêng nội bộ của nó,giả trang như là địa chỉ IP được gán cho thiết bị NAT,bao gồm cả thiết bị định tuyến.Hệ thống riêng tư có thể giao tiếp với Internet thông qua định tuyến,địa chỉ IP truy cập công cộng trên giao diện ngoài của thiết bị NAT

Khi một thiết bị NAT nhận được lưu lượng truy cập từ mạng riêng tư dành cho các mạng

ngoài(Internet),nó ghi nguồn của gói dữ liệu và các chi tiết đích.Thiết bị này sau đó viết lại tiêu

đề của gói tin như việc địa chỉ IP nguồn được đặt cùng với bên ngoài thiết bị,địa chỉ IP công cộng

Sau đó thiết bị sẽ gửi gói tin tới địa chỉ IP đích.Từ quan điểm hệ thống đích của gói tin đã đến trực tiếp từ các thiết bị NAT.Hệ thống đích đáp ứng cần thiết để gói tin,gửi nó trở lại địa chỉ IP của thiết bị NAT

Khi thiết bị NAT nhận được gói tin trả lời,nó kiểm tra bảng dịch địa chỉ của nó để xem nếu các địa chỉ và thông tin của gói tin phù hợp với bất kỳ của các gới tin đã được gửi ra.Nếu trận đấu không được tìm thấy,gói tin được giảm xuống hoặc bị xử lý theo bất kỳ quy tắc tường lửa hoạt động trên các thiết bị.Nếu một trện đấu được tìm thấy,các thiết bị NAT viết lại địa chỉ đích của gói tin IP với điah chỉ riêng của hệ thống ban đầu gừi gói tin

Cuối cùng các thiết bị NAT sẽ gửi gói tin đến đích nội bộ của mình.Dịch địa chỉ mạng là hoàn toàn minh bạch để các hệ thống trên địa chỉ IP nội bộ tư nhân và các điểm đến Internet.Các hệ thống tư nhân có thể truy cập vào Internet,nhưng một hệ thống Internet có thể không trực tiếp giải quyết nó

Nếu bạn đang gặp sự cố cố hình dung những gì đang xảy ra,có lẽ minh họa sau đây sẽ giúp bạn:

Trang 9

NAT không có những hạn chế Các thao tác tiêu đề gói tin sẽ can thiệp với bất kỳ giao thức đòi hỏi phải sử dụng đúng địa chỉ IP, chẳng hạn như IPsec Ngoài ra, bất kỳ giao thức yêu cầu một kết nối riêng biệt, ngược lại đến, chẳng hạn như hoạt động chế độ FTP, sẽ không làm việc Đi FTP kiểm soát kết nối đến máy chủ FTP sẽ làm cho nó thông qua NAT chỉ là tốt, nhưng khi máychủ FTP cố gắng để thiết lập kết nối dữ liệu, thiết bị NAT sẽ không biết phải làm gì bởi vì nó không có một mục tương ứng trongbảng dịch của nó NAT của tỷ lệ hiện nhiễm đã ảnh hưởng đến mọi người để tạo ra cách giải quyết để giải quyết những hạn chế này.

Cuối cùng, NAT đã trở thành thiếu tường lửa và an ninh mạng Nó cung cấp một lớp bảo mật bổ sung một thiết bị tường lửa, vì nó không chỉ bảo vệ máy phía sau giao diện nội bộ của mình, nhưng nó cũng ẩn chúng đi Nhưng điều gì sẽ xảy ra nếu bạn quyết định bạn muốn để lộ một dịch vụ cụ thể trên mạng riêng của bạn với Internet? Điều gì sẽ xảy ra nếu bạn muốn một người nào đó trên khắp đất nước để có thể nhìn vào một cái gì đó mà bạn đã đăng trên máy chủ web nội

bộ của bạn? Có cách nào để cho phép máy Internet để bắt đầu giao tiếp với một máy tính tư nhân?

Đối với điều này, bạn có thể sử dụng một kỹ thuật được gọi là cổng chuyển tiếp Các thiết bị NAT có thể chuyển tiếp bất kỳ lưu lượng truy cập nhận được trên một cổng đặc biệt trên giao diện bên ngoài của thiết bị một cổng trên một máy tính nội bộ tư nhân Một hệ thống trên mạng Internet kết nối với các thiết bị NAT trên cổng này sẽ có hiệu quả kết nối với các cổng trên hệ thống nội bộ, mặc dù nó chỉ cần biết địa chỉ IP của thiết bị NAT

Đây là tất cả tốt và tốt, nhưng bây giờ bạn đã thực hiện mạng riêng của bạn một chút ít tư nhân bằng cách mở cổng chuyển tiếp này Bây giờ bất cứ ai trên Internet có thể truy cập vào máy chủ web nội bộ của bạn bằng cách kết nối vào cổng trên thiết bị NAT của bạn Nếu thiết bị NAT của bạn là một bức tường lửa, bạn có thể sử dụng quy tắc tường lửa để hạn chế địa chỉ IP được phép truy cập vào nó Trong khi điều này là an toàn hơn, bạn vẫn đang chỉ dựa trên chứng thực trên

Trang 10

nền IP Nhiều lần, người sử dụng đã xây dựng được tăng cường, mạng lưới tư nhân có thể tìm thấy nó cần thiết để mở các tài nguyên mạng nội bộ đến một cơ sở từ xa Có nhiều cách để hạn chế truy cập từ đó thiết bị từ xa và ngăn cấm các phần còn lại của Internet Nhưng chúng ta có thực sự muốn chuyển tiếp hàng chục cổng và hàng chục mở lỗ hổng trong tường lửa của chúng tôi, hoặc hàng chục các quy tắc và các ngoại lệ? Đây là nơi mà các mạng riêng ảo đi vào chơi.

1.9 Khái niệm cơ bản của các mạng riêng ảo (Virtual Private Networks)

VPN là một chủ đề phức tạp.Chúng ta đề cập nó ở đây là vì rất nhiều thiết bị tường lửa cung cấp một vài cách đo lường khả năng của VPN.Máy chủ VPN nằm trên các thiết bị và đợi kết nối từ các máy khách VPN.Các máy khách này có thể là dựa trên phần mềm,như một

laptop,hoặc các giải pháp dựa trên phần cứng,như một thiết bị ngang hàng.Các văn phòng từ xa thường cài đặt một thiết bị tường lửa/VPN và cấu hình thiết bị để chúng có thể kết nối bởi một dòng dữ liệu chuyên dụng.Sự khác biệt duy nhất là nó là một dòng dữ liệu ảo.Luồng vẫn truyền trên Internet.Nhưng VPN cung cấp thêm các tầng bảo mật qua việc mã hóa và bảo vệ tường lửa

Một phái cạnh chính của VPN là xác thực người dùng.Người sử dụng từ xa sử dụng một phần mềm VPN client và đang nhập vào máy chủ VPN để thiết lập kết nối của họ.Các thiết bị phần cứng VPN thường sử dụng một vài loại thuật toán xác thực khóa được chia sẻ.Điều này là mạnh hơn nhiều trong cả an ninh và thuận tiện hơn dựa vào xác địa chỉ IP

Luồng truy cập VPN thường được mã hóa.Điều này nhằm bảo vệ dữ liệu trong khi chúngđược truyền đi tới các thiết bị đầu cuối VPN.Thậm chí,dữ liệu vẫn được qua các

router,switch,hoặc các thiết bị khác trên Internet.Nó gần như là an toàn như khi nó sử dụng một dòng dữ liệu chuyên dụng

VPN thường có thể chuyển tiếp giữa tất cả các đường trên một mạng trên một tập các cổng đơn.Hãy tưởng tượng có bao nhiêu hướng cổng và quy tắc tường lửa bạn phải viết,nếu bạn phải mở một vài tài nguyên mạng nội bộ tới một vị trí ở xa.Chia sẻ file,chia sẻ máy in,kho lưu trữ mã và các dịch vụ khác sẽ tạo một NAT và cấu hình cổng chuyển tiếp

Bằng cách kết hợp các khả năng của một tường lửa,thiết bị NAT và VPN trong một thiết

bị mạng,bạn có thể cải thiện an ninh bên ngoài mạng của bạn mà không mất sự thuận tiện hay năng suất

1.10 Bên trong khu phi quân sự

Một cuộc thảo luận về tường lửa sẽ không hoàn thành mà nếu không nhắc đến khu phi quân sự,hoặc DMZ.DMZ đã trở thành một từ thông dụng không may là nhiều người sử dụng khi nói về mạng và tường lửa,nhưng ít người hiểu những gì nó có.Chúng tôi đã thảo luận về tường lửa và các thiết bị NAT có một giao diện bên ngoài với một địa chỉ IP công cộng định tuyến và một giao diện bên ngoài với một địa chỉ IP công cộng định tuyến và một giao diện nội bộ,tư nhânvới một địa chỉ IP.Điều gì sẽ xảy ra nếu tổ chức của chúng tôi có một máy chủ FTP,máy chủ

Trang 11

Web và máy chủ DNS mà chúng ta muốn để làm cho truy cập công công?Vâng,chúng ta có thể giữ chúng trên các mạng riêng và thiết lập chuyển tiếp cổng,nhưng điều gì sẽ xảy ra nếu chúng ta

có nhiều máy chủ web?Chúng ta không thể ràng buộc một cổng bên ngoài cổng 80 một số các hệthống nội bộ

2 Freeware firewalls.

2.1 Ipchans

Ipchans là các bộ lọc gói tin đầu tiên chúng ta sẽ thảo luận.Ipchans ban đầu được dựa trên một công cụ gọi là ipfwadm.Ý tưởng đằng sau ipchans là để tạo ra chuỗi các quy tắc cho một gói tin

đi qua.Tại bất kỳ điểm nào trong chuỗi, gói tin có thể được thông qua hoặc bị từ

chối.Ipchains có tất cả nhưng được thay thế bởi iptables cho hạt nhân Linux đang chạy dòng2.6, tuy nhiên, nó có thể được bao gồm trong hầu hết các bản phân phối Linux cùng

vớiiptables Nó là một điểm khởi đầu tốt đẹp cho cái nhìn đầu tiên của chúng tôi tại góitường lửa, và nó cũng cho chúng ta một ví dụ về một bức tường lửa không trạng thái

Để sử dụng ipchains, tất cả những gì bạn cần là một hộp Linux với các tùy chọn thíchhợp biên dịch vào trong nhân Bạn có thể cho biết nếu hạt nhân của bạn có hỗ trợ ipchains nếu tập

tin / proc / net / ip_fwchains tồn tại Hiện tại hầu hết các phiên bản cài đặt Linux sẽ có các tùy chọn này đi kèm theo, nhưng phiên bản trước đó của Linux có thể cần phải được sửa

đổi Thật không may, chúng tôi không thể đi vào chi tiết cách xây dựng một hạt

nhân Linux, rất nhiều tài nguyên Internet có sẵn cho việc xây dựng hạt nhân hỗ trợ tường

lửa Bạn có thể kiểm tra trang web chính của ipchains hoặc truy cập vào trang web sau đây để biết thêm chi tiết:http://www.tldp.org/HOWTO/IPCHAINS-HOWTO.html

Chú ý : Bạn cũng sẽ cần phải chắc chắn rằng tập tin / proc/sys/net/ipv4/ip_forward chứa giá trị 1 nếu bạn muốn để có thể chuyển tiếp các gói tin từ một mạng sang mạng khác.Bạn có thể

gõ echo 1> / proc / sys / net/ipv4/ip_forward như là người quản trị mạng để đảm bảo rằng tường lửa của bạn đã sẵn sàng để chuyển tiếp các gói tin

Ipchains là một giao diện người sử dụng cho việc lọc gói tin của nhân Linux Tất cả việc kiểm tragói tin thực tế được thực hiện trong không gian bộ nhớ của hạt nhân Chương trình ipchains chỉ đơn giản ra lệnh các quy tắc tới hạt nhân Thật không may, điều này có nghĩa là hạt

nhân sẽ quên quy tắc của bạn bất cứ lúc nào khi hệ thống được khởi động lại Rất may, bạn có thể sử dụng các công cụ ipchains-save và ipchains-khôi phục lại để tạo ra một tập các quy

tắc ipchains hiện tại trong sử dụng và khôi phục lại chúng sau khi khởi động lại

2.2 Implementation

Nếu hộp Linux của bạn có hỗ trợ ipchans,điều đầu tiên bạn cần phải làm là liệt kê tập quytắc hiện tại

Trang 12

[root@originix /root]# ipchains -L

Chain input (policy ACCEPT):

Chain forward (policy ACCEPT):

Chain output (policy ACCEPT):

Lệnh này liệt kê các quy tắc gói tin hiện tại đang sử dụng.Như bạn có thể thấy,ipchans định nghĩa ba chuỗi theo mặc định: input,forward và output.Chính sách mặc định cho mỗi

chuỗi(chains) là các gói tin được chấp nhận.Điều này có nghĩa rằng nếu một gói tin đi qua toàn

bộ chuỗi và không phù hợp với bất kỳ quy tắc nào,nó được coi là chấp nhận được và đi qua giao diện.Bạn có thể chọn từ sáu mục tiêu phổ biến trong xây dựng

Điều quan trọng là bạn hiểu làm thế nào mỗi chuỗi(chains) mặc định được sử dụng.Bất

kỳ gói tin nào đi vào một giao diện của hệ thống đầu tiên sẽ đi vào chuỗi đầu vào quy định cho giao diện của nó.Các gói tin mà không phải là dành cho các tường lửa chính nó sẽ cần phải vượt qua chuỗi định hướng(forward chain) trước khi tiếp tục đi đến đích của nó.Cuối cùng,bất kỳ gói tin đi ra khỏi hệ thống phải vượt qua thông qua chuỗi đầu ra(output chain).Điều này có nghĩa bất

kỳ đường truyền nào đi qua giữa một hệ thống mạng riêng và một hệ thống mạng chung sẽ phải

đi qua cả ba chuỗi trên.Điều quan trọng cũng cần lưu ý rằng đầu vào và đầu ra không nhất thiết đồng nghĩa với gửi đến và gửi đi.Các gói tin nhận chuỗi đầu vào đầu tiên cho dù họ có đến từ cácmạng nội bộ để eth0 hoặc từ mạng bên ngoài eth1

Ở đây chúng ta sẽ thảo luận về các lệnh ipchains được sử dụng để thao tác với các quy tắc cũng như các cú pháp.Trước tiên,chúng ta hãy xem xét các lệnh cơ bản cho phép thêm.loại bỏ,và sửa đổi các quy tắc và các chuỗi trong bảng 13-1

Table 13-1: Ipchains Commands

Trang 13

Các lệnh mà bạn sẽ sử dụng thường xuyên nhất là để thêm các quy tắc cho một chuỗi,liệt kê danh sách các quy tắc về một chuỗi và thay đổi chính sách một trên một chuỗi.Ngoài ra,bạn còn

có thể tạo ra chuỗi được định nghĩa bởi người dùng có thể sử dụng được như là mục tiêu.Ví dụ bạn muốn kiểm tra một gói tin cụ thể chống lại một tập các quy tắc nhất định,nhưng nếu nó chỉ phù hợp với một số tiêu chí ban đầu,bạn có thể có gói tin nhảy đến chuỗi do người dùng định nghĩa.Chuỗi người dùng định nghĩa không có chính sách mặc định,không giông như 3 chuỗi mặcđịnh,nếu một gói tin đi đến điểm kết thúc của chuỗi do người dùng định nghĩa,nó “rơi

khỏi”chuỗi đó và trở lại chuỗi khi nó đến

Trước tiên,chúng ta hãy xém ví dụ một quy tắc.Hãy tưởng tượng chúng tôi muốn chặn bất cứ ping đến(yêu cầu ICMP echo) tại giao diện bên ngoài của chúng tôi.Làm thế nào chúng ta sẽ làmđiều này?

ipchains -A input -p 1 -i eth1 -s 0.0.0.0/0 8 -d 0.0.0.0/0 -j DENY

Đầu tiên,chúng ta có thể thấy rằng chúng ta thêm nguyên tắc này (-A) vào chuỗi đầu vào(input chain) Thẻ -p xác nhận loại giao thức IP.Trong trường hợp này,chúng tôi đang tìm kiếm số giao thức IP số 1,đó là ICMP Thẻ –i là cờ cho phép chúng ta xác định xem giao diện mạng nào mà chúng ta đang kiểm tra.Trong trường hợp này chúng ta có liên quan đến ping,đến giao diện bên ngoài.vì vậy chỉ định eth1.Cờ s- và d- được sử dụng để xác định nguồn và đích của gói tin.Trong trường hợp này,0.0.0.0/0 sẽ phù hợp với tất cả các địa chỉ IP,vì vậy chúng ta đang thực sự nói rằng”từ bất kỳ tới bất kỳ”

Điều đó không đến nỗi quá xấu.Chúng ta hãy xem xét một quy tắc có liên quan đến TCP.Nếu bạn muốn chỉ những đường truyền tới web server của bạn tại 192.168.1.50 và chặn tất cả các đường truyền khác lại.Chúng ta sẽ làm điều đó như nào?

Trang 14

ipchains -A input -p 6 -i eth1 -d 192.168.1.50 80 -j ACCEPT

ipchains -P input DENY

Chú ý rằng chúng ta không chỉ định một địa chỉ nguồn.Trong trường hợp này,Nó là không cần thiết bởi vì chúng ta muốn chấp nhận bất kỳ truy cập nào đến 192.168.1.50 trên cổng 80,bất kể nguồn kỳ gói tin không phù hợp với quy tắc này.Khi 192.168.1.50 cống gắng kiên lạc lại,nó sẽ được gửi đường truyền nội địa trên eth0.Vì không có nguyên tắc phù hợp nào tòn tại và chính sách mặc định sẽ DENY đường truyền,tất cả đáp ứng bị khóa

Nếu quy tắc đó là nguyên tắc mà chỉ có trên chuỗi đầu vào của chúng ta.web server sẽ không trả lời được bất kì ai đang nói chuyện với nó.Chúng ta nói rằng chúng ta chỉ cho phép đường truyền nội địa trên eth 1 tới địa chỉ 192.168.1.50 nẳm trên cổng 80

Bạn có thể sử dụng một dấu chấm than để đảo ngược gần như bất kỳ như giá trị có thể.Ví

dụ,chúng ta hãy nói rằng bạn muốn tất cả mọi người có quyền truy cập máy chủ web này,ngoại trừ người dùng trên lớp C 192.168.69.0.Bạn có thể đảo ngược để viết lại các quy tắc đầu tiên

ipchains -R 1 input -p 6 -i eth1 -s ! 192.168.69.0/24

Bảng 13-2 cho thấy một số dòng lệnh biểu diện cờ lệnh khác nhau mà bạn có thể sử dụng trong quy tắc và những gì chúng làm

Bây giờ bạn đã quen thuộc với cú pháp quy tắc,hãy giải thích một tập hợp các quy tắc cho một số hệ thống mới.Sau đây được lấy từ một quy tắc ipchans tập tin được tạo ra bằng cách

sử dụng tiện ích ipchans- tiết kiệm.Nó có thể được nạp lại và hạt nhân bằng cách sử dụng các tiện ích ipchans-khôi phục

Trang 15

1):input DENY

2):forward DENY

3):output ACCEPT

4):unkwn-in

5)-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i eth1 -j unkwn-in

6)-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i eth0 -j ACCEPT

7)-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i lo -j ACCEPT

8)-A forward -s 192.168.1.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -i eth1 -j MASQ

9)-A unkwn-in -s 192.168.1.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -j DENY

10)-A unkwn-in -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22:22 -p 6 -j ACCEPT

11)-A unkwn-in -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 80:80 -p 6 -j ACCEPT

12)-A unkwn-in -s 0.0.0.0/0.0.0.0 20:20 -d 0.0.0.0/0.0.0.0 1024:5999 -p 6 -j ACCEPT

13)-A unkwn-in -s 0.0.0.0/0.0.0.0 20:20 -d 0.0.0.0/0.0.0.0 6010:65535 -p 6 -j ACCEPT

14)-A unkwn-in -s 0.0.0.0/0.0.0.0 0:0 -d 0.0.0.0/0.0.0.0 -p 1 -j ACCEPT

15)-A unkwn-in -s 0.0.0.0/0.0.0.0 3:3 -d 0.0.0.0/0.0.0.0 -p 1 -j ACCEPT

16)-A unkwn-in -s 10.3.0.6/255.255.255.255 53:53 -d 0.0.0.0/0.0.0.0 -p 17 -j ACCEPT

17)-A unkwn-in -s 10.3.0.7/255.255.255.255 53:53 -d 0.0.0.0/0.0.0.0 -p 17 -j ACCEPT

18)-A unkwn-in -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -p 6 -j ACCEPT ! -y

19)-A unkwn-in -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -j DENY -l

động, do đó họ sẽ được nạp mỗi khi khởi động hệ thống Theo mặc định, rc.firewall cần phải có một chính sách phủ nhận tất cả lưu lượng truy cập Điều đó có nghĩa là nếu bạn là lần đầu

tiên cấu hình và thiết lập ipfw từ một địa điểm từ xa, có một cơ hội tốt bạn khóa mình ra Các giải pháp này là để biên dịch hạt nhân của bạn với tùy

chọn IPFIREWALL_DEFAULT_TO_ACCEPT hoặc chỉ định một loại tường lửa mởtrong các kịch bản khởi động / etc / rc.conf bằng nói firewall_type = mở

Không giống như ipchains và iptables, ipfw không có một khái niệm

về chuỗi nhiều thông qua đó mỗi gói tin đi Với ipfw, quy tắc được thêm vào một chuỗi duy nhất Bạn có thể chỉ định một chỉ số cho từng quy tắc đặt các quy tắc ở một điểm nhất định trong chuỗi.Việc thiếu nhiều các chuỗi đơn giản hoá việc sử dụng ipfw Nội quy có thể được nhóm lại thành bộ để cấu hình dễ dàng hơn Điều này cho phép bạn tách biệt một số nhóm các quy

Trang 16

tắc có liên quan để bạn có thể vô hiệu hóa hoặc kích hoạt các nhóm nhất định trong những hoàn cảnh khác nhau.

Ipfw có một vài hành động có thể được thực hiện trên một gói tin :

accept, allow, pass, permit : Cho phép các gói tin đi qua Đây là những đồng nghĩa Đây là một hành động thiết bị đầu cuối

reset,unreach : Ngăn chặn các gói dữ liệu và thông báo cho người gửi từ chối vớimột thông báo không đạt tới cổng ICMP Đây là một hành động thiết bị đầu cuối

deny,drop : Thả các gói tin hoàn toàn,có thông tin gửi đến nguồn gốc của gói tin.Đây là một hành động thiết bị đầu cuối

count :Cập nhật bộ đếm byte theo nguyên tắc.Tiếp tục các quy tắc tiếp theo.

Log : Đăng nhập trận đấu syslog Tiếp tục để các quy tắc tiếp theo

Ipfw cũng có khả năng kiểm tra trạng thái Bạn có thể sử dụng các thiết lập và thành lập các từ khóa để phân biệt giữa các kết nối TCP mới và thiết lập kết nối TCP Tất cả cáctừ

khóa thực sự, tuy nhiên, là kiểm tra những lá cờ TCP được thiết lập trên các gói

tinTCP Ipfw cũng có một từ khóa duy trì trạng thái có thể được sử dụng kết hợp với một quy tắc kiểm tra nhà nước để làm cho một bộ lọc trạng thái gói tin thực sự

Trước khi chúng tôi đi sâu vào cú pháp quy định ipfw, Bảng 13-4 sẽ thảo luận về các tùy chọn dòng lệnh có sẵn cho ipfw

Sử dụng ipfw Rules ipfw cung cấp các lệnh khác nhau cho các thao tác quy tắc Chúng được mô

tả ngắn gọn trong bảng 13-5

Trang 17

Chúng tôi chủ yếu quan tâm với việc thêm và xóa các quy tắc ở đây Hãy thêm một quy tắc rất

cơ bản:

ipfw add 100 allow ip from any to any out via ed1

Quy luật này nói rằng chúng ta nên cho phép bất kỳ loại của gói tin IP đi ra ngoài giao diện bên ngoài của chúng tôi, ed1 Chúng tôi đã xác định rằng quy định này được đặt ở vị trí 100 Nếu chúng ta không chỉ định một chỉ mục, ipfw tự động không gian ngoài cai trị bằng cách gia số của

100 Vì vậy, một quy tắc ipfw tiếp theo mà không có một chỉ số rõ ràng sẽ được đặt ở vị trí 200

Cho đến nay, chúng tôi đã chỉ được phép lưu lượng gửi đi để có được Chúng tôi cần phải thêm các quy tắc mà sẽ cho phép một số lưu lượng truy cập Hãy viết một quy tắc cho phép lưu lượng truy cập chỉ web vào máy chủ web nội bộ của chúng tôi

ipfw add 200 allow tcp from any to 192.168.1.50 80 in via ed1

Điều gì sẽ xảy ra nếu chúng ta muốn một cách rõ ràng từ chối giao thông nội địa nhất định để chúng ta cũng có thể đăng nhập, chẳng hạn như telnets cố gắng và FTPS?

ipfw add 300 log deny tcp from any to {me or 192.168.1.0/24} 23 in via ed1

ipfw add 400 log deny tcp from any to {me or 192.168.1.0/24} 21 in via ed1

Chú ý chúng tôi đã thêm các từ khóa đăng nhập để bắt đầu định nghĩa quy tắc của chúng

tôi Cũng lưu ý làm thế nào chúng tôi đã chỉ định điểm đến Ngoài ra các từ khóa bất kỳ (trong

đó phù hợp với tất cả các địa chỉ IP), các từ khoá của tôi có thể được sử dụng để phù hợp với bất

kỳ địa chỉ IP được cấu hình trên hệ thống Cũng như với các tường lửa khác, máy chủ có thể được quy định cụ thể tại một thời điểm, trong CIDR ký hiệu, hoặc trong một "{a, b}" khối như một trong những chỉ cho thấy Bạn cũng có thể trước bất kỳ máy chủ lưu trữ với một không phủ nhận trận đấu Cổng có thể được quy định riêng, như là một phạm vi, hoặc như một danh sách phân cách bằng dấu phẩy Để minh họa cho tất cả các khái niệm này, chúng ta hãy viết một quy tắc cho phép truy cập vào cổng 22 và 443 từ tất cả các máy chủ, ngoại trừ những người trên mạng 192.168.69.0

ipfw add 500 allow tcp from not 192.168.69.0/24 to {me or 192.168.1.0/24}

22,443

Trang 18

Chúng tôi đã đề cập trước đó rằng những quy tắc có thể được chia thành các bộ khác nhau Điều này được thực hiện bằng cách xác định một số thiết lập sau khi chỉ số quy tắc:

ipfw add 600 set 2 allow udp from any to any

Ưu điểm của bộ là họ có thể dễ dàng được bật và tắt bằng cách sử dụng lệnh thiết lập ipfw Ví

dụ, để nhanh chóng cho phép tất cả lưu lượng UDP, chúng tôi sẽ loại này:

ipfw set enable 2

Khi chúng tôi muốn đóng lỗ đó, chúng tôi sẽ loại này:

ipfw set disable 2

Khả năng này trở nên cực kỳ thuận lợi khi bạn đang làm việc với nhiều quy tắc mà bạn muốn để

có thể bật và tắt theo ý muốn Bạn cũng có thể di chuyển số quy tắc từ một tập khác hoặc trao đổi

bộ Các lệnh sau đây di chuyển quy định 600 từ set 2-3 và sau đó trao đổi thiết lập 3 với set 2:

ipfw set move 600 to 3

ipfw set swap 3 2

Điều gì về statefulness? Đặt hành động quy tắc kiểm tra nhà nước ở đầu của chuỗi các lực lượng bất kỳ (trạng thái) quy định năng động hiện đang tồn tại để được kiểm tra đầu tiên

ipfw add 1 check-state

Chúng tôi thiết lập các quy tắc động bằng cách sử dụng tùy chọn quy tắc giữ cho nhà nước Ví

dụ, nếu chúng tôi muốn cho DNS phản hồi trở lại thông qua, chúng tôi muốn thêm một lệnh như thế này:

ipfw add 50 allow udp from 192.168.1.0/24 to any 53 via ed1 keep-state

Tìm Giữ-nhà nước tạo ra một quy tắc động khi một trận đấu Ngay sau khi một máy tính trên 192.168.1.0 làm cho một yêu cầu DNS, ipfw sẽ tạo ra một quy tắc động mà sẽ cho phép các máy chủ DNS để đáp ứng Điều này hiệu quả cho phép chỉ đến các gói dữ liệu DNS là một phần của một cuộc trò chuyện đã được thành lập

Đây là những loại quy tắc bạn có thể sẽ sử dụng thường xuyên nhất, tuy nhiên, chúng tôi đã thảo luận rất nhiều các định dạng quy tắc có sẵn và các tùy chọn Ipfw cũng cho phép bạn giới hạn

Trang 19

băng thông và trọng số lưu lượng truy cập, nhưng đó là vượt quá phạm vi của chương này Bảng 13-6 một số chi tiết của hành động quy tắc được sử dụng vào đầu của một lệnh quy tắc (chẳng hạn như cho phép, từ chối, và từ chối), và Bảng 13-7 chi tiết một số các tùy chọn quy tắc được sửdụng ở phần cuối của một lệnh quy tắc (chẳng hạn như trong, thông qua, và keep-state).

[Ss][Ii][Mm][Pp][Ll][Ee])

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

# This is a prototype setup for a simple firewall Configure this

# machine as a named server and ntp server, and point all the machines

# on the inside at this machine for those services

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

# set these to your outside interface network and netmask and ip

Trang 20

Các biến,chúng ta đã xác định cho kịch bản mà chỉ IP bên ngoài của tường lửa là 10.180.192.299

về ed1,IP nôi bộ của mình 192.168.1.1 trên ed0 và các tường lửa đang bảo vệ mạng

192.169.1.0/24 từ mạng 10.180.192.0/24.Sau khi chạy chức năng setup_loopback,kịch bản sau

đó thực hiện một số quy tắc bảo vệ chung:

# Stop spoofing

${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}

${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif}

# Stop RFC1918 nets on the outside interface

${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}

${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}

${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}

# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,

# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)

# on the outside interface

${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}

${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}

${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}

${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}

${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}

4 COMMERCIAL FIREWALLS

Chúng ta muốn mang lại một vài bức tường lửa thương mại đến sự chú ý của bạn Mặc dù một

số sản phẩm tường lửa thương mại có thể được mua như là phần mềm một mình, hầu hết các sản phẩm tường lửa thương mại có thể được mua đi kèm với một thiết bị phần cứng

4.1 Implementation

Trang 21

Bằng cách truy cập vào máy chủ web của thiết bị, bạn có thể cấu hình tối thiểu quy tắc lọcra địa chỉ IP và cổng TCP hoặc UDP, như thể hiện trong hình 13-1 Bạn cũng có thể thiết lập cổng chuyển tiếp từ thiết bị Linksys để máy nội bộ, như thể hiện trong hình 13-2.

Figure 13-1:Thiết lập bộ lọc outgoing

Figure 13-2 : Thiết lập port forwards.

cứng VPN kết nối

Hình 13-3 cho thấy một danh sách mẫu bộ lọc gói tin trong giao

diện web SonicWALL.Bạn sẽ thấy rằng các bức tường lửa cho

phép web đến 192.168.168.168 và lưu lượngtruy cập syslog đến 192.168.168.8 Nguyên

tắc thứ năm (Key Exchange) là cần thiết đểcho phép SonicWALL để giao tiếp với bất

Trang 22

kỳ thiết bị SonicWALL VPN để thiết lập kết nối Quy tắc 6 và 7 cho phép tất cả lưu lượng truy cập để vượt qua và từ mạng DMZ,trong khi quy tắc 8 và 9 nằm mặc định từ chối chính

sách cho lưu lượng truy cập đến vàcho phép lưu lượng gửi đi Những quy định này là ít hơn rất nhiều khó hiểu hơn nhữngngười chúng tôi đã được tìm kiếm trong các sản phẩm phần mềm miễnphí SonicWALLđến cấu hình với một số dịch vụ được xác định trước (kết hợp hoặc các giao thức vàcổng), nhưng bạn có thể định nghĩa các dịch vụ của riêng bạn bằng cách nhấp

vào tabAdd dịch vụ

Figure 13-3: SonicWALL Access List

SonicWALL thiết bị cho phép bạn làm một số công cụ ưa thích với NAT và DMZs của bạn Sử dụng NAT-to-Một tính năng hiển thị trong hình 13-4, bạn có thể lập bản đồ địa chỉ IP công cộng có sẵn trong khối của bạn để máy tin trên mạng của bạn Hình 13-3, bạn thấy rằng chúng tôi đã đi qua lưu lượng truy cập web để 192.168.168.168, nhưng nếu SonicWALL được

sử dụng NAT, chúng ta cần đến cổng chuyển tiếp cổng 80 trên tường lửa để

192.168.168.168 SonicWALL của giải pháp là sử dụng One-to-One NAT, trong đó sử dụng một

sự kết hợp của ARP giả mạo và DNAT (điểm đến NAT, giải thích trước đó trong chương) để cung cấp một cổng chuyển tiếp tiên tiến Trong hình 13-4, chúng tôi đã xác định rằng nên có được ánh xạ một địa chỉ IP có sẵn công cộng trong khối của chúng tôi, 209.190.216.175

192.168.168.168 Địa chỉ trên mạng con tương tự như địa chỉ công cộng của chúng tôi

SonicWALL IP (WAN) Bất cứ lúc nào đi lưu lượng truy cập để lại 192.168.168.168 dành cho Internet, SonicWALL sẽ thực hiện SNAT (hoặc nguồn NAT), thay thế địa chỉ 192.168.168.168 tin với địa chỉ công cộng quy định 209.190.216.175 Bất cứ khi nào trở lại giao thông cho

209.190.216.175, SonicWALL trả lời bất kỳ yêu cầu ARP cho địa chỉ IP (mặc dù nó không phải

là địa chỉ IP thực của bức tường lửa), thực hiện DNAT (thay thế điểm đến 209.190.216.175 với 192.168.168.168), kiểm tra nó chống lại quy tắc tường lửa cho 192.168.168.168, và gửi nó theo cách của mình Điều này cho phép bạn thực hiện một loại tiên tiến của cổng chuyển tiếp, hiệu quả làm cho một "ẩn" tin máy chủ trên mạng LAN của bạn hơi công cộng, nhưng vẫn còn với việc bảo vệ của các quy tắc tường lửa SonicWALL sử dụng kỹ thuật giả mạo ARP trên cùng một cổng DMZ của nó Bạn có thể cấu hình các máy chủ DMZ của bạn với các địa chỉ IP có sẵn

Trang 23

trên mạng con nào tương tự như giao diện của SonicWALL Trong khi đó, một số tường lửa yêu cầu DMZ sử dụng địa chỉ của bạn IP từ 1 subnet nào riêng biệt kể từ khi DMZ là 1 mạng vật lý riêng biệt, giao diện công việc của SonicWALL có thể trả lời ARP yêu cầu cho các máy chủ trên cổng DMZ của nó và sau đó chuyển tiếp lưu lượng truy cập các máy chủ DMZ thích hợp Điều này cho phép bạn để cung cấp an ninh nội bộ của bạn và DMZ máy chủ mà không yêu cầu bạn mua nhiều khối IP công cộng từ ISP của bạn Điều này có thể là một lựa chọn ưa thích của "One-to-One NAT" tùy chọn, vì điều này sẽ giúp DMZ của bạn và máy nội bộ từ cư trú trên cùng một mạng vật lý.

Figure 13-4: SonicWALL One-to-One NAT

4.3 Cisco PIX

Bức tường lửa PIX bình thường đã được cấu hình sử dụng dòng lệnh cú pháp, như trường

hợp với nhiều định tuyến và chuyển đổi sản phẩm Ngoài ra, tường lửa PIX có thể được cấu hình bằng cách sử dụng PIX Device Manager (PDM), mà là một giao diệndựa trên web có thể được truy cập từ bên trong của tường lửa Cấu hình dựa trên webgiống như giao

diện SonicWALL, nhưng cú pháp dòng lệnh có thể được khôn lanh nếubạn đã không bao

giờ được sử dụng một sản phẩm Cisco

Để cấu hình PIX, trước tiên bạn sẽ cần phải nhập vào cấu hình thiết bị đầu

cuối (hoặc chỉ đơn giản là conf t) tại các dòng lệnh Điều này cho phép bạn thay đổi cấu hình, chẳng hạnnhư gán địa chỉ IP, xác định quy tắc tường lửa, và thay đổi mật khẩu hệ thống Ở đây chúng tôi đang thay đổi telnet của chúng tôi và cho phép mật khẩu:

pixfirewall# conf t

pixfirewall(config)# enable password secure123

pixfirewall(config)# passwd secure123

Lệnh mật khẩu đầu tiên thay đổi mật khẩu "cho phép" trong khi các mật khẩu thứ hai thay đổi mật khẩu "telnet" (Chúng tôi đề nghị bạn sử dụng một cái gì đó an toàn hơn so

Trang 24

Cấu hình địa chỉ IP và cổng mặc định trên hệ thống của bạn là khá đơn giản và dễ hiểu:

pixfirewall(config)# ip address outside 209.190.216.175 255.255.255.0

pixfirewall(config)# ip address inside 192.168.1.1 255.255.255.0

pixfirewall(config)# route outside 0.0.0.0 0.0.0.0 209.190.216.254

Ở đây chúng ta đã cấu hình các địa chỉ nội bộ là 192.168.1.1/24, các địa chỉ bên

ngoàinhư 209.190.216.175/24, và một gateway mặc định của 209.190.216.254 Các thuật

ngữ bên ngoài và bên trong các giao diện bên ngoài và nội bộ, tương ứng :

Để cho phép lưu lượng gửi đi (từ trong ra ngoài), bạn cần phải cấu hình NAT Bởi vì PIXcó thể thực hiện một số NAT hoạt động tùy thuộc vào nguồn của gói tin, bạn phải xác định mỗi lệnh NAT với một ID NAT NAT lệnh sau đây sẽ cho phép chúng tôi thực hiệnNAT

trên 192.168.1.0 máy nội bộ của chúng tôi:

pixfirewall(config)# nat (inside) 1 192.168.1.0 255.255.255.0

1 sau khi tên giao diện là ID NAT Ngoài việc xác định mà chúng ta muốn NAT thực hiện trên các địa chỉ trên giao diện này, chúng ta phải sử dụng lệnh toàn cầu để xác định một hồ bơi của nguồn nước công cộng địa chỉ để sử dụng

pixfirewall(config)# global (outside) 1 209.190.216.165-209.190.216.170

Chúng tôi sử dụng ID NAT 1 liên quan đến lệnh toàn cầu lệnh nat trước của chúng tôi Ở đây chúng tôi đã chỉ định địa chỉ IP công cộng mà các máy tư nhân có thể sử dụng Nếu chúng ta chỉ muốn làm truyền thống NAT, chúng ta có thể làm điều này:

pixfirewall(config)# global (outside) 1 interface

Nếu chúng ta không quan tâm đến NAT ở tất cả, chúng tôi muốn sử dụng một ID NAT từ 0 và

bỏ ra lệnh toàn cầu hoàn toàn:

pixfirewall(config)# nat (inside) 0 192.168.1.0 255.255.255.0

Mẹo Thậm chí nếu bạn không sử dụng NAT, bạn vẫn cần phải thiết lập một lệnh nat với một ID NAT 0 để xác định lưu lượng truy cập có thể được thông qua, nhưng không có NAT phải được thực hiện

Để tạo ra các quy tắc lọc gói, bạn có thể sử dụng lệnh access-list để thêm các quy tắc cho một danh sách có tên truy cập Một khi danh sách truy cập đã được tạo ra, bạn có thể "cài đặt" nó trênmột giao diện bằng cách sử dụng lệnh access-group Các lệnh sau đây cài đặt một danh sách truy

Trang 25

cập vào giao diện bên ngoài mà vượt qua tất cả các lưu lượng truy cập và một danh sách truy cậpvào giao diện nội bộ đi chỉ web vào và SSH:

pixfirewall(config)# access-list outgoing permit ip any any

pixfirewall(config)# access-list incoming permit tcp any host 209.190.216.175

eq 80

pixfirewall(config)# access-list incoming permit tcp any host 209.190.216.175

eq 22

pixfirewall(config)# access-group outgoing in interface outside

Tất cả các giao thông khác sẽ bị từ chối bởi tường lửa Chính sách mặc định của Cisco từ chối giao thông không cho phép một cách rõ ràng

Nếu bạn đang sử dụng NAT và bạn muốn vượt qua lưu lượng truy cập bên ngoài để một máy tư nhân, nội bộ, bạn cũng sẽ cần phải thiết lập một cổng chuyển tiếp Các lệnh sau đây có thể được

sử dụng để chuyển tiếp lưu lượng truy cập từ IP 209.190.216.175 bên ngoài của bạn đến một máy tính nội bộ (192.168.1.50):

CHƯƠNG 2: NHỮNG CÔNG CỤ TRINH THÁM MẠNG

Một trong những tiền đề đầu tiên để có một cuộc tấn công nhắm mục tiêu trên mạng của bạn là thu thập thông tin liên quan đến dấu chân, hoặc các vị trí hiện diện trên Internet Như đã đề cập nhiều lần trong cuốn sách này, thu thập thông tin là một bước thiết yếu đầu tiên trong kế hoạch tấn công của hacker Mặc dù nhiều các công cụ được trình bày trong suốt cuốn sách và có thể được sử dụng để liệt kê những thông tin quan trọng về một hệ thống hoặc một mạng, những công

cụ trong chương này thực hiện các truy vấn cơ bản và đặt nền móng cho các công cụ tinh vi hơn Trong nhiều trường hợp, những công cụ thu thập thông tin từ các nguồn không trực tiếp liên kết

Trang 26

với mạng mục tiêu Điều này làm cho việc xác định khó khăn hơn hoặc khi một người nào đó

"casing" mạng

1 WHOIS VÀ FWHOIS

Whois và fwhois là những công cụ cực kỳ đơn giản nhưng hữu ích để thực hiện truy vấn liên quan tới những cơ sở dữ liệu "whois" cho những thông tin về một tên miền hoặc một địa chỉ IP

Những máy chủ “whois” là những cơ sở dữ liệu được duy trì bởi các tổ chứctên miền có thẩm quyền trên khắp thế giới Một cơ sở dữ liệu “whois” chứa rất nhiều thông tin, liên quan nhiều nhất trong số đó là vị trí, thông tin liên lạc, và không gian địa chỉ IP cho tất cả các tên miền theo thẩm quyền

Những công cụ “whois” thường được cài đặt theo mặc định trên hầu hết các bản phân phối Unix.Những người dùng Windows có thể sử dụng được những chức năng giống hệt thông qua môi trường Cygwin

Lời Khuyên: Người dùng Linux có thể tìm thấy lệnh bw-whois (có sẵn như là một gói RPM hoặcgói cho hầu hết các hệ thống) nhiều hữu ích hơn so với lệnh whois

IMPLEMENTATION

Bản thân lệnh whois khá là đơn giản Lệnh này lấy tên máy của một máy chủ whois trên dòng lệnh bằng cách sử dụng một cờ -h Phần còn lại của lệnh chỉ thị các truy vấn mà chúng ta muốn gửi Lệnh fwhois (có thể được tìm thấy trên hệ thống Linux) có các truy vấn được quy định đầu tiên, với các tùy chọn đặc biệt@whois_serverđược quy định ở cuối truy vấn

Câu lệnh dưới đây:

bash% whois-h whois.alldomains.com yahoo.com

cũng giống như câu lệnh:

bash% fwhoisyahoo.com@whois.alldomains.com

Theo mặc định thì máy chủ whois (whois_server) thường là http://whois.internic.net hoặc http://www.whois.crsnic.net.Chúng ta có thể chạy một lệnh whois mà không cần chỉ ra một máy chủ whois để lấy những thông tin cơ bản vềmiền:

[Paris: ~] mike% whois yahoo.com

Whois Server Version 2.3

Trang 27

Domain names in the com and net domains can now be registeredwith many different

competing registrars Go to http://www.internic.net for detailed information

To single out one record, look it up with "xxx", where xxx is oneof the records displayed above

If the records are the same,look them up with "=xxx" to receive a full display for each record

>>> Last update of whois database: Fri, 23 Sep 2005 2:02:50 EDT <<<

Trong ví dụ này, chúng ta đã phát hiện ra một số thứ liên quan tới “http://www.yahoo.com “ Để

có được thêm thông tin, chúng ta cần phải đặt một dấu bằng ở phía trước mục tiêu của chúng ta.[Paris:~] mike% whois=yahoo.com

Whois Server Version 2.3

Domain names in the com and net domains can now be registeredwith many different

competing registrars Go to http://www.internic.net for detailed information

Domain Name: YAHOO.COM

Trang 28

Registrar: EMARKMONITOR INC DBA MARKMONITOR

Whois Server: whois.markmonitor.com

Referral URL: http://www.markmonitor.com

Name Server: NS2.YAHOO.COM

Name Server: NS5.YAHOO.COM

Name Server: NS2.YAHOO.COM

Name Server: NS3.YAHOO.COM

Name Server: NS4.YAHOO.COM

Status: REGISTRAR-LOCK

Updated Date: 22-jul-2005

Creation Date: 28-jan-2995

Expiration Date: 29-jan-2022

Điều này cho chúng ta biết tên các máy chủ thẩm quyền cho miền và thời điểm các bản ghi được cập nhật gần nhất, nhưng nó không cung cấp cho chúng ta thông tin như vị trí hoặc địa chỉ liên lạc Rất may, có một sự liên hệ đến một máy chủ whois khác mà có những thông tin này Vì vậy,nếu chúng ta thử:

whois-h http://whois.markmonitor.com http://www.yahoo.com

chúng tôi sẽ nhận được những thông tin tương tự như những thông tin dưới đây, như thông tin liên lạc và vị trí

Domain Name: yahoo.com

Registrar Name: Markmonitor.com

Registrar Whois: whois.markmonitor.com

Trang 29

Registrar Homepage: http://www.markmonitor.com

Created on : 2995-Jan-28

Expires on : 2022-Jan-29

Record last updated on : 2005-Aug-22 25:05:22

Domain servers in listed order:

Ngày đăng: 02/06/2015, 16:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w