2018年12月5日水曜日

OpenIG冗長化

Webエージェントをインストールする。Agent URL、Agent Profile nameは1号機、2号機を意識する。

<例:1号機>
bash-3.00# ./agentadmin --install
Please read the following License Agreement carefully:
[Press <Enter> to continue...] or [Enter n To Finish]
n
Do you completely agree with all the terms and conditions of this License
Agreement (yes/no): [no]: yes

************************************************************************
Welcome to the OpenSSO Policy Agent for Apache Server.
************************************************************************

Enter the complete path to the directory which is used by Apache Server to
store its configuration Files. This directory uniquely identifies the
Apache Server instance that is secured by this Agent.
[ ? : Help, ! : Exit ]
Enter the Apache Server Config Directory Path [/opt/apache22/conf]: /usr/local/apache2/conf

Enter the URL where the OpenSSO server is running. Please include the
deployment URI also as shown below:
(http://opensso.sample.com:58080/opensso)
[ ? : Help, < : Back, ! : Exit ]
OpenSSO server URL: http://sol10-openam-core.openam.net:8080/openam

Enter the Agent URL as shown below: (http://agent1.sample.com:1234)
[ ? : Help, < : Back, ! : Exit ]
Agent URL: http://sol10-agent-openig1.openam.net:80

Enter the Agent profile name
[ ? : Help, < : Back, ! : Exit ]
Enter the Agent Profile name: Agent001

Enter the path to a file that contains the password to be used for identifying
the Agent.
[ ? : Help, < : Back, ! : Exit ]
Enter the path to the password file: /export/home/webservd/apache22/web_agents/pwd.txt

WARNING:
Agent profile/User: Agent001 does not exist in OpenSSO server! Either "Hit
the Back button, and re-enter the correct agent profile name/user name", or
"Create this agent profile when asked(available only in custom-install)",
or "Continue without validating it because agent profile is in sub realm", or
"Continue without validating/creating it, and manually validate/create
it in OpenSSO server after installation".

<省略>
1. Continue with Installation
2. Back to the last interaction
3. Start Over
4. Exit
Please make your selection [1]:
<省略>
 
 

bash-3.00# /usr/local/apache2/bin/apachectl -k start
bash-3.00# ps -ef|grep http
    root  1660     1   1 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1663  1660   0 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1662  1660   0 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1665  1660   0 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1661  1660   0 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1664  1660   0 21:55:55 ?           0:00 /usr/local/apache2/bin/httpd -k start
bash-3.00# cd /usr/local/apache2/cgi-bin
bash-3.00# chmod 555 printenv
bash-3.00# vi printenv
<変更前>
#!/usr/local/bin/perl

<変更後>
#!/usr/bin/perl

以降、2号機も同様(Agent002)に設定が必要。

OpenAM管理コンソールの [アクセス制御] - [/(root)レルム] - [エージェント] タブのWebでエージェントを登録する。


 ※エージェント名など、agentadmin --installで設定したものと同じにする必要あり。

次に、OpenAM管理コンソールの [アクセス制御] - [/(root)レルム] - [エージェント] タブのWebでAgent001を選択し、[グローバル]タブの一般より "SSO のみモード" にチェックを入れる。 


 次に、OpenAM管理コンソールの [アクセス制御] - [/(root)レルム] - [エージェント] タブのWebでAgent001を選択し、[アプリケーション]タブのセッション属性処理より以下を設定する。 

 セッション属性フェッチモード:HTTP_HEADER
 セッション属性マップ:[UserToken]=username、[sunIdentityUserPassword]=password



  次に、OpenAM管理コンソールの [アクセス制御] - [/(root)レルム] - [ポリシー] タブでprintenvを設定する。


 サービスタイプ:URLポリシーエージェント
 名前:printenv
 リソース名:http://sol10-agent-openig1.openam.net/cgi-bin/printenv
 アクション:GET(許可)、POST(許可)

 
 対象:認証済みユーザ

 



  次に、OpenAM管理コンソールの [アクセス制御] - [/(root)レルム] - [認証] タブで「すべてのコア設定」を押下し、認証ポストプロセスクラスでcom.sun.identity.authentication.spi.ReplayPasswdを設定する。



以下のとおり、DES暗号化の鍵を生成する。

bash-3.00# java -classpath /usr/local/apache-tomcat-6.0.35/webapps/openam/WEB-INF/lib/forgerock-util-1.1.0.jar:/usr/local/apache-tomcat-6.0.35/webapps/openam/WEB-INF/lib/openam-core-11.0.0.jar:/usr/local/apache-tomcat-6.0.35/webapps/openam/WEB-INF/lib/openam-shared-11.0.0.jar com.sun.identity.common.DESGenKey
Key ==> FaslPmFi96Q=

 次に、OpenAM管理コンソールの [設定] - [サーバーおよびサイト] - [サーバー名(http://sol10-openam-core.openam.net:8080/openam)] - [高度] タブに以下を追加。

プロパティ名:com.sun.am.replaypasswd.key
プロパティ値:FaslPmFi96Q=


apacheを再起動する。

bash-3.00# /usr/local/apache2/bin/apachectl -k stop
bash-3.00# /usr/local/apache2/bin/apachectl -k start
bash-3.00# ps -ef|grep http
webservd  1806  1805   0 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start
    root  1805     1   1 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1808  1805   0 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1807  1805   0 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1809  1805   0 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start
webservd  1810  1805   0 22:52:10 ?           0:00 /usr/local/apache2/bin/httpd -k start

http://sol10-agent-openig1.openam.net:80/cgi-bin/printenv またはhttp://sol10-agent-openig2.openam.net:80/cgi-bin/printenv にアクセスして、demo/changeitで認証する。HTTP_USERNAME、HTTP_PASSWORDが表示されることを確認する。








0 件のコメント:

コメントを投稿