FIREWALL
(5)

  |  

Proxy Server

Khái quát

Chúng ta sẽ xây dựng Firewall theo kiến trúc application-level gateway, theo đó một bộ chương trình proxy được đặt ở gateway ngăn cách một mạng bên trong (Intranet) với Internet.

Bộ chương trình proxy được phát triển dựa trên bộ công cụ xây dựng Internet Firewall TIS (Trusted Information System), bao gồm một bộ các chương trình và sự đặt lại cấu hình hệ thống để nhằm mục đích xây dựng một firewall. Bộ chương trình được thiết kế để chạy trên hệ UNIX sử dụng TCP/IP với giao diện socket Berkeley.

Bộ chương trình proxy được thiết kế cho một số cấu hình firewall, theo các dạng cơ bản: dual-home gateway, screened host gateway, và screened subnet gateway.

Thành phần Bastion host trong Firewall, đóng vai trò như một người chuyển tiếp thông tin, ghi nhật ký truyền thông, và cung cấp các dịch vụ, đòi hỏi độ an toàn cao.

Phần mềm firewall - proxy SERVER

Bộ chương trình proxy gồm những chương trình mức ứng dụng (application-level programs), dùng để thay thế hoặc là thêm vào phần mềm hệ thống. Đối với mỗi dịch vụ, cần có một phần mềm tương ứng làm nhiệm vụ lọc các bản tin. Trên cơ sở phân tích cấu trúc và nội dung thông, bản tin này sẽ được cho đi qua hoặc cấm, tuỳ theo chính sách bảo vệ. Bộ chương trình proxy có những thành phần chính bao gồm:

  • SMTP Gateway - Proxy server cho dịch vụ SMTP (Simple Mail Tranfer Protocol)
  • FTP Gateway - Proxy server cho dịch vụ Ftp
  • Telnet Gateway - Proxy server cho dịch vụ Telnet
  • HTTP Gateway - Proxy server cho dịch vụ HTTP (World Wide Web)
  • Rlogin Gateway - Proxy server cho dịch vu rlogin
  • Plug Gateway - Proxy server cho dịch vụ kết nối server tức thời dùng giao thức TCP (TCP Plug-Board Connection server)
  • SOCKS - Proxy server cho các dịch vụ theo chuẩn SOCKS
  • NETACL - Điều khiển truy nhập mạng dùng cho cac dịch vụ khác
  • IP filter – Proxy điều khiển mức IP

SMTP Gateway - Proxy server cho cổng SMTP

Chương trình SMTP Gateway được xây dựng trên cơ sở sử dụng hai phần mềm smap và smapd, dùng để chống lại sự truy nhập thông qua giao thức SMTP. Nguyên lý thực hiện là chặn trước chương trình mail server nguyên thuỷ của hệ thống, không cho phép các hệ thống bên ngoài kết nối trực tiếp với mail server. Vì ở trong mạng tin cậy mail server thường có một số quyền ưu tiên khá cao. Trên hệ điều hành UNIX chương trình mail server được thực hiện bởi sendmail.

Khi một hệ thống ở xa nối tới cổng SMTP. Chương trình smap sẽ dành quyền phục vụ và chuyển tới thư mục dành riêng và đặt user-id ở mức bình thường (không có quyền ưu tiên). Mục đích duy nhất của smap là đối thoại SMTP với các hệ thống khác, thu lượm mail, ghi vào đĩa, ghi nhật ký, và kết thúc. Smapd thường xuyên quét thư mục này, khi phát hiện có thư sẽ chuyển dữ liệu cho sendmail để phân phát vào các hòm thư cá nhân hoặc chuyển tiếp tới các mail server khác.

Như vậy, một user lạ trên mạng không thể kết nối trực tiếp với Mail Server. Tất cả các thông tin đi theo đường này hoàn toàn có thể kiểm soát được. Tuy nhiên, chương trình cũng không thể giải quyết vấn đề giả mạo thư hoặc các loại tấn công bằng đường khác.

FTP Getway Proxy server cho dịch vụ FTP

