Sun Java System Portal Server Secure Remote Access 7.2 管理指南

第 2 章 使用閘道

章說明與閘道相關的概念。如需管理閘道的資訊,請參閱第 16 章, 管理閘道。如需配置閘道的資訊,請參閱第 8 章, 配置 Secure Remote Access 閘道

本章涵蓋下列主題:

閘道簡介

閘道在源自網際網路的遠端使用者階段作業與您的企業內部網路之間提供了介面與安全的屏障。透過單一介面至遠端使用者,閘道可經由內部 Web 伺服器和應用程式伺服器安全地顯示內容。

針對每個閘道實例,您必須完成下列工作:

其他與閘道相關的主題包含:

建立閘道設定檔

閘道設定檔包含與閘道配置相關的所有資訊,如閘道偵聽的連接埠、SSL 選項及代理伺服器選項。安裝閘道時,如果選擇預設值,則會建立稱為「default」的預設閘道。與預設設定檔對應的配置檔會出現在:/etc/opt/SUNWportal/platform.conf.default

其中 /etc/opt/SUNWportal 是所有 platform.conf.* 檔案的預設位置。如需 platform.conf 檔案的詳細資訊,請參閱了解 platform.conf 檔案

使用設定檔時,您可執行下列作業:


注意 – 注意 –

不要指定相同的設定檔給在相同機器上執行的閘道不同實例。該設定將會造成衝突,因為連接埠號碼相同。

不要在不同的設定檔 (建立給相同的閘道) 中指定相同的連接埠號碼。以同樣的連接埠執行相同閘道的多重實例會造成衝突。


建立多個閘道實例

要建立閘道的多個實例,請參閱「Sun Java System Portal Server 7.2 Installation and Configuration Guide」中的第 4 章「Installing and Configuring a Gateway With Portal Server」

建立多址閘道實例

多重介面閘道實例是一個 Portal Server 上的多重閘道。要建立這些實例,請將 platform.conf 檔案修改如下:

gatewaybindipaddress = 0.0.0.0

使用相同的 LDAP 建立閘道實例

如果您建立的是使用相同 LDAP 的多重閘道實例,在所有隨後的閘道上建立第一個閘道之後:

/etc/opt/SUNWam/config/ 中,修改 AMConfig-instance-name.properties 的下列區域,使其與第一個安裝的閘道實例一致。

請參閱使用相同的 LDAP 建立閘道實例

重新啟動閘道

一般而言,您不需要重新啟動閘道。只有發生下列事件時,才需要重新啟動閘道:

配置閘道監視程式

您可以配置監視程式監視閘道狀態的時間間隔。要啟動或停止監視程式,請執行 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off 指令。時間間隔預設為 60 秒。要變更此值,可在 crontab 公用程式中編輯下列行:


0-59 * * * * gateway-install-root/SUNWportal/bin/
/var/opt/SUNWportal/.gw. 5 > /dev/null 2>&1

請參閱 crontab 的線上手冊以配置 crontab 項目。

指定虛擬主機

虛擬主機是指向相同機器 IP 和主機名稱的額外主機名稱。例如,如果一個主機名稱 abc 指向主機 IP 位址 192.155.205.133,您可新增另一個主機名稱 cde 指向相同的 IP 位址。

指定代理伺服器以連絡 Access Manager

您可以指定閘道用以連絡部署在 Portal Server 上的 SRA 核心支援 (RemoteConfigServlet) 的代理伺服器主機。閘道使用此代理伺服器連絡 Portal Server 與 Access Manager。請參閱指定代理伺服器

了解 platform.conf 檔案

預設情況下,platform.conf 檔案位於:/etc/opt/SUNWportal

platform.conf 檔案包含閘道所需的詳細資訊。本節提供一個範例 platform.conf 檔案,並說明所有的項目。

在配置檔中包含所有機器特定詳細資訊的優點,就是共用的設定檔可以被在多個機器上執行的閘道共享。

以下是 platform.conf 檔案的範例。


