Trao đổi với tôi

http://www.buidao.com

2/24/10

[Security] Firewall - Step by step.

Tổng hợp và biên dịch: ZingHack
Hiệu đính: ITS
Tổng quan về Firewall

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ế hỏa hoạn. Trong công nghệ thông tin, Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống sự truy cập trái phép, nhằm bảo vệ các nguồn thông tin nội bộ và hạn chế sự xâm nhâp không mong muốn vào hệ thống. Firewall được miêu tả như là hệ phòng thủ bao quanh với các “chốt” để kiểm soát tất cả các luồng lưu thông nhập xuất. Có thể theo dõi và khóa truy cập tại các chốt này.



Các mạng riêng nối với Internet thường bị đe dọa bởi những kẻ tấn công. Để bảo vệ dữ liệu bên trong người ta thường dùng firewall. Firewall có cách nào đó để cho phép người dùng hợp đi qua và chặn lại những người dùng không hợp lệ.
Firewall có thể là thiết bị phần cứng hoặc chương trình phần mềm chạy trên host bảo đảm hoặc kết hợp cả hai. Trong mọi trường hợp, nó phải có ít nhất hai giao tiếp mạng, một cho mạng mà nó bảo vệ, một cho mạng bên ngoài. Firewall có thể là gateway hoặc điểm nối liền giữa hai mạng, thường là một mạng riêng và một mạng công cộng như là Internet. Các firewall đầu tiên là các router đơn giản.

Chức năng 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.
• Cho phép hoặc cấm những dịch vụ truy cập ra ngoài.
• Cho phép hoặc cấm những dịch vụ từ ngoài truy cập vào trong.
• 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 cập của người sử dụng. Kiểm soát nội dung thông tin lưu chuyển trên mạng.
Một firewall khảo sát tất cả các luồng lưu lượng giữa hai mạng để xem nó có đạt chuẩn hay không. Nếu nó đạt, nó được định tuyến giữa các mạng, ngược lại nó bị hủy. Một bộ lọc firewall lọc cả lưu lượng ra lẫn lưu lượng vào. Nó cũng có thể quản lý việc truy cập từ bên ngoài vào nguồn tài nguyên mạng bên trong. Nó có thể được sử dụng để ghi lại tất cả các cố gắng để vào mạng riêng và đưa ra cảnh báo nhanh chóng khi kẻ thù hoặc kẻ không được phân quyền đột nhập. Firewall có thể lọc các gói dựa vào địa chỉ nguồn, địa chỉ đích và số cổng của chúng. Điều này còn được gọi là lọc địa chỉ. Firewall cũng có thể lọc các loại đặc biệt của lưu lượng mạng. Điều này được gọi là lọc giao thức bởi vì việc ra quyết định cho chuyển tiếp hoặc từ chối lưu lượng phụ thuộc vào giao thức được sử dụng, ví dụ HTTP, FTP hoặc Telnet. Firewall cũng có thể lọc luồng lưu lượng thông qua thuộc tính và trạng thái của gói.
Một số firewall có chức năng thú vị và cao cấp, đánh lừa được những kẻ xâm nhập rằng họ đã phá vỡ được hệ thống an toàn. Về cơ bản, nó phát hiện sự tấn công và tiếp quản nó, dẫn dắt kẻ tấn công đi theo bằng tiếp cận “nhà phản chiếu” (hall of mirrors). Nếu kẻ tấn công tin rằng họ đã vào được một phần của hệ thống và có thể truy cập xa hơn, các hoạt động của kẻ tấn công có thể được ghi lại và theo dõi.
Nếu có thể giữ kẻ phá hoại trong một thời gian, người quản trị có thể lần theo dấu vết của họ. Ví dụ, có thể dùng lệnh finger để theo vết kẻ tấn công hoặc tạo tập tin “bẫy mồi” để họ phải mất thời gian truyền lâu, sau đó theo vết việc truyền tập tin về nơi của kẻ tấn công qua kết nối Internet.

Nguyên lý hoạt động của Firewall
Firewall hoạt động chặt chẽ với giao thức TCP/IP, vì giao thức này làm việc theo thuật tó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 packets) rồi gán cho các packet 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ó thỏa 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 (header), dùng để cho phép truyền các packet đó ở trên mạng. Bao gồm:
• Địa chỉ IP nơi xuất phát (Source)
• Địa chỉ IP nơi nhận ( Destination)
• Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel …)
• Cổng TCP/UDP nơi xuất phát
• Cổng TCP/UDP nơi nhận
• Dạng thông báo ICMP
• Giao diện packet đến
• Giao diện packet đi
Nếu packet thỏa các luật lệ đã được thiết lập trước của Firewall thì packet đó được chuyển qua, nếu không thỏa thì sẽ bị loại bỏ. 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 được phép mới vào được hệ thống mạng cục bộ. Cũng nên lưu ý là do việc kiểm tra dựa trên header của các packet nên bộ lọc không kiểm soát được nội dụng 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. Trong các phần sau chúng ta sẽ cùng tìm hiểu các kỹ thuật để vượt tường lửa.

