ThinstationでのUSBドングルのサポート

Thinstationに基づくシンクライアントでの端末アクセスに2要素認証を使用する問題に戸惑い、少し驚いた。 現在、Thinstationのアセンブリまたはコンストラクターは、eToken、RuToken、iKeyなどのUSB電子キーをサポートしていません。 Thinstationディストリビューションは非常に人気があり、HPシンクライアントの標準ソフトウェアの代わりに使用されるという事実にもかかわらず、eToken認証ツールは他社のソリューションよりもソビエト後の空間でより広く使用されていますが、Thinstationは電子USBをサポートしていないという事実が残っていますキー。



そして、このギャップを埋めるために、実用的なソリューションを探すのに多くの時間を費やす必要がありました。 実は、私は彼を連れてきました。



ThinstationのRDPを介した端末アクセスに2要素認証を使用するには、RDPクライアント、スマートカード(電子キー)で動作するアプリケーション、およびスマートカードドライバーの3つのコンポーネントが必要です。 最初の2つのコンポーネント(rdesktopおよびpcsc)は最初はThinstationコンストラクターに存在しますが、rdesktopがスマートカードをサポートし、pcscバージョンが1.5.5以上であることを確認する場合を除き、それらに焦点を合わせません。 3番目のコンポーネント、ドライバー、およびpcscのリンクは、OpenCTパッケージです。 OpenCTは、比較的多数のUSBリーダーとトークンをサポートし、最も重要なこととして、rdesktopで正しく動作します。 それで、私たちは彼にもっと注意を払います。



電子USBキーをサポートするThinstation配布キットの組み立て手順は次のとおりです。ソースからOpenCTを収集し、Thinstationのパッケージを作成し、構成ファイルを編集し、Thinstationイメージを組み立てます。



OpenCTをビルドする


アセンブリはUbuntu上で行われ、それに応じてこのLinuxディストリビューション用のコマンドが提供されます。他のバージョンのLinuxではコマンドは異なります



最初に、アセンブリに必要なパッケージをインストールします。

$ sudo apt-get install libhal1 libltdl7 dpkg-dev build-essential fakeroot



ソースからOpenCTを収集するフォルダーをホームディレクトリに作成します。

$ mkdir〜/ openct

$ mkdir〜/ openct /ビルド

$ cd〜/ openct /ビルド



ソースをダウンロードし、パッケージをコンパイルするための依存関係をインストールします

$ sudo apt-get source openct

$ sudo apt-get build-dep openct



開梱:

$ sudo dpkg-source -x openct_0.6.20-1.1.dsc



必要なオプション-enable-pcscおよびenable-usbを使用してOpenCTパッケージをコンパイルします。

$ cd openct-0.6.20

$ sudo DEB_BUILD_OPTIONS = "-enable-pcsc --enable-usb" fakeroot debian /ルールバイナリ

$ cd ...



Thinstation用のパッケージを作成する


Openctの準備ができました。Thinstationのパッケージ構造を作成します

$ mkdir〜/ openct / packages

$ mkdir〜/ openct / packages / openct

$ mkdir〜/ openct / packages / openct / bin

$ mkdir〜/ openct / packages / openct / etc

$ mkdir〜/ openct / packages / openct / etc / udev /

$ mkdir〜/ openct / packages / openct / etc / udev / scripts

$ mkdir〜/ openct / packages / openct / lib

$ mkdir〜/ openct / packages / openct / usr

$ mkdir〜/ openct / packages / openct / usr / sbin

$ mkdir〜/ openct / packages / openct / var

$ mkdir〜/ openct / packages / openct / var / run

$ mkdir〜/ openct / packages / openct / var / run / openct



必要なファイルをコピーします

$ cp〜/ openct / build / openct-0.6.20 / debian / openct / usr / bin / openct-tool〜/ openct / packages / openct / bin / openct-tool

$ cp〜/ openct / build / openct-0.6.20 / debian / openct / usr / sbin / openct-control〜/ openct / packages / openct / bin / openct-control

$ cp〜/ openct / build / openct-0.6.20 / debian / openct / usr / sbin / if *〜/ openct / packages / openct / usr / sbin /



$ cp -r〜/ openct / build / openct-0.6.20 / debian / openct / usr / lib /〜/ openct / packages / openct /

$ cp -r〜/ openct / build / openct-0.6.20 / debian / openct / lib / udev / rules.d〜/ openct / packages / openct / etc / udev

$ cp〜/ openct / build / openct-0.6.20 / debian / openct / lib / udev / openct *〜/ openct / packages / openct / etc / udev / scripts

$ cp〜/ openct / build / openct-0.6.20 / debian / openct / etc / openct.conf〜/ openct / packages / openct / etc / openct.conf

$ cp -r〜/ openct / build / openct-0.6.20 / debian / libopenct1 / usr / lib / *〜/ openct / packages / openct / lib



$ cp -r / lib / libdbus *〜/ openct / packages / openct / lib

$ cp -r /usr/lib/libhal.so*〜/ openct / packages / openct / lib

$ cp -r /usr/lib/libltdl.so*〜/ openct / packages / openct / lib



構成ファイルを編集する


udevルールはすでに存在しますが、調整する必要があります

$ nano〜/ openct / packages / openct / etc / udev / rules.d / 60-openct.rules



行の後

ACTION!=「追加」、GOTO =「openct_usb_rules_end」を追加する必要があります。



サブシステム== "usb"、アクション== "add"、ENV {DEVTYPE} == "usb_device"、\

NAME = "bus / usb / $ env {BUSNUM} / $ env {DEVNUM}"、MODE = "0644"



また、必要な電子キーに関連するルールがコメント化されていないこと、実行されたスクリプトへのパスが正しいことを確認してください。 Thinstationでは、/ etc / udev / scriptsにあります



Openct_usbファイルは、より「深刻な」変更を受けます

$ nano〜/ openct / packages / openct / etc / udev / scripts / openct_usb

私たちはすべてを取り出して処方します:

#!/ bin / sh

/ bin / openct-control shutdown

/ bin / openct-control init

出口0



openct.confを調べる必要はありません。電子キーの必要なドライバーがロードされていることを確認してください。

$ nano〜/ openct / packages / openct / etc / openct.conf



pcscdのThinstationにopenctパッケージの依存関係を作成します。

$ echo 'pcscd' | cat>〜/ openct / packages / openct /依存関係



Thinstationイメージを構築する


パッケージを含むフォルダーに作成されたopenctパッケージ:

$ cp -r〜/ openct / packages / openct〜/ Thinstation-2.2.2 /パッケージ



Thinstation配布キットのアセンブリにopenctパッケージを含める必要があることを設計者に通知します。

$ nano〜/ Thinstation-2.2.2 / build.conf



パッケージopenct



シンクライアントのイメージの収集

$ cd〜/ Thinstation-2.2.2

$ sudo ./build



画像の準備ができました。 ブートし、トークンを接続し、コンソールでコマンドpcscd_scanおよび/またはopensc-tool –lで確認します



画像



すべてが順調であれば、サーバーへの接続オプションで–r scardを指定することを忘れずに、ターミナルサーバーに接続します。



All Articles