Tue May 30 11:51:23 IST 2006
debug.com.sun.portal.rewriter.original.level=INFO
gateway.favicon=
gateway.bindipaddress=10.12.154.236
debug.com.sun.portal.sra.rproxy.toFromServer.handler.java.util.logging.FileHandler.pattern=
/var/opt/SUNWportal/logs/sra/default/Gateway.toFromServer.%u.%g.log
gateway.port=443
rewriterproxy.jvm.flags=-ms64m -mx128m
portal.server.instance=default
debug.com.sun.portal.handler.java.util.logging.FileHandler.filter=
gateway.jdk.dir=/usr/jdk/entsys-j2se
gateway.ignoreURIList=/MSOffice/cltreq.asp,/_vti_bin/owssvr.dll
debug.com.sun.portal.rewriter.rest.level=INFO
gateway.trust_all_server_certs=true
debug.com.sun.portal.handler.java.util.logging.FileHandler.append=true
gateway.cdm.cacheCleanupTime=300000
gateway.httpurl=
debug.com.sun.portal.handler.java.util.logging.FileHandler.count=1
gateway.jvm.classpath=
debug.com.sun.portal.setserverlogs=false
gateway.protocol=https
debug.com.sun.portal.sra.rproxy.toFromServer=java.util.logging.FileHandler
rewriterproxy.jvm.classpath=
gateway.enable.customurl=false
debug.com.sun.portal.sra.rproxy.toFromBrowser=java.util.logging.FileHandler
debug.com.sun.portal.handler.java.util.logging.FileHandler.formatter=com.sun.portal.
log.common.PortalLogFormatter
debug.com.sun.portal.sra.rproxy.toFromBrowser.handler.java.util.logging.FileHandler.pattern=
/var/opt/SUNWportal/logs/sra/default/Gateway.toFromBrowser.%u.%g.log
debug.com.sun.portal.level=INFO
debug.com.sun.portal.rewriter.unaffected.separatefile=true
gateway.enable.accelerator=false
debug.com.sun.portal.rewriter.original.separatefile=true
gateway.virtualhost=nicp236.india.sun.com 10.12.154.236
debug.com.sun.portal.stacktrace=true 
gateway.host=nicp236.india.sun.com
debug.com.sun.portal.handler.java.util.logging.FileHandler.pattern=
/var/opt/SUNWportal/logs/sra/default/%logger.%sraComponentType.%u.%g.log
gateway.certdir=/etc/opt/SUNWportal/cert/default
gateway.sockretries=3
gateway.allow.client.caching=true
debug.com.sun.portal.rewriter.unaffected.level=INFO
debug.com.sun.portal.rewriter.uriinfo.separatefile=true
log.config.check.period=2000
debug.com.sun.portal.rewriter.rewritten.level=INFO
gateway.userProfile.cacheSize=1024
debug.com.sun.portal.rewriter.rulesetinfo.level=INFO
netletproxy.jvm.classpath=
gateway.userProfile.cacheSleepTime=60000
debug.com.sun.portal.rewriter.uriinfo.level=INFO
debug.com.sun.portal.rewriter.rest.separatefile=true
gateway.notification.url=notification
debug.com.sun.portal.rewriter.rulesetinfo.separatefile=true
gateway.logdelimiter=&&
gateway.ignoreServerList=false
gateway.jvm.flags=-ms64m -mx128m
debug.com.sun.portal.handler.java.util.logging.FileHandler.limit=5000000
gateway.dsame.agent=http\://sunone216.india.sun.com\:8080/portal/RemoteConfigServlet
gateway.httpsurl=
gateway.retries=6
gateway.userProfile.cacheCleanupTime=300000
gateway.logging.password=X03MO1qnZdYdgyfeuILPmQ\=\= UX9x0jIua3hx1YOVRG/TLg\=\=
netletproxy.jvm.flags=-ms64m -mx128m
debug.com.sun.portal.rewriter.rewritten.separatefile=true
gateway.user=noaccess
gateway.external.ip=10.12.154.236
debug.com.sun.portal.handler=java.util.logging.FileHandler
gateway.cdm.cacheSleepTime=60000
rewriterproxy.accept.from.gateways=
rewriterproxy.checkacl=false

下列表格列出並說明 platform.conf 檔案中所有的欄位。

表 2–1 檔案特性

項目 

預設值 

描述 

gateway.user

noaccess 

閘道以此使用者執行。 

閘道必須做為超級使用者啟動,並且在初始化後,它會失去超級使用者權限而成為此使用者。 

gateway.jdk.dir

 

這是閘道所使用之 JDK 目錄的位置。 

gateway.dsame.agent

 

當閘道啟動要取得其設定檔時,這是閘道會連絡 Access Manager 的 URL。 

portal.server.protocol

portal.server.host

portal.server.port

 

這是預設 Portal Server 安裝使用的通訊協定、主機和連接埠。 

gateway.protocolgateway. hostgateway.port

 

這是閘道的通訊協定、主機和連接埠。這些值與您在安裝時所指定的模式和連接埠相同。這些值用於建立通知 URL。 

gateway. trust_all_server_certs

true 

