Установка WiKID Strong Authentication Server — Community Edition
WiKID — это серверная реализация двухфакторной аутентификации (2FA) с разделением секретов: PIN шифруется на токене, сервер проверяет и возвращает одноразовый пароль. В этой инструкции описаны пошаговые требования и команды для установки Community Edition на RPM‑совместимый сервер, типичные проблемы и контрольные проверки после запуска.
Введение
WiKID Strong Authentication Server — это решение для двухфакторной аутентификации с клиентским шифрованием PIN и генерацией одноразовых паролей (OTP). Сервер может интегрироваться с различными сервисами (SSH, OpenVPN, Apache, SSL‑VPN и т.д.). Эта инструкция фокусируется на развертывании самого сервера (Community Edition) на RPM‑базированном хосте.
Краткое определение: 2FA — метод доступа, при котором пользователь доказывает свою личность с помощью двух независимых факторов (что‑то, что он знает — PIN, и что‑то, что он имеет — программный/аппаратный токен).
Важно: для минимизации рисков лучше выделить отдельную физическую или виртуальную машину под WiKID и не запускать лишние сервисы на ней.
Основные требования и подготовка
- RPM‑совместимая ОС (RHEL/CentOS/Fedora и т.п.).
- Доступ root или права sudo.
- Подключение к интернету для загрузки RPM и JDK.
- Доступный маршрутизируемый IP (токены связываются с сервером по порту 80).
Рекомендуемые пакеты и зависимости (будут подробно ниже): Postgresql, JDK 1.5 (требуется именно указанная ветка для старых версий WiKID), compat‑libstdc++‑296, perl‑libwww‑perl, ntp, system‑config‑date.
Важно: некоторые версии WiKID требуют устаревшую версию Java (JDK 1.5). Если это невозможно из соображений безопасности, рассмотрите изоляцию сервера и экспериментальную среду или поиск обновлённой сборки WiKID.
Шаг 1 — Установка PostgreSQL и основных библиотек
Выполните от root:
su -c yum install postgresql postgresql-libs postgresql-jdbc postgresql-server postgresql-plПроверка: после установки выполните инициализацию и запустите PostgreSQL в соответствии с вашей дистрибуцией (например, postgresql‑setup initdb и systemctl start postgresql).
Шаг 2 — Установка JDK и создание симлинка
WiKID Community 3.x указывает на необходимость JDK 1.5. Скачайте RPM из архива поставщика (Sun/Oracle) или из локального репозитория. Затем создайте симлинк в /opt для однородности путей:
ln -s /usr/java/jdk1.x.x/ /opt/javaВажно: поддержка Java 1.5 давно прекращена — используйте изолированную сеть и контролируйте доступ к серверу.
Шаг 3 — Дополнительные зависимости
Репликация/компоненты могут потребовать совместимости со старой библиотекой stdc++:
yum install compat-libstdc++-296WiKID RPM‑пакеты также зависят от perl‑libwww‑perl, ntp и system‑config‑date:
# yum install ntp system-config-date perl-libwww-perlЗапустите и синхронизируйте время:
systemctl enable ntpd
systemctl start ntpdНаличие корректного времени критично для проверки одноразовых паролей.
Шаг 4 — Установка WiKID RPM’ов
Скачайте необходимые RPM с SourceForge или из официального репозитория WiKID: требуется как минимум wikid-server-community-3.0.0beta и wikid-utility. Затем установите их командой:
su -c rpm -ivh wikid-*Если RPM заявляет о нехватке зависимостей, установите недостающие пакеты или включите соответствующие репозитории.
Шаг 5 — Первичная конфигурация и запуск скриптов первой загрузки
Настройте систему WiKID:
# /opt/WiKID/sbin/wikidserver_config.shПерезагрузите систему или выполните скрипт первого запуска:
#/opt/WiKID/conf/templates/wikid-firstboot.shЗапустите мастер настройки сервера WiKID:
/opt/WiKID/bin/wikidctl setupМастер использует текущие сетевые настройки, проводит через процесс и создаёт SSL‑сертификат для сервера. После успешной настройки запустите сервер:
/opt/WiKID/bin/wikidctl startПримечание: при работе вы можете столкнуться с ошибкой «Illegal Key Size» — потребуется установить JCE Unlimited Strength Jurisdiction Policy Files для вашей версии Java.
Администрирование через веб‑интерфейс
Основной интерфейс — HTML 3.2‑совместимый веб‑браузер. С сервера или любого сетевого клиента откройте:
http://servername.domain.com/WiKIDAdmin/Подставьте FQDN вашего хоста вместо servername.domain.com. Учтите, что часть URL WiKIDAdmin чувствительна к регистру.
Пример начального экрана и статусной панели показаны на рисунках ниже.

Figure 1 - Initial login screen
Данные доступа по умолчанию:
Username: WiKIDAdmin (mixed-case)
Password: 2Factor (mixed-case)После входа вы попадёте на главный экран статуса системы:

