Đồ án tốt nghiệp Tìm hiểu lý thuyết và xây dựng Firewall trên nền Linux



tải về 0.55 Mb.
trang16/18
Chuyển đổi dữ liệu19.08.2016
Kích0.55 Mb.
#23118
1   ...   10   11   12   13   14   15   16   17   18

3.4. Sử dụng Masquerading và NAT


Linux cung cấp hai phiên bản cho NAT. Masquerading được thiết kế cho địa chỉ IP động.Nếu là địa chỉ IP tĩnh thì chúng ta sử dụng kết hợp của SNAT và DNAT.

  • Cho phép Masquerading :

Áp dụng cho tất cả các lưu lượng đi ra khỏi mạng của chúng ta,có nghĩa là firewall sẽ biến đổi địa chỉ nguồn của các gói tin.

Để cho phép Masquerading có hiệu lực, chúng ta cần thực hiện câu lệnh iptable như sau :



iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE

  • Sử dụng SNAT

Cũng giống như Masquerading nhưng chỉ khác là giao diện mạng cho lưu thông mạng ra ngoài ( external interface ) phải có địa chỉ ip tĩnh.Để cho phép SNAT có hiệu lực ta thực hiện iptables command sau :

iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source xxx.xxx.xxx.xxx

  • Sử dụng DNAT

iptables –t nat –A PREROUTING –i eth0 –p tcp \

sport 1024:65635 -d xxx.xxx.xxx.xxx –dport 80 \



-j DNAT –to-destination 192.168.1.80

iptables –A FORWARD -i eth0 –o eth1 –p tcp \

sport 1024:65635 -d 192.168.1.80 –dport 80 –m state --state N



Chương 4 : XÂY DỰNG HỆ THỐNG BKWALL




I. Tổng quan về hệ thống BKWall

1.1 Mục tiêu xây dựng hệ thống BKWall


Mục tiêu của đề tài là phát triển một hệ thống tường lửa cho các mạng máy tính quy mô doanh nghiệp vừa và nhỏ. Trên cơ sở đó, BKWall (Bách Khoa Firewall System) được xây dựng trên cơ sở phần mềm mã nguồn mở SmoothWall và nền hệ điều hành Linux. Do thời gian thực hiện đề tài này không có nhiều nên các mục tiêu cụ thể đề ra khi xây dựng hệ thống BKWall bao gồm:

  • Thiết lập một Firewall cho các mạng máy tính vừa và nhỏ.

  • Tích hợp các thành phần packet filtering, proxy server và các dịch vụ từ các phần mềm mã nguồn mở thành một hệ thống hoàn chỉnh và thống nhất.

  • Xây dựng module điều khiển và theo dõi tập trung cho toàn bộ hệ thống.

  • Triển khai hệ thống trên các máy chuyên dụng ( Application Server )

1.2 Giải pháp kỹ thuật được lựa chọn


Sau khi tìm hiểu về các kỹ thuật lọc gói, web proxy cũng như tìm hiểu các giải pháp thương mại và mã nguồn mở, giải pháp kỹ thuật xây dựng BKWall được lựa chọn gồm có các vấn đề sau.

  • Xây dựng trên hệ điều hành Linux

Với vai trò là một Firewall gateway, hệ thống BKWall cần được đặt tại các vị trí thích hợp trong mạng. Đối với các mạng quy mô vừa và nhỏ, vị trí thích hợp nhất để cài đặt một hệ thống như BKWall là trên một gateway. Mặc dù hiện nay, gateway cho các mạng vừa và nhỏ ở Việt Nam thường sử dụng hệ điều hành dòng Windows NT nhưng xu hướng trong tuơng lai sẽ chuyển sang các sản phẩm mã nguồn mở thì Linux là một sự lựa chọn rất tốt. BKWall lựa chọn Linux vì những lý do sau :

    • Mã nguồn mở và miễn phí hoàn toàn.

    • Hỗ trợ mạng đầy đủ và mạnh mẽ.

    • Có thể tùy biến dễ dàng để cài đặt lên các máy chuyên dùng.

    • Đặc biệt là khả năng lọc gói của kernel, sử dụng Iptables làm công cụ xây dựng các rule cho module lọc gói.

  • Sử dụng Squid để thực hiện thành phần Web Proxy

+ Squid là một Cache – Proxy hoạt động trên nền hệ điều hành Linux

+ Hoạt động hiệu quả, và mã nguồn mở hoàn toàn, có khả năng tích hợp thêm các thành phần mở rộng như khả năng lọc theo URIs, banner,…



  • Sử dụng iptables làm công cụ thực hiện thành phần lọc gói của hệ thống BKWall

