1. Trang chủ
  2. » Công Nghệ Thông Tin

BỨC TƯỜNG LỬA (Firewall)

43 604 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 43
Dung lượng 1,48 MB

Nội dung

Firewall không thể làm được gì?• Không thể chống lại được những nhân tố phá hoại từ bên trong • Không thể bảo vệ mạng chống lại những kết nối không đi qua firewall – VD: Nếu bên trong m

Trang 1

an toàn mạng thông tin

Bức tường lửa

(Firewall)

Trang 2

Bức tường lửa là gì?

• Thuật ngữ bức tường lửa (firewall) cú 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ế hỏa 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 truy cập trỏi phộp vào cỏc tài nguyờn và dịch

vụ của mạng

– Bảo vệ cỏc nguồn thụng tin nội bộ

– Hạn chế cỏc thụng tin khụng mong muốn xõm nhập vào hệ thống

Trang 4

• Về mặt chức năng hệ thống, firewall được đặt giữa hai mạng để kiểm soát mọi lưu thông và truy cập giữa chúng với nhau: chỉ những dữ liệu được cho phép bởi chế độ

an ninh của hệ thống mạng bên trong mới được lưu

thông qua firewall

Trang 5

Chức năng của bức tường lửa

– Kiểm tra trạng thỏi gúi tin

– Dịch địa chỉ mạng (NAT)

– Đại diện (Proxy)

– Theo dừi và điều khiển

Trang 6

Firewall có thể làm được gì?

• Hội tụ các quyết định bảo mật

