Cấu trúc dự phòng nóng cho thiết bị tường lửa

08:50 | 30/07/2014

Tường lửa là một thiết bị cần thiết để bảo đảm an toàn cho hệ thống CNTT, do vai trò là thiết bị kiểm soát tất cả các kết nối vào/ra một mạng, nên nó được đặt ở vị trí kết nối duy nhất giữa mạng cần được bảo vệ với mạng bên ngoài. Chính vì thế, khi thiết bị này hỏng thì toàn bộ hệ thống mạng bên trong sẽ bị cô lập hoàn toàn với mạng bên ngoài. Bài báo giới thiệu một cấu trúc dự phòng nóng cho thiết bị tường lửa cho phép thiết bị tường lửa dự phòng được tự động kích hoạt khi thiết bị chính gặp sự cố, từ đó hạn chế tối đa thời gian dừng, ngắt hệ thống.

Dự phòng nóng và công nghệ HAC

Ở nhiều tổ chức, mạng máy tính có thể ví như hệ thần kinh điều khiển toàn bộ hoạt động, bởi vậy, nếu mạng máy tính gặp sự cố sẽ làm tê liệt các hoạt động chính của tổ chức. Mặc dù các hãng sản xuất đã cố gắng làm mọi cách để nâng cao chất lượng của thiết bị, nhưng sự cố kỹ thuật đối với các thiết bị mạng nói chung và các máy chủ nói riêng là điều không thể tránh khỏi. Do vậy, cần có một giải pháp để đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, đó chính là giải pháp dự phòng nóng cho các hệ thống máy chủ.