Iptables là phần mềm firewall mặc định của hầu hết các bản phát hành của hệ điều hành Linux. Iptables tương đối đơn giản nhưng sức mạnh của nó đã được kiểm chứng khi rất nhiều sản phẩm thương mại được phát triển dựa trên nó như Astaro, SmoothWall, … Khi xây dựng giải pháp BKWall, Iptables là sự lựa chọn đầu tiên cho thành phần lọc gói vì :

    • Mã nguồn mở, sẵn có với hầu hết các bản Linux phổ biến.

    • Hoạt động hiệu quả, có khả năng kiểm soạt toàn bộ lưu thông qua gateway.

    • Hỗ trợ giao tiếp lập trình thông qua thư viện libipq, có thể kết hợp với inline-mode của Snort.

Hệ thống BKWall được xây dựng trên một máy chủ Linux. Việc truy nhập trực tiếp vào máy chủ này để thực hiện việc cấu hình hay điều khiển thường phải qua các kênh telnet hoặc ssh và bằng giao diện dòng lệnh. Điều này là rất bất tiện. Vì vậy, hệ thống điều khiển của BKWall được xây dựng theo kiểu giao diện web với các đặc điểm sau :

  • Dùng web server Apache, được tích hợp sẵn trong hầu hết các bản Linux.

  • Sử dụng giao thức https.

Xác thực ssl bằng chứng chỉ số.

  • Ngôn ngữ Perl – CGI: Ngôn ngữ Perl và công nghệ CGI được sử dụng để xây dựng phần điểu khiển và theo dõi của BKWall vì những lý do sau :

        • Perl là ngôn ngữ xử lý văn bản mạnh, thích hợp với việc thao tác với các file cấu hình và file luật của Snort.

        • Perl có khả năng tương tác mạnh với hệ thống Linux. Điều này cẩn thiết cho việc điều khiển một hệ thống được tích hợp từ nhiều thành phần như BKWall.

        • Xây dựng ứng dụng web bằng Perl đòi hỏi công nghệ CGI. Mặc dù CGI không còn là công nghệ được khuyến khích và chứa nhiều lỗ hổng bảo mật nhưng trong trường hợp của BKWall, ứng dụng CGI chỉ được truy nhập từ trong mạng LAN và qua kênh ssl nên có thể tin cậy được.

1.3 Qui trình phát triển


Đề tài này được thực hiện theo hướng nghiên cứu công nghệ và hiện thực hóa các kết quả nghiên cứu trong điều kiện cho phép. Hệ thống BKWALL là sản phẩm thể hiện các kết quả nắm bắt được qua quá trình làm đề tài. Bên cạnh đó, việc phát triển BKWALL theo một mô hình phát triển phần mềm chuẩn là rất cần thiết. Mô hình được lựa chọn cho quá trình phát triển BKWALL là mô hình thác nước (water fall model ). Mô hình này phù hợp với các điều kiện về thời gian có hạn cũng như đặc điểm của hệ thống BKWALL.

Trên cơ sở đó, hệ thống BKWALL được thực hiện với các pha như sau :



  • Pha khảo sát : Tìm hiểu thực tiễn an ninh thông tin ở Việt Nam, nhu cầu về một hệ thống Firewall cho các mạng vừa và nhỏ. Quá trình khảo sát được thực hiện tại phòng giải pháp phần mềm hệ thống và bảo mật, công ty Misoft trong thời gian thực tập tốt nghiệp.

  • Pha phân tích: Tiến hành tìm hiểu các yêu cầu thu thập được trong pha khảo sát. Từ đó tìm hiểu và phân tích các thành phần phần mềm mã nguồn mở thích hợp và xác định các công việc cần phải thực hiện khi xây dựng hệ thống BKWALL.

  • Pha thiết kế : Xây dựng mô hình tổng thể và thiết kế chi tiết các module. Công việc này bao gồm cả việc mô hình hóa và sắp xếp lại các thành phần mã nguồn mở cũng như thiết kế các thành phần cần xây dựng mới.

  • Pha xây dựng module và kiểm thử đơn vị : Tiến hành xây dựng các module mới và điều chỉnh các module cũ. Kiểm thử các module đó.

  • Pha tích hợp và kiểm thử hệ thống : Tiến hành tích hợp các module đã được xây dựng, các module mã nguồn mở. Kiểm thử tích hợp toàn bộ hệ thống.

  • Pha triển khai và bảo trì : BKWALL được triển khai thử nghiệm và tiến hành quá trình bảo trì trên mạng nội bộ của phòng giải pháp phần mềm hệ thống và bảo mật, công ty Misoft.

tải về 0.55 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   10   11   12   13   14   15   16   17   18




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương