Tổng quan về Firewall - Phần 1

TỔNG QUAN VỀ FIREWALL



1. Firewall là gì ?
  • Firewall (hay tường lửa) vốn có nguồn gốc từ trong thiết kế và xây dựng để chống hỏa hoạn. Trong ngành CNTT, Firewall có thể là một thiết bị, hệ thống phần cứng hoặc phần mềm đều có mục đích chung là để phòng chống và ngăn căn sự truy cập trái phép, ngoài mong muốn vào hệ thống cần được bảo vệ. Nó chốt chặn tại các vị trí xung yếu (như điểm vào – ra) của luồng dữ liệu để kiểm soát, lọc, hay chặn nếu cần thiết. Cũng có thể hiểu Firewall là một cơ chế để bảo vệ mạng tin tưởng (Trusted Network) khỏi các mạng không tin tưởng (Untrusted Network).
  • Mọi Firewall đều phải có ít nhất hai giao tiếp mạng, một đầu ra nối với hệ thống mạng cần bảo vệ, một đầu vào nối với hệ thống mạng bên ngoài. Nó có thế ở gateway, bridge,… 

2. Phân loại Firewall
Tường lửa được chia làm 2 loại: firewall cứngfirewall mềm.

   2.1. Firewall cứng
Là loại firewall được tích hợp trực tiếp lên phần cứng (như Router Cisco, Check point , Planet, Juniper…).
Đặc điểm:
  • Không được linh hoạt như firewall mềm vì hầu như các firewall cứng đều hướng theo xu hướng tích hợp tất cả trong một( ví dụ : không thể thêm quy tắc hay chức năng ngoài những chức năng đã được tích hợp sẵn…) đối với những firewall cứng trước kia.Hiện tại xuất hiện xu hướng mới của firewall cứng mà đi đầu là dòng sản phẩm PIX ASA 5500 của Cisco. Tuy là firewall cứng nhưng có khả năng tích hợp những module khác ngoài module có sẵn.
  • Adaptive tích hợp cơ bản hầu hết các tính năng chính của 1 firewall như DHCP, HTTPS, VPNs, hỗ trợ DMZ, PAT, NAT…và các interface trên nó. Một Adaptive có thể hoạt động độc lập mà không cần bất kỳ module nào khác. Adaptive hỗ trợ nhiều cách cấu hình : Cấu hình thông qua giao diện web hoặc cấu hình qua cổng consol …
  • Các module riêng lẻ : mỗi module thực hiện một chức năng chuyên biệt và kết nối trực tiếp với Adaptive thông qua cable. Nếu thiết bị đầu cuối nào muốn sử dụng thêm chức năng của module nào thì sẽ được kết nối trực tiếp với module đó.Có nhiều loại module thực hiện nhiều chức năng khác nhau : cung cấp các giao tiếp đến các thiết bị có giao tiếp đặc biệt, cung cấp hệ thống cảnh báo cao cấp IPS,… 
  • Có khả năng hoạt động ở mọi lớp với tốc độ cao nhưng giá cả rất cao.
   2.2. Firewall mềm
Là những phần mềm được cài đặt trên máy tính đóng vai trò làm firewall.
Có ba loại tường lửa cơ bản tùy theo:
  1. Truyền thông được thực hiện giữa một nút đơn và mạng, hay giữa một số mạng.
  2. Truyền thông được chặn tại tầng mạng, hay tại tầng ứng dụng.
  3. Tường lửa có theo dõi trạng thái của truyền thông hay không.
  • Phân loại theo phạm vi của các truyền thông được lọc:
  1. Tường lửa cá nhân hay tường lửa máy tính, một ứng dụng phần mềm với chức năng thông thường là lọc dữ liệu ra vào một máy tính đơn.
  2. Tường lửa mạng, thường chạy trên một thiết bị mạng hay máy tính chuyên dụng đặt tại ranh giới của hai hay nhiều mạng hoặc các khu phi quân sự (mạng con trung gian nằm giữa mạng nội bộ và mạng bên ngoài). Một tường lửa thuộc loại này lọc tất cả truyền thông dữ liệu vào hoặc ra các mạng được kết nối qua nó.
