Cổng ứng dụng (application-level getway)

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp: Hướng dẫn cơ bản Linux pptx (Trang 81 - 88)

Đây là một loại Firewall đ−ợc thiết kế để tăng c−ờng chức năng kiểm soát các loại dịch vụ, giao thức đ−ợc cho phép truy cập vào hệ thống mạng. Cơ chế hoạt động của nó dựa trên cách thức gọi là Proxy service. Proxy service là các bộ code đặc biệt cài đặt trên gateway cho từng ứng dụng. Nếu ng−ời quản trị mạng không cài đặt proxy code cho một ứng dụng nào đó, dịch vụ t−ơng ứng sẽ không đ−ợc cung cấp và do đó không thể chuyển thông tin qua firewall. Ngoài ra, proxy code có thể đ−ợc định cấu hình để hỗ trợ chỉ một số đặc điểm trong ứng dụng mà ng- −ời quản trị mạng cho là chấp nhận đ−ợc trong khi từ chối những đặc điểm khác.

Cổng ứng dụng th−ờng đ−ợc coi nh− là một pháo đài (bastion host), bởi vì nó đ−ợc thiết kế đặt biệt để chống lại sự tấn công từ bên ngoài. Những biện pháp đảm bảo an ninh của một bastion host là:

Đồ án tốt nghiệp

Bastion host luôn chạy các version an toàn (secure version) của các phần mềm hệ thống. Các version an toàn này đ−ợc thiết kế chuyên cho mục đích chống lại sự tấn công vào phần mềm hệ thống, cũng nh− là đảm bảo sự tích hợp firewall.

Chỉ những dịch vụ mà ng−ời quản trị mạng cho là cần thiết mới đ−ợc cài đặt trên bastion host, đơn giản chỉ vì nếu một dịch vụ không đ−ợc cài đặt, nó không thể bị tấn công. Thông th−ờng, chỉ một số giới hạn các ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác thực user là đ−ợc cài đặt trên bastion host.

Bastion host có thể yêu cầu nhiều mức độ xác thực khác nhau, ví dụ nh− user password hay smart card.

Mỗi proxy đ−ợc đặt cấu hình để cho phép truy nhập chỉ một sồ các máy chủ nhất định. Điều này có nghĩa rằng bộ lệnh và đặc điểm thiết lập cho mỗi proxy chỉ đúng với một số máy chủ trên toàn hệ thống.

Mỗi proxy duy trì một quyển nhật ký ghi chép lại toàn bộ chi tiết của giao thông qua nó, mỗi sự kết nối, khoảng thời gian kết nối. Nhật ký này rất có ích trong việc tìm theo dấu vết hay ngăn chặn kẻ phá hoại.

Mỗi proxy đều độc lập với các proxies khác trên bastion host. Điều này cho phép dễ dàng quá trình cài đặt một proxy mới, hay tháo gỡ môt proxy đang có vấn đề. 6.1.4.3 Cổng mạch (circuit-Level Gateway)

Cổng mạch là Firewall với một chức năng đặc biệt có thể thực hiện đ−ợc bởi một cổng ứng dụng. Cổng vòng đơn giản chỉ chuyển tiếp (relay) các kết nối TCP mà không thực hiện bất kỳ một hành động xử lý hay lọc packet nào.

Cổng mạch làm việc nh− một sợi dây, sao chép các byte giữa kết nối bên trong (inside connection) và các kết nối bên ngoài (outside connection). Tuy nhiên, vì sự kết nối này xuất hiện từ hệ thống firewall, nó che dấu thông tin về mạng nội bộ.

Đồ án tốt nghiệp

Cổng mạch th−ờng đ−ợc sử dụng cho những kết nối ra ngoài, nơi mà các quản trị mạng thật sự tin t−ởng những ng−ời dùng bên trong. Ưu điểm lớn nhất là một bastion host có thể đ−ợc cấu hình nh− là một hỗn hợp cung cấp Cổng ứng dụng cho những kết nối đến, và cổng mạch cho các kết nối đi. Điều này làm cho hệ thống bức t−ờng lửa dễ dàng sử dụng cho những ng−ời trong mạng nội bộ muốn trực tiếp truy nhập tới các dịch vụ Internet, trong khi vẫn cung cấp chức năng bức t−ờng lửa để bảo vệ mạng nội bộ từ những sự tấn công bên ngoài.

6.1.5 Những hạn chế của firewall

Firewall không đủ thông minh nh− con ng−ời để có thể đọc hiểu từng loại thông tin và phân tích nội dung tốt hay xấu của nó. Firewall chỉ có thể ngăn chặn sự xâm nhập của những nguồn thông tin không mong muốn nh−ng phải xác định rõ các thông số địa chỉ.

Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không "đi qua" nó. Một cách cụ thể, firewall không thể chống lại một cuộc tấn công từ một đ−ờng dial-up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất hợp pháp lên đĩa mềm.

Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu. Khi có một số ch−ơng trình đ−ợc chuyển theo th− điện tử, v−ợt qua firewall vào trong mạng đ−ợc bảo vệ và bắt đầu hoạt động ở đây.

