こんにちは。セシオスサポートチームです。
イントラネットの中に存在するWebアプリに対してMicrosoft365やGoogle Workspaceなどと同様にSSOができないか、とお考えの方に弊社から提供しているソフトウェア「Secioss Identity Suite Cloud Edition SP」(以降IDSuiteSPと略します)をご紹介したいと思います。
ID Suite SP は、SeciossLinkとSAML未対応のシステムとの間でシングルサインオンやID同期を行うためのソフトウェアです。
SAML通信におけるService Providerとして動作し、SeciossLinkとSAML認証によるシングルサインオンを行うソフトウェアです。イントラシステムにはIdentity Suite Cloud SPから代理認証機能により認証情報を引き渡します。
また ID Suite SP のダウンロード方法については弊社までお問い合わせください。
それでは早速、ID Suite SP を使ってイントラネットのウェブアプリに対してSSO環境を構築してみたいと思いますが、まずはサンプルウェブアプリの構築から行います。
ユーザーは外部ネットワークからイントラネットに存在する、認証が必要なWebアプリケーションを利用します。
正直なところリバプロを使って社内アプリを利用するだけなら、IDSuiteSPを利用する価値は低く作り込みでなんとかなります。
が、IDSuiteSPを利用することによって、社内アプリをMicrosoft365やGoogle Workspaceなどのクラウドサービスと同じシングルサインオンの輪の中に入れることができます。
また、SeciossLinkの機能によって、認証時にFIDOによる指紋認証、ワンタイムトークンパスワードによる認証など、多要素認証を使って社内アプリを利用させることができるようになります。
yum install httpd java-1.8.0-openjdk-devel -y |
Tomcat の8.5をインストールします。
curl -OL http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-8/v8.5.53/bin/apache-tomcat-8.5.53.tar.gz |
LoginServlet という簡単なログインアプリを作りました。
ログインページとログイン処理を行うかなり適当なアプリです。
以下のURLよりダウンロードし、scpなどで対象のサーバーへ転送してください。
https://drive.google.com/open?id=1AomUmLcy3av8_3jJfh83AXzORz8T2kW4 |
tomcatにデプロイします。
ダウンロードしたwarファイルを解答したtomcatのwebappsディレクトリ配下において下さい。
cp ./LoginServlet.war ./apache-tomcat-8.5.53/webapps/ |
ajpコネクタ有効化
tomcatにはajpというプロトコルによる通信ができます。
ajpを用いることでtomcatのようなwebコンテナの前段にapacheやnginxを置くことができます。
vi ~/apache-tomcat-8.5.53/conf/server.xml |
編集内容ですが、ajpコネクタ機能は標準でコメントアウトされているので、
下記に示す記述を探してコメントインして下さい。
また、いつのバージョンからか「secretRequired」というオプションが
必須設定になっており、各所で問題になっているので今回はfalseにします。
|
参照:
Apache Tomcat 8 - Security Considerations
それではtomcatの前に置くapache の設定を行っていきます。
apacheモジュール確認
cat /etc/httpd/conf.modules.d/00-proxy.conf |
LoadModule proxy_module modules/mod_proxy.so |
tomcatと連携する設定を書きます。
vi /etc/httpd/conf.d/tomcat.conf |
ProxyPass /LoginServlet/ ajp://localhost:8009/LoginServlet/ |
穴あけ
ポートを開けます。
firewall-cmd --add-port=80/tcp --zone=public --permanent |
それでは立ち上げて見ましょう。
systemctl start httpd |
ログを確認してみると、デプロイしている様子がわかります。
標準設定の場合warファイルのデプロイを勝手にやってくれます。楽ちんですね。
ログを確認してみます。
less ./apache-tomcat-8.5.53/logs/catalina.out |
デプロイを行っている場合には以下の様なログが出ます。
情報 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Webアプリケーションアーカイブ [/root/apache-tomcat-8.5.53/webapps/LoginServlet.war] を配備します |
起動したら、下記URLでアクセスします。
https://対象サーバー/LoginServlet |
こんな画面が出たら、構築完了です。
ちなみにログインできるアカウントはソースにベタ書きです。
ID:admin
PASS:admin
お疲れさまでした。
ただのtomcat記事になってしまいましたが、
次回からは実際にIDSuiteSPを構築して、
seciosslinkからリバプロを経由してWEBサービスへログインを行ってみたいと思います。
今後共セシオスリンクをよろしくお願いいたします。
以上、セシオスサポートチームでした。