這表示閘道必須相信所有的伺服器憑證,或僅相信在閘道憑證資料庫中的伺服器憑證。 

gateway. trust_all_server_cert_domains

false 

當閘道和伺服器之間有 SSL 通訊時,會提供伺服器憑證給閘道。在預設情況下,閘道會檢查伺服器主機名稱是否與伺服器憑證 CN 相同。 

如果屬性值設定為 true,則閘道會停用它收到之伺服器憑證的網域名稱檢查。 

gateway.virtualhost

 

如果閘道機器有配置多個主機名稱,您可以在此欄位指定不同的名稱和識別提供者位址。 

gateway.virtualhost. defaultOrg=org

 

這會指定預設的 Org 給登入的使用者。 

例如,假設虛擬主機欄位項目如下所示: 

gateway.virtualhost=test.com employee.test.com

Managers.test.com

含有預設的 org 項目為: 

test.com.defaultOrg = o=root,dc=test,dc=com

employee.test.com.defaultOrg = o=employee,dc=test,dc=com

Manager.test.com.defaultOrg = o=Manager,dc=test,dc=com

使用者可以使用 https://manager.test.com 而非 https://test.com/o=Manager,dc=test,dc=com 以登入管理員的 org。


備註 –

virtualhost 和 defaultOrg 在 platform.conf 檔案中區分大小寫,但用於 URL 時則沒有區分。


gateway.notification.url

 

閘道主機、通訊協定和連接埠的組合,用於建立通知 URL。用於從 Access Manager 接收階段作業通知。 

請確定通知 URL 和任何組織的名稱不相同。如果通知 URL 和組織名稱相同,則使用者在嘗試連結到該組織時會看到空白頁面而非登入的頁面。 

gateway.retries

 

此數字是在啟動時,閘道嘗試連絡 Portal Server 的次數。 

gateway.debug

error

設定閘道的除錯層級。除錯記錄檔位於 debug-directory/files。除錯檔案的位置在 gateway.debug.dir 項目中指定。

除錯層級為: 

  • error - 只會在除錯檔案中記錄幾個錯誤。在此種錯誤發生時,閘道通常會停止運作。

  • warning - 記錄警告訊息。

  • message - 記錄所有的除錯訊息。

  • on - 在主控台顯示所有的除錯訊息。

除錯檔案為: 

srapGateway.gateway-profile-name - 包含閘道的除錯訊息。

Gateway_to_from_server.gateway-profile-name - 在訊息模式下,此檔案包含閘道和內部伺服器之間所有的需求和回應標頭。

要產生此檔案,請變更 /var/opt/SUNWps/debug 目錄的寫入權限。

Gateway_to_from_browser.gateway-profile-name - 在訊息模式下,此檔案包含閘道和用戶端瀏覽器之間所有的需求和回應標頭。

要產生此檔案,請變更 /var/opt/SUNWps/debug 目錄的寫入權限。

gateway.debug.dir

 

這是所有除錯檔案產生的目錄。 

此目錄必須有足夠的權限以將 gateway.user 中提到的使用者寫入檔案。

gateway.logdelimiter

 

目前沒有使用。 

gateway.external.ip

 

如果是在多址閘道機器上 (使用多重 IP 位址的機器),您需要在此指定外部 IP 位址。此 IP 用於執行 FTP 的 Netlet。 

gateway.certdir

 

它指定憑證資料庫的位置。 

gateway.allow.client.caching

true 

允許或拒絕用戶端快取。 

如果允許,用戶端瀏覽器可以快取靜態頁面和影像以取得較佳的效能 (藉由減低網路流量)。 

如果拒絕,因為沒有任何快取,安全性會更高,但是會因為有較高的網路負載而導致效能落差。 

gateway.userProfile.cacheSize

 

這是在閘道上使用者設定檔項目被快取的數目。如果項目數量超過這個值,常用的項目會清除快取。 

gateway.userProfile. cacheSleepTime

 

以秒為單位設定休息時間,以清除快取。 

gateway.userProfile. cacheCleanupTime

 

超過以秒為單位的最大數字的時間後,會移除設定檔項目。 

gateway.bindipaddress

 

在多址機器上,這是閘道連結其 serversocket 的 IP 位址。要配置閘道偵聽所有介面,請置換 IP 位址以使 gateway.bindipaddress=0.0.0.0

gateway.sockretries

目前沒有使用。 

gateway.enable.accelerator

false 

如果設定為 true,則允許支援外部加速器。 

gateway.enable.customurl

false 

如果設定為 true,則允許管理員指定一個自訂的 URL 讓閘道重新寫入頁面。 