• Kiểm soát truy cập (tăng cường chính

Trang 7

Firewall không thể làm được gì?

• Không thể chống lại được những nhân tố phá

hoại từ bên trong

• Không thể bảo vệ mạng chống lại những kết nối không đi qua firewall

– VD: Nếu bên trong mạng có người sử dụng dịch vụ

dial-up qua modem (không qua firewall), thì firewall

không thể ngăn chặn những lưu thông phá hoại qua dịch vụ đó

• Không thể chống lại một cách toàn diện những mối nguy cơ mới phát sinh

• Không thể bảo vệ một cách toàn diện với virus

• Không thể tự thiết lập các chức năng bảo vệ (cần chi phí cho hoạt động)

Trang 8

Các dịch vụ và giao thức internet

cần quan tâm?

• Thư điện tử: simple mail transfer protocol (SMTP)

• Trao đổi file: file transfer protocol (FTP), network file

protocol (NFS)

• Truy cập và thực hiện lệnh đối với đầu cuối ở xa: telnet,

rlogin, ssh

• Usernet news: network news transfer protocol (NNTP)

• WWW: hypertext transfer protocol (HTTP)

• Các dịch vụ real-time conferencing: các công cụ CUseeMe, netmeeting, Nescape Conference, MBone

• Các dịch vụ name: domain name service (DNS)

• Quản lý mạng: simple network management protocol

(SNMP)

• Dịch vụ định thời: network time protocol (NTP)

Trang 9

Một số cơ sở về các dịch vụ Internet,

IP, TCP, UDP

• Các dịch vụ Internet thường được hiện thực hóa bởi các

chương trình server và client, và các giao thức ứng dụng

được chạy trên các chương trình này

• Các đơn vị dữ liệu giao thức (PDU) của ứng dụng thường

được truyền trong các TCP segment (phân đoạn) hoặc

các UDP datagram (gam dữ liệu)

• Các TCP segment hoặc các UDP datagram được vận

chuyển trong các gói IP theo các PDU sử dụng các kết nối

(công nghệ data link) giữa nguồn và đích

– Ví dụ: Ethernet, FDDI, ATM,

• Địa chỉ của các ứng dụng được hiện thực hóa bằng các

Trang 10

Ví dụ: một gói IP mang một TCP

segment

Trang 11

Các trường giao thức quan trọng

đối với firewall (1)

Trang 12

Các trường giao thức quan trọng đối

với firewall (2)

• IP:

– Địa chỉ nguồn (source address)

– Địa chỉ đích (destination address)

– Cờ (flag), chỉ số đặc biệt về một IP flagment

– Loại giao thức (protocol type): TCP, UDP, ICMP – Tùy chọn:

• Định tuyến nguồn (source routing):

– bên gửi xác định trước con đường mà một gói IP sẽ đi qua – vì source routing thường bị hacker lợi dụng để tấn công mạng nên hầu hết các firewall loại bỏ tùy chọn này

• Nói chung, các tùy chọn IP ít khi được sử dụng

Trang 13

Các trường giao thức quan trọng đối

với firewall (3)

• TCP:

– Cổng nguồn và cổng đích (source/destination port)

• Việc đánh giá cổng nguồn và cổng đích cho phép xác định ứng dụng nào đang gửi và nhận thông tin (với một

độ tin cậy nào đó), vì hầu hết các dịch vụ internet đều sử dụng các cổng đã biết trước

– Điều khiển:

• ACK: bit này giúp nhận biết yêu cầu kết nối (bit ACK được thiết lập trong mọi TCP segment, với bit ACK đầu tiên

được truyền đi trong một kết nối TCP)

• SYN: bit này sử dụng để khẳng định việc kết nối (bit này chỉ được thiết lập trong 2 segment đầu tiên của một kết nối)

• RST: bit này được sử dụng để tắt các thiết bị cùng cấp giao thức(peer) mà không cần gửi thông báo lỗi trở về (việc thiết lập bit này sẽ chỉ ra rằng một kết nối đã bị đóng không đúng)

Trang 14

Các trường giao thức quan trọng đối

Trang 15

Một số thuật ngữ về firewall (1)

• Bức tường lửa (firewall)

–Một bộ phận của mạng có chức năng hạn chế truy cập giữa một mạng được bảo vệ với Internet hoặc giữa các phần khác nhau của một mạng

• Lọc gói (packet filtering)

–Điều khiển có chọn lọc sự lưu thông dữ liệu vào/ra đố ới v i một mạng

–Lọc gói là một kỹ thuật điều khiển truy cập quan tr ng đối ọvới các mạng chuyển mạch gói (chẳng hạn như Internet)

–Tiếng Anh: packet filtering = screening (lọc gói hoặc đơn giản là lọc)

Trang 16

Một số thuật ngữ về firewall (2)

• Máy tiền đồn (bastion host)

–Một máy tính đóng vai trò điểm tiếp xúc chính giữa bên trong và bên ngoài một mạng

–Phải được bảo mật mức độ cao hơn các máy khác trong

mạng vì là điểm nhạy cảm dễ bị tấn công hơn

• Máy hai mang (dual-homed host)

–Một máy tính có hai hoặc nhiều card giao diện mạng, nên

có thể thuộc về hai hoặc nhiều mạng khác nhau

• Mạng vành đai (perimeter network)

–Một mạng con được thêm vào giữa một mạng bên ngoài và mạng bên trong để tăng cường bảo mật

Trang 17

Một số thuật ngữ về firewall (3)

• Đại diện (proxy)

–Một chương trình thay mặt cho các máy bên trong mạng làm việc với các máy chủ bên ngoài

–Proxy chuyển tiếp yêu cầu của các máy khách tới máy chủ bên ngoài mạng, và chuyển tiếp đáp ứng của máy chủ bên ngoài tới các máy khách bên trong mạng

–Nếu một proxy có thể dịch và hiểu được các lệnh của một giao thức ứng dụng thì được gọi là proxy mức ứng dụng

(application-level proxy), còn nếu nó chỉ đơn thuần chuyển

tiếp các gói dữ liệu thì được gọi là proxy mức chuyển mạch (circuit-level proxy).

Trang 18

Một số thuật ngữ về firewall (4)

• Dịch địa chỉ mạng (Network Address Translation - NAT)

–Một thủ tục mà router dùng để thay đổi dữ liệu trong các gói nhằm thay đổi địa chỉ mạng

–NAT cho phép che giấu địa chỉ thực sự bên trong của mạng (mặc dù NAT không thực sự là một kỹ thuật bảo mật)

Trang 19

Các kiến trúc firewall

• Firewall với bộ lọc gói đơn giản

– Sử dụng router hoặc máy tính với phần mềm lọc gói

• Firewall với dual-homed bastion host

– Sử dụng một máy hai mang làm tiền đồn

• Firewall với screened host

– Kết hợp một bộ lọc gói với một máy tiền đồn cung cấp dịch vụ proxy

• Firewall với screened subnet

– Tạo mạng vành đai bằng hai bộ lọc gói và một máy tiền đồn

• Firewall với split screened subnet

– Tách mạng vành đai thành hai mạng riêng biệt bằng hai bộ lọc gói và

một máy tiền đồn

Trang 20

Kiến trúc Bộ lọc gói đơn giản

• Đây là kiến trúc đơn giản nhất chỉ gồm một router với chức năng

lọc gói

• Firewall này có thể được thực hiện theo một trong hai cách sau:

– Một máy trạm thông thường với ít nhất hai card mạng kết hợp

với phần mềm định tuyến và lọc – Một router chuyên dụng có khả năng lọc gói

Trang 21

Kiến trúc Dual-Homed Host

• Kiến trúc dual-homed host cung cấp:

– Dịch vụ proxy cho các máy khách trong hoặc ngoài mạng

– Khả năng lọc gói nếu dual-homed host cũng đóng vai trò router

• Thuộc tính của dual-homed host:

– Có ít nhất hai card mạng

• Nhược điểm: vì mọi lưu lượng được phép đều đi qua bastion host nên có

thể xảy ra tắc nghẽn mạng

Trang 22

Kiến trúc Screened Host

• Lọc gói:

– Cho phép lưu lượng IP được phép lưu thông giữa máy màn chắn (screened

host) và internet – Chặn mọi lưu lượng trực tiếp giữa các máy khác bên trong mạng và

Internet

• Screened host cung cấp các dịch vụ proxy:

– Screened host đóng vai trò như một bastion host, mặc dù mạng đã được

bảo vệ một phần bởi bộ lọc gói

Trang 23

Kiến trúc Screened Subnet

• Một mạng vành đai (perimeter) được tạo ra giữa hai bộ lọc gói

• Bộ lọc gói bên trong tăng cường bảo vệ cho mạng trong trường hợp bastion

host bị "qua mặt“ (thoả hiệp).

– Ví dụ, bastion host nếu đã bị thoả hiệp sẽ không thể “nghe ngóng”

(sniff) mạng bên trong

• Mạng vành đai cũng là nơi thích hợp để đặt máy chủ truy cập thông tin

công cộng, chẳng hạn như máy chủ web

Trang 24

Kiến trúc Split Screened Subnet

• Một dual-homed bastion host tách mạng vành đai thành hai mạng riêng biệt.

• Kiến trúc này tạo ra mức độ bảo vệ sâu hơn:

– Dual-homed bastion host kiểm soát chặt hơn các kết nối do các dịch vụ

proxy của nó có thể dịch được các giao thức ứng dụng – Bộ lọc gói bên ngoài bảo vệ bastion host khỏi các máy bên ngoài mạng – Bộ lọc gói bên trong bảo vệ các máy bên trong trong trường hợp bastion

host bị thoả hiệp

Trang 25

Lọc gói (1)

Lọc gói có thể làm được điều gì?

– Về mặt lý thuyết, lọc gói có thể lọc được mọi thứ, vì

mọi trao đổi thông tin đều thực hiện bằng các gói – Trong thực tế, cần chú ý đến các điểm sau:

• Các hệ thống proxy thích hợp với việc theo dõi các hoạt

động cần biết chi tiết về các giao thức lớp cao, hoặc các hoạt động được kéo dài từ các sự kiện quá khứ

• Các hệ thống lọc gói thích hợp với việc theo dõi các hoạt

động đơn giản, thực hiện nhanh hoặc các gói độc lập

Trang 26

Lọc gói (2)

Lọc gói cho phép điều khiển việc truyền dữ

liệu trên cơ sở:

– Địa chỉ IP nguồn (source IP address)

– Địa chỉ IP đích (destination IP address)

– Giao thức lớp vận chuyển (transport protocol)

– Cổng ứng dụng của nguồn/đích (source/destination

port) – Các cờ đặc biệt của giao thức (ví dụ: cờ ACK flag

hoặc cờ SYN flag của TCP)– Giao diện mạng (nơi thu được gói)

Trang 27

Lọc gói (3)

Lọc gói một cách chi tiết hơn:

Lọc gói tĩnh (static) và lọc gói động (dynamic):

VD1: “chấp nhận các gói incoming UDP (đi vào) chỉ khi chúng

là đáp ứng của các gói outgoing UDP (đi ra) đã được quan sát”

VD2: “chấp nhận các gói TCP chỉ khi các gói này có bit SYN

đã được thiết lập trong quá trình khởi động kết nối TCP”

Kiểm tra giao thức:

VD1: “cho phép các gói tới DNS port chỉ khi chúng có khuôn

Trang 28

có thể bị hacker lợi dụng!)

Trang 29

Lọc gói (5)

Các qui tắc lọc gói (1)

– Vì bộ lọc gói bảo vệ một mạng với một mạng khác,

cần định nghĩa các khái niệm sau đây về hướng (direction) của luồng lưu lượng:

• Inbound (đi vào): lưu lượng từ một giao diện nằm

bên ngoài mạng được bảo vệ, hướng tới một giao diện nằm trong mạng được bảo vệ đó

• Outbound (đi ra): ngược với lưu lượng đi vào

• Với mọi qui tắc lọc gói, hướng sẽ được định rõ là

“inbound”, “outbound” hoặc “either” (cả đi vào và

đi ra)

Trang 30

Lọc gói (6)

Các qui tắc lọc gói (2)

– Địa chỉ nguồn và địa chỉ đích thường sử dụng các ký

tự đại diện (wildcard), ví dụ: 125.26.*.* biểu thị mọi địa chỉ bắt đầu bằng 125.26

• Thường biểu thị các địa chỉ là “internal” hoặc “external” khi

không tính đến cấu hình topo của mạng

– Với các cổng nguồn và đích, đôi khi được viết theo

dải địa chỉ, ví dụ “>1023” chỉ các port lớn hơn 1023– Giả thiết răng các qui tắc lọc được áp dụng theo thứ

tự, từ qui tắc đầu tiên đến qui tắc sau cùng

Trang 31

Ví dụ về một bộ qui tắc lọc gói (1)

• Qui tắc thứ nhất (direction) qui định rằng e-mail vào/ra là lưu lượng duy

nhất được phép vào/ra mạng được bảo vệ

• Các e-mail được chuyển tiếp giữa hai máy chủ bằng cách chuyển chúng tới

một hệ thống tiếp nhận SMTP (daemon) trên máy chủ đích (server-port 25, client-port >1023)

• Qui tắc A cho phép incoming email đi vào mạng và qui tắc B cho phép hồi

đáp (acknowledgement) đi ra khỏi mạng

• Qui tắc C và qui tắc D áp dụng tương tự với outgoing e-mail

• Qui tắc E từ chối mọi lưu lượng khác

Trang 32

Ví dụ về một bộ qui tắc lọc gói (2)

• Xét một gói “muốn” đi vào mạng được bảo vệ, gói này

có một địa chỉ nguồn IP giả mạo từ mạng bên trong (tức

là gói này có địa chỉ nguồn là internal)

– Vì mọi gói inbound phải có địa chỉ nguồn là external và địa chỉ

đích là internal (A,D), do vậy gói này sẽ bị chặn lại – Tương tự với các gói outbound với địa chỉ nguồn là external

(B,C)

• Xét lưu lượng telnet

– Do telnet server thường dùng port 23, mà mọi lưu lượng

inbound phải tới port 25 hoặc tới port >1023, nên các gói incoming khởi động một kết nối telnet sẽ bị chặn lại

– Tương tự với các kết nối telnet outgoing

Trang 33

Ví dụ về một bộ qui tắc lọc gói (3)

• Tuy nhiên, bộ qui tắc này có lỗ hổng bảo mật: không

chặn được giao thức X11 đối với các hoạt động từ xa của ứng dụng X-Windows:

– X11-server thường nghe ở port 6000, còn X11-client dùng port

>1023 – Như vậy, yêu cầu X11-incoming sẽ không bị chặn (B); và

tương tự là đáp ứng X11-outgoing (D) – Rõ ràng điều này là không mong muốn, vì giao thức X11 có dễ

bị hacker tấn công, chẳng hạn như hacker có thể dùng giao thức này để đọc các thao tác trên màn hình và bàn phím

Trang 34

Ví dụ về một bộ qui tắc lọc gói (4)

• Lỗ hổng bảo mật trên có thể được khắc phục bằng cách đưa các

source port vào bộ qui tắc trên

– Vì lưu lượng outbound tới các port >1023 chỉ được chấp nhận khi

source port là 25 (B), nên lưu lượng từ các client bên trong hoặc server sẽ bị chặn

X-– Tương tự với lưu lượng inbound tới các port >1023 (B)

Trang 35

Ví dụ về một bộ qui tắc lọc gói (5)

• Vấn đề trên có thể khắc phục bằng cách chỉ định ACK-bit của TCP

trong các qui tắc B và D:

– Vì ACK-bit phải được thiết lập trong qui tắc B, nên sẽ không thể mở

được một kết nối TCP trên hướng outbound tới các port>1023, do yêu cầu kết nối TCP được báo hiệu bởi ACK-bit không được thiết lập

– Tương tự với hướng inbound, vì qui tắc D yêu cầu ACK-bit phải được

thiết lập

• Theo qui tắc cơ bản, bất kỳ qui tắc lọc nào cho phép các gói

incoming TCP đối với các kết nối outgoing phải yêu cầu ACK-bit

Trang 36

Ví dụ về một bộ qui tắc lọc gói (6)

• Nếu firewall bao gồm một bastion host, các qui tắc lọc gói cần phải

hạn chế hơn nữa luồng lưu lượng ( kiến trúc screen host):

– Qui tắc trên được biến đổi chỉ cho phép lưu lượng giữa Internet và

bastion host, hacker không thể tấn công SMTP trên các máy tùy chọn nào đó bên trong mạng nữa

• Trong một screen subnet firewall, 2 router lọc gói được thiết lập:

Trang 37

Máy tiền đồn (bastion host)

• Bastion host ®­îc đặ ở đ ểt i m ti p xóc gi a m¹ng bªn ngoµi ế ữ

Trang 38

Các nguyên tắc xây dựng bastion host (1)

• Cần được thiết kế theo nguyên tắc “hướng ngoại” (bộc lộ cho

mạng bên ngoài) hơn là “hướng nội” (bộc lộ với mạng bên

trong)

• Các máy bên trong mạng được bảo vệ phải được thiết kế không

nên tin tưởng tuyệt đối máy tiền đồn

• Nên kết nối với máy tiền đồn với mạng trên một đường riêng

sao cho nó không thể “nghe ngóng” (sniff) được lưu thông bên trong mạng

• Cần có cơ chế ghi lại được nhật ký phân tích, phát hiện sự kiện

sao cho máy tiền đồn không thể bị giả mạo ngay cả khi đã bị thoả hiệp từ bên ngoài (do hacker gây nên)

Trang 39

Các nguyên tắc xây dựng bastion host (2)

• Thiết kế đơn giản, ít "hấp dẫn", ít công cụ (để hacker khó có

thể lợi dụng làm bàn đạp để tấn công mạng)

• Không được thiết kế để có thể theo dõi được lưu lượng bên

trong mạng được bảo vệ

• Cần có cấu hình phần cứng tin cậy

• Nên đặt ở nơi được bảo mật vật lý, cần giám sát chặt chẽ

• Nên loại bỏ mọi tài khoản người dùng không cần thiết

• Cần bảo mật nhật ký hệ thống

• Cần thường xuyên sao lưu nhật ký hệ thống và cấu hình

• Nên định kỳ phục hồi về thi t ế đặt ban đầu

Trang 40

Các dịch vụ proxy (1)

• Proxy cung cấp truy cập tới tới một dịch vụ Internet xác định

cho một máy lẻ, rồi cung cấp dịch vụ đó tới mọi máy trong mạng được nó bảo vệ

• Các dịch proxy: FTP, Telnet, DNS, SMTP, HTTP

• Các máy chủ proxy thường chạy trên các máy tiền đồn hai

mang

• Sử dụng dịch vụ proxy dẫn đến những tình huống sau:

– Người dùng dịch vụ proxy tưởng rằng đang trao đổi dữ liệu

với máy chủ thật– Máy chủ thật tưởng rằng đang trao đổi dữ liệu với máy

Ngày đăng: 20/06/2014, 19:08

TỪ KHÓA LIÊN QUAN

w