Proxy server cho dịch vụ FTP cung cấp khả năng kiểm soát truy nhập dịch vụ FTP dựa trên địa chỉ IP và hostname, và cung cấp điều khiển truy nhập thứ cấp cho phép tuỳ chọn khoá hoặc ghi nhật ký bất kỳ lệnh FTP nào. Các địa chỉ đích của dịch vụ này cũng có thể tuỳ chọn được phép hay bị cấm. Tất cả các sự kết nối và dung lượng dữ liệu chuyển qua đều bị ghi nhật kí lại.

FTP Gateway tự bản thân nó không đe doạ an toàn của hệ thống Firewall, bởi vì nó chạy chroot tới một thư mục rỗng và không thực hiện một thủ tục vào ra file nào cả ngoài việc đọc file cấu hình của nó. FTP Server chỉ cung cấp dịch vụ FTP, mà không quan tâm đến ai có quyền hay không có quyền kết xuất (download) file. Do vậy, việc xác định quyền phải được thiết lập trên FTP Gateway và phải thực hiện trước khi thực hiện việc kết xuất (download) hay nhập (upload) file. Ftp Gateway nên được cấu hình dựa theo chính sách an toàn của mạng. Bộ chương trình proxy cho phép người quản trị mạng cung cấp cả dịch vụ ftp và ftp proxy trên cùng một hệ thống nhưng việc làm này là không đảm bảo an ninh của firewall.

Tóm lại, sử dụng FTP Gateway có thể ngăn ngừa mọi sự thâm nhập vào mạng qua cổng FTP một cách khá linh hoạt (cho phép ngăn cản từng địa chỉ hay toàn bộ mạng) và cũng kiểm soát việc truy nhập tới từng khả năng như download hay upload thông tin.

Telnet Gateway - Proxy server cho Telnet

Telnet Gateway là một proxy server quản lý truy nhập mạng dựa trên địa chỉ IP và/hoặc hostname, và cung cấp sự điều khiển truy nhập thứ cấp cho phép tuỳ chọn khoá bất kỳ đích nào. Tất cả các sự kết nối dữ liệu chuyển qua đều được ghi nhật ký lại. Mỗi một lần user nối tới Telnet Gateway, người sử dụng phải lựa chọn phương thức kết nối.

Telnet Gateway không phương hại tới an toàn hệ thống, vì nó chỉ hoạt động trong một phạm vi cho phép nhất định. Cụ thể, hệ thống sẽ chuyển điều kiển tới một thư mục dành riêng. Đồng thời cấm truy nhập tới các thư mục và file khác.

Telnet Gateway được sử dụng để kiểm soát các truy nhập vào hệ thống mạng nội bộ. Các truy nhập không được phép sẽ không thể thực hiện được còn các truy nhập hợp pháp sẽ bị ghi lại nhật ký về thời gian truy nhập và các thao tác đã thực hiện.

HTTP Gateway - Proxy server cho web

HTTP Gateway là một Proxy Server quản lý truy nhập hệ thống qua cổng HTTP (Web). Chương trình này, dựa trên địa chỉ đích và địa chỉ nguồn để ngăn cấm hoặc cho phép yêu cầu truy nhập đi qua.

Đồng thời căn cứ và mã lệnh của giao thức HTTP, phần mềm này sẽ cho phép thực hiện hoặc loại bỏ yêu cầu.

Các yêu cầu truy nhập đều được ghi vào nhật ký nhằm quản lý và thống kê.

Với cơ chế đón nhận thông tin trực tiếp từ cổng HTTP, phần mềm này đảm bảo kiểm soát được toàn bộ nhưng truy nhập vào hệ thống thông qua Web. Đồng thời việc xử lý bản tin, thực hiện trong bộ nhớ, nên không ảnh hưởng đến hệ thống.

Rlogin Gateway - Proxy server cho rlogin

Các terminal truy nhập qua thủ tục BSD rlogin được kiểm soát bởi rlogin gateway. Chương trình cho phép kiểm tra và điều khiển truy nhập mạng tương tự như telnet gateway. Rlogin client có thể chỉ ra một hệ thống ở xa ngay khi bắt đầu nối vào proxy. Chương trình sẽ hạn chế yêu cầu tương tác giữa user với máy.

Plug Gateway - TCP Plug-Board Connection server

Firewall cung cấp các dịch vụ thông thường như Usernet news. Người quản trị mạng có thể chọn hoặc là chạy dịch vụ này ngay trong firewall, hoặc cài đặt một proxy server cho dịch vụ này.

