Как установить OpenSC на брандмауэр IPFire
На этой странице
- Настройка среды
- Дополнения в тестовой оболочке IPFire
- Компиляция надстроек IPFire
- Установка пакетов pakfire
Эта статья является продолжением нашей предыдущей работы по межсетевому экрану IPFire. В этом руководстве поддержка аппаратных токенов (например, смарт-карт) и их считывателей (соответствие CCID) интегрирована с проектом IPFire. Следующие инструменты успешно скомпилированы для версии IPFire 2.19.
- PCSC (Демон смарт-карт PC/SC)
- CCID (устройства интерфейса чипов и смарт-карт) (бесплатные драйверы)
- OpenSC (инструменты и библиотеки для смарт-карт с открытым исходным кодом)
Демон смарт-карт PC/SC используется для доступа к смарт-картам на платформе Linux с использованием CCID или проприетарных драйверов. Для доступа к смарт-картам требуется программа-драйвер для устройства чтения смарт-карт CCID. Пакет CCID содержит драйверы для различных устройств чтения смарт-карт для среды Linux/Unix. Доступ к смарт-картам (PKCS#11 API) и управление (файловая структура PKCS#15) поддерживаются проектом OpenSC, который состоит из нескольких инструментов и библиотек с открытым исходным кодом. Аппаратные токены, такие как смарт-карты, можно использовать для следующих целей.
- Безопасный веб-вход
- Вход на рабочую станцию
- Шифрование файлов
- VPN (OpenVPN, L2TP)
- Шифрование электронной почты
Ниже приведены несколько поставщиков смарт-карт, поддерживаемых OpenSC.
- АСЕПКОС
- FTCOSPK01C
- Карта OpenPGP
- Киберфлекс
- Карты
- СТАРКОС
Настройка среды
Подробное объяснение настройки среды разработки было дано в предыдущей статье.
Аддоны в тестовой оболочке IPFire
Рекомендуется установить надстройки IPFire в тестовой оболочке (аналогично терминалу Linux), которая вызывается с помощью следующей команды в корневом каталоге.
./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 помещается в каталог кеша.
На следующем снимке экрана показана ошибка, сгенерированная сценарием ./configure пакета CCID.
Ошибка показывает, что pcsc-lite не найден скриптом configure. Поэтому установите PCSC_CFLAGS с помощью сценария настройки, как показано ниже.
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Однако сценарий генерирует еще одну ошибку, поскольку файл libpcsclite.pc не найден в пути pkg-config на IPFire LFS.
Поэтому сначала экспортируйте PKG_CONFIG_PATH и снова запустите команду скрипта configure.
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.
На следующем снимке экрана показан инструмент OpenSC в каталоге /usr/src/cache.
Запустите скрипт configure, чтобы проверить зависимости пакета.
Вывод скрипта configure показан на следующих снимках.
Запустите команды ./make и ./make install для установки OpenSC в тестовой среде.
На следующем снимке экрана показано, что инструмент OpenSC был успешно установлен в тестовой оболочке IPFire.
После установки необходимых инструментов в оболочке LFS IPFire следующим шагом будет сборка дополнения в формате менеджера пакетов 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 для вышеперечисленных дополнений показаны ниже.
ПКС-лайт
ccid
opensc
Изменения в файле сценария сборки (make.sh) показаны ниже.
Выполните следующие команды для сборки пакетов.
ipfiremake pcsc-lite
ipfiremake ccid
ipfiremake opensc
Для компиляции новых дополнений необходимо выполнить следующую команду два раза.
./make.sh build
На следующем скриншоте видно, что lfs-скрипты новых дополнений компилируются без ошибок.
На следующем снимке экрана показан вывод первой команды сборки. Корневые файлы для всех трех пакетов не найдены в процессе сборки.
Три корневых файла для новых надстроек находятся внутри каталога журнала с тем же именем пакета/файла, как показано ниже.
На следующем снимке экрана показано, что корневые файлы новых надстроек копируются в путь 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 корневой файл
корневой файл opensc
Используйте следующую команду 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, которая используется процедурами установки, удаления и обновления в новых надстройках.
Создайте каталоги (такие же, как lfs пакетов) для всех новых дополнений внутри пути src/paks и скопируйте скрипты install.sh, uninstall.sh и update.sh из src/paks/default/ в 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) были созданы внутри каталога пакетов.
Установка пакетов пакфайр
Как показано ниже, скомпилированные пакеты копируются в уже установленную систему IPFire внутри каталога /opt/pakfire/tmp.
На следующем снимке экрана показано, что пакеты копируются в систему 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 с открытым исходным кодом.