Loại tường lửa mạng tương ứng với ý nghĩa truyền thống của thuật ngữ "tường lửa" trong ngành mạng máy tính.
  • Phân loại theo các tầng giao thức nơi giao thông dữ liệu có thể bị chặn:
  1. Tường lửa tầng mạng: Firewall này hoạt động ở tầng mạng trong mô hình OSI hoặc IP của TCP/IP. Ở đây, các gói tin đến và đi sẽ đi qua bộ lọc, chỉ những gói tin nào phù hợp mới được đi tiếp, còn không chúng sẽ bị loại bỏ. Các Firewall hiện đại ngày nay có thể tiến hành lọc các gói tin dựa trên rất nhiều trường như theo địa chỉ IP, port nguồn, port đích, dịch vụ đích, giá trị Time to live…Ví dụ một số loại Firewall nổi tiếng loại này đó là ipf (Unix), ipfw (FreeBSD / Mac OS X), pf (Open BSD), iptables (Ubuntu / Linux)...
  2. Tường lửa tầng ứng dụng: Đây là một dạng của firewall quản lý, vào, ra, bởi một phần mềm hoặc dịch vụ. Chúng có thể lọc các gói tin ở tầng ứng dụng trong mô hình OSI chẳng hạn như các Http GET / POST; ghi lại các hoạt động vào ra, login logout của user. Điều này không thể thực hiện được với các Firewall tầng dưới. Nó cũng giúp cho một ứng dụng xác định xem liệu có nên chấp nhận một kết nối nào kết nối tới không.Ví dụ TCP Wrappers...
  3. Tường lửa ứng dụng: Ví dụ: hạn chế các dịch vụ ftp bằng việc định cấu hình tại tệp /etc/ftpaccess.
Các loại tường lửa tầng mạng và tường lửa tầng ứng dụng thường trùm lên nhau, mặc dù tường lửa cá nhân không phục vụ mạng, nhưng một số hệ thống đơn đã cài đặt chung cả hai.
  • Phân loại theo tường lửa theo dõi trạng thái của các kết nối mạng:
  1. Tường lửa có trạng thái (Stateful firewall):
    - Loại Firewall này lưu lại trạng thái của các phiên làm việc đang hoạt động. Nó sử dụng thông tin trạng thái để tăng tốc xử lý các gói tin. Bất kỳ các kết nối đang diễn ra đều có rất nhiều các thuộc tính kèm theo, như địa chỉ IP nguồn, đích, cổng TCP hoặc UDP, trạng thái của kết nối đó (thông tin khởi tạo phiên, quá trình handshake, dữ liệu chuyển qua loại).

    - Nếu một gói tin gửi đến, nó sẽ bị kiểm tra xem có phù hợp với các luật của một kết nối đang có hay không, nếu có, nó sẽ được pass qua mà không xử lý gì thêm, nếu không nó sẽ được xử lý và coi như của một kết nối mới.
     
  2. Tường lửa phi trạng thái (Stateless firewall):Ưu điểm của loại này đó là đòi hỏi ít về bộ nhớ, có tốc độ lọc nhỉnh hơn nếu chỉ cần lọc gói tin ở mức độ thấp (không mất thời gian tìm kiếm session). Tuy nhiên, nó không thể đưa ra các quyết định phức tạp dựa trên trạng thái của kết nối.

3. Nguyên lý hoạt động của Firewall