High Availability Cluster (HAC – nhóm máy chủ có tính sẵn sàng cao) là một công nghệ cho phép nhiều máy chủ được kết nối song song với nhau và được sử dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố hoặc để nâng cấp, bảo trì, thì toàn bộ công việc mà máy chủ này đảm nhận sẽ được tự động chuyển sang cho một máy chủ khác (trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị ngắt hay gián đoạn, do đó công nghệ này được sử dụng rất nhiều cho mục đích dự phòng nóng.

HAC có thể sử dụng một trong hai mô hình là Active – Active (các máy cùng hoạt động đồng thời để cung cấp dịch vụ) và Active – Passive (một số máy cung cấp dich vụ, trong khi một số khác làm nhiệm vụ dự phòng cho các máy cung cấp dịch vụ).

Dự phòng nóng cho thiết bị tường lửa

Tường lửa với vai trò kiểm soát toàn bộ các kết nối từ một mạng nội bộ ra mạng bên ngoài và ngược lại, được đặt ở vị trí kết nối duy nhất giữa 2 mạng này. Khi thiết bị này ngừng hoạt động, nó sẽ làm ngắt toàn bộ giao dịch mạng giữa mạng nội bộ với mạng bên ngoài. Do đó, việc xây dựng tính năng dự phòng nóng cho thiết bị tường lửa là hết sức cần thiết, nó đảm bảo cho hệ thống mạng được hoạt động ổn định tin cậy, đáp ứng được nhu cầu sử dụng liên tục của người dùng. Dựa trên công nghệ HAC, dưới đây giới thiệu cấu trúc dự phòng nóng cho thiết bị tường lửa trên cơ sở kết nối phần cứng giữa thiết bị đang hoạt động với thiết bị dự phòng, đồng thời xây dựng phần mềm thực hiện chức năng điều khiển hoạt động phối hợp giữa hai thiết bị đó. Với mô hình này, thiết bị tường lửa dự phòng sẽ được gắn kết với thiết bị hoạt động chính và kích hoạt tự động khi thiết bị chính gặp sự cố, qua đó làm tăng tính ổn định của hệ thống mạng.

Xây dựng chức năng dự phòng nóng

Yêu cầu về thiết bị

Việc xây dựng tính năng dự phòng nóng cho thiết bị tường lửa dựa trên nguyên tắc đảm bảo sự ổn định của hệ thống, tận dụng sự dư thừa về thiết bị phần cứng và việc  bổ sung thêm một thiết bị dự phòng. Để có thể kết nối máy chính và máy dự phòng với nhau, hai thiết bị cần đáp ứng được các yêu cầu như sau:

Phần cứng: các thành phần phần cứng liên quan đến chức năng tường lửa của thiết bị dự phòng với thiết bị chính là tương đương nhau (ví dụ: cùng có hai giao diện mạng, cổng giao tiếp qua chuẩn COM hay USB). Trong mô hình đề xuất, giả thiết trên thiết bị tường lửa chỉ gồm hai giao diện mạng (gồm một cổng vào và một cổng ra) và có các cổng kết nối như COM hay USB.

Phần mềm: Phần mềm tường lửa và cấu hình của tường lửa phải được cài đặt và thiết lập giống nhau trên cả máy chính và máy dự phòng.

Cấu trúc phần cứng

Mô hình kết nối phần cứng được thiết kế như sau:

Trong đó:

- Môđun hoạt động chính thức (active) đảm nhiệm chức năng kiểm soát mọi thông tin vào/ra của mạng LAN bên trong.

- Môđun dự phòng nóng - (Hot standby) sẽ được kích hoạt khi môđun hoạt động chính bị hỏng.

Thông tin trao đổi giữa hai thiết bị này thực hiện qua giao diện cổng COM hay USB và qua kết nối ethernet bằng giao thức được thiết kế riêng.

- Switch – 1 và switch – 2 được sử dụng để làm đầu vào và đầu ra của thiết bị.

Trong mô hình, thiết bị hoạt động chính và dự phòng phải thỏa mãn các điều kiện sau:

- Hai thiết bị luôn phải trong trạng thái hoạt động.

- Các thông tin về tình trạng của mỗi thiết bị sẽ được cập nhật bởi thiết bị còn lại.

- Thời gian chuyển đổi trạng thái giữa hai thiết bị (khi thiết bị chính bị hỏng) phải nhỏ để đảm bảo sự hoạt động liên tục của hệ thống.

- Việc định tuyến luồng IP trên các thiết bị không làm ảnh hưởng đến các thiết bị phía trước và phía sau thiết bị tường lửa.

Với mô hình này, thông thường toàn bộ các luồng dữ liệu vào/ra mạng bên trong đều đi qua và chịu sự kiểm soát của thiết bị chính. Ngược lại, khi thiết bị chính gặp sự cố thì toàn bộ các luồng dữ liệu vào/ra mạng LAN bên trong đều đi qua và bị sự kiểm soát của thiết bị dự phòng. Việc điều chuyển này sẽ được thực hiện tự động bởi phần mềm được mô tả dưới đây.

Cấu trúc phần mềm.

Phần mềm điều khiển phải thực hiện được các chức năng kiểm soát quá trình hoạt động của cả thiết bị chính và thiết bị dự phòng, đồng thời thực hiện việc truyền thông giữa hai thiết bị đó. Mô hình phần mềm được thiết kế như sau:

Phần mềm được chia làm 2 khối chính: là khối quản lý tài nguyên và khối truyền thông.

a. Khối quản lý tài nguyên: Có nhiệm vụ  quản lý tài nguyên của cluster được tạo bởi hai thiết bị. Các tài nguyên này bao gồm các thiết bị phần cứng (ổ cứng, card mạng, CPU, RAM) và các dịch vụ phần mềm (chồng giao thức TCP, dịch vụ tường lửa) hoạt động trên hai thiết bị. Việc quản lý bao gồm việc lưu trữ thông tin về tài nguyên và khôi phục tài nguyên trên máy (nếu có thể). Tình trạng của các tài nguyên này sẽ ảnh hưởng trực tiếp đến việc kiểm soát luồng thông tin đi qua thiết bị.

Kết quả từ khối tài nguyên sẽ được sử dụng như đầu vào của khối truyền thông để duy trì liên tục việc kiểm soát luồng thông tin đi qua trạm.

Khối chức năng này được triển khai cả trên thiết bị chính và thiết bị dự phòng, tuy nhiên có sự khác biệt về chức năng trên mỗi máy, cụ thể như sau:

- Trên thiết bị chính: Ngoài việc quản lý tài nguyên của chính nó, chức năng này còn quản lý trạng thái tài nguyên của thiết bị dự phòng, đây là căn cứ để thiết bị chính sẽ ra quyết định chuyển trạng thái giữa hai thiết bị khi có sự cố xảy ra.

- Trên thiết bị dự phòng: môđun chỉ quản lý tài nguyên của chính nó và định kỳ trao đổi thông tin này với thiết bị chính.

b. Khối truyền thông: Được xây dựng dựa trên một giao thức riêng, sử dụng các thông điệp thông báo trạng thái tồn tại “keepalive” để giao tiếp giữa các nút trong nhóm. Bằng việc sử dụng giao thức, hai thiết bị tường lửa được kết hợp với nhau qua các kết nối vật lý ethernet, COM để tạo ra một “thiết bị” duy nhất (cluster) có khả năng hoạt động khi một trong hai thiết bị thành phần bị hỏng. Trong đó, một thiết bị luôn đóng vai trò là nút hoạt động (Active) và một thiết bị làm nhiệm vụ dự phòng (standby) cho thiết bị Active.

Khối truyền thông bao gồm các chức năng chính sau: Xử lý các gói tin giao thức: đóng gói, chuyển và nhận các gói tin; Thiết lập kênh truyền với trạm đối diện; Trao đổi thông tin về trạng thái hoạt động của mình với thiết bị chạy song song, các thông tin này được trao đổi theo một chu kỳ cụ thể nhằm xác định trạng thái hoạt động của thiết bị chạy song song; Xử lý các sự kiện dựa trên các thông tin nhận được từ khối quản lý tài nguyên và thiết bị chạy song song; Thực hiện việc chuyển trạng thái hoạt động của thiết bị. Thiết bị dự phòng chuyển sang trạng thái hoạt động chính thức trong trường hợp nhận được yêu cầu từ thiết bị chính hoặc mất liên lạc với thiết bị chính trong một khoảng thời gian quy định.

Thiết bị dự phòng được kích hoạt khi thiết bị chính gặp các lỗi, khiến chức năng tường lửa không thực hiện được trong trường hợp: Dừng hoạt động hoàn toàn (hỏng phần cứng như nguồn, RAM, ổ cứng hay hỏng hệ điều hành); Một trong hai giao diện mạng bị hỏng hay mất tín hiệu (không có tín hiệu kết nối, trạng thái bị ngắt); Dịch vụ tường lửa trên thiết bị không hoạt động.

Cấu hình cho thiết bị

a. Thiết lập cluster

Thiết bị chính và thiết bị dự phòng được kết nối với nhau tạo thành một cluster. Trong đó, máy chính đóng vai trò điều khiển, chịu trách nhiệm quản lý toàn bộ cấu hình của cluster đó, bao gồm cấu trúc và thông tin trạng thái của toàn bộ các thành viên trong cluster. Máy dự phòng là thành viên, thực hiện việc đăng ký với máy chính và thực hiện yêu các cầu từ máy chính.

Các thông tin trao đổi giữa máy chính và máy dự phòng bao gồm thông tin về tài nguyên của cluster (card mạng, địa chỉ IP, phần mềm tường lửa) và các thông tin liên quan đến cấu trúc của cluster được thiết lập bởi hai thiết bị.

b. Định tuyến các gói tin qua thiết bị

Để hoạt động trong suốt trong hệ thống mạng, thiết bị chỉ sử dụng địa chỉ IP trong và IP ngoài cho việc định tuyến, mô hình địa chỉ IP trên thiết bị được thiết lập như sau:

Trong đó:

Khi máy chính hoạt động bình thường: Trên máy chính card mạng phía trong (eth0) sẽ được thiết lập 2 địa chỉ IP là IP10 và IP-Trong; card mạng phía ngoài (eth1) sẽ được thiết lập 2 địa chỉ IP20 và IP-Ngoài. Trên máy dự phòng, card mạng phía trong và phía ngoài lần lượt có địa chỉ IP là IP11 và IP21.

Khi máy chính gặp sự cố và máy dự phòng được kích hoạt: Trên máy dự phòng card mạng phía trong (eth0) sẽ được thiết lập 2 địa chỉ IP là IP11 và IP-Trong; card mạng phía ngoài (eth1) sẽ được thiết lập 2 địa chỉ IP21 và IP-Ngoài. Trong khi đó, trên máy chính lúc này card mạng phía trong và phía ngoài lần lượt có địa chỉ IP là IP10 và IP20.

Các địa chỉ IP10, IP20 trên máy chính và IP11, IP21 trên máy dự phòng là các địa chỉ IP riêng được sử dụng cho việc trao đổi thông tin giữa hai máy chính và máy dự phòng cũng như để kiểm tra tình trạng kênh kết nối giữa hai thiết bị.

Tại một thời điểm bất kỳ, việc định tuyến của các gói tin đi qua thiết bị chỉ căn cứ vào địa chỉ IP-Trong  và IP-ngoài, nhờ nguyên tắc này mà khi có sự chuyển đổi vai trò giữa máy chính và máy dự phòng thì việc định tuyến các gói tin đi qua thiết bị sẽ không bị ảnh hưởng.

Đánh giá hoạt động của mô hình

Các vấn đề đặt ra cho mô hình trên là: Tính kinh tế của giải pháp; Thời gian dừng ngắt hệ thống; Tính ổn định của hệ thống khi triển khai tính năng dự phòng nóng và khả năng áp dụng của mô hình trên thực tế.

Tính kinh tế của giải pháp

Để triển khai giải pháp này, rõ ràng cần chi phí cho việc mua sắm thêm thiết bị tường lửa dự phòng, các thiết bị switch, dây cắm mạng. Tuy nhiên, sử dụng giải pháp này có thể giảm bớt chi phí cho việc theo dõi, duy trì do tính ổn định của hệ thống được nâng cao.

Việc gián đoạn của hệ thống mạng

Khi máy chính gặp sự cố thì tất cả các kết nối đi qua nó đều bị ngắt,  hệ thống mạng là không thể tránh khỏi bị gián đoạn. Vấn đề chính là cần tối thiểu hóa thời gian gián đoạn này. Thời gian gián đoạn của hệ thống sẽ được tính từ thời điểm máy chính gặp sự cố cho đến khi máy dự phòng được kích hoạt và đảm nhiệm vai trò kiểm soát các kết nối đi qua thiết bị.

Để có thể phát hiện sự cố trên máy chính và kích hoạt máy dự phòng nhanh, chúng ta có thể tăng tần suất trao đổi thông tin trạng thái giữa máy chính và máy dự phòng. Tuy nhiên, khi tăng giá trị này thì có hai yếu tố khác sẽ bị ảnh hưởng: băng thông của kênh kết nối giữa hai thiết bị sẽ bị ảnh hưởng và độ chính xác của thông tin về sự cố trên máy chính gửi đến máy dự phòng sẽ giảm.

Thời gian gián đoạn của hệ thống là tổng của thời gian phát hiện lỗi trên máy chính và thời gian chuyển trạng thái trên máy dự phòng.

Việc phát hiện lỗi trên máy chính có thể sẽ do bản thân máy chính tự thực hiện bởi khối kiểm soát tài nguyên của mình (kiểm tra định kỳ tình trạng phần cứng, kênh truyền, dịch vụ tường lửa…). Trong trường hợp máy chính bị dừng hẳn (do mất nguồn, hỏng hệ điều hành...) thì lỗi sẽ do máy dự phòng phát hiện (sau một khoảng thời gian không liên lạc được với máy chính).

Quá trình chuyển trạng thái trên máy dự phòng bao gồm việc thiết lập địa chỉ IP cho các giao diện mạng, kích hoạt dịch vụ tường lửa và thiết lập các tham số định tuyến (nếu cần thiết).

Để không chiếm dụng nhiều băng thông và đảm bảo sự hoạt động chính xác của hệ thống, người sử dụng phải chấp nhận một khoảng thời gian gián đoạn nhất định.

Trong thực tế thử nghiệm với các tham số chu kỳ kiểm tra tài nguyên trên mỗi thiết bị là 1 giây, chu kỳ trao đổi thông tin giữa hai máy là 3 giây  số lần mất liên lạc liên tục giữa máy dự phòng và máy chính, coi máy chính bị hỏng là 3 lần thì thời gian dừng ngắt của hệ thống trung bình vào khoảng từ 15 đến 20 giây.

Tính ổn định của hệ thống

Tính ổn định của hệ thống khi triển khai thêm tính năng dự phòng nóng sẽ bị ảnh hưởng do phải bố trí thêm các thiết bị chuyển mạch là switch 1 và switch 2. Tuy nhiên, trên thực tế thì độ ổn định của các thiết bị này thường cao hơn so với các thiết bị khác trong hệ thống. Mặt khác chúng ta hoàn toàn có thể lựa chọn các thiết bị chuyển mạch có chất lượng cao để tăng thêm tính ổn định cho hệ thống.

Khả năng triển khai mô hình trên thực tế

Về mặt kỹ thuật, với cấu trúc phần cứng đơn giản và việc vận hành dễ dàng nên mô hình trên hoàn toàn có thể được áp dụng trong các hệ thống thực tế. Về mặt kinh tế, việc chấp nhận đầu tư thiết bị dự phòng và các thiết bị thông tin kèm theo là có thể chấp nhận được, giảm chi phí quản trị, theo dõi liên tục hệ thống, vì bảo đảm tính ổn định cao hơn và hạn chế được các tổn thất của tổ chức do việc gián đoạn hoạt động của hệ thống mạng.

Kết luận

Mô hình trên có thể áp dụng triển khai cho các thiết bị tường lửa là các máy tính được cài đặt phần mềm tường lửa, hoặc có thể được sử dụng cho việc thiết kế các thiết bị tường lửa chuyên dụng có tính năng dự phòng nóng. Qua đó làm tăng tính ổn định và độ an toàn của hệ thống mạng CNTT có sử dụng các thiết bị tường lửa đó. Mặt khác, mô hình này hoàn toàn có thể áp dụng cho các loại hình dịch vụ mạng khác như Web, VPN…