Một ví dụ là các virus máy tính. Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu đ−ợc chuyển qua nó, do tốc độ làm việc, sự xuất hiện liên tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng kiểm soát của firewall. Tuy nhiên, Firewall vẫn là giải pháp hữu hiệu đ−ợc áp dụng.

6.2 IpTables

Đồ án tốt nghiệp

Khi một gói tin đầu tiên tới firewall, phần cứng sẽ tiếp nhận nó và sau đó chuyển đến trình điều khiển thiết bị t−ơng ứng trong nhân hệ điều hành. Sau đó, gói tin sẽ bắt đầu đi qua một loạt các b−ớc trong nhân hệ điều hành, tr−ớc khi nó đ−ợc gửi tới ứng dụng cục bộ hoặc là đ−ợc chuyển tiếp đến máy tính khác hay chịu tác động nào đó của nhân hệ điều hành. Một mặt mạnh của iptables là ở chỗ nhiều bảng có thể đ−ợc sử dụng để quyết định ‘số phận’ của một gói tin nào đó, phụ thuộc vào kiểu của gói tin đang đ−ợc kiểm tra và hành động sẽ đ−ợc thực hiện trên gói tin đó.

Bảng mặc định, bảng filter, có chứa các chuỗi luật đ−ợc xây dựng sẵn: INPUT, OUTPUT, và FORWARD. Những chuỗi luật này t−ơng đ−ơng với các chuỗi luật đ−ợc sử dụng trong ipchains. Tuy nhiên, theo mặc định, iptables cũng chứa hai bảng bổ sung dùng để thực hiện các công việc lọc gói xác định. Bảng nat có thể đ−ợc sử dụng để thay đổi địa chỉ nguồn và địa chỉ đích của gói tin, và bảng mangle cho phép ta thay đổi một số thông tin trong header của các gói tin.

Mỗi một bảng có chứa các chuỗi luật mặc định thực hiện các tác vụ cần thiết dựa trên mục đích của bảng, tuy nhiên, ng−ời dùng cũng đ−ợc phép định nghĩa những chuỗi luật mới trong các bảng.

6.2.2 Bảng filter

Đ−ợc sử dụng để lọc các gói tin. Ta có thể kiểm tra các gói tin và lọc chúng khi ta muốn. Bảng này là nơi ta thật sự thực hiện hành động trên các gói tin và kiểm tra nội dung của gói tin và loại bỏ (DROP) / chấp nhận (ACCEPT) chúng. Có ba chuỗi luật đ−ợc xây dựng sẵn trong bảng này là:

INPUT đ−ợc áp dụng cho tất cả các gói tin đến firewall. Chú ý rằng tất cả các gói tin đến máy này đều phải thông của chuỗi input, không cần biết đến giao tiếp mạng nào nào hay h−ớng đến của chúng.

Đồ án tốt nghiệp

FORWARD đ−ợc áp dụng trên tất cả các gói tin sẽ đi qua firewall (các gói tin không đ−ợc phát sinh trên máy firewall và có đích đến ngoài máy firewall). OUTPUT đ−ợc áp dụng cho tất cả các gói tin đ−ợc phát sinh từ các tiến trình cục bộ.

Phần lớn tất cả các hành động áp dụng lên gói tin đều có thể đ−ợc sử dụng trong chuỗi luật này; tuy nhiên những hành động đã đ−ợc nêu ở phần trên chỉ có thể đ−ợc sử dụng trong bảng riêng của nó.

6.2.3 Bảng nat

Bảng này chỉ đ−ợc sử dụng cho các thao tác chuyển đổi địa chỉ mạng - NAT (Network Address Translation) trên những gói tin. Nói cách khác, nó chỉ đ−ợc sử dụng để chuyển đổi tr−ờng địa chỉ nguồn hay tr−ờng địa chỉ đích của gói tin, tuỳ theo luật đ−ợc chỉ ra. Các gói trong một dòng dữ liệu (stream) chỉ đi qua bảng này một lần. Giả sử rằng gói đầu tiên của một dòng dữ liệu đ−ợc cho phép (chỉ có gói đầu tiên trong một dòng dữ liệu sẽ vấp phải chuỗi này). Phần gói còn lại trong dòng dữ liệu sẽ đ−ợc tự động thay đổi địa chỉ và sẽ phải chịu cùng các tác động nh− gói đầu tiên. Nói cách khác, chúng sẽ không đi qua bảng này một lần nữa, tuy nhiên vẫn sẽ đ−ợc xử lý giống nh− gói đầu tiên trong dòng dữ liệu. Đây cũng chính là lý do chính tại sao không thực hiện bất kỳ thao tác lọc nào trong bảng này.

Chuỗi luật PREROUTING đ−ợc sử dụng để chuyển đổi địa chỉ các gói tin ngay sau khi đi vào firewall.