gateway.httpurl

 

自訂 URL 的 HTTP reverse proxy URL 讓閘道重新寫入頁面。啟用 Proxylet 時請使用此項目。 

gateway.httpsurl

 

自訂 URL 的 HTTPS reverse proxy URL 讓閘道重新寫入頁面。如果啟用 Proxylet,請勿使用此項目。 

gateway.favicon

 

閘道將 favicon.icon 檔請求重新導向到的 URL。

此項目用於 Internet Explorer、Netscape 7.0 和更高版本中的「favorite icon」。 

如果此項目保持空白,閘道會傳送一個「404 頁面找不到」的訊息給瀏覽器。 

gateway.logging.password

 

使用者 amService-srapGateway 的 LDAP 密碼,閘道會使用它來建立其應用程式階段作業。

密碼可以是加密文字或一般文字。 

http.proxyHost

 

代理伺服器主機會用於連絡 Portal Server。 

http.proxyPort

 

主機連接埠會用於連絡 Portal Server。 

http.proxySet

 

若需要代理伺服器,則屬性會設定為 true。若特性設定為 false,則會忽略 http.proxyHosthttp.proxyPort

portal.server.instance

 

此特性值對應於 /etc/opt/SUNWam/config/AMConfig -instance-name.properties 檔案。如果值是預設值,則會指向 AMConfig.properties。

gateway.cdm.cacheSleepTime

60000 

快取「用戶端偵測模組」回應的逾時值從 Access Manager 傳送到閘道。 

gateway.cdm.cacheCleanupTime

300000 

快取「用戶端偵測模組」回應的逾時值從 Access Manager 傳送到閘道。 

netletproxy.port

10555 

Netlet 代理伺服器預設程式會偵聽此連接埠上的請求。 

rewriterproxy.port

10555 

Rewriter 代理伺服器預設程式會偵聽此連接埠上的請求。 

gateway.ignoreServerList

false 

如果設定為 true,會使用 AMConfig.properties 檔案中指定的值來建立 Access Manager 伺服器 URL。當 Access Manager 伺服器位於負載平衡器之後時,請將此屬性設定為 true。

rewriterproxy.accept.from.gateways

 

這是 IP 位址的清單,可將 Rewriter 代理伺服器設定為接受來自該清單的請求。此屬性對 HTTP 與 HTTPS 模式均適用。它可加強安全性,僅接受來自此集合的請求,而不會處理所有其他的請求。IP 位址可使用逗點分隔。預設值是空的,被視為舊有模式,亦即會尊重到 Rewriter 代理程式的所有請求。 

rewriterproxy.checkacl=

false 

啟用此特性可讓 Rewriter 代理伺服器檢查 ACL 值,就像閘道一樣。舊有模式值是「false」。當將此值設定為 true 時,Rewriter 代理伺服器會在指定 DN 根據在閘道存取服務中指定的值檢查 URL,且會依據此處設定之清單集合來允許/拒絕請求。此值在 HTTP 與 HTTPS 模式中都有用。 

使用 Web 代理伺服器

您可以使用協力廠商 Web 代理伺服器配置閘道以連絡 HTTP 資源。Web 代理伺服器位於客戶端與網際網路之間。

Web 代理伺服器配置

不同的代理伺服器可能用於不同的網域和子網域。這些項目告訴閘道在特定的網域中,應該使用哪個代理伺服器以連絡特定的子網域。指定在閘道中的代理伺服器配置運作方式如下:


備註 –

如果您正透過標準入口網站桌面的 [書籤通道] 存取該 URL,且您的情況不符合上述任何一項,閘道會傳送重新導向給瀏覽器。瀏覽器會使用自己的代理伺服器設定來存取該 URL。


語法


domainname [web_proxy1:port1]|subdomain1 [web_proxy2:port2]|

範例


sesta.com wp1:8080|red wp2:8080|yellow|* wp3:8080

* 是與任何結果都相符的萬用字元

其中,

sesta.com 是網域名稱而 wp1 是在 8080 連接埠上用於連絡的代理伺服器。

red 是子網域而 wp2 是在 8080 連接埠上用於連絡的代理伺服器。

yellow 是子網域。由於沒有指定代理伺服器,因此會使用指定給網域的代理伺服器,即為在 8080 連接埠上的 wp1

* 表示所有其他子網域必須在 8080 連接埠上使用 wp3


備註 –

如果您沒有指定連接埠,預設是使用連接埠 8080。


處理網路代理伺服器資訊

當用戶端嘗試存取特定 URL 時,URL 中的主機名稱會與 [網域與子網域的代理伺服器] 清單中的項目進行比較。符合請求主機名稱之最長字尾的項目會被考慮。例如,假設請求的主機名稱是 host1.sesta.com。會依序進行下列搜尋,直到找到符合的結果。

考慮 [網域與子網域的代理伺服器] 清單中的下列項目:


com p1| host1 p2 | host2 | * p3
sesta.com p4 | host5 p5 | * p6
florizon.com | host6
abc.sesta.com p8 | host7 p7 | host8 p8 | * p9
host6.florizon.com p10
host9.sesta.com p11
siroe.com | host12 p12 | host13 p13 | host14 | * p14
siroe.com | host15 p15 | host16 | * p16
* p17

閘道會將這些項目內部對應至如下列表格中顯示的表格。

表 2–2 在 [網域與子網域的代理伺服器] 清單中的對映項目

編號 

[網域與子網域的代理伺服器] 清單中的項目 

代理伺服器 

描述 

com 

p1 

指定於清單中。 

host1.com 

p2 

指定於清單中。 

host2.com 

p1 

由於沒有為 host2 指定代理伺服器,會使用網域的代理伺服器。 

*.com 

p3 

指定於清單中。 

sesta.com 

p4 

指定於清單中。 

host5.sesta.com 

p5 

指定於清單中。 

*.sesta.com 

p6 

指定於清單中。 

florizon.com 

直接 

如需詳細資訊,請參閱第 14 項的描述。 

host6.florizon.com 

– 

如需詳細資訊,請參閱第 14 項的描述。 

10 

abc.sesta.com 

p8 

指定於清單中。 

11 

host7.abc.sesta.com 

p7 

指定於清單中。 

12 

host8.abc.sesta.com 

p8 

指定於清單中。 

13 

*.abc.sesta.com 

p9 

指定於清單中。在 abc.sesta.com 網域下,所有主機 (host7host8 除外) 都會使用 p9 作為代理伺服器。

14 

host6.florizon.com 

p10 

與第 9 個項目相同。第 9 個項目表示直接連線,而此項目表示應該使用代理伺服器 10。若遇到像這樣有兩個項目的情況,含有代理伺服器資訊的項目會視為有效的項目。請忽略另一個項目。 

15 

host9.sesta.com 

p11 

指定於清單中。 

16 

siroe.com 

直接 

由於沒有指定 siroe.com 的代理伺服器,因此會嘗試直接連線。

17 

host12.siroe.com 

p12 

指定於清單中。 

18 

host13.siroe.com 

p13 

指定於清單中。 

19 

host14.siroe.com 

直接 

由於沒有指定 host14 的代理伺服器,因此會嘗試直接連線。

20 

*.siroe.com 

p14 

請參閱第 23 項描述。 

21 

host15.siroe.com 

p15 

指定於清單中。 

22 

host16.siroe.com 

直接 

由於沒有指定 host16 或 siroe.com 的代理伺服器,因此會嘗試直接連線。

23 

*.siroe.com 

p16 

與第 20 個項目類似,但是指定的代理伺服器不同。這種情形下,無法知道閘道的實際運作方式。可能會使用兩個代理伺服器中的任意一個。 

24 

p17 

如果沒有其他的項目符合請求的 URL,就會使用 p17 作為代理伺服器。


提示 –

與其在 [網域與子網域的代理伺服器] 清單中以 | 分隔代理項目,不如將個別的項目放置在清單的不同行中。例如取代如下的項目:


sesta.com p1 | red p2 | * p3

您指將此資訊指定為:


sesta.com p1
red.sesta.com p2
*.sesta.com p3

此清單格式更容易追蹤重複項目或任何其他含糊的情況。


以 [網域與子網域的代理伺服器] 清單為基礎重新寫入

[網域與子網域的代理伺服器] 清單中的項目也會被 Rewriter 使用。網域符合列在 [網域與子網域的代理伺服器] 清單中網域的所有 URL,Rewriter 會重新寫入。


注意 – 注意 –

在 [網域與子網域的代理伺服器] 清單中的 * 項目不會考慮重新寫入。例如,不會考慮項目 24。


如需 Rewriter 的資訊,請參閱第 4 章, 使用 Rewriter

預設網域與子網域

當在 URL 中的目標主機不是完整限定的主機名稱,會使用預設的網域和子網域以使其有完整合格的名稱。

假設管理主控台中 [預設網域] 欄位內的項目是:


red.sesta.com

備註 –

在 [網域與子網域的代理伺服器] 清單中您必須要有對應的項目。


在上面的範例中,sesta.com 是預設的網域而 red 是預設的子網域。

如果要求的 URL 是 host1,則會使用預設的網域和子網域將此項目解析為 host1.red.sesta.com。然後會在 [網域與子網域的代理伺服器] 清單中查詢 host1.red.sesta.com

使用自動代理伺服器配置

要忽略 [網域與子網域的代理伺服器] 清單中的資訊,請啟用 [自動代理伺服器配置] 功能。

使用自動代理伺服器配置 (Proxy Auto Configuration, PAC) 檔案時:

使用範例 PAC 檔案

下列範例顯示列在 [網域與子網域的代理伺服器] 清單中的 URL 和對應的 PAC 檔案。

含有傳回 DIRECT 或 NULL 的範例

如果將這些代理伺服器用於網域與子網域:

*intranet1.com proxy.intranet.com:8080

intranet2.com proxy.intranet1.com:8080

相對應的 PAC 檔案是:


// Start of the PAC File
function FindProxyForURL(url, host) {
         if (dnsDomainIs(host, ".intranet1.com")) {
             return "DIRECT";
         }
          if (dnsDomainIs(host, ".intranet2.com")) {
              return "PROXY proxy.intranet1.com:8080";
          }
          return "NULL";
}
//End of the PAC File

含有傳回 STARPROXY 的範例

如果將這些代理伺服器用於網域與子網域:

intranet1.com

intranet2.com.proxy.intranet1.com:8080

internetproxy.intranet1.com:80

相對應的 PAC 檔案是:


// Start of the PAC File
function FindProxyForURL(url, host) {
          if (dnsDomainIs(host, ".intranet1.com")) {
              return "DIRECT";
          }
          if (dnsDomainIs(host, ".intranet2.com")) {
              return "PROXY proxy.intranet1.com:8080;" +
                  "PROXY proxy1.intranet1.com:8080";
          }
          return "STARPROXY internetproxy.intranet1.com:80";
}
//End of the PAC File

在這個情況下,如果請求的主機位於 .intranet2.com 網域,則閘道會連絡 proxy.intranet1.com:8080。如果 proxy.intranet1.com:8080 無法使用,請求會失敗。閘道不會進行容錯移轉與連絡 proxy1.intranet1.com:8080

指定 PAC 檔案位置

用來指定 PAC 檔案位置的格式需視下列位置而定:

在個別階段作業中新增服務

當在個別階段作業中新增 Portal Server 服務時:

使用 Netlet 代理伺服器

Netlet 封包在閘道是解密的,並會傳送到目標伺服器。然而,閘道需要透過非軍事區 (DMZ) 和企業內部網路之間的防火牆,存取所有的 Netlet 目的地主機。此設定需要在防火牆中開啟大量的連接埠。Netlet 代理伺服器可用於最小化在防火牆中開啟的連接埠數目。

藉由延伸用戶端的安全通道,透過閘道到存在於企業內部網路的 Netlet 代理伺服器,Netlet 強化閘道和企業內部網路之間的安全性。使用代理伺服器,Netlet 封包會由代理伺服器解密,之後會傳送至目的地。

使用 Netlet 代理伺服器的優點:

您可執行下列作業:

顯示在有和沒有安裝 Netlet 代理伺服器的情況下,閘道和 Portal Server 的三個範例實作。元件包含一個用戶端、兩個防火牆、位於兩個防火牆之間的閘道、Portal Server 和 Netlet 目標伺服器。

第一個方案顯示沒有安裝 Netlet 代理伺服器的閘道和 Portal Server。資料加密僅從用戶端延伸到閘道。在第二防火牆中開啟一個連接埠給每個 Netlet 連線請求。

第二個方案顯示在 Portal Server 上安裝 Netlet 代理伺服器的閘道和 Portal Server。資料加密從用戶端一直延伸到 Portal Server。既然所有 Netlet 連線都是通過 Netlet 代理伺服器傳送的,在 Netlet 請求中的第二防火牆只需要開啟一個連接埠。

第三個方案顯示有在個別節點上安裝 Netlet 代理伺服器的閘道和 Portal Server。在個別節點上安裝 Netlet 代理伺服器會減少 Portal Server 節點上的負載。同樣的,在第二個防火牆中僅需要開啟兩個連接埠。其中一個連接埠提供給 Portal Server 使用,另一個連接埠傳送 Netlet 請求到 Netlet 代理伺服器伺服器。

圖 2–1 Netlet 代理伺服器的實作

Netlet 代理伺服器的實作

啟用 Netlet 代理伺服器

您可使用 Portal Server 管理主控台透過閘道服務啟用 Netlet 代理伺服器。

