この記事は、IPFireファイアウォールに関するこれまでの作業の続きです。このチュートリアルでは、ハードウェアトークン(スマートカードなど)とそのリーダー(CCID準拠)のサポートがIPFireプロジェクトに統合されています。次のツールは、IPFire2.19バージョン用に正常にコンパイルされています。
- PCSC(PC / SCスマートカードデーモン)
- CCID(チップ/スマートカードインターフェイスデバイス)(無料のソフトウェアドライバー)
- OpenSC(オープンソースのスマートカードツールとライブラリ)
PC / SCスマートカードデーモンは、CCIDまたは独自のドライバーを使用してLinuxプラットフォーム上のスマートカードにアクセスするために使用されます。スマートカードにアクセスするには、CCIDスマートカードリーダーのドライバプログラムが必要です。 CCIDパッケージには、Linux/Unix環境用のさまざまなスマートカードリーダー用のドライバーが含まれています。スマートカードアクセス(PKCS#11 API)と管理(PKCS#15ファイル構造)は、いくつかのオープンソースツールとライブラリで構成されるOpenSCプロジェクトによってサポートされています。スマートカードなどのハードウェアトークンは、次の目的で使用できます
- 安全なWebログイン
- ワークステーションログイン
- ファイル暗号化
- VPN(OpenVPN、L2TP)
- メール暗号化
OpenSCでサポートされているスマートカードベンダーのいくつかを以下に示します。
- ASEPCOS
- FTCOSPK01C
- OpenPGPカード
- サイバーフレックス
- CardOs
- STARCOS
開発環境のセットアップについては、前回の記事で詳しく説明しました。
IPFireのテストシェルのアドオン
ルートディレクトリで次のコマンドを使用して呼び出されるテストシェル(Linuxターミナルと同様)にIPFireアドオンをインストールすることをお勧めします。
./make shell
IPFireビルド環境のソースパッケージは、 / usr / src / cache内に配置されます。 ディレクトリ。このチュートリアルに必要なすべてのパッケージは、すでにキャッシュに配置されています。 ディレクトリ。
pcsc-liteパッケージのソースは、次のスナップショットに示されています。
pcsc-liteツールのコンパイルを開始する前に、次のコマンドを使用して必要なlibudev-devライブラリをインストールすることをお勧めします
apt-get install libudev-dev
次に、次のコマンドを使用してソースパッケージを抽出し、以下に示すように./configureスクリプトを実行します。
tar -xf pcsc-lite-1.8.18.tar.bz2
以下に示すように、configureコマンドによってエラーは生成されません。
ここで、 ./ makeを実行するだけです。 および./make install テスト環境にpcscdデーモンをインストールするコマンド。
pcsc-liteパッケージのインストールが成功すると、CCIDパッケージのコンパイルに使用される重要なパスがいくつか示されます。
次のスクリーンショットは、pcscdがテスト環境のIPFireで実行されていることを示しています。
スマートカードに必要な次のパッケージは、CCIDドライバーパッケージです。以下に示すように、CCIDパッケージはキャッシュディレクトリに配置されます。
次のスクリーンショットは、CCIDパッケージの./configureスクリプトによって生成されたエラーを示しています。
このエラーは、configureスクリプトでpcsc-liteが見つからないことを示しています。したがって、 PCSC_CFLAGSを設定します 以下に示すようにconfigureスクリプトを使用します。
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
ただし、IPFire LFSのpkg-configパスにlibpcsclite.pcが見つからないため、スクリプトによって別のエラーが生成されます。
したがって、最初に PKG_CONFIG_PATHをエクスポートします もう一度configurescriptコマンドを実行します。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
configureスクリプト実行の正常な出力を以下に示します。これは、PCSCの必要なファイルがスクリプトによって検出されたことを示しています。
./ makeを実行します & ./ make install CCIDドライバのインストールを完了するためのコマンド。
スマートカードリーダーのudevルールを/etc / udev / rulesにコピーします 以下に示すディレクトリ。
92_pcscd_ccid.rulesをコピーしています / etc / udev / rulesのファイル ディレクトリ。
次のスクリーンショットは、 / usr / src / cacheにあるOpenSCツールを示しています。 ディレクトリ。
configureスクリプトを実行して、パッケージの依存関係を確認します。
configureスクリプトの出力は、次のスナップショットに示されています。
テスト環境でOpenSCインストールの./makeコマンドと./makeinstallコマンドを実行します。
次のスクリーンショットは、OpenSCツールがIPFireのテストシェルに正常にインストールされたことを示しています。
IPFireのLFSシェルに必要なツールをインストールしたら、次のステップは、IPFireパッケージマネージャー形式(pakfire)でアドオンをビルドすることです。
IPFireアドオンのコンパイル
IPFire環境のアドオン構築に関する詳細な手順は、前の記事の「PSADアドオンの構築」セクションですでに説明されています。
- lfsスクリプトとも呼ばれるコンパイルスクリプトはlfsで作成されます IPFireセットアップのディレクトリ。
- 新しいアドオンの変更は、 make.shで行う必要があります 脚本。
LFSスクリプトは、pcsc-lite-1.8.18、ccid-1.4.24、およびopensc-0.16.0パッケージ用に作成されています。パッケージのすべてのlfsスクリプトをダウンロードし、 lfs内に配置します ipfire-2.xのディレクトリ。
上記のアドオンのLFSスクリプトを以下に示します。
pcsc-lite
ccid
opensc
ビルドスクリプトの変更( make.sh )ファイルを以下に示します。
次のコマンドを実行してパッケージをビルドします。
ipfiremake pcsc-lite
ipfiremake ccid
ipfiremake opensc
新しいアドオンをコンパイルするには、次のコマンドを2回実行する必要があります。
./make.sh build
次のスクリーンショットは、新しいアドオンのlfsスクリプトがエラーなしでコンパイルされていることを示しています。
次のスクリーンショットは、最初のビルドコマンドの出力を示しています。 ルートファイル このビルドプロセスでは、3つのパッケージすべてが見つかりません。
3つのルートファイル 新しいアドオンはログ内にあります 以下に示すのと同じパッケージ/ファイル名のディレクトリ。
次のスクリーンショットは、新しいアドオンのルートファイルが config / rootfiles / packages
にコピーされていることを示しています。 コード> 道。コピーしたルートファイルの名前をlfsと一致するように変更します 新しいアドオンの名前。 (lfsディレクトリに配置)
cp log/pcsc-lite-1.8.18 config/rootfiles/packages/pcsc-lite
cp log/ccid-1.4.24 config/rootfiles/packages/ccid
cp log/opensc-0.16.0 config/rootfiles/packages/opensc
コード> 新しいアドオンのルートファイルには「+」が含まれています "ビルドコマンドを実行する前に削除する必要がある記号。
pcsc-liteルートファイル
ccidルートファイル
openscrootfile
次のsedを使用します 「+」を削除するコマンド "新しいパッケージのルートファイルから署名します。
sed -i 's/+//g' config/rootfiles/packages/pcsc-lite
sed -i 's/+//g' config/rootfiles/packages/ccid
sed -i 's/+//g' config/rootfiles/packages/opensc
次のスクリーンショットは、プラス記号がルートファイルから削除されたことを示しています。
PakFireは、新しいアドオンのインストール、アンインストール、および更新ルーチンで使用されるIPFireのパッケージ管理システムです。
src / paks 内のすべての新しいアドオンのディレクトリ(パッケージのlfsと同じ)を作成します src / paks / default / からinstall.sh、uninstall.sh、update.shスクリプトをパスしてコピーします。 src / paks / pcsc-lite、src / paks / ccid、src / paks / openscに 。
ビルドコマンドを再度実行して、ビルドプロセスを完了します。
./make.sh build
今回は、構成でルートファイルを既に更新しているため、すべての新しいアドオンのルートファイルが見つからないというメッセージは無視してください。 ディレクトリ。
最後に、次のスクリーンショットは、新しいアドオン( pcsc-lite-1.8.18-2.ipfire、ccid-1.4.24-2.ipfire、opensc-0.16.0-2.ipfire )パッケージ内に作成されています ディレクトリ。
pakfireパッケージのインストール
以下に示すように、コンパイルされたパッケージは、 / opt / pakfire / tmp内にすでにインストールされているIPFireシステムにコピーされます。 ディレクトリ。
次のスクリーンショットは、パッケージがIPFireシステムにコピーされていることを示しています。
次のコマンドを使用してIPFireにインストールすると、新しいアドオンが抽出されます。
tar -xvf pcsc-lite-1.8.18-2.ipfire
tar -xvf ccid-1.4.24-2.ipfire
tar -xvf opensc-0.16.0-2.ipfire
新しいアドオンのインストールは、 ./ install.shを使用した次のスクリーンショットに示されています。 スクリプト。
pcsc-liteの正常なインストールは、次のスナップショットに示されています。
次の図は、CCIDスマートカードドライバのインストールを示しています。
以下に示すように、openSCツールは、IPFireシステムでスマートカードを管理するために最終的にインストールされます。
このチュートリアルでは、IPFireの開発システムに新しいアドオンが組み込まれています。これらの新しいアドオンは、スマートカードとそのリーダーをオープンソースのIPFireプロジェクトと統合するために使用されます。