Chuỗi luật OUTPUT đ−ợc sử dụng để thay đổi địa chỉ các gói tin đ−ợc phát sinh cục bộ (trên firewall) tr−ớc khi chúng bắt đầu qua b−ớc quyết định dẫn đ−ờng.

Chuỗi luật POSTROUTING đ−ợc sử dụng để thay đổi địa chỉ gói tin tr−ớc khi chúng ra khỏi firewall.

Đồ án tốt nghiệp

Những hành động thực có trong bảng này bao gồm:

Hành động DNAT (Destination Network Address Translation) đ−ợc sử dụng trong tr−ờng hợp ta có một địa chỉ IP chung và muốn chuyển h−ớng các truy nhập vào firewall tới một số máy khác (thí dụ trên một DMZ). Nói cách khác, ta thay đổi địa chỉ đích của gói tin và dẫn đ−ờng cho nó tới máy tính khác.

Hành động SNAT (Source Network Address Translation) đ−ợc sử dụng để thay đổi địa chỉ nguồn của các gói tin. Một thí dụ của việc sử dụng hành động này là khi ta biết địa chỉ IP ngoài, nh−ng cần thay thế địa chỉ IP của mạng cục bộ bằng địa chỉ của firewall. Với hành động này, firewall sẽ tự động SNAT và De- SNAT các gói tin, do vậy tạo cho nó có khả năng thực hiện kết nối từ LAN tới Internet.

Hành động MASQUERADE đ−ợc sử dụng theo đúng nh− cách thức SNAT thực hiện, nh−ng hành động này thực hiện tính toán ít hơn. Lý do là mỗi khi hành động MASQUERADE bắt gặp một gói tin, nó kiểm tra một cách tự động địa chỉ IP để dùng thay vì thực hiện các thao tác nh− SNAT làm - chỉ sử dụng địa chỉ IP đ−ợc cấu hình đơn (tĩnh). Hành động MASQUERADE thực hiện tốt với các địa chỉ IP động.

6.2.4 Bảng mangle

Bảng này đ−ợc sử dụng để thay đổi thông tin của gói tin. Ta có thể thay đổi nội dung gói tin và phần header của gói tin đó. Bảng này gồm có 5 chuỗi luật đ−ợc xây dựng sẵn: PREROUTING, POSTROUTING, OUTPUT, INPUT và FORWARD.

PREROUTING đ−ợc sử dụng để thay đổi gói tin khi chúng vừa vào firewall và tr−ớc khi chúng qua b−ớc quyết định dẫn đ−ờng.

POSTROUTING đ−ợc sử dụng để thay đổi thông tin gói tin ngay sau khi tất cả các quyết định dẫn đ−ờng đã đ−ợc thực hiện.

Đồ án tốt nghiệp

INPUT đ−ợc sử dụng để thay đổi thông tin gói tin sau khi chúng đã đ−ợc dẫn tới bản thân máy cục bộ, nh−ng tr−ớc khi đ−ợc gửi tới tiến trình ứng dụng.

FORWARD đ−ợc sử dụng để thay đổi thông tin gói tin sau khi chúng đã sang b−ớc quyết định dẫn đ−ờng đầu tiên, nh−ng tr−ớc khi chúng chịu tác động của quyết định dẫn đ−ờng cuối cùng.

OUTPUT đ−ợc sử dụng để thay đổi thông tin của các gói tin đ−ợc phát sinh cục bộ tr−ớc khi chúng đ−ợc chuyển sang b−ớc quyết định dẫn đ−ờng.

Chú ý là không sử dụng bảng này để thực hiện lọc gói tin và cũng không thực hiện chuyển đổi địa chỉ NAT hay Masquerading trong bảng này.

Các hành động có thể đ−ợc sử dụng trong bảng mangle bao gồm:

Hành động TOS đ−ợc sử dụng để thiết lập và/hay thay đổi tr−ờng Type of Service trong header của gói tin. Hành động này có thể đ−ợc sử dụng để thiết lập các chính sách trên mạng về cách thức xử lý gói tin. Chú ý rằng thực tế hành động này đ−ợc không sử dụng trên Internet, và phần lớn các router không quan tâm đến giá trị trong tr−ờng này và đôi khi chúng thực hiện sai trên thông tin chúng nhận đ−ợc.

Hành động TTL đ−ợc sử dụng để thay đổi tr−ờng TTL (Time To Live) của gói tin.

Hành động MARK đ−ợc sử dụng để gán các giá trị mark đặc biệt cho gói tin. Những mark này sau đó có thể đ−ợc nhận diện bởi các ch−ơng trình iproute2 để thực hiện dẫn đ−ờng khác nhau trên gói phụ thuộc vào mark mà chúng có.

Đồ án tốt nghiệp

Trình tự các b−ớc mà một gói tin sẽ đi qua đ−ợc minh hoạ ở hình d−ới đây:

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp: Hướng dẫn cơ bản Linux pptx (Trang 81 - 88)

Tải bản đầy đủ (PDF)

(105 trang)