Do dịch vụ News chạy trực tiếp trên firewall thì dễ gây lỗi hệ thống, nên cách an toàn hơn là sử dụng proxy. Plug gateway được thiết kế để kiểm soát dịch vụ Usernet News và một số dịch vụ khác như Lotus Notes, Oracle, etc.

Plug gateway dựa trên địa chỉ IP hoặc hostname, sẽ cho phép kiểm soát tất cả các truy nhập hệ thống thông qua các cổng dịch vụ được đăng ký. Trên cơ sở đó sẽ cho phép hoặc cấm các yêu cầu truy nhập. Tất cả yêu cầu kết nối bao gồm cả dữ liệu có thể được ghi lại nhật ký để theo dõi và kiểm soát.

SQL Gateway - Proxy Server for SQL-Net

SQL Net sử dụng giao thức riêng không giống như của News hay Lotus Notes, Do vậy, không thể sử dụng Plug Gateway cho dịch vụ này được. SQL Gateway được phát triển từ Plug Gateway và dành riêng cho SQL-Net.

Plug gateway dựa trên địa chỉ IP hoặc hostname, sẽ cho phép kiểm soát tất cả các truy nhập hệ thống thông qua các cổng dịch vụ được đăng ký. Trên cơ sở đó sẽ cho phép hoặc cấm các yêu cầu truy nhập. Tất cả yêu cầu kết nối bao gồm cả dữ liệu có thể được ghi lại nhật ký để theo dõi và kiểm soát.

SOCKS Gateway - Proxy server cho các dịch vụ theo chuẩn SOCKS

SOCKS là giao thức kết nối mạng giữa các máy chủ cùng hỗ trợ giao thức này. Hai máy chủ khi sử dụng giao thức này sẽ không cần quan tâm tới việc giữa chúng có thể nối ghép thông qua IP hay không.

SOCKS sẽ địch hướng lại các yêu cầu ghép nối từ máy chủ đầu kia. Máy chủ SOCKS sẽ xác định quyền truy nhập và thiết lập kênh truyền thông tin giữa hai máy.

SOCKS Gateway dùng để chống lại các truy nhập vào mạng thông qua cổng này.

NETACL - Công cụ điều khiển truy nhập mạng

Các dịch vụ thông thường trên mạng không cung cấp khả năng kiểm soát truy cập tới chúng do vậy chúng là các điểm yếu để tấn công. Kể cả trên hệ thống firewall các dịch vụ thông thường đã được lược bỏ khá nhiều để đảm bảo an toàn hệ thống nhưng một số dich vụ vẫn cần thiết để duy trì hệ thống như telnet, rlogin...

Netacl là một công cụ để điều khiển truy nhập mạng, dựa trên địa chỉ network của máy client, và dịch vụ được yêu cầu. Nó bao trùm nên các dịch vụ cơ bản cung cấp thêm khả năng kiểm soát cho dịch vụ đó. Vì vậy một client (xác định bởi địa chỉ IP hoặc hostname) có thể truy nhập tới telnet server khi nó nối với cổng dịch vụ telnet trên firewall.

Thường thường trong các cấu hình firewall, NETACL được sử dụng để cấm tất cả các máy trừ một vài host được quyền login tới firewall qua hoặc là telnet hoặc là rlogin, và để khoá các truy nhập từ những kẻ tấn công.

Độ an toàn của Netacl dựa trên địa chỉ IP và/hoặc hostname. Với các hệ thống cần độ an toàn cao, nên dụng địa chỉ IP để tránh sự giả mạo DNS. Netacl không chống lại được sự giả địa chỉ IP qua chuyển nguồn (source routing) hoặc những phương tiện khác. Nếu có các loại tấn công như vậy, cần phải sử dụng một router có khả năng soi những packet đã được chuyển nguồn (screening source routed packages).

Chú ý là netacl không cung cấp điều khiển truy nhập UDP, bởi vì công nghệ hiện nay không đảm bảo sự xác thực của UDP. An toàn cho các dịch vụ UDP ở đây đồng nghĩa với sự không cho phép tất cả các dịch vụ UDP.

Xác thực và dịch vụ xác thực (authentication)

Bộ Firewall chứa chương trình server xác thực được thiết kế để hỗ trợ cơ chế phân quyền. Authsrv chứa một cơ sở dữ liệu về người dùng trong mạng, mỗi bản ghi tương ứng với một người dùng, chứa cơ chế xác thực cho mỗi anh ta, trong đó bao gồm tên nhóm, tên đầy đủ của người dùng, lần truy cập mới nhất. Mật khẩu không mã hoá (Plain text password) được sử dụng cho người dùng trong mạng để việc quản trị được đơn giản. Mật khẩu không mã hoá không nên dùng với những ngưòi sử dụng từ mạng bên ngoài.

Người dùng trong cơ sở dữ liệu của có thể được chia thành các nhóm khác nhau được quản trị bởi quản trị nhóm là người có toàn quyền trong nhóm cả việc thêm, bớt người dùng. Điều này thuận lợi khi nhiều tổ chức cùng dùng chung một Firewall.

Authsrv quản lý nhóm rất mềm dẻo, quản trị có thể nhóm người dùng thành nhóm dùng "group wiz", người có quyền quản trị nhóm có thể xoá, thêm, tạo sửa bản ghi trong nhóm, cho phép hay cấm người dùng, thay đổi password của mật khẩu của user trong nhóm của mình. Quản trị nhóm không thay đổi được người dùng của nhóm khác, tạo ra nhóm mới hay thay đổi quan hệ giữa các nhóm. Quản trị nhóm chỉ có quyền hạn trong nhóm của mình. Việc này có ích đối với tổ chức có nhiều nhóm làm việc cùng sử dụng Firewall.

Việc kiểm tra xác thực được diễn ra khi người sử dụng bắt đầu sử dụng một dich vụ trông firewall, tất cả các dịch vụ được nêu trên đều có khả năng kiểm tra xác thực và việc kiểm tra này chỉ xẩy ra đối với các máy có IP hay hostname xác định.

IP Filter - Bộ lọc mức IP

IP Filter là bộ lọc các gói tin TCP/IP, được xem như thành phần không thể thiếu khi thiết lập Firewall trong suốt đối với người sử dụng. Phần mềm này sẽ được cài đặt trong lõi của hệ thống (như UNIX kernel), được chạy ngầm khi hệ thống hoặt động, để đón nhận và phân tích tất cả các gói IP (IP Package).

Bộ lọc IP filter có thể thức hiện các việc sau:

  • Cho đi qua hoặc cấm bất kỳ một gói tin nào.
  • Nhận biết được các dịch vụ khác nhau
  • Lọc theo địa chỉ IP hoặc hosts
  • Cho phép lọc chọn lựa giao thức IP bất kỳ
  • Cho phép lọc chọn lựa theo các mảnh IP
  • Cho phép lọc chọn lựa theo các tuỳ chọn IP
  • Gửi trả lại các khối ICMP/TCP lỗi và đặt lại số hiệu packet
  • Lưu giữ các thông tin trạng thái đối với các dòng TCP, UDP and ICMP
  • Lưu giữ các thông tin trạng thái đối với các mảnh IP packet bất kỳ
  • Có chức năng như Network Address Translator (NAT)
  • Làm cơ sở thiết lập các kết nối trong suốt đối với người sử dụng
  • Cung cấp các header cho các chương trình của người sử dụng để xác nhận.
  • Ngoài ra hỗ trợ không gian tạm cho các quy tắc xác nhận đối với các gói tin đi qua.

Đặc biệt đối với các giao thức cơ bản của Internet, TCP, UDP và ICMP, thì IP filter cho phép lọc theo:

  • Inverted host/net matching
  • Số hiệu cổng của các gói tin TCP/UDP
  • Kiểu hoặc mã của các gói tin ICMP
  • Thiết lập các gói tin TCP
  • Tổ hợp tuỳ ý các cờ trạng thái TCP
  • Lọc/loại bỏ những gói IP chưa kết thúc
  • Lọc theo kiểu dịch vụ

Cho phép ghi nhật ký các bản tin bao gồm:

  • Header của các gói tin TCP/UDP/ICMP and IP
  • Một phần hoặc tất cả dữ liệu của gói tin

(trích theo VASC)

Close


Bạn tìm đến nhóm thiện nguyện VTT qua
www.tuoitre.org, tuoitre.org, www.tuoitre.de hoặc tuoitre.de.
Mọi ý kiến đóng góp xin bạn hãy liên lạc với chúng tôi qua lienlac@tuoitre.org.