Firewall trong các mô hình mạng OSI và TCP/IP
Firewall hoạt động ở các lớp khác nhau sử dụng các chuẩn khác nhau để hạn chế lưu lượng. Lớp thấp nhất mà firewall hoạt động là lớp 3. Trong mô hình OSI đây là lớp mạng. Trong mô hình TCP/IP đây là lớp IP (Internet Protocol). Lớp này có liên quan tới việc định tuyến các gói tới đích của chúng. Ở lớp này, một firewall có thể xác định rằng một gói từ một nguồn đáng tin cậy, nhưng không xác định gói chứa những gì. Ở lớp transport, firewall biết một ít thông tin về gói và có thể cho phép hoặc từ chối truy cập dựa vào các tiêu chuẩn. Ở lớp ứng dụng, firewall biết nhiều về những gì đang diễn ra và có sự lựa chọn trong việc gán quyền truy cập.

IP spoofing (sự giả mạo IP)
Nhiều firewall nghiên cứu các địa chỉ IP nguồn của các gói để xác nhận nếu chúng hợp lý. Một firewall có thể cho phép luồng lưu thông nếu nó đến từ một host đáng tin cậy. Một cracker giả mạo địa chỉ IP nguồn của các gói gửi tới firewall. Nếu firewall nghĩ rằng các gói đến từ một host tin cậy, nó có thể cho chúng đi qua trừ khi một vài chuẩn khác không thỏa. Tất nhiên cracker muốn tìm hiểu về luật của firewall để khai thác vào điểm yếu này.
Một biện pháp hiệu quả chống lại sự giả mạo IP là việc sử dụng giao thức mạng riêng ảo (Virtual Private Network - VPN) như là IPSec. Biện pháp này đòi hỏi việc mã hóa dữ liệu trong các gói cũng như địa chỉ nguồn. Phần mềm hoặc phần sụn VPN giải mã gói và địa chỉ nguồn để tiến hành một cuộc kiểm tra (checksum). Nếu cả dữ liệu lẫn địa chỉ nguồn đã bị giả mạo thì gói sẽ bị hủy.

IPSec
IPSec có vai trò rất quan trọng trong việc giải quyết các vấn đề mà chúng ta cố giải quyết nó với firewall.
IPSec (IP Security) đề ra một tập các chuẩn được phát triển bởi Internet Engineering Tast Force (IETF). IPSec giải quyết hai vấn đề gây hại cho bộ giao thức IP: Sự xác thực host-to-host (cho các host biết là chúng đang nói chuyện với nhau mà không phải là sự giả mạo) và việc mã hóa (ngăn chặn những kẻ tấn công xem dữ liệu trong luồng lưu lượng giữa hai máy).
Đây là các vấn đề mà firewall cần giải quyết. Mặc dù firewall có thể làm giảm nguy cơ tấn công trên Internet mà không cần sự xác thực và mã hóa, nhưng vẫn còn hai vấn đề lớn ở đây: tính toàn vẹn và sự riêng tư của thông tin đang truyền giữa hai host và sự giới hạn trong việc đặt ra các loại kết nối giữa các mạng khác nhau. IPSec giúp giải quyết các vấn đề này.
Có vài khả năng đặc biệt khi chúng ta xem xét sự kết hợp giữa các firewall với các host cho phép IPSec. Cụ thể là, VPN, việc lọc gói tốt hơn (lọc những gói mà có tiêu đề xác thực IPSec), và các firewall lớp ứng dụng sẽ cung cấp sự xác minh host tốt hơn bằng cách sử dụng tiêu đề xác thực IPSec thay cho “just trusting” địa chỉ IP hiện tại.

Lợi ích của firewall
Bất kỳ ai chịu trách nhiệm cho mạng riêng kết nối với mạng công cộng đều cần sự bảo vệ của firewall. Ngoài ra, bất kỳ ai kết nối máy tính với Internet thông qua modem nên có phần mềm firewall cá nhân. Nhiều người dùng Internet thông qua việc quay số tin tưởng rằng tình trạng nặc danh sẽ bảo vệ họ. Họ nghĩ rằng không có sự xâm nhập nguy hiểm nào làm hại máy tính của họ. Những người dùng quay số trở thành những nạn nhân của các cuộc tấn công nguy hiểm, đôi khi họ phải cài lại hệ điều hành. Những kẻ chơi khăm có thể dùng các robot tự động quét các IP ngẫu nhiên và tấn công bất cứ khi nào thời cơ đến với nó.
Firewall bảo vệ các mạng cục bộ từ những kẻ tấn công từ Internet.
Firewall cho phép các nhà quản trị mạng đề ra nhiều loại truy cập tới các dịch vụ Internet để các user LAN lựa chọn. Sự lựa chọn này là một phần cốt yếu của bất kỳ chương trình quản trị thông tin nào, và không chỉ bảo vệ thông tin riêng mà còn biết được những ai đã truy cập và đã làm gì.

Các kiểu khác nhau của firewall
Firewall được thiết kế theo hai tiếp cận:
• Strip search (khám xét tận đáy): Khi người dùng muốn đăng nhập vào hệ thống đều phải qua strip search.
• Proxy service (dịch vụ ủy thác): Trong trường hợp gắt gao hơn, người quản trị không muốn cho hệ thống tiếp xúc trực tiếp với người dùng, khi đó người quản trị giả lập một hệ thống tương tự như cũ để tiếp xúc trực tiếp với khách hàng. Hệ thống giả lập này chuyển tin qua lại giữa hai bên và làm dịch vụ ủy thác. Proxy service hoạt động như là người đại diện cho những người dùng cần truy cập hệ thống ở phía bên kia firewall.
Firewall lọc gói (packet-filtering) dùng phương pháp strip search. Các gói dữ liệu trước hết được kiểm tra, sau đó được trả lại hoặc cho phép đi vào theo một số điều kiện nhất định.
Còn một phương pháp thứ ba gọi là giám sát trạng thái (stateful inspection). Phương pháp này nhớ các đặc trưng của bất cứ người nào rời khỏi hệ thống và chỉ cho phép quay trở lại theo những đặc trưng này.

Firewall logs
Có rất nhiều thông tin quan trọng trong Firewall’s log.
Luồng lưu lượng di chuyển qua firewall là một phần của một kết nối. Một kết nối có 2 thành phần cơ bản: một cập địa chỉ IP và một cập cổng. Địa chỉ IP nhận dạng mỗi máy. Số cổng nhận dạng các dịch vụ hoặc các ứng dụng được sử dụng.
Ví dụ, khi chúng ta kết nối tới www.igate.vn, sẽ có một log entry trong firewall log. Khi đó, địa chỉ IP của chúng ta là địa chỉ nguồn và địa chỉ IP của www.igate.vn là địa chỉ đích. Số cổng đích sẽ là cổng 80 (cổng chuẩn được sử dụng cho http).
Biết được số cổng kết hợp với các dịch vụ giúp nhận dạng hành động hiểm độc gây ra trên firewall.
Với sự hiểu biết tốt về các cổng và các ứng dụng kết hợp với chúng, đã đến lúc bắt đầu nhìn vào firewall logs cho các hoạt động cụ thể. Laura Taylor đề ra các mục chung để tìm kiếm trong một firewall’s logs:
• Địa chỉ IP bị loại bỏ.
• Các login không thành công.
• Hoạt động hướng ngoại từ các server bên trong. Nếu có lưu lượng từ một server bên trong, việc hiểu biết hoạt động thông thường trên server đó sẽ giúp người quản trị xác định rằng server đó đã được thỏa hiệp.
• Các gói định tuyến nguồn. Nó ám chỉ rằng một ai đó đang cố gắng truy cập vào mạng nội bộ.

Tổng hợp và biên dịch: ZingHack
Hiệu đính: ITS

Các dạng Firewall
Bất cứ thiết bị nào điều khiển luồng dữ liệu trên mạng vì lý do an toàn đều được gọi là firewall. Có nhiều người, nhiều tài liệu vì những lý do khác nhau mà phân chia firewall ra thành nhiều loại khác nhau. Từ sự tìm hiểu các tài liệu đó, ở đây xin chia firewall làm ba loại dùng các chiến lược khác nhau để bảo vệ tài nguyên trên mạng.
Thiết bị firewall cơ bản nhất được xây dựng trên các bộ định tuyến và làm việc ở các tầng thấp hơn trong ngăn xếp giao thức mạng. Chúng lọc các gói dữ liệu và thường được gọi là bộ định tuyến kiểm tra (screening router). Các cổng proxy server ở đầu cuối trên (high-end) vận hành ở mức cao hơn trong ngăn xếp giao thức. Firewall loại ba dùng kỹ thuật giám sát trạng thái.
Các bộ định tuyến thường được dùng cùng với các gateway để tạo nên hệ thống phòng thủ nhiều tầng. Riêng với các sản phẩm firewall thương mại có thể cung cấp tất cả các chức năng tùy theo nhu cầu.

Bộ định tuyến kiểm tra (Lọc theo gói - Packet Filtering)
Firewall lọc gói hoạt động ở lớp mạng của mô hình OSI, hoặc lớp IP của TCP/IP. Chúng thường là một phần của router. Router là thiết bị nhận gói từ một mạng và chuyển gói tới mạng khác. Trong firewall lọc gói, mỗi gói được so sánh với tập các tiêu chuẩn trước khi nó được chuyển tiếp. Dựa vào gói và tiêu chuẩn, firewall có thể hủy gói, chuyển tiếp hoặc gởi thông điệp tới nơi tạo gói. Các luật bao gồm địa chỉ IP, số cổng nguồn và đích và giao thức sử dụng. Hầu hết các router đều hỗ trợ lọc gói.



