diff --git a/README.md b/README.md index 9af562a..e64c2fc 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,26 @@ + [![Build Status](https://ci.appveyor.com/api/projects/status/github/MultifactorLab/MultiFactor.Radius.Adapter?svg=true)](https://ci.appveyor.com/project/MultifactorLab/multifactor-radius-adapter) [![License](https://img.shields.io/badge/license-view-orange)](https://github.com/MultifactorLab/MultiFactor.Radius.Adapter/blob/master/LICENSE.md) -# MultiFactor.Radius.Adapter +# MultiFactor radius adapter _Also available in other languages: [Русский](README.ru.md)_ - +## What is Multifactor radius adapter? MultiFactor.Radius.Adapter is a RADIUS server for Windows. It allows to quickly add multifactor authentication through RADIUS protocol to your VPN, VDI, RDP and other resources. The component is a part of MultiFactor 2FA hybrid solution. * Source code -* Build +* Releases See documentation at for additional guidance on integrating 2FA through RADIUS into your infrastracture. -Linux version of the component is available in our [multifactor-radius-adapter](https://github.com/MultifactorLab/multifactor-radius-adapter) repository. - ## Table of Contents - -* [Background](#background) - * [Component Features](#component-features) -* [Prerequisites](#prerequisites) -* [Configuration](#configuration) - * [General Parameters](#general-parameters) - * [Active Directory Connection Parameters](#active-directory-connection-parameters) - * [External RADIUS Server Connection](#external-radius-server-connection) - * [Optional RADIUS Attributes](#optional-radius-attributes) - * [Second factor verification parameters](#second-factor-verification-parameters) -* [Start Up](#start-up) -* [Logs](#logs) +* [What is Multifactor radius adapter](#what-is-multifactor-radius-adapter) +* [Component Features](#component-features) * [Use Cases](#use-cases) +* [Installation and configuration](#installation-and-configuration) * [License](#license) -## Background - -Remote Authentication Dial-In User Service (RADIUS) — is a networking protocol primarily used for remote user authentication. - -The protocol has been around for a long time and is supported by major network devices and services vendors. - ### Component Features Key features: @@ -55,195 +39,6 @@ Additional features: * Proxy Network Policy Server requests and responses; * Send logs to Syslog server or SIEM. -## Prerequisites - -* Component is installed on Windows Server starting from 2012 R2; -* Minimum server requirements: 2 CPUs, 4 GB RAM, 40 GB HDD (to run the OS and adapter for 100 simultaneous connections — about 1500 users); -* UDP 1812 port on the server should accept inbound requests from Radius clients; -* The server with the component installed needs access to ```api.multifactor.ru``` via TCP port 443 (TLS) or via HTTP proxy; -* To interact with Active Directory, the component needs access to the AD domain server on TCP 389 port; -* To interact with Network Policy Server (NPS), the component needs access to NPS on the UDP 1812 port. - -## Configuration - -The component's parameters are stored in ```MultiFactor.Radius.Adapter.exe.config``` file in XML format. - -### General Parameters - -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -### Active Directory Connection Parameters - -To check the first factor in the domain, the following parameters apply: - -```xml - - - - - - - - - - - - -``` - -When the ```use-active-directory-user-phone``` option is enabled, the component will use the phone recorded in the General tab. The format of the phone can be anything. - - - -When the ```use-active-directory-mobile-user-phone``` option is enabled, the component will use the phone recorded in the Telephones tab in the Mobile field. The format of the phone can also be any format. - - - -### External RADIUS Server Connection - -To check the first factor in another RADIUS server, eg. in Network Policy Server, the following parameters apply: - -```xml - - - - - - -``` - -### Optional RADIUS Attributes - -You can specify attributes the component will pass further upon successful authentication, including verification that the user is a member of a security group. - -```xml - - - - - - - - -``` - -### Second factor verification parameters - -The following parameters will help you set up access to the MULTIFACTOR API when checking the second factor: - -```xml - - - - - - - - - - -``` - -### Logging - -There are such options to customize logging: - -```xml - - - - - - - - -``` - -As ```outputTemplate``` also acts text template which shows the logging system how the message should be formatted. For example - - ```sh -[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception} -[{Timestamp:HH:mm:ss} {Level:u3}] {CorrelationId} {Message:lj}{NewLine}{Exception} -``` - -For more information [see this page.](https://github.com/serilog/serilog/wiki/Formatting-Output) - -Moreover, logging can be provided in json (for console and file only): - -```xml - - - -``` -> Keep in mind that `console-log-output-template` and `file-log-output-template` settings are not applicable for the JSON log format. - -Sometimes there may be a delay in writing logs to a file, or a situation where logs are written to a file only after the process has completed. For these cases, there is a setting with which you can control the frequency of flushing logs to a file: -```xml - - - - -``` - -## Start-Up - -The component can run in console mode or as a Windows service. To run in console mode, just run the application. - -To install it as a Windows Service, start it with the ```/i``` key as the Administrator - -```shell -MultiFactor.Radius.Adapter.exe /i -``` - -The component is installed in auto-startup mode by default on behalf of ```Network Service```. - -To remove the Windows Service run with the ```/u``` key as Administrator - -```shell -MultiFactor.Radius.Adapter.exe /u -``` - -## Logs - -Component's logs are located in the ```Logs``` folder. If they are not there, make sure that the folder is writable by the ```Network Service``` user. - ## Use Cases Use Radius Adapter Component to implement 2FA in one of the following scenarios: @@ -258,6 +53,9 @@ Use Radius Adapter Component to implement 2FA in one of the following scenarios: and many more... +## Installation and configuration +See knowledge base for information about configuration, launch and an additional guidance. + ## License -Please note, the license does not entitle you to modify the source code of the Component or create derivative products based on it. The source code is provided as-is for evaluation purposes. +Please note, the license does not entitle you to modify the source code of the Component or create derivative products based on it. The source code is provided as-is for evaluation purposes. \ No newline at end of file diff --git a/README.ru.md b/README.ru.md index 207e92e..a12eb19 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,43 +1,25 @@ + [![Статус сборки](https://ci.appveyor.com/api/projects/status/github/MultifactorLab/MultiFactor.Radius.Adapter?svg=true)](https://ci.appveyor.com/project/MultifactorLab/multifactor-radius-adapter) [![Лицензия](https://img.shields.io/badge/license-view-orange)](https://github.com/MultifactorLab/MultiFactor.Radius.Adapter/blob/master/LICENSE.ru.md) # MultiFactor.Radius.Adapter _Also available in other languages: [English](README.md)_ +## Что такое Multifactor radius adapter? MultiFactor Radius Adapter — программный компонент, RADIUS сервер для Windows. Позволяет быстро подключить мультифакторную аутентификацию по протоколу RADIUS к вашим VPN, VDI, RDP и другим ресурсам. Компонент является частью гибридного 2FA решения сервиса MultiFactor. * Исходный код -* Сборка - -Дополнительные инструкции по интеграции 2FA через RADIUS в вашу инфраструктуру см. в документации по адресу https://multifactor.pro/docs/radius-adapter/windows/. - -Linux-версия компонента также доступна в [linux-репозитории](https://github.com/MultifactorLab/multifactor-radius-adapter). +* Релизы ## Содержание - -* [Общие сведения](#общие-сведения) - * [Функции компонента](#функции-компонента) -* [Требования для установки компонента](#требования-для-установки-компонента) -* [Конфигурация](#конфигурация) - * [Общие параметры](#общие-параметры) - * [Параметры подключения к Active Directory](#параметры-подключения-к-active-directory) - * [Параметры подключения к внешнему RADIUS серверу](#параметры-подключения-к-внешнему-radius-серверу) - * [Дополнительные RADIUS атрибуты](#дополнительные-radius-атрибуты) - * [Параметры проверки второго фактора](#параметры-проверки-второго-фактора) -* [Запуск компонента](#запуск-компонента) -* [Журналы](#журналы) +* [Что такое Multifactor radius adapter?](#что-такое-multifactor-radius-adapter?) +* [Функции компонента](#функции-компонента) * [Сценарии использования](#сценарии-использования) +* [Установка и конфигурация](#установка-и-конфигурация) * [Лицензия](#лицензия) -## Общие сведения - -Что такое RADIUS? - -Remote Authentication Dial-In User Service (RADIUS) — сетевой протокол для удаленной аутентификации пользователей в единой базе данных доступа. - -Протокол создан достаточно давно и поэтому поддерживается множеством сетевых утройств и сервисов. ### Функции компонента @@ -57,195 +39,6 @@ Remote Authentication Dial-In User Service (RADIUS) — сетевой пр * проксирование запросов и ответов Network Policy Server; * запись журналов в Syslog сервер или SIEM систему. -## Требования для установки компонента - -* Компонент устанавливается на любой Windows сервер начиная с версии 2012 R2; -* Минимальные требования для сервера: 2 CPU, 4 GB RAM, 40 GB HDD (обеспечивают работу ОС и адаптера для 100 одновременных подключений — примерно 1500 пользователей); -* На сервере должен быть открыт порт 1812 (UDP) для приема запросов от Radius клиентов; -* Серверу с установленным компонентом необходим доступ к хосту api.multifactor.ru по TCP порту 443 (TLS) напрямую или через HTTP proxy; -* Для взаимодействия с Active Directory, компоненту нужен доступ к серверу домена по TCP порту 389; -* Для взаимодействия с Network Policy Server, компоненту нужен доступ к NPS по UDP порту 1812. - -## Конфигурация - -Параметры работы компонента хранятся в файле ```MultiFactor.Radius.Adapter.exe.config``` в формате XML. - -### Общие параметры - -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -### Параметры подключения к Active Directory - -Для проверки первого фактора в домене применимы следующие параметры: - -```xml - - - - - - - - - - - - -``` - -При включении параметра ```use-active-directory-user-phone``` компонент будет использовать телефон, записанный на вкладке General. Формат телефона может быть любым. - -AD phone - -При включении параметра ```use-active-directory-mobile-user-phone``` компонент будет использовать телефон, записанный на вкладке Telephones в поле Mobile. Формат телефона также может быть любым. - -AD mobile phone - -### Параметры подключения к внешнему RADIUS серверу - -Для проверки первого фактора в RADIUS, например, в Network Policy Server применимы следующие параметры: - -```xml - - - - - - -``` - -### Дополнительные RADIUS атрибуты - -Можно указать, какие атрибуты будет передавать компонент при успешной аутентификации, в том числе с проверкой вхождения пользователя в группу безопасности - -```xml - - - - - - - - -``` - -### Параметры проверки второго фактора - -Следующие параметры помогут настроить обращение в API МУЛЬТИФАКТОР при проверке второго фактора: - -```xml - - - - - - - - - - -``` - -### Журналирование - -Существуют следующие параметры для настройки журналирования: - -```xml - - - - - - - - -``` - -В качестве ```outputTemplate``` выступает текстовый шаблон, который показывает системе ведения логов, как следует отформатировать сообщение. Например: - - ```sh -[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception} -[{Timestamp:HH:mm:ss} {Level:u3}] {CorrelationId} {Message:lj}{NewLine}{Exception} -``` - -Подробнее про шаблоны можно прочитать [по ссылке.](https://github.com/serilog/serilog/wiki/Formatting-Output) - -Также журналирование может вестись в формате json: - -```xml - - - -``` -> Для этого формата не применим текстовый шаблон. - -Иногда может возникать задержка при записи логов в файл, либо ситуация, когда логи появляются в файле только после завершения процесса. Для этих случаев предусмотрена настройка, через которую можно управлять частотой сбросов логов в файл: -```xml - - - - -``` - -## Запуск компонента - -Компонент может работать в консольном режиме или в качестве службы Windows. Для запуска в консольном режиме достаточно запустить приложение. - -Для установки в качестве Windows Service выполните команду с ключом ```/i``` от имени Администратора - -```shell -MultiFactor.Radius.Adapter.exe /i -``` - -Компонент устанавливается в режиме автоматического запуска от имени ```Network Service```. - -Для удаления Windows Service выполните команду с ключом ```/u``` от имени Администратора - -```shell -MultiFactor.Radius.Adapter.exe /u -``` - -## Журналы - -Журналы работы компонента находятся в папке ```Logs```. Если их нет, удостоверьтесь, что папка доступна для записи пользователю ```Network Service```. - ## Сценарии использования С помощью компонента можно реализовать следующие сценарии: @@ -260,6 +53,9 @@ MultiFactor.Radius.Adapter.exe /u и многие другие... +## Установка и конфигурация +Информацию о настройке, запуске и дополнительные рекомендации смотрите в [документации](https://multifactor.ru/docs/radius-adapter/windows/). + ## Лицензия -Обратите внимание на лицензию. Она не дает вам право вносить изменения в исходный код Компонента и создавать производные продукты на его основе. Исходный код предоставляется в ознакомительных целях. +Обратите внимание на лицензию. Она не дает вам право вносить изменения в исходный код Компонента и создавать производные продукты на его основе. Исходный код предоставляется в ознакомительных целях. \ No newline at end of file