Figure 2 -Main Status Summary Screen
Что означают поля статуса
- Registered Devices — количество устройств, полностью зарегистрированных и готовых к аутентификации.
- Unregistered Devices — частично зарегистрированные устройства; автоматически удаляются через 1 час (параметр RegCodeTTL).
- Served Domains — число доменов (server codes), обслуживаемых сервером.
- Network Clients — число систем, использующих сервер (RADIUS и другие протоколы, например wAuth).
- Protocols Enabled — число активных модулей протоколов на сервере.
Мы будем возвращаться к этим метрикам при проверке работоспособности после каждого шага.
Критерии приёмки
- Веб‑интерфейс доступен по HTTP и показывает главный экран статуса.
- Процесс PostgreSQL работает и база WiKID подключена.
- Успешная регистрация тестового токена и первичная аутентификация с выдачей OTP.
- Логи сервера не содержат критических ошибок при старте (см. /opt/WiKID/log и системные журналы).
Проверка и тестовые сценарии
- Тест 1: Запуск сервера — /opt/WiKID/bin/wikidctl start должен завершиться без ошибок.
- Тест 2: Открыть http://FQDN/WiKIDAdmin/ и войти под WiKIDAdmin/2Factor.
- Тест 3: Зарегистрировать тестовый токен и выполнить аутентификацию к пробному сервису (например, SSH через RADIUS).
- Тест 4: Изменить RegCodeTTL и посмотреть, что неполные регистрации удаляются через заданное время.
Отладка (Troubleshooting)
- Если веб‑интерфейс недоступен: проверьте, слушает ли процесс WiKID порт 80, используйте
ss -tlnpилиnetstat -tlnp. - Если возникает ошибка бд: проверьте соединение с PostgreSQL, логи /var/log/ и /opt/WiKID/log.
- Проблемы с Java: убедитесь, что симлинк /opt/java указывает на действительный JDK и что версия соответствует требованиям RPM.
- Ошибка «Illegal Key Size» — установите JCE Unlimited Strength Policy для вашей версии Java.
Важно: при возникновении проблем воспроизведите шаги в тестовой среде и сохраняйте логи перед изменением конфигурации.
Откат (rollback)
- Остановите WiKID:
/opt/WiKID/bin/wikidctl stop. - При необходимости удалите RPM:
rpm -e wikid-server-community wikid-utility(проверьте точные имена пакетов). - Восстановите резервную копию базы данных PostgreSQL и конфигурационных файлов.
- Перезапустите сервер и убедитесь, что состояние вернулось к контрольной точке.
Совет: перед установкой сделайте снимок VM или полный бэкап сервера и базы.
Безопасность и соответствие (кратко)
- Развертывайте WiKID в защищённой сети с ограничением доступа к административному интерфейсу.
- Используйте внутренние фаерволы (iptables/nftables) для ограничения входящих подключений.
- Храните резервные копии ключей и сертификатов в защищённом хранилище.
- При работе с персональными данными учитывайте требования локального законодательства и GDPR: документируйте обработку и минимизируйте хранение персональных данных.
Когда WiKID не подходит (контрпример)
- Если политика вашей организации запрещает использование неподдерживаемых версий Java или устаревших библиотек — установка может быть неприемлема.
- Если требуется облачное, управляемое 2FA‑решение с SLA — Community Edition локального сервера может не удовлетворять требованиям.
Альтернативные подходы
- Использование более современных PAM/RADIUS 2FA‑решений (например, FreeRADIUS + Google Authenticator) для интеграции с современным стеком ПО.
- Аппаратные токены (YubiKey и т.п.) — вместо программных токенов для повышения стойкости к компрометации.
Роли и чек‑листы (кто что делает)
- Системный администратор:
- Подготовить RPM‑совместимый хост и выполнить установку зависимостей.
- Настроить сеть и DNS (FQDN).
- Включить и синхронизировать NTP.
- Администратор WiKID:
- Выполнить
/opt/WiKID/bin/wikidctl setupи старт сервера. - Настроить параметры сервера в веб‑интерфейсе и провести тестовую регистрацию устройств.
- Выполнить
- Оператор по безопасности:
- Настроить бэкапы и политику доступа к административному интерфейсу.
- Произвести аудит логов после первого запуска.
Краткий словарь
- OTP — одноразовый пароль.
- PIN — персональный идентификационный номер пользователя.
- FQDN — полное доменное имя хоста.
- RegCodeTTL — время жизни неполной регистрации устройства.
Итог и рекомендации
WiKID Community Server — функциональное решение для двухфакторной аутентификации, особенно если нужна интеграция с существующей инфраструктурой RADIUS/wAuth. Установка требует внимания к версиям Java и системным зависимостям; рекомендуется сначала протестировать в изолированной среде, обеспечить бэкапы и минимизировать набор сервисов на сервере.
Ключевые шаги для успешной установки:
- Подготовьте RPM‑хост и установите PostgreSQL и зависимости.
- Установите корректную версию JDK и создайте /opt/java симлинк.
- Установите RPM‑пакеты WiKID и выполните
/opt/WiKID/bin/wikidctl setup. - Проверьте веб‑интерфейс и выполните тестовую регистрацию/аутентификацию.
Важно: при возможных ограничениях на старые версии ПО рассмотрите альтернативы или изоляцию сервера.
Короткое объявление (100–200 слов)
WiKID Strong Authentication Server (Community Edition) предоставляет локальное решение для двухфакторной аутентификации с клиентским шифрованием PIN и генерацией одноразовых паролей. Эта пошаговая инструкция описывает подготовку RPM‑хоста, установку зависимостей (PostgreSQL, JDK 1.5, compat‑libstdc++), установку RPM‑пакетов WiKID и первичную настройку через /opt/WiKID/bin/wikidctl setup. Также приведены чек‑листы ролей, тестовые сценарии, рекомендации по безопасности и откату. Перед развёртыванием настоятельно рекомендуется тестовая среда и резервное копирование, а также ограничение доступа к административному интерфейсу.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента