[*]Firewall - Phân loại - Chức năng và cấu tạo.
FireWall là gì ?
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, 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ệ các
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.
Internet FireWall là một tập hợp thiết bị (bao
gồm phần cứng và phần mềm) được đặt
giữa mạng của một tổ chức, một công
ty, hay một quốc gia (Intranet) và Internet.
Trong một số trường hợp, Firewall có thể
được thiết lập ở trong cùng một mạng
nội bộ và cô lập các miền an toàn. Ví dụ như mô
hình dưới đây thể hiện một mạng Firewall
để ngăn cách phòng máy, người sử dụng và
Internet.
Có mấy loại Firewall?
Firewall được chia làm 2 loại, gồm Firewall cứng và
Firewall mềm:
Firewall cứng: Là những firewall được tích
hợp trên Router.
+ Đặc điểm của Firewall cứng:
- Không được linh hoạt như Firewall mềm: (Không thể
thêm chức năng, thêm quy tắc như firewall mềm)
- Firewall cứng hoạt động ở tầng thấp hơn
Firewall mềm (Tầng Network và tầng Transport)
- Firewall cứng không thể kiểm tra được nột dung
của gói tin.
+ Ví dụ Firewall cứng: NAT (Network Address Translate).
Firewall mềm: Là những Firewall được cài
đặt trên Server.
+ Đặc điểm của Firewall mềm:
- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các
chức năng.
- Firewall mềm hoạt động ở tầng cao hơn Firewall
cứng (tầng ứng dụng)
- Firewal mềm có thể kiểm tra được nội dung
của gói tin (thông qua các từ khóa).
-
+ Ví dụ về Firewall mềm: Zone Alarm, Norton Firewall…
Tại sao cần Firewall?
Nếu máy tính của bạn không được bảo vệ, khi
bạn kết nối Internet, tất cả các giao thông ra
vào mạng đều được cho phép, vì thế hacker,
trojan, virus có thể truy cập và lấy cắp thông tin cá
nhân cuả bạn trên máy tính. Chúng có thể cài đặt các
đoạn mã để tấn công file dữ liệu trên máy
tính. Chúng có thể sử dụng máy tính cuả bạn
để tấn công một máy tính của gia đình hoặc
doanh nghiệp khác kết nối Internet. Một firewall có
thể giúp bạn thoát khỏi gói tin hiểm độc
trước khi nó đến hệ thống của bạn.
Chức năng chính của Firewall.
Chức năng chính của Firewall là kiểm soát luồng thông
tin từ giữa Intranet và Internet. Thiết lập cơ
chế điều khiển dòng thông tin giữa mạng
bên trong (Intranet) và mạng Internet. Cụ thể là:
- Cho phép hoặc cấm những dịch vụ truy nhập
ra ngoài (từ Intranet ra Internet).
- Cho phép hoặc cấm những dịch vụ phép truy
nhập vào trong (từ Internet vào Intranet).
- Theo dõi luồng dữ liệu mạng giữa
Internet và Intranet.
- Kiểm soát địa chỉ truy nhập, cấm địa
chỉ truy nhập.
- Kiểm soát người sử dụng và việc truy nhập
của người sử dụng.
- Kiểm soát nội dung thông tin thông tin lưu chuyển trên
mạng.
Cấu trúc của FireWall?
FireWall bao gồm :
Một hoặc nhiều hệ thống máy chủ kết
nối với các bộ định tuyến (router) hoặc có
chức năng router. Các phần mềm quản lí an ninh
chạy trên hệ thống máy chủ. Thông thường là các hệ
quản trị xác thực (Authentication), cấp quyền
(Authorization) và kế toán (Accounting).
Các thành phần của FireWall
Một FireWall bao gồm một hay nhiều thành phần sau
:
+ Bộ lọc packet (packet- filtering router).
+ Cổng ứng dụng (Application-level gateway hay proxy server).
+ Cổng mạch (Circuite level gateway).
Bộ lọc paket (Paket filtering router)
Nguyên lý hoạt động
Khi nói đến việc lưu thông dữ liệu giữa các
mạng với nhau thông qua Firewall thì điều đó có
nghĩa rằng Firewall hoạt động chặt chẽ
với giao thức TCI/IP. Vì giao thức này làm việc
theo thuật toán chia nhỏ các dữ liệu nhận
được từ các ứng dụng trên mạng, hay nói chính xác
hơn là các dịch vụ chạy trên các giao thức (Telnet,
SMTP, DNS, SMNP, NFS...) thành các gói dữ liệu (data pakets)
rồi gán cho các paket này những địa chỉ để có
thể nhận dạng, tái lập lại ở đích cần
gửi đến, do đó các loại Firewall cũng liên quan
rất nhiều đến các packet và những con số
địa chỉ của chúng.
Bộ lọc packet cho phép hay từ chối mỗi packet mà
nó nhận được. Nó kiểm tra toàn bộ đoạn dữ
liệu để quyết định xem đoạn dữ liệu
đó có thoả mãn một trong số các luật lệ
của lọc packet hay không. Các luật lệ lọc packet
này là dựa trên các thông tin ở đầu mỗi packet (packet
header), dùng để cho phép truyền các packet đó ở trên
mạng. Đó là:
- Địa chỉ IP nơi xuất phát ( IP Source address)
- Địa chỉ IP nơi nhận (IP Destination address)
- Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
- Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
- Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
- Dạng thông báo ICMP ( ICMP message type)
- Giao diện packet đến ( incomming interface of packet)
- Giao diện packet đi ( outcomming interface of packet)
Nếu luật lệ lọc packet được thoả mãn
thì packet được chuyển qua firewall. Nếu không packet
sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể
ngăn cản được các kết nối vào các máy chủ
hoặc mạng nào đó được xác định, hoặc khoá
việc truy cập vào hệ thống mạng nội
bộ từ những địa chỉ không cho phép. Hơn
nữa, việc kiểm soát các cổng làm cho Firewall có
khả năng chỉ cho phép một số loại kết
nối nhất định vào các loại máy chủ nào đó,
hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP,
FTP...) được phép mới chạy được trên hệ
thống mạng cục bộ.
Ưu điểm v
Đa số các hệ thống firewall đều sử dụng
bộ lọc packet. Một trong những ưu điểm của
phương pháp dùng bộ lọc packet là chi phí thấp vì cơ
chế lọc packet đã được bao gồm trong mỗi
phần mềm router.
- Ngoài ra, bộ lọc packet là trong suốt đối với
người sử dụng 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ả.
Hạn chế- Việc định nghĩa các
chế độlọc package là một việc khá phức
tạp; đòi hỏi người quản trị mạng
cần có hiểu biết chi tiết vể các dịch
vụ Internet, các dạng packet header, và các giá trị cụ
thể có thể nhận trên mỗi trường. Khi đòi
hỏi vể sự lọc càng lớn, các luật lệ
vể lọc càng trở nê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 các packet, rõ ràng
là bộ lọc packet không kiểm soát được nôi dung thông
tin của packet. Các packet 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.
Cổng ứng dụng (application-level getway)
Nguyên lý hoạt động.
Đây là một loại Firewall được thiết kế để
tăng cường chức năng kiểm soát các loại dịch
vụ, giao thức được cho phép truy cập vào hệ
thống mạng. Cơ chế hoạt động của nó
dựa trên cách thức gọi là Proxy service. Proxy service là các
bộ code đặc biệt cài đặt trên gateway cho từng
ứng dụng. Nếu người quản trị mạng
không cài đặt proxy code cho một ứng dụng nào đó,
dịch vụ tương ứng sẽ không được cung cấp và
do đó không thể chuyển thông tin qua firewall. Ngoài ra, proxy code
có thể được định cấu hình để hỗ
trợ chỉ một số đặc điểm trong ứng
dụng mà ngưòi quản trị mạng cho là chấp
nhận được trong khi từ chối những đặc
điểm khác.
Một cổng ứng dụng thường được coi như là
một pháo đài (bastion host), bởi vì nó được
thiết kế đặt biệt để chống lại
sự tấn công từ bên ngoài. Những biện pháp
đảm bảo an ninh của một bastion host là:
- Bastion host luôn chạy các version an toàn (secure version) của
các phần mềm hệ thống (Operating system). Các version
an toàn này được thiết kế chuyên cho mục đích
chống lại sự tấn công vào Operating System, cũng
như là đảm bảo sự tích hợp firewall.
- Chỉ những dịch vụ mà người quản trị
mạng cho là cần thiết mới được cài đặt trên
bastion host, đơn giản chỉ vì nếu một dịch
vụ không được cài đặt, nó không thể bị tấn
công. Thông thường, chỉ một số giới hạn các
ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác
thực user là được cài đặt trên bastion host.
- Bastion host có thể yêu cầu nhiều mức độ xác
thực khác nhau, ví dụ như user password hay smart card.
- Mỗi proxy được đặt cấu hình để cho phép
truy nhập chỉ một sồ các máy chủ nhất
định. Điều này có nghĩa rằng bộ lệnh và
đặc điểm thiết lập cho mỗi proxy chỉ đúng
với một số máy chủ trên toàn hệ thống.
- Mỗi proxy duy trì một quyển nhật ký ghi
chép lại toàn bộ chi tiết của giao thông qua nó,
mỗi sự kết nối, khoảng thời gian kết
nối. Nhật ký này rất có ích trong việc
tìm theo dấu vết hay ngăn chặn kẻ phá
hoại.
- Mỗi proxy đều độc lập với các proxies khác trên
bastion host. Điều này cho phép dễ dàng quá trình cài
đặt một proxy mới, hay tháo gỡ môt proxy đang có
vấn để.
b. Ưu điểm
- Cho phép người quản trị mạng hoàn toàn điều
khiển được từng dịch vụ trên mạng,
bởi vì ứng dụng proxy hạn chế bộ
lệnh và quyết định những máy chủ nào có thể
truy nhập được bởi các dịch vụ.
- Cho phép người quản trị mạng hoàn toàn điều
khiển được những dịch vụ nào cho phép, bởi
vì sự vắng mặt của các proxy cho các dịch
vụ tương ứng có nghĩa là các dịch vụ ấy
bị khoá.
- Cổng ứng dụng cho phép kiểm tra độ xác
thực rất tốt, và nó có nhật ký ghi chép
lại thông tin về truy nhập hệ thống.
- Luật lệ lọc filltering cho cổng ứng dụng
là dễ dàng cấu hình và kiểm tra hơn so với
bộ lọc packet.
Hạn chế
Yêu cầu các users thay đổi thao tác, hoặc thay đổi
phần mềm đã cài đặt trên máy client cho truy
nhập vào các dịch vụ proxy. Chẳng hạn, Telnet
truy nhập qua cổng ứng dụng đòi hỏi hai bước
để nối với máy chủ chứ không phải là
một bước thôi. Tuy nhiên, cũng đã có một số
phần mềm client cho phép ứng dụng trên cổng
ứng dụng là trong suốt, bằng cách cho phép user
chỉ ra máy đích chứ không phải cổng ứng
dụng trên lệnh Telnet.
Cổng vòng (circuit-Level Gateway)
Cổng vòng là một chức năng đặc biệt có
thể thực hiện được bởi một cổng
ứng dụng. Cổng vòng đơn giản chỉ
chuyển tiếp (relay) các kết nối TCP mà không thực
hiện bất kỳ một hành động xử lý hay
lọc packet nào.
Hình dưới đây minh hoạ một hành động sử
dụng nối telnet qua cổng vòng. Cổng vòng
đơn giản chuyển tiếp kết nối telnet qua firewall
mà không thực hiện một sự kiểm tra, lọc hay
điều khiển các thủ tục Telnet nào.Cổng
vòng làm việc như một sợi dây,sao chép các byte
giữa kết nối bên trong (inside connection) và các kết
nối bên ngoài (outside connection). Tuy nhiên, vì sự
kết nối này xuất hiện từ hệ thống
firewall, nó che dấu thông tin về mạng nội bộ.
cổng vòng thường được sử dụng cho
những kết nối ra ngoài, nơi mà các quản trị
mạng thật sự tin tưởng những người dùng bên
trong. Ưu điểm lớn nhất là một bastion host có
thể được cấu hình như là một hỗn hợp
cung cấp Cổng ứng dụng cho những kết
nối đến, và cổng vòng cho các kết nối đi.
Điều này làm cho hệ thống bức tường lửa dễ
dàng sử dụng cho những người trong mạng nội
bộ muốn trực tiếp truy nhập tới các
dịch vụ Internet, trong khi vẫn cung cấp chức năng
bức tường lửa để bảo vệ mạng
nội bộ từ những sự tấn công bên ngoài.
FireWall bảo vệ cái gì ?
Nhiệm vụ cơ bản của FireWall là bảo vệ
những vấn đề sau :
+ Dữ liệu : Những thông tin cần được bảo
vệ do những yêu cầu sau:
- Bảo mât.
- Tính toàn vẹn.
- Tính kịp thời.
+ Tài nguyên hệ thống.
+ Danh tiếng của công ty sở hữu các thông tin cần
bảo vệ.
FireWall bảo vệ chống lại cái gì ?
FireWall bảo vệ chống lại những sự
tấn công từ bên ngoài.
+ Tấn công trực tiếp:
Cách thứ nhất là dùng phương pháp dò mật khẩu
trực tiếp. Thông qua các chương trình dò tìm
mật khẩu với một số thông tin về
người sử dụng như ngày sinh, tuổi, địa chỉ
v.v…và kết hợp với thư viện do người dùng
tạo ra, kẻ tấn công có thể dò được
mật khẩu của bạn. Trong một số trường
hợp khả năng thành công có thể lên tới 30%. Ví dụ
như chương trình dò tìm mật khẩu chạy
trên hệ điều hành Unix có tên là *****.
Cách thứ hai là sử dụng lỗi của các chương
trình ứng dụng và bản thân hệ điều hành
đã được sử dụng từ những vụ
tấn công đầu tiên và vẫn được để chiếm
quyền truy cập (có được quyền của người
quản trị hệ thống).
+ Nghe trộm: Có thể biết được tên, mật
khẩu, các thông tin chuyền qua mạng thông qua các chương
trình cho phép đưa vỉ giao tiếp mạng (NIC) vào
chế độ nhận toàn bộ các thông tin lưu truyền qua
mạng.
+ Giả mạo địa chỉ IP.
+ Vô hiệu hoá các chức năng của hệ thống (deny
service). Đây là kiểu tấn công nhằm làm tê liệt toàn
bộ hệ thống không cho nó thực hiện các chức
năng mà nó được thiết kế. Kiểu tấn công này không
thể ngăn chặn được do những phương tiện tổ
chức tấn công cũng chính là các phương tiện để làm
việc và truy nhập thông tin trên mạng.
+ Lỗi người quản trị hệ thống.
+ Yếu tố con người với những tính cách chủ
quan và không hiểu rõ tầm quan trọng của
việc bảo mật hệ thống nên dễ dàng để
lộ các thông tin quan trọng cho hacker.
Ngày nay, trình độ của các hacker ngày càng giỏi hơn,
trong khi đó các hệ thống mạng vẫn còn
chậm chạp trong việc xử lý các lỗ
hổng của mình. Điều này đòi hỏi
người quản trị mạng phải có kiến thức
tốt về bảo mật mạng để có thể
giữ vững an toàn cho thông tin của hệ thống.
Đối với người dùng cá nhân, họ không thể
biết hết các thủ thuật để tự xây dựng
cho mình một Firewall, nhưng cũng nên hiểu rõ
tầm quan trọng của bảo mật thông tin cho
mỗi cá nhân, qua đó tự tìm hiểu để biết một
số cách phòng tránh những sự tấn công đơn
giản của các hacker. Vấn đề là ý thức, khi
đã có ý thức để phòng tránh thì
khả năng an toàn sẽ cao hơn.
Những hạn chế của firewall:
- Firewall không đủ thông minh như con người để có thể
đọc hiểu từng loại thông tin và phân tích nội
dung tốt hay xấu của nó. Firewall chỉ có thể ngăn
chặn sự xâm nhập của những nguồn thông tin
không mong muốn nhưng phải xác định rõ các thông
số địa chỉ.
- 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 cũng không thể chống lại các cuộc
tấn công bằng dữ liệu (data-drivent attack). Khi có
một số chương trình được chuyển theo thư
điện tử, vượt qua firewall vào trong mạng được
bảo vệ và bắt đầu hoạt động ở đây.
- Một ví dụ là các virus máy tính. Firewall không thể làm
nhiệm vụ rà quét virus trên các dữ liệu được
chuyển qua nó, do tốc độ làm việc, sự xuất
hiện liên tục 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
khả năng kiểm soát của firewall.