Tất cả các luồng lưu thông trên Internet đều ở dạng gói. Một gói là một lượng dữ liệu có kích thước giới hạn, đủ nhỏ để điều khiển dễ. Khi lượng lớn dữ liệu được gửi liên tục, dễ xảy ra tình trạng hỏng trong việc truyền và tái hợp ở nơi nhận.
Một gói là một chuỗi số cơ bản truyền đạt các thứ sau:
• Dữ liệu, kiến thức, yêu cầu hoặc dòng lệnh từ hệ thống bắt đầu
• Địa chỉ IP và cổng của nguồn
• Địa chỉ IP và cổng của đích
• Thông tin về giao thức (tập các luật) điều khiển gói
• Thông tin kiểm tra lỗi
• Có vài sự sắp xếp thông tin về kiểu và tình trạng của dữ liệu đang được gửi
• Và còn vài thứ khác…
Trong packet filtering, chỉ protocol và thông tin địa chỉ của mỗi gói được kiểm tra. Nội dung và ngữ cảnh (mối liên hệ với các gói khác) của nó bị bỏ qua.
Filtering chứa các gói vào ra và cho phép hoặc không cho phép việc lưu thông của chúng hoặc chấp nhận dựa trên một tập luật nào đó, được gọi là chính sách (policies).
Các chính sách lọc gói có thể căn cứ trên các điều sau:
• Cho phép hoặc không cho phép gói dựa vào địa chỉ IP nguồn
• Cho phép hoặc không cho phép gói dựa vào cổng đích
• Cho phép hoặc không cho phép gói dựa theo giao thức.
Bộ định tuyến kiểm tra nhìn vào thông tin liên quan đến địa chỉ cứng (hardwired) của máy tính, địa chỉ IP của nó (lớp mạng) và loại kết nối (lớp transport), và sau đó lọc các gói dữ liệu dựa trên những thông tin này. Bộ định tuyến kiểm tra có thể là thiết bị định tuyến độc lập hoặc máy tính gắn hai card mạng. Bộ định tuyến nối giữa hai mạng và thực hiện lọc gói dữ liệu để điều khiển luồng lưu thông giữa các mạng. Người quản trị lập trình cho thiết bị với các luật xác định cách lọc gói dữ liệu. Ví dụ, bạn có thể thường xuyên ngăn các gói của một dịch vụ nào đó như FTP (File Transfer Protocol) hay HTTP (HyperText Transfer Protocol). Tuy vậy, các luật bạn xác định cho bộ định tuyến có thể không đủ để bảo vệ tài nguyên trên mạng. Những luật này có thể rất khó cài đặt và dễ có lỗi, tạo nên những lỗ hỏng trong hệ thống phòng thủ.
Đây là kiểu cơ bản nhất của firewall.
Ưu điểm:
• Tương đối đơn giản và tính dễ thực thi.
• Nhanh và dễ sử dụng
• Chi phí thấp và ít ảnh hưởng đến performance của mạng.
• Rất hiệu quả trong việc đóng khối các kiểu riêng biệt của lưu lượng, và đôi khi nó là một phần của hệ thống firewall tổng quan. Ví dụ, telnet có thể dễ dàng được đóng khối bằng cách áp dụng một filter để đóng khối TCP cổng 23 (telnet).
Yếu điểm:
• Thông tin địa chỉ trong một gói có thể bị xuyên tạc hoặc bị đánh lừa bởi người gửi
• Dữ liệu hoặc các yêu cầu chứa trong một gói cho phép có thể có điều không mong muốn xảy ra, một hacker khai thác một chỗ sai sót trong một chương trình Web server hoặc sử dụng một mật mã bất chính để thu được quyền điều khiển hoặc truy cập.
• Packet Filter không thể thực hiện việc xác thực người dùng.

Các Proxy Server Gateway
Gateway là các thiết bị mức ứng dụng, cung cấp nhiều cơ hội hơn để theo dõi và điều khiển truy cập mạng. Một fireware gateway hoạt động như người trung gian, chuyển tiếp các thông điệp giữa khách/dịch vụ nội và ngoại.
Dịch vụ ủy thác (proxy service) có thể “biểu diễn” người dùng nội trên internet bằng cách thay đổi địa chỉ IP của khách trong các gói dữ liệu sang địa chỉ IP của riêng nó. Kỹ thuật này về cơ bản che dấu hệ thống nội và bảo đảm rằng những người dùng nội không kết nối trực tiếp với hệ thống bên ngoài. Proxy server có thể đánh giá và lọc tất cả các gói dữ liệu đến hoặc ngăn các gói dữ liệu đi ra.
Một số proxy server được thiết kế để cho phép chỉ những người dùng nội truy cập internet và không cho phép bất cứ người dùng ngoại nào trong mạng. Vì mọi yêu cầu đến internet server đều tạo ra phản hồi, proxy server phải cho phép luồng giao thông quay về, nhưng nó thực hiện điều này bằng cách chỉ cho phép luồng lưu thông là một phản hồi nào đó của người dùng nội. Các loại proxy server khác cung cấp dịch vụ chuyển tiếp an toàn theo cả hai chiều.
Proxy server còn có thể cung cấp dịch vụ cache cho người dùng nội. Nó lưu trữ thông tin về các nơi (site) để người dùng truy cập nhanh hơn. Khi người dùng truy cập đến những nơi này, thông tin được lấy từ vùng cache đã lưu trữ trước đó.
Có hai loại proxy server: mức bản mạch và mức ứng dụng

1. Gateway mức-MẠNG
Còn được gọi là “Circuit Level Gateway”, đây là hướng tiếp cận firewall thông qua kết nối trước khi cho phép dữ liệu được trao đổi.
Circuit Level Gateway (CLG) hoạt động ở lớp session của mô hình OSI, hoặc lớp TCP của mô hình TCP/IP. Chúng giám sát việc bắt tay TCP (TCP handshaking) giữa các gói để xác định rằng một phiên yêu cầu là phù hợp. Thông tin tới máy tính từ xa thông qua một CLG, làm cho máy tính ở xa đó nghĩ là thông tin đến từ gateway. Điều này che dấu được thông tin về mạng được bảo vệ. CLG thường có chi phí thấp và che dấu được thông tin về mạng mà nó bảo vệ. Ngược lại, chúng không lọc các gói.



Firewall không chỉ cho phép (allow) hoặc không cho phép (disallow) gói mà còn xác định kết nối giữa hai đầu cuối có hợp lệ theo các luật hay không, sau đó mở một session (phiên làm việc) và cho phép luồng lưu thông và có sự giới hạn thời gian. Một kết nối được xem là hợp lệ phải dựa vào các yếu tố sau:
• Địa chỉ IP và/hoặc cổng đích
• Địa chỉ IP và/hoặc cổng nguồn
• Thời gian trong ngày (time of day)
• Giao thức (protocol)
• Người dùng (user)
• Mật khẩu (password)
Mỗi phiên trao đổi dữ liệu đều được kiểm tra và giám sát. Tất cả các luồng lưu lượng đều bị cấm trừ khi một phiên được mở.
Loại proxy server này cung cấp kết nối (có điều khiển) giữa các hệ thống nội và ngoại. Có một mạch ảo giữa người dùng nội và proxy server. Các yêu cầu internet đi qua mạch này đến proxy server, và proxy server chuyển giao yêu cầu này đến internet sau khi thay đổi địa chỉ IP. Người dùng ngoại chỉ thấy địa chỉ IP của proxy server. Các phản hồi được proxy server nhận và gởi đến người dùng thông qua mạch ảo. Mặc dù luồng lưu thông được phép đi qua, các hệ thống ngoại không bao giờ thấy được hệ thống nội. Loại kết nối này thường được dùng để kết nối người dùng nội “được ủy thác” với internet.
Circuit Level Filtering có ưu điểm nổi trội hơn so với Packet Filter. Nó khắc phục được sự thiếu sót của giao thức UDP đơn giản và dể bị tấn công.
Bất lợi của Circuit Level Filtering là hoạt động ở lớp Transport và cần có sự cải tiến đáng kể của việc cài đặt để cung cấp các chức năng truyền tải (chẳng hạn như Winsock).

2.Gateway Mức-Ứng-Dụng (Application Gateway)
Các gateway mức ứng dụng, còn được gọi là các proxy, tương tự như các gateway mức mạng ngoại trừ việc chỉ định các ứng dụng. Chúng có thể lọc gói ở lớp ứng dụng của mô hình OSI. Các gói vào hoặc ra không thể truy cập các dịch vụ mà không có proxy. Một gateway mức ứng dụng được cấu hình như một web proxy sẽ không cho bất kỳ ftp, gopher, telnet hoặc lưu lượng khác xuyên qua. Bởi vì chúng kiểm tra các gói ở lớp ứng dụng, chúng có thể lọc các dòng lệnh chỉ định ứng dụng như httpost và get, etc. Điều này không thể được thực hiện với firewall lọc gói và firewall mức mạch, cả hai điều không biết gì về thông tin lớp ứng dụng. Các gateway mức ứng dụng còn có thể được sử dụng để ghi lại các hoạt động và các login của user. Chúng đề ra cấp độ bảo mật cao, và có sự tác động mạnh về performance của mạng. Bởi vì sự thay đổi ngữ cảnh mà làm chậm mạng truy cập một cách đột ngột. Chúng không dễ thực hiện (transparent) ở đầu cuối người dùng và yêu cầu sự cấu hình thủ công ở mọi máy client.



Một proxy server là cách để tập trung các dịch vụ ứng dụng thông qua một máy đơn lẻ. Nó hoạt động như một trung gian giữa một client và một server, và được thi hành như một ứng dụng đang chạy cùng chung với một hệ điều hành đa năng (general-purpose OS). Một máy đơn lẻ (bastion host) hoạt động như một proxy server với nhiều giao thức (Telnet, SMTP, FTP, HTTP,etc.) nhưng cũng có một máy đơn lẻ chỉ hoạt động với mỗi một dịch vụ. Thay vì kết nối trực tiếp với server bên ngoài, client kết nối với proxy server, proxy server kết nối với server bên ngoài.
Proxy server mức ứng dụng cung cấp tất cả các chức năng cơ bản của proxy server, cho phép các cuộc trao đổi dữ liệu với hệ thống từ xa nhưng hệ thống này không thấy được máy ở bên trong firewall.
Nó còn phân tích các gói dữ liệu. Khi các gói từ bên ngoài đến cổng này, chúng được kiểm tra và đánh giá để xác định chính sách an toàn có cho phép gói này đi vào mạng nội bộ hay không. Proxy server không chỉ đánh giá địa chỉ IP, nó còn nhìn vào dữ liệu trong gói để ngăn những kẻ đột nhập cất dấu thông tin trong đó.
Với các proxy server, các chính sách an toàn mạnh hơn và mềm dẻo hơn nhiều vì tất cả thông tin trong các gói được người điều hành sử dụng để ghi các luật xác định cách xử lý các gói. Có thể giám sát dễ dàng mọi việc xảy ra trên proxy server.
Các gateway mức ứng dụng được xem là loại an toàn nhất của firewall. Chúng có những khả năng tinh vi nhất.
Firewall mức ứng dụng có khuynh hướng cung cấp các report chi tiết và có khuynh hướng an toàn hơn các firewall mức mạng.
Tuy nhiên, việc cài đặt rất phức tạp, yêu cầu sự quan tâm chi tiết các ứng dụng riêng lẻ sử dụng gateway.

Stateful Multilayer Inspection Firewall
Các firewall kiểm tra nhiều lớp kết hợp hình thức của ba loại firewall (lọc gói, mức mạng và mức ứng dụng). Chúng lọc các gói ở lớp mạng, xác định các gói phù hợp và đánh giá nội dung các gói tại lớp ứng dụng. Chúng cho phép kết nối trực tiếp giữa client và host, làm giảm vấn đề do transparent gây ra ở các gateway mức ứng dụng. Chúng dựa vào các thuật toán để nhận ra và xử lý dữ liệu lớp ứng dụng thay cho việc chạy các proxy chỉ định ứng dụng. Stateful multilayer inspection firewalls đề ra cấp độ bảo mật cao, performance tốt và transparent đối với đầu cuối người dùng. Tuy nhiên, chi phí rất đắt, và độ phức tạp của nó có thể làm giảm độ an toàn hơn so với các loại firewall thông thường nếu như không được quản trị bởi đội ngũ thành thạo.



Kỹ thuật kiểm tra trạng thái
Một trong các vấn đề với proxy server là nó phải đánh giá một lượng lớn thông tin trong một lượng lớn các gói dữ liệu. Ngoài ra, phải cài đặt từng proxy cho mỗi ứng dụng. Điều này ảnh hưởng đến hiệu suất và làm tăng chi phí. Với kỹ thuật kiểm tra trạng thái, các mẫu bit của gói dữ liệu được so sánh với các gói “tin cậy” đã biết, do đó làm tăng hiệu suất.
Ví dụ, khi bạn truy cập một dịch vụ bên ngoài, proxy server sẽ nhớ mọi thứ về yêu cầu ban đầu, như số hiệu cổng, địa chỉ nguồn và đích. Cách “nhớ” này được gọi là lưu trạng thái. Khi hệ thống bên ngoài phản hồi yêu cầu của bạn, firewall so sánh các gói nhận được với trạng thái đã lưu để xác định chúng được phép vào hay không.

Tổng kết
Tất cả các loại firewall có điểm chung rất quan trọng: chúng nhận, kiểm tra và ra quyết định tất cả các dữ liệu đến trước khi chuyển qua hệ thống hoặc mạng. Chúng điều khiển các gói có được vào hệ thống hoặc mạng hay không. Chúng điều chỉnh dữ liệu ra được tốt. Các loại và các khả năng của firewall về cơ bản được định nghĩa bởi:
• Chúng cư trú bên trong mạng phân cấp (stack);
• Cách chúng phân tích và cách chúng điều chỉnh dòng dữ liệu (packet);
• Và các chức năng thiết thực có liên quan đến bảo mật. Vài chức năng đó là:
o Dữ liệu có thể được mã hóa/giải mã bởi firewall cho việc truyền được an toàn trên mạng xa
o Firewall có thể làm cho việc truyền thông được thuận tiện hơn giữa các mạng không tương thích nhau.

Các khái niệm liên quan khác

Proxy là gì ?
Có một số khái niệm về proxy như sau:
• Proxy là một thiết bị cho phép kết nối vào Internet, nó đứng giữa các workstation trong một mạng và internet, cho phép bảo mật kết nối, chỉ cho phép một số cổng và protocol nào đó, ví dụ: TCP, HTTP, Telnet trên các cổng 80, 23 …. Khi một client yêu cầu một trang nào đó, yêu cầu này sẽ được chuyển đến proxy server, proxy server sẽ chuyển tiếp yêu cầu đến site đó. Khi yêu cầu được đáp trả, proxy sẽ trả kết quả này lại cho client tương ứng. Proxy server có thể được dùng để ghi nhận việc sử dụng internet và ngăn chặn những trang bị cấm.
• Proxy server là một server đứng giữa một ứng dụng của client, như web browser, và một server ở xa. Proxy server xem xét các request xem nó có thể xử lý bằng cache của nó không, nếu không thể, nó sẽ chuyển yêu cầu này đến remote server.
• Proxy server là một server đứng giữa một ứng dụng client, như một web browser, và một server thực. Nó chặn tất cả các yêu cầu đến các server thực để xem xem nó có khả năng đáp ứng được không, nếu không thể, nó sẽ chuyển yêu cầu này đến các server thực.
• Proxy server là một loại buffer giữa máy tính của chúng ta và tài nguyên trên mạng internet mà chúng ta đang truy cập, dữ liệu bạn yêu cầu sẽ đến proxy trước, sau đó mới được chuyển đến máy của bạn.



Mục đích của proxy
• Tăng tốc kết nối: các proxy có một cơ chế gọi là cache, có chế cache cho phép lưu trữ lại những trang được truy cập nhiều nhất, điều này làm cho việc truy cập của bạn sẽ nhanh hơn, vì bạn được đáp ứng yêu cầu một cách nội bộ mà không phải lấy tin trực tiếp từ internet.
• Mọi truy cập đều phải thông qua proxy nên việc bảo mật được thực hiện tốt hơn. Thêm danh sách điều khiển truy cập vào các giao thức, yêu cầu các user hoặc các hệ thống cung cấp vài cấp độ xác thực trước khi gán quyền truy cập. Các proxy servser thông minh hơn, thỉnh thoảng được gọi là gateway mức ứng dụng (Application Layer Gateway - ALGs), có thể được hiểu được các giao thức đặc biệt và có thể được cấu hình để đóng khối chỉ các tiểu khu của giao thức. Ví dụ, một ALG cho FTP có thể phân biệt sự khác nhau giữa lệnh “put” và lệnh “get”; một tổ chức có thể cho phép các user “get” các file từ Internet, nhưng không thể “put” các file bên trong trên một server từ xa.
• Lọc và ngăn cản các truy cập không được cho phép như các trang đồi trụy, các trang phản động …
• Proxy servers cũng có thể được cấu hình để mã hóa luồng dữ liệu dựa vào các tham số khác nhau. Một tổ chức có thể sử dụng tính năng này để cho phép các kết nối được mã hóa giữa hai địa điểm mà các điểm truy cập của chúng đều trên Internet.

Các bất lợi và những phát sinh từ việc sử dụng proxy server
• Các client trên mạng được bảo vệ phải được modify một cách đặc biệt. Điều này làm phức tạp việc cấu hình và thêm vào việc quản trị mạng to tát.
• Proxy server hoạt động như một hệ điều hành đa năng (general-purpose OS), chúng bị tấn công vào các lỗ hỏng bảo mật mà hệ điều hành có thể có.
• Performance (throughput) của hệ thống xuống cấp khi số lượng các kết nối proxy tăng lên bởi vì gia tăng các tiến trình có liên quan mà hệ điều hành cần điều khiển.
• Proxy server có nhiều latency (độ trễ) bởi vì hai kết nối TCP riêng lẻ phải được thiết lập trước khi bất kỳ dữ liệu nào có thể được truyền. Các kết nối mới phải mất thời gian thiết lập kết nối cao do phụ thuộc vào “process” của một proxy. Mỗi kết nối yêu cầu một tiến trình riêng.
• Rất nhiều địa chỉ trên mạng do một lý do nào đó mà bị cấm truy cập đối với người dùng như là các trang web đồi trụy, các trang phản động, có nội dung không lành mạnh… nhưng bằng việc sử dụng proxy thì các client có thể truy cập tới các site này.
• Các truy cập vượt qua hệ thống phòng thủ qua HTTP proxy và web-based proxy. Chúng ta sẽ thảo luận thêm về vấn đề này khi tìm hiểu sâu vào các kỹ thuật vượt firewall trong các phần sau.

Socks
SOCKS là chuẩn IEEE, là giao thức proxy điều khiển luồng lưu thông giữa các hệ thống TCP/IP. SOCKS về cơ bản xác định cách cài đặt và cung cấp các dịch vụ firewall, cũng như các dịch vụ kiểm toán, quản lý. Máy chủ SOCKS được cài đặt giữa mạng nội và Internet. Nó cho phép người dùng nội bộ truy cập Internet nhưng ngăn cản người dùng ngoại tìm cách truy cập mạng nội bộ. Bằng cách này, nó cung cấp dịch vụ firewall một chiều. Một thành phần quan trọng của SOCKS là khả năng “ngu hóa” người dùng nội và máy chủ ngoại bằng cách cho chúng tin rằng họ đang nói chuyện trực tiếp với nhau. Thật tế, người dùng nói chuyện với máy chủ SOCKS và máy chủ SOCKS nói chuyện với máy chủ khác ở mạng bên ngoài.
Ba thao tác quan trọng của SOCKS là:
• Cung cấp cách để người dùng yêu cầu kết nối ngoài từ proxy server. Yêu cầu này chứa địa chỉ của máy chủ (đích) và các thông tin thích hợp khác.
• Thiết đặt mạch giữa khách và proxy server. Một khi mạch được thiết lập, người dùng nghĩ rằng họ đang truy cập trực tiếp Internet.
• Chuyển tiếp dữ liệu giữa mạng bên ngoài và mạng bên trong.

Bức tường lửa High-end
Một kết nối internet dựa trên bộ định tuyến cho phép kết nối điểm-điểm giữa khách trên mạng nội bộ và máy chủ internet. Vì các kết nối như thế nói chung không an toàn, người điều hành mạng phải chuyển sang sử dụng các firewall đầu cuối trên (high-end).
Gateway mức ứng dụng cung cấp các proxy điều khiển truy cập qua firewall theo một cách duy nhất. Chúng hiểu rõ các giao thức của ứng dụng được phép vận hành qua lại thông qua gateway, và quản lý toàn bộ luồng lưu thông vào ra, trong trường hợp không thể dùng bộ định tuyến kiểm tra.
Dịch vụ FTP là ví dụ tốt minh họa về cách proxy server mức ứng dụng cung cấp kỹ thuật lọc cao cấp. Nó cho phép người dùng từ ngoài truy cập máy chủ FTP, nhưng vẫn nhìn trong mỗi gói và ngăn chặn những gói chứa lệnh PUT đối với một số người dùng. Điều này giúp tránh việc ghi các tập tin vào máy chủ.
Một đặc điểm quan trọng của các máy chủ mức ứng dụng là kiểm tra tính hợp lệ. Bạn có thể cho phép chỉ những người dùng nhất định qua được firewall trên cơ sở những đặc quyền của họ. Điều này rất hữu ích đối với những người dùng di động hoặc những người thuộc chi nhánh cần truy cập đến một số hệ thống trên mạng của bạn.
Firewall cũng có thể che dấu địa chỉ mạng nội bộ từ internet. Điều này cho phép bạn cài đặt bất cứ sơ đồ địa chỉ IP mà không cần đăng ký với các tổ chức internet. Đặc điểm này ngày càng hữu ích vì các địa chỉ IP đang trở nên hiếm hoi.

So sánh các tính năng của Firewall

Host-based firewall so với network firewall
Host-based firewalls (còn được gọi là các firewall cá nhân) là đơn giản, các chương trình hoặc các thiết bị chi phí thấp, được dùng để bảo vệ một máy đơn lẻ. Ví dụ: ZoneAlarm, Norton Personal Firewall, và Internet Connection Firewall (ICF) được xây dựng cho Windows XP.
Network firewall có thể bảo vệ nhiều máy. Tuy nhiên, không phải tất cả các network firewall đều như nhau. Có vài thiết bị hoặc chương trình mà giá của nó chỉ đắt hơn một chút so với firewall cá nhân.
Các enterprise firewall dùng cho mục đích kinh doanh, chúng được thiết kế cho các mạng rộng lớn và phức tạp. Chúng điều khiển nhiều user, có thông lượng cao, và có nhiều tính năng tiên tiến, như là:
• Hợp nhất với các VPN gateway
• Khả năng quản lý nhiều firewall trung tâm
• Cơ chế giám sát và báo cáo tinh vi
• Có thể được mở rộng thông qua các add-on module hoặc plug-in
• Khả năng điều khiển truy cập thông qua các chính sách và áp dụng các chính sách khác nhau cho các user khác nhau
• Có nhiều cơ chế xác thực tinh vi
• Rất tốt trong việc cân bằng tải và khả năng chịu lỗi cao
Chi phí cho host-based firewall thường là $100 hoặc thấp hơn. Enterprise firewall có thể trên $25,000. Các firewall dùng cho mục đích kinh doanh mức trung bình chi phí khoảng từ $1500 tới $5000.

Các firewall phần cứng so với các firewall phần mềm
Firewall phần cứng có thể được phân chia thành những thứ chuyên dùng cho các PC với các đĩa cứng và những thiết bị bán dẫn xây dựng trên kiến trúc ASIC (Application Specific Integrated Circuit).
Firewall phần mềm bao gồm Microsoft ISA Server, CheckPoint FW-1 và Symantec Enterprise Firewall dùng cho cả cấp độ xí nghiệp lẫn các firewall cá nhân. ISA Server chạy trên Windows 2000/2003, và FW-1 chạy trên Windows NT/2000, Solaris, Linux, và AIX. Symantec EF chạy trên Windows và Solaris.
Firewall phần cứng bao gồm Cisco PIX, Nokia, SonicWall, NetScreen, Watchguard,…

Tổng hợp
RefLink: http://ceh.vn/@4rum/showthread.php?t=566