重新啟動 Netlet 代理伺服器

每次代理伺服器意外結束時,您可以配置 Netlet 代理伺服器以重新啟動。您可排程監視程式程序,以監視 Netlet 代理伺服器,並且在它當機時重新啟動。

您也可以手動重新啟動 Netlet 代理伺服器。請參閱重新啟動 Netlet 代理伺服器以取得步驟。

配置 Netlet 代理伺服器監視程式

您可以配置監視程式監視 Netlet 代理伺服器狀態的時間間隔。時間間隔預設為 60 秒。要變更此時間間隔,請將下列行新增至 crontab 檔案:

0-59 * * * * netlet-install-dir/bin/checkgw /var/opt/SUNWportal/.gw 5 > /dev/null 2>&1


備註 –

要啟動或停止監視程式,請執行 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off 指令。


使用 Rewriter 代理伺服器

Rewriter 代理伺服器安裝於企業內部網路中。閘道不會直接嘗試擷取內容,而是將所有請求轉寄給 Rewriter 代理伺服器,由代理伺服器獲取並傳回內容給閘道。

使用 Rewriter 代理伺服器的優點有:

如果您沒有指定 Rewriter 代理伺服器,當使用者嘗試存取企業內部網路的其中一台電腦,閘道元件會直接連線至企業內部網路的電腦。

如果您使用 Rewriter 代理伺服器作為負載平衡器,請確定 Rewriter 的 platform.conf.instance_name 指向負載平衡器 URL。在 Portal Server 清單中指定負載平衡器主機。

如果每個閘道實例 (不一定要在入口節點上) 都有 Rewriter 代理伺服器的多個實例,請在 platform.conf 檔案中以 host-name:port 格式來提供每個 Rewriter 代理伺服器的詳細資訊,而非 Rewriter 代理伺服器的單一連接埠項目。

建立 Rewriter 代理伺服器的實例

使用 rwpmultiinstance 程序檔,在 Portal Server 節點上建立 Rewriter 代理伺服器的新實例。請在建立閘道設定檔之後執行此程序檔。

請參閱建立 Rewriter 代理伺服器實例

啟用 Rewriter 代理伺服器

在 Access Manager 管理主控台中,在「SRA 配置」下透過閘道服務啟用 Rewriter 代理伺服器。

重新啟動 Rewriter 代理伺服器

每次代理伺服器意外結束時,您可以配置重新啟動 Rewriter 代理伺服器。您可排程監視程式程序以監視,並在發生這種情況時重新啟動。

您也可以手動重新啟動 Rewriter 代理伺服器。

請參閱重新啟動 Rewriter 代理伺服器

配置 Rewriter 代理伺服器監視程式

您可以配置監視程式監視 Rewriter 代理伺服器狀態的時間間隔。時間間隔預設為 60 秒。要變更時間間隔,請將下列行新增至 crontab 檔案:

0-59 * * * * rewriter-proxy-install-root /bin/checkgw /var/opt/SUNWportal/.gw 5 > /dev/null 2>&1


備註 –

要啟動或停止監視程式,請執行 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off 指令。


使用含有閘道的反向代理伺服器

代理伺服器會傳送網際網路內容至企業內部網路,而反向代理伺服器則傳送企業內部網路內容至網際網路。您可配置反向代理伺服器的部署,以實現負載平衡與快取。

若在閘道前面部署具有協力廠商反向代理伺服器,則回應必須以反向代理伺服器的 URL ( 非閘道的 URL) 重新寫入。因此需要下列配置。

請參閱啟用反向代理伺服器

取得用戶端資訊

當閘道轉寄用戶端請求至任何內部伺服器時,會新增 HTTP 標頭至 HTTP 請求。您可以使用這些標頭以取得額外的用戶端資訊並偵測閘道的出現狀態。

要檢視 HTTP 請求標頭,請將 platform.conf 檔案中的項目設定為 gateway.error=message。然後使用 servlet API 中的 request.getHeader()。以下表格列出 HTTP 標頭中的資訊。

表 2–3 HTTP 標頭中的訊息

標頭 

語法 

描述 

PS-GW-PDC 

X-PS-GW- PDC: true/false

指出閘道上的 PDC 是否啟用。 

PS-Netlet 

X-PS-Netlet:enabled=true/false

指出閘道上的 Netlet 是否已經啟用或停用。 

如果已經啟用 Netlet,則加密選項會寫入,指出閘道以 HTTPS (encryption=ssl) 或以 HTTP 模式 (encryption=plain) 執行。

例如: 

  • PS-Netlet: enabled=false

    Netlet 是停用的。

  • PS-Netlet: enabled=true; encryption=ssl

    Netlet 使用在 SSL 模式中執行的閘道啟用。

    未啟用 Netlet 時,不會寫入 encryption=sslencryption=plain

PS-GW-URL 

X-PS-GW-URL: http(s)://gatewayURL(:port)

指出用戶端要連接的 URL。 

連接埠為非標準連接埠時,例如,如果閘道為 HTTP/HTTPS 模式且連接埠並非 80/443,那麼也會寫入 :port

PS-GW-Rewriting-URL 

X-PS-GW-URL: http(s)://gatewayURL(:port)/[SessionInfo]

指出閘道重新寫入所有頁面的 URL。 

  1. 當瀏覽器支援 cookie 時,此標頭的值和 PS-GW-URL 標頭的值一樣。

  2. 當瀏覽器不支援 cookie 時:

    • 並且如果目標主機在 [轉寄使用者階段作業 Cookie 到的使用者階段作業] 欄位中,則值是閘道重新寫入頁面的實際 URL (含有編碼 SessionID 資訊)。

    • 或者,如果目標主機不在 [轉寄使用者階段作業 Cookie 到的使用者階段作業] 欄位中,則 SessionInfo 字串是 $SessionID


      備註 –

      在回應部分,如果使用者的 Access Manager sessionId 變更 (如來自認證頁面的回應),則會以該值重新寫入這些頁面 (此值並非是先前在標頭中所指的值)。


      例如:

    • 如果瀏覽器支援 cookie:

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/ 

  • 如果瀏覽器不支援 cookie,且終端伺服器位於 [轉寄使用者階段作業 Cookie 到的使用者階段作業] 欄位中。

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/SessIDValCustomEncodedValue/ 

  • 如果瀏覽器不支援 cookie,且終端伺服器不在 [轉寄使用者階段作業 Cookie 到的使用者階段作業] 欄位中。

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/$SessionID 

PS-GW-CLientIP 

X-PS-GW-CLientIP: IP

指示閘道從 recievedSocket.getInetAddress().getHostAddress() 所取得的 IP。

如果直接連到閘道,此值會提供用戶端的 IP。 

使用認證鏈接

認證鏈接提供比一般機制更高層級的安全性。您可以讓使用者認證一個以上的認證機制。

此處的程序說明僅適用於在閘道同時啟用認證鏈接與「個人數位憑證」(Personal Digital Certificate, PDC) 認證。如需在閘道上沒有 PDC 認證的認證鏈接的資訊,請參閱「Access Manager 管理指南」。

例如,如果您取得 PDC 和 Radius 認證模組,使用者將必須認證這三個模組以存取標準入口網站桌面。

請參閱新增認證模組到現有 PDC 實例以取得步驟。


備註 –

如果啟用 PDC,它永遠都是第一個顯示在使用者面前的認證模組。


使用萬有字元憑證

萬用字元憑證接受含有萬用字元的單一憑證,該憑證必須位於擁有完全合格 DNS 名稱的主機中。

使用憑證可以在相同網域中維護多個主機的安全性。例如,*.domain.com 的憑證可以用於 abc.domain.comabc1.domain.com。事實上,此憑證對於在 domain.com 網域中的任何主機都有效。

停用瀏覽器快取

由於可透過閘道元件僅使用 Web 瀏覽器從任何地方安全地存取後端公司資料,因此用戶端不應該在本機對資訊進行快取。

您可以修改指定閘道在 platform.conf 中檔案的屬性,以停用透過閘道快取重新導向的頁面。

停用此選項對閘道效能有影響。每次標準入口網站桌面更新時,閘道必須擷取頁面參照的每個東西,例如先前瀏覽器已經快取過的影像。然而,啟用這個功能後,遠端存取安全的內容將不會在用戶端網站留下快取過的痕跡。如果是從網咖或類似的遠端位置 (不在企業 IT 的控制下) 存取企業網路,此因素可能比效能問題更為重要。

請參閱停用瀏覽器快取

自訂閘道服務使用者介面

本節討論可以編輯的各種閘道特性檔案。

修改 srapGateway.properties 檔案

因下列用途您可以編輯此檔案:

修改 srapgwadminmsg.properties 檔案

因下列原因您可以編輯此檔案:

共用 LDAP 目錄

當 Portal Server 及 Access Manager 伺服器的兩個實例共用相同的 LDAP 目錄時,所有後續的 Portal Server、Access Manager 及閘道的實例都會共用相同的 LDAP 目錄。請參閱共用 LDAP 目錄