Lấy giao thức TCP/IP làm nền tảng, Firewall chủ yếu xử lý các luồng dữ liệu đi và đến thông qua việc kiểm soát các gói tin (data packet). Bằng bộ lọc của mình, chúng có thể từ chối, hủy bỏ các gói tin nó nhận được dựa vào việc nó có phù hợp với các luật hay các giới hạn được thiết đặt cho Firewall.
Một số tiêu chí cụ thể thường được quan tâm trong các hệ thống Firewall, cụ thể như sau:
  • Địa chỉ IP nguồn (IP Source)
  • Cổng TCP (hoặc UDP) nguồn
  • Địa chỉa IP đích (IP Destination)
  • Cổng TCP (hoặc UDP) đích
  • Protocol của gói tin (HTTP, TCP, ICMP, UDP, …)
  • Độ dài gói tin (Length)
  • Các thông tin phụ khác …

Có hai cách thức đặt luật lọc gói tin của Firewall đó là whitelistblacklist:
  • Whitelist: chỉ các gói tin phù hợp với các luật trong Firewall mới được coi là hợp lệ và cho phép đi qua, các gói tin khác mặc định sẽ bị loại bỏ.
  • Blacklist: các gói tin mặc định sẽ được cho phép đi qua, các gói tin “match” với các luật trong Firewall sẽ bị loại bỏ

Tùy từng nhu cầu, mục đích sử dụng mà người quản trị sẽ sử dụng hình thức whitelist, blacklist hoặc cả hai cách thức nói trên.

 4. Chức năng
Chức năng chính của firewall là kiểm soát luồng dữ liệu qua nó ra vào giữa intranet và internet. Nó thiết lập cơ chế điều khiển dòng thông tin lưu thông giữa intranet và internet. Cụ thể là:
  • Quản lý và điều khiển luồng dữ liệu trên mạng.
  • Xác thực quyền truy cập
  • Hoạt động như một thiết bị trung gian
  • Bảo vệ tài nguyên
  • Ghi nhận và báo cáo các sự kiện
   4.1. Quản lý và điều khiển luồng dữ liệu trên mạng
Việc đầu tiên và cơ bản nhất mà tất cả các Firewall đều có là quản lý và kiểm soát luồng dữ liệu trên mạng, Firewall kiểm tra các gói tin và giám sát các kết nối đang thực hiện và sau đó lọc các kết nối dựa trên kết quả kiểm tra gói tin và các kết nối được giám sát. 
  • Packet inspection (kiểm tra gói tin): là quá trình chặn và xử lý dữ liệu trong một gói tin để xác định xem nó được phép hay không được phép đi qua Firewall. Kiểm tra gói tin có thể dựa vào các thông tin sau:
    - Địa chỉ IP nguồn
    - Port nguồn.
    - Địa chỉ IP đích
    - Port đích
    - Giao thức IP
    - Thông tin trong header (sequence numbers, checksums, data flags, payload information…)
  • Connections và State: Khi hai TCP/IP host muốn giao tiếp với nhau, chúng cần thiêt lập một số kết nối với nhau. Các kết nối phục vụ hai mục đích. Thứ nhất, nó dùng để xác thực bản thân các host với nhau. Friewall dùng các thông tin kết nối này để xác định kết nối nào được phép và các kết nối nào không được phép. Thứ hai, các kết nối dùng để xác định cách thức mà hai host sẽ liên lạc với nhau (dùng TCP hay dùng UDP…).
  • Stateful Packet Inspection (giám sát gói tin theo trạng thái): Statefull Packet Inspection không những kiểm tra gói tin bao gồm cấu trúc, dữ liệu gói tin … mà kiểm tra cả trạng thái gói tin.
    4.2. Xác thực quyền truy cập
  
Firewall có thể xác thực quyền truy cập bằng nhiều cơ cấu xác thực khác nhau:
  • Thứ nhất, firewall có thể yêu cầu username và password của người dùng khi người dùng truy cập (thường được biết đến như là extended authentication hoặc xauth). Sau khi Firewall xác thực xong người dùng, Firewall cho phép người dùng thiết lập kết nối và sau đó không hỏi username và password lại cho các lần truy cập sau (thời gian Firewall hỏi lại username và password phụ thuộc vào cách cấu hình của người quản trị).
  • Thứ hai, Firewall có thể xác thực người dùng bằng Certificates và public key.
     
  • Thứ ba, Firewall có thể dùng pre-shared keys (PSKs) để xác thực người dùng.
   4.3. Hoạt động như một thiết bị trung gian
