システム構築

構築事例:Nginxを利用したクライアント認証サーバ導入

Open Smart Design

すでに構築していたWeb会議システムのRocket.Chatにアクセスする際、クライアント証明書認証をしたいとのご要望でした。そこで、デージーネットでは、クライアント認証サーバにNginxを提案いたしました。

お客様が悩まれていた課題
Rocket.Chatサーバのアクセス制御ができていない
クライアント証明書認証ができていない
+導入企業プロフィール
導入企業業種

情報・通信

ユーザー規模

およそ8000人 以上

利用OS

Red Hat Enterprise 7

導入月

2020年7月

デージーネットが提案した「Nginxを利用したクライアント認証サーバ導入」

アイコン男性

解決ポイント

クライアント認証サーバにNginxを利用

Nginxとは

Nginxとは、オープンソースソフトウェアの高速Webサーバソフトウェアで、大容量のデータ配信や大量同時接続に耐えることを目的に開発されています。Linux(CentOS)やFreeBSD、Windows、macOSのOSをサポートしています。また、クライアント証明書認証を実現することができます。Webサーバには、代表格であるApacheがありますが、Apacheの問題点である「C10K問題」にも対応しています。C10K問題(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のことです。Apacheの採用している設計方式だと約10,000台の同時接続には耐えることができません。Nginxは大量の同時リクエストを処理することを前提に開発されたWebサーバであり、この問題を解決するためにApacheとは異なる設計の方法を採用しています。

またリバースプロキシとして利用することができます。Nginxが静的コンテンツをキャッシュしておくことで、バックエンドのWebサーバやアプリケーションサーバの負荷を減らすことに繋がります。ロードバランサとしても動作することができるため、大量アクセスの負荷分散をさせることもできます。

今回、お客様がRocket.Chatのアクセス制御をご希望でした。上記の点とRocket.Chat公式ドキュメントにNginxを紹介している点を含めNginxをインストール(install)しました。

Nginxを利用したクライアント認証サーバ

クライアントのIPアドレスによる処理の切り分け

お客様のサーバーでは、デフォルトでRocket.ChatにアクセスするクライアントのIPアドレスによって指定した2つのグループにわかれるように設定をおこなっていました。新たにRocket.Chat用の設定ファイルを作成し、そこにリバースプロキシの設定を記載し実行しました。2つのグループを別々のポートにアクセスを振り分けるように配置し、Nginxを2つのポートで受け付け、Nginxで振り分けられたポートによって異なる処理を行うように追加で設定を行いました。Rocket.Chatには、複数のポートにアクセスするようにしました。

クライアント証明書による認証

クライアント証明書とは、電子証明書の一種でクライアントやユーザを認証し発行されます。今回、2つのクライアントのうち1つの外部からのグループにはクライアント証明認証行うように設定をしました。また、証明書による認証では、有効期限よりも前に失効させたデジタル証明書を表示している証明書失効リスト(CRL)を確認する必要があります。随時変更される証明書失効リスト(CRL)ファイルを何度も確認しに行くことは管理の手間になります。そこで、定期的に取得・反映するため、グループ外接続用ポートのserverの設定には、ssl_client_certificateやssl_crlをコマンドで設定して、クライアント証明書認証の設定とスケジュールを組んで自動的に失効リストを参照できるようにしました。

導入後の結果

アイコン女性

Rocket.Chatのみでも、基本的なチャットの機能を使用することはできていましたが、Nginxを導入したことで、Rocket.Chatへアクセスする際にアクセスするポートごとに異なる処理を実施することが可能になりました。また随時変更されるCRLにも自動で対応することができ管理が簡単になりました。現在も大きなエラーもなく稼働しています。

【共催セミナー】研修管理・運用の負担を軽減 学習管理システム(LMS)紹介セミナー

日程: 5月23日(木)Webセミナー「BigBlueButton」を使用します。
内容: 社内研修の課題を解決できる学習管理システム(LMS)について紹介します。
ご興味のあるかたはぜひご参加ください。

セミナー申込

Nginxを利用したクライアント認証サーバ導入の関連ページ

認証サーバ構築の事例一覧

デージーネットの構築サービスの流れ

デージーネットの構築サービス(Open Smart Design)では、OSSを安心して使っていただくために、独自の導入ステップを採用しています。詳しい情報は以下のリンクからご覧ください。


詳細情報ボタン

サービスの流れイメージ

様々な事例を集めたモデルプラン(費用例付き)をお送りしています。

代表的な事例を集めた「モデルプラン」をお送りしています。費用の例も記載しておりますので、価格感も知って頂ける資料となっております。
ご希望の方は、下記よりお申し込みください。


モデルプランをご希望の方

モデルプラン資料イメージ

各種費用についてのお問い合わせ

コンサルティング費用、設計費用、構築費用、運用費用、保守費用など、各種費用についてのお見積もりは以下のフォームよりお気軽にお問合せ下さい。


unboundやPowerDNSを使用したDNSサーバのモデルプランをご希望の方

全国対応イメージ

Nginxを利用したクライアント認証サーバ導入の先頭へ