Поиск по сайту:

Как установить OpenSC на брандмауэр IPFire


На этой странице

  1. Настройка среды
  2. Дополнения в тестовой оболочке IPFire
  3. Компиляция надстроек IPFire
  4. Установка пакетов 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 с открытым исходным кодом.