Khi user thực hiện kết nối trực tiếp ra bên ngoài sẽ đối mặt với vô số nguy cơ về bảo mật như bị virus tấn công, nhiễm mã độc hại v.v.. do đó việc có một thiết bị trung gian đứng ra thay mặt user bên trong để thực hiện kết nối ra bên ngoài là cần thiết để đảm bảo an toàn. Firewall được cấu hình để thực hiện chức năng này và firewall được ví như một proxy trung gian.

    4.4. Bảo vệ tài nguyên
Nhiệm vụ quan trọng nhất của một Firewall là bảo vệ tài nguyên khỏi các mối đe dọa bảo mật. Việc bảo vệ này được thực hiện bằng cách sử dụng các quy tắc kiểm soát truy cập, kiểm tra trạng thái gói tin, dùng Application Proxies hoặc kết hợp tất cả để bảo vệ tài nguyên khỏi bị truy cập bất hợp pháp hay bị lạm dụng. Tuy nhiên, Firewall không phải là một giải pháp toàn diện để bảo vệ tài nguyên của chúng ta.

    4.5. Ghi nhận và báo cáo các sự kiện
Ta có thể ghi nhận các sự kiện của Firewall bằng nhiều cách nhưng hầu hết các Firewall sử dụng hai phương pháp chính là Syslog và Proprietaty Logging Format. Bằng cách sử dụng một trong hai phương pháp này, chúng ta có thể dễ dàng báo cáo các sự kiện xảy ra trong hệ thống mạng.


5. Ưu nhược điểm của firewall 

   5.1. Ưu điểm
  • Firewall do con người cấu hình có thể che dấu mạng nội bộ bên trong, lọc dữ liệu và nội dung của dữ liệu để ngăn chặn được các ý đồ xấu từ bên ngoài như : muốn đánh cắp thông tin mật, muốn gây thiệt tê liệt hệ thống đối thủ của mình để gây thiệt hại về kinh tế …
  • Firewall có thể ngăn chặn các cuộc tấn công vào các server gây tổn thất lớn cho các doanh nghiệp.
  • Ngoài ra firewall còn có khả năng quét virus, chống spam … khi được tích hợp những công cụ cần thiết. 

    5.2. Nhược điểm
Tuy Firewall có những ưu điểm nổi trội nhưng vẫn tồn tại những hạn chế khiến Firewall không thể bảo vệ hệ thống an toàn một cách tuyệt đối. Một số hạn chế của firewall có thể kể ra như sau:
  • Firewall không thể bảo vệ chống lại các cuộc tấn công bỏ qua tường lửa. Ví dụ như một hệ thống bên trong có khả năng dial-out kết nối với một ISP hoặc mạng LAN bên trong có thể cung cấp một modem pool có khả năng dial-in cho các nhân viên di động hay các kiểu tấn công dạng social engineering nhắm đếm đối tượng là các người dùng trong mạng.
  • Firewall không bảo vệ chống lại các đe dọa từ bên trong nội bộ ví dụ như một nhân viên cố ý hoặc một nhân viên vô tình hợp tác với kẻ tấn công bên ngoài.
  • Firewall không thể bảo vệ chống lại việc chuyển giao giữa các chương trình bị nhiễm virus hoặc các tâp tin. Bởi vì sự đa dạng của các hệ điều hành và các ứng dụng được hỗ trợ từ bên trong nội bộ. Sẽ không thực thế và có lẽ là không thể cho các Firewall quét các tập tin gởi đến, email… nhằm phát hiện virus.

- Hết Phần 1 -

1 comment:

  1. Cám ơn bạn rất nhiều.
    Bạn có thể tìm hiểu thêm về vấn đề tại Blog
    Cửa hàng của mình. mình tổng hợp và chia sẻ một số thông tin cũng khá thú vị. Cảm ơn bạn.

    ReplyDelete