Sun Java System Messaging Server 6 2005Q4 管理指南

篩選器語法

篩選器敘述包含服務資訊和用戶端資訊。服務資訊可包括服務名稱、主機名稱和主機位址。用戶端資訊可包括主機名稱、主機位址和使用者名稱。伺服器和用戶端資訊均可包括萬用字元名稱或式樣。

最簡單的篩選器形式為:

service: hostSpec

其中,service 是服務的名稱 (例如 smtppopimaphttp),而 hostSpec 是主機名稱、IP 位址或萬用字元名稱或表示用戶端請求存取的式樣。處理篩選器時,如果搜尋存取的用戶端符合 client,則允許或拒絕 (取決於此篩選器的類型) 存取 service 指定的服務。以下是一些範例:

imap: roberts.newyork.siroe.com
pop: ALL
http: ALL

如果這些是允許篩選器,則第一個篩選器將授予主機 roberts.newyork.siroe.com 對 IMAP 服務的存取,第二個篩選器和第三個篩選器將分別授予所有用戶端對 POP 和 HTTP 服務的存取。如果它們是拒絕篩選器,則將拒絕那些用戶端存取這些服務。(如需有關如 ALL 之類萬用字元名稱的說明,請參閱萬用字元名稱。)

篩選器中的伺服器或用戶端資訊可能比這裡要複雜一些,在那種情況下較一般的篩選器形式為:

serviceSpec: clientSpec

其中,serviceSpec 可以是 serviceservice@hostSpec,而 clientSpec 可以是 hostSpecuser@hostSpecuser 是與搜尋存取的用戶端主機關聯的使用者名稱 (或萬用字元名稱)。以下是兩個範例:

pop@mailServer1.siroe.com: ALL
imap: srashad@xyz.europe.siroe.com

如果這些是拒絕篩選器,則第一個篩選器將拒絕所有用戶端存取主機 mailServer1.siroe.com 上的 SMTP 服務。第二個篩選器將拒絕主機 xyz.europe.siroe.com 上的使用者 srashad 存取 IMAP 服務。(如需有關何時使用這些延伸的伺服器和用戶端規格的更多資訊,請參閱伺服器主機規格用戶端使用者名稱規格)

最後,最一般的篩選器形式如下:

serviceList: clientList

其中,serviceList 由一個或多個 serviceSpec 項目組成,而 clientList 由一個或多個 clientSpec 項目組成。serviceListclientList 中的單個項目由空格和/或逗號分隔。

在這種情況下,處理篩選器時,如果搜尋存取的用戶端符合 clientList 中任一 clientSpec 項目,則允許或拒絕 (取決於此篩選器的類型) 存取 serviceList 中指定的所有服務。以下是一個範例:

pop, imap, http: .europe.siroe.com .newyork.siroe.com

如果這是允許篩選器,它將授予網域 europe.siroe.comnewyork.siroe.com 中的所有用戶端對 POP、IMAP 和 HTTP 服務的存取。如需有關使用前導小數點號或其他式樣指定網域或子網路的資訊,請參閱萬用字元式樣

您還可以使用以下語法:

「+」或「-」serviceList: *$next_rule

+ (允許篩選器) 表示要將常駐程式清單服務授予用戶端清單。

- (拒絕篩選器) 表示要拒絕用戶端清單存取這些服務。

* (萬用字元篩選器) 允許所有用戶端使用這些服務。

$ 分隔這些規則。

以下範例可在所有用戶端上啟用多種服務。

+imap,pop,http:*

以下範例顯示多個規則,但每個規則被簡化為只具有一個服務名稱並且用戶端清單使用萬用字元。(這是在 LDIF 檔案中指定存取控制時最常用的方法。)

+imap:ALL$+pop:ALL$+http:ALL

如何對某使用者禁止所有服務的範例如下:

-imap:*$-pop:*$-http:*

萬用字元名稱

您可以使用以下萬用字元名稱來表示服務名稱、主機名稱或位址或使用者名稱:

表 19–3 服務篩選器的萬用字元名稱

萬用字元名稱 

詳細說明 

ALL、*

通用萬用字元。符合所有名稱。 

LOCAL

符合任何本地主機 (名稱中不包含點字元的主機)。但是,如果您的安裝僅使用標準名稱,則即使本地主機名稱中也會包含點,因此不符合此萬用字元。 

UNKNOWN

符合名稱未知的所有使用者,或是名稱或位址未知的所有主機。 

請謹慎使用此萬用字元名稱: 

主機名稱可能會由於暫時的 DNS 伺服器問題而不可用,在這種情況下,使用 UNKNOWN 的所有篩選器會比對所有用戶端主機。

當軟體無法識別與其通訊的網路類型時,網路位址不可用,在這種情況下,使用 UNKNOWN 的所有篩選器會比對該網路上的所有用戶端主機。

KNOWN

比對名稱已知的所有使用者,或是名稱位址已知的所有主機。

請謹慎使用此萬用字元名稱: 

主機名稱可能會由於暫時的 DNS 伺服器問題而不可用,在這種情況下,使用 KNOWN 的所有篩選器與所有用戶端主機均不相符。

當軟體無法識別與其通訊的網路類型時,網路位址不可用,在這種情況下,使用 KNOWN 的所有篩選器與該網路上的所有用戶端主機均不相符。

DNSSPOOFER

符合 DNS 名稱與 IP 位址不相符的所有主機。 

萬用字元式樣

您可以在服務或用戶端位址中使用以下式樣:

EXCEPT 運算子

存取控制系統支援單一運算子。當 serviceListclientList 中具有多個項目時,您可以使用 EXCEPT 運算子建立比對名稱或式樣的異常。例如,表示式:

list1 EXCEPT list2

表示比對與 list1 相符的所有項目,除非它還與 list2 相符。

以下是一個範例:

ALL: ALL EXCEPT isserver.siroe.com

如果這是拒絕篩選器,它會拒絕所有主機電腦上的所有用戶端存取所有服務,但主機電腦 isserver.siroe.com 上的用戶端除外。

EXCEPT 陳述式可以嵌套。表示式:

list1 EXCEPT list2 EXCEPT list3

相當於:

list1 EXCEPT (list2 EXCEPT list3)

伺服器主機規格

您可以透過在 serviceSpec 項目中包含伺服器主機名稱或位址資訊,來進一步識別篩選器中被請求的特定服務。在這種情況下,項目形式為:

service@hostSpec

當您的 Messaging Server 主機機器針對多個網際網路位址以不同的網際網路主機名稱進行設定時,您可能要使用此功能。如果您是服務供應者,則可使用此功能在單一伺服器實例上以不同的存取控制規則託管多個網域。

用戶端使用者名稱規格

對於支援 RFC 1413 中所述之 identd 服務的用戶端主機電腦而言,您可以透過在篩選器的 clientSpec 項目中包含用戶端的使用者名稱來進一步識別請求服務的特定用戶端。在這種情況下,項目形式為:

user@hostSpec

其中,user 是由用戶端的 identd 服務 (或萬用字元名稱) 傳回的使用者名稱。

在篩選器中指定用戶端使用者名稱非常有用,但請記住以下警告:

使用者名稱查詢功能在某些情況下可協助您防範來自用戶端主機上未經授權的使用者的侵入。例如,在某些 TCP/IP 實作中,侵入者可能會使用 rsh (遠端 shell 服務) 冒充信任的用戶端主機。如果用戶端主機支援 ident 服務,您可以使用使用者名稱查詢來偵測此類侵入。