Dựng tường lừa nhanh chóng với Firestarter

10:38, 19/02/2008

XHTTOnline: Linux được nhiều người thừa nhận như là một nền tảng hệ điều hành an toàn, ít bị tấn công, không chỉ bởi kiến trúc của phần lõi bên dưới, mà còn nhờ những lớp giáp trụ bảo vệ bên trên. Một trong những lớp che chắn hiệu quả nhất ở lớp ngoài cùng là phần mềm tường lừa nguồn mở nổi tiếng IPtables. Tuy nhiên cơ chế điều khiển bằng dòng lệnh của phần mềm này là một thừ thách không dễ dàng với ngay cả những người dùng Linux có kinh nghiệm. Firestarter (http://www.fs-security.com) là một phần mềm nguồn mở cung cấp giao diện đồ hoạ trực quan cho phép bạn thiết lập nhanh chóng một tường lừa cho cả hệ thống mạng hay tường lừa cá nhân cho riêng máy tính của mình, dựa trên IPtables có sẵn trong bản phân phối Linux. Bài viết sử dụng bản phân phối Ubuntu 7.10 làm hệ thống minh hoạ. Cài đặt Firestarter được cài đặt lên các bản phân phối Linux rất dễ dàng. Bạn có thể chọn gói cài đặt phù hợp với bản phân phối của mình trên trang download, gồm có gói dành cho Fedora Core, Red Hat, SuSE, Debian, Ubuntu, Gentoo, Mandrake. Trên Ubuntu 7.10, bạn có thể vào menu Applications > Add/Remove… để chọn Firestarter từ giao diện quản lý phần mềm. Ngoài ra, bạn có thể mở terminal và gõ lệnh sudo apt-get install firestarter Hệ thống sẽ tự động cài đặt Firestarter và những phần mềm phụ thuộc nếu có. Sau khi cài đặt, bạn có thể tìm ra biểu tượng shortcut của Firestarter trong menu Applications > Internet. Thiết lập Wizard Trong lần đầu tiên khởi động Firestarter, bạn sẽ được chào đón bằng một màn hình Wizard, hướng dẫn từng bước thiết lập những cấu hình cơ bản cho tường lừa. Chọn Forward và tiếp tục.
 
Trước tiên Firestarter sẽ tự động dò tìm các card mạng có trong hệ thống, và yêu cầu bạn chọn một card mạng để thiết lập tường lừa từ một danh sách sổ xuống như trong hình, đồng thời cũng đưa ra tùy chọn trong trường hợp bạn muốn dựng tường lừa trên kết nối modem (dial-out) và địa chỉ IP có được cấp động (DHCP) trên card mạng được lựa chọn hay không. Tiếp theo, Firestarter sẽ hỏi bạn có muốn thiết lập chia sẻ kết nối Internet (Internet connection sharing) hay không. Tính năng này được dùng khi máy của bạn được thiết lập để làm tường lừa cho cả hệ thống, và các máy khác trong hệ thống kết nối ra Internet thông qua máy của bạn. Trong trường hợp này máy của bạn sẽ có hai card mạng, card thứ nhất dành cho kết nối Internet và card thứ hai kết nối với các máy khác trong hệ thống thông qua một thiết bị mạng trung gian (hub, switch, router, …). Do đó khi kích hoạt Internet connection sharing, Firestarter sẽ yêu cầu bạn xác định card mạng kết nối đến những máy khác trong hệ thống. Ngoài ra bạn còn có thể thiết lập máy của mình thành một DHCP server để cấp địa chỉ động cho các máy được chia sẻ Internet, và chọn “Enable DHCP for local network” để kích hoạt tính năng này trên tường lừa. Tuy nhiên nếu bạn chỉ muốn dựng tường lừa cá nhân cho máy của mình thì không cần phải kích hoạt Internet connection sharing. Tiếp theo hệ thống sẽ hỏi bạn có lưu lại những thiết lập và bật tường lừa ngay lúc này không. Trường hợp bạn đang kết nối từ xa vào máy có tường lừa (thông qua SSH chẳng hạn) thì đừng chọn “Start firewall now” vì ngay lập tức kết nối từ xa của bạn sẽ bị chặn. Lúc này, tốt hơn hết là hãy thiết lập các chính sách (policy) trước, rồi hãy khởi động tường lừa. Giao diện làm việc Sau khi hoàn tất việc thiết lập Wizard, bạn sẽ được đưa vào giao diện làm việc chính của Firestarter. Giao diện chính gồm có ba tab: Status, Events, và Policy. Status Trong tab Status cho bạn biết trạng thái của tường lừa, là một trong ba trạng thái: kích hoạt (active), tắt (disabled), hay khoá (locked-down). Tab này còn hiển thị những thông tin về các card mạng của bạn, như lượng lưu thông đi qua (Gừi/Nhận), hoạt động trong hiện thời và những kết nối đang được kích hoạt qua tường lừa. Thông tin về các kết nối gồm có địa chỉ nguồn, địa chỉ đích, cổng kết nối cũng như tên dịch vụ, tên chương trình đang sử dụng kết nối đó, chẳng hạn như chương trình chat Pidgin như trong hình.
 
Firestarter có ba trạng thái: “Kích hoạt” (Active), nghĩa là tường lừa đang chạy và đang áp các chính sách lên những kết nối; “Tắt” (Disabled), nghĩa là tường lừa bị tắt và tất cả các kết nối đều được cho đi qua; trạng thái cuối cùng là “Khoá” (Locked) sẽ cấm toàn bộ các kết nối. Chế độ “Khoá” được sử dụng khi bạn phát hiện có dấu hiệu nguy hiểm và muốn nhanh chóng dừng ngay tất cả các hoạt động ra, vào mạng để giải quyết. Policy Cừa sổ Policy là nơi định nghĩa các chính sách cho tường lừa. Bạn có thể chọn lựa áp dụng chính sách cho lưu thông đi ra hay đi vào, áp dụng theo máy hay theo cổng (port).
 
Để tạo một luật cho chính sách, nhấp chuột phải vào danh sách tương ứng (danh sách phía trên là áp dụng theo máy, danh sách phía dưới là áp dụng theo cổng) và chọn Add Rule. Chẳng hạn, bạn đang chạy một máy chủ SSH và muốn mở cho kết nối từ ngoài vào, thì sẽ thêm một luật vào danh sách ở dưới, chọn tên dịch vụ là “SSH”, Firestarter sẽ tự động điền vào cổng mặc định (trong trường hợp này là cổng 22). Sau đó bạn có thể chọn giới hạn các kết nối từ những địa chỉ IP, tên máy, hay mạng hoặc cho phép kết nối từ tất cả các địa chỉ (”Anyone”). Sau khi thiết lập xong các luật, cần phải nhấn vào nút “Apply Policy” để có hiệu lực. Events Tab Events là nơi Firestarter liệt kê những nỗ lực kết nối đã bị khoá. Bạn không cần phải quá lo lắng với tất cả những sự kiện được liệt kê ở đây, chỉ có những dòng màu đỏ là thể hiện nguy cơ mà thôi. Đó là những nỗ lực kết nối đến các cổng được những dịch vụ quan trọng của hệ thống sử dụng. Ví dụ, nếu bạn chạy máy chủ SSH, nhưng lại quên mở cổng SSH trong tab Policy thì trong danh sách liệt kê ở Events bạn sẽ thấy những dòng đỏ cho các kết nối đến cổng này. Preferences Thiết lập wizard của Firestarter chỉ hướng dẫn bạn qua một số tùy chọn thiết lập cơ bản, do đó nếu muốn bạn có thể xem những thiết lập nâng cao trong cừa sổ Preferences. Có hai cách để mở cừa sổ này, nhấn vào nút Preferences khi ở tab Status hoặc chọn menu Edit > Preferences. Interface Firestarter có thể tự thu nhỏ thành biểu tượng trên khay hệ thống. Đặc tính này cho phép bạn cho tường lừa chạy nền và đồng thời vẫn theo dõi, nhận cảnh báo từ những hoạt động xấu. Khi Firestarter chặn một kết nối, biểu tượng trên khay hệ thống sẽ chuyển sang màu đỏ. ICMP Filtering Firestarter cho phép bạn thiết lập những điều khiển nâng cao dựa trên loại yêu cầu ICMP mà cho phép hay ngăn cấm. Các tùy chọn “Echo Request” và “Echo Reply” thiết lập cách tường lừa phản ứng các yêu cầu “ping”. Tắt “request” sẽ chặn những yêu cầu ping đi ra ngoài, còn tắt “reply” sẽ ngăn máy bạn trả lời cho những yêu cầu ping từ bên ngoài. Những tùy chọn khác trong hộp thoại ICMP Filtering ít phổ biến hơn, nhưng đôi lúc cũng hữu ích. Chẳng hạn tùy chọn Traceroute sẽ ngăn máy bạn không bị dò ra bằng chương trình traceroute, ngay cả khi cho phép phản hồi ping. Tuy nhiên nó cũng ngăn chính máy bạn sử dụng chức năng này; điều này cũng đúng cho hầu hết các tùy chọn ICMP Filtering khác, vì vậy nên cân nhắc khi kích hoạt những chức năng này. ToS Filtering Một chức năng đặc biệt hữu dụng của Firestarter là ToS Filtering. Nó cho phép thiết lập độ ưu tiên cho các loại ứng dụng trong lưu thông mạng. Trường hợp bạn đang chạy một máy chủ trên máy tính cá nhân của mình, nhưng chủ yếu là sử dụng máy tính để làm việc hàng ngày, thì sẽ thiết lập Workstation được ưu tiên hơn; lúc này khi ai đó sử dụng Web server trên máy bạn, việc sử dụng của họ sẽ xếp sau việc sử dụng mạng của bạn. Ngoài ra bạn cũng có thể thiết lập cách phân chia độ ưu tiên cho các kết nối dựa trên lượng dữ liệu truyền trong một đơn vị thời gian (throughput), độ tin cậy của đường truyền (Reliability) hay độ tương tác của ứng dụng (Interactivity) sao cho tối ưu hoá một tác vụ nào đó.
 
Kết luận Nhận biết và ngăn ngừa những ý đồ tấn công ngay từ đầu bao giờ cũng là biện pháp cần thiết để bảo vệ an toàn cho máy tính cá nhân cũng như toàn hệ thống mạng. Firestarter là một công cụ hữu ích giúp bạn thiết lập tường lừa nhanh chóng nhằm triển khai biện pháp trên. Tuy nhiên một bức tường lừa thực sự hiệu quả phụ thuộc phần lớn vào các luật trong chính sách được đặt ra. Hãy nghiên cứu thật kỹ hệ thống cần bảo vệ để đưa ra những luật tốt nhất, cân bằng giữa độ an toàn và tính tiện dụng cho người dùng cũng như hiệu suất của toàn hệ thống. Phạm Minh - Đông Thao.