- Системное администрирование Linux основы и советы
- Установка и настройка Firewalld
- Установка Firewalld
- Настройка Firewalld
- Проверка настройки Firewalld
- Установка сервера Freeradius на Linux CentOS 8
- Шаг 1: Установка Freeradius
- Шаг 2: Настройка Freeradius
- Шаг 3: Создание базы данных для Freeradius
- Шаг 4: Настройка Freeradius на сервере CentOS 8
- Установка и настройка СУБД MariaDB
- 1. Установка MariaDB
- 2. Настройка аутентификации
- 3. Создание пользователя и базы данных
- 4. Настройка доступа к серверу MariaDB
- Работа с PHP и PHP-FPM на сервере
- Установка PHP и PHP-FPM
- Настройка сервера для работы с PHP-FPM
- Работа с PHP и PHP-FPM
- Установка и настройка daloRADIUS
- Установка необходимых компонентов и настройка базы данных
- Настройка daloRADIUS
- Настройка FreeRADIUS для работы с daloRADIUS
- Настройка доступа к daloRADIUS
- Обеспечение доступа к daloRADIUS через веб-интерфейс
- Основы работы с SELinux
- 1. Установка и подготовка сервера
- 2. Настройка FreeRADIUS
- Логирование ошибок и запросов сервера
- Настройка логирования
- Хранение лог-файлов на сервере
- Анализ и решение проблем
- Настройка Freeradius для работы с Microsoft Active Directory
- Создание и настройка Radius-сервера для Linux
- Установка Freeradius и зависимостей
- Настройка сервера
- Настройка клиента
- Проверка работы сервера
- Видео:
- Системный администратор на собеседовании
Системное администрирование Linux основы и советы
Linux — популярная операционная система, широко используемая для управления серверами и сетевыми устройствами. В этой статье мы рассмотрим основы системного администрирования Linux и поделимся полезными советами.
Одной из важных задач системного администратора является настройка серверов. На сервере обычно устанавливаются различные программные пакеты, например, сервер баз данных MariaDB, который может быть использован для хранения информации о пользователях и их учетных записях.
Если вы хотите, чтобы сервер выполнял аутентификацию клиентов, например, на основе пользовательского имени и пароля, вы можете использовать программное решение, такое как FreeRADIUS. Для установки FreeRADIUS на Linux-сервере вам необходимо выполнить следующие шаги:
Шаг 1: Установка и настройка FreeRADIUS.
1. Установите необходимые пакеты с помощью команды sudo apt-get install freeradius.
2. Разрешите выполнение сервером RADIUS запросов на порту 1812, добавив соответствующую запись в файле /etc/freeradius/ports.conf.
3. В настройках сервера RADIUS (в файле /etc/freeradius/sites-available/default) добавьте следующие атрибуты для авторизации клиентов:
client client1 {
ip-адрес = 192.168.0.100/32
secret = «код с клиента»
}
Шаг 2: Подготовка сервера баз данных MariaDB.
1. Установите MariaDB с помощью команды sudo apt-get install mariadb-server.
2. Запустите сервис MariaDB, выполните команду sudo systemctl enable mariadb, а затем sudo systemctl start mariadb.
3. Создайте базу данных с помощью команды CREATE DATABASE имя_базы_данных;
Шаг 3: Настройка сервера FreeRADIUS для работы с базой данных MariaDB.
1. Откройте файл /etc/freeradius/mods-available/sql и правьте следующие строки, чтобы они соответствовали вашим настройкам:
database = «mariadb»
login = «root»
password = «пароль_для_root»
2. В файле /etc/freeradius/sites-available/default разрешите запись логов запросов и ошибок:
log {
destination = files
file = /var/log/freeradius/radius.log
policies {
sql {
sqllog_every_n = 1
}
}
}
Данные инструкции помогут вам настроить сервер FreeRADIUS на Linux для работы с базой данных MariaDB. Вы можете использовать эту конфигурацию для аутентификации пользователей, например, в Windows Active Directory или другой программной среде. Удачи в вашей работе с Linux!
Установка и настройка Firewalld
Установка Firewalld
1. Создайте новый сервер или выберите существующий сервер Linux.
2. Убедитесь, что у вас установлен необходимый компонент для работы с Firewalld. Выполним следующие команды:
sudo apt update
sudo apt install firewalld
В случае, если вы используете другой дистрибутив Linux, такой как CentOS или Fedora, используйте соответствующую команду для установки Firewalld.
Настройка Firewalld
1. Переключитесь на активный профиль Firewalld. Для этого выполните следующую команду:
sudo firewall-cmd —set-default-zone=public
2. Разрешите доступ для необходимых портов или сервисов. Например, если вам нужно разрешить доступ к веб-серверу, выполните следующую команду:
sudo firewall-cmd —add-service=http —permanent
3. Примените изменения, выполнив следующую команду:
sudo firewall-cmd —reload
Теперь ваш сервер Linux защищен с помощью Firewalld и установлены необходимые правила доступа.
Проверка настройки Firewalld
Чтобы убедиться, что настройка Firewalld выполнена правильно, вы можете выполнить следующие проверки:
1. Проверьте статус Firewalld, используя следующую команду:
sudo firewall-cmd —state
2. Проверьте список доступных сервисов, используя команду:
sudo firewall-cmd —list-services
Если вы видите необходимый сервис в списке, значит он разрешен для доступа.
Теперь вы можете быть уверены в безопасности вашего сервера Linux с помощью Firewalld и правильно настроенного доступа к сервисам.
Установка сервера Freeradius на Linux CentOS 8
Шаг 1: Установка Freeradius
1.1. Сначала обновим пакеты на сервере CentOS 8:
sudo dnf update -y
1.2. Установим Freeradius с помощью следующей команды:
sudo dnf install freeradius freeradius-utils -y
Шаг 2: Настройка Freeradius
2.1. В файле настроек Freeradius /etc/raddb/mods-enabled/mschap добавьте следующую строку:
ntlm_auth = «/usr/bin/ntlm_auth —request-nt-key —username=%{%{Stripped-User-Name}:-%{%{User-Name}:-none}} —challenge=%{%{mschap:Challenge}:-00} —nt-response=%{%{mschap:NT-Response}:-00}»
2.2. Создайте файл с данными для аутентификации в Freeradius:
sudo touch /etc/raddb/mods-enabled/ntlm_auth
sudo chmod 640 /etc/raddb/mods-enabled/ntlm_auth
2.3. Добавьте следующую информацию в файл /etc/raddb/mods-enabled/ntlm_auth:
Auth-Type NTLM {
ntlm_auth
}
2.4. Отредактируйте файл /etc/raddb/clients.conf и добавьте следующую информацию:
client | ip-адрес | secret |
---|---|---|
client1 | IP-адрес Windows сервера | secret |
2.5. Запустите сервер Freeradius с помощью следующей команды:
sudo systemctl start radiusd
2.6. Проверьте состояние сервера с помощью следующей команды:
sudo systemctl status radiusd
Шаг 3: Создание базы данных для Freeradius
3.1. Установите сервер базы данных (например, MariaDB) и войдите в него:
sudo dnf install mariadb-server -y
sudo systemctl start mariadb
sudo mysql_secure_installation
3.2. Войдите в MariaDB с помощью следующей команды:
sudo mysql -u root -p
3.3. Создайте базу данных для Freeradius:
CREATE DATABASE daloradius;
GRANT ALL ON daloradius.* TO ‘radius’@’localhost’ IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;
exit;
3.4. Загрузите схему базы данных с помощью следующей команды:
sudo mysql -u root -p daloradius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
3.5. Отредактируйте файл /etc/raddb/mods-available/sql и измените значения следующих атрибутов:
Атрибут | Значение |
---|---|
sql_server | localhost |
sql_database | daloradius |
sql_username | radius |
sql_password | password |
Шаг 4: Настройка Freeradius на сервере CentOS 8
4.1. Включите и запустите Freeradius при загрузке системы с помощью следующих команд:
sudo systemctl enable radiusd
sudo systemctl start radiusd
4.2. Если у вас включен SELinux, выполните следующую команду:
sudo setsebool -P httpd_can_network_connect 1
4.3. Запустите Apache или Nginx для хранения и отображения информации с помощью следующей команды:
sudo systemctl start httpd
4.4. Откройте браузер и перейдите по адресу http://localhost/daloradius/. Вы должны увидеть страницу установки Daloradius.
4.5. Следуйте инструкциям на странице установки для настройки сервера Freeradius с помощью Daloradius.
4.6. После завершения установки удалите папку «install» из каталога daloradius:
sudo rm -rf /var/www/html/daloradius/install
Теперь у вас есть работающий сервер Freeradius на вашем Linux CentOS 8!
Установка и настройка СУБД MariaDB
Для начала установки и настройки СУБД MariaDB на сервере Linux (CentOS 7) выполним следующие шаги:
1. Установка MariaDB
Установка MariaDB может быть выполнена с помощью стандартного пакетного менеджера, включенного в CentOS 7. Для этого можно использовать команду:
sudo yum install MariaDB-server MariaDB-client -y
После успешной установки пакета MariaDB выполним команду запуска сервера и добавим его в автозагрузку:
sudo systemctl enable mariadb
sudo systemctl start mariadb
2. Настройка аутентификации
При установке MariaDB по умолчанию используется аутентификация с использованием пароля для пользователя root, который был задан во время установки. Для повышения безопасности сервера рекомендуется изменить пароль пользователя root. Для этого выполните команду:
sudo mysql_secure_installation
Следуйте указаниям интерактивного установщика и задайте новый пароль для пользователя root.
3. Создание пользователя и базы данных
Для работы с базами данных и управления ими можно использовать программные компоненты, такие как phpMyAdmin или MySQL Workbench. Однако мы рассмотрим создание базы данных и пользователя с помощью командной строки mysql.
Войдите в оболочку MariaDB с помощью команды:
mysql -u root -p
Введите пароль пользователя root, который был задан на предыдущем шаге, и вы окажетесь в командной строке MariaDB.
Создайте нового пользователя MySQL и базу данных с помощью следующих команд:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE database;
GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
Замените ‘user’ на имя нового пользователя, ‘password’ на пароль пользователя и ‘database’ на имя новой базы данных.
Теперь вы можете использовать созданную базу данных и пользователя при разработке приложений или веб-сайтов.
4. Настройка доступа к серверу MariaDB
Для разрешения внешнего доступа к серверу MariaDB, например, с другого компьютера или сервера, потребуется настройка соответствующих правил в брандмауэре (firewalld).
С помощью следующих команд можно открыть порт 3306 (порт по умолчанию для MariaDB) в брандмауэре:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
Таким образом, сервер MariaDB будет доступен для подключения с других компьютеров или серверов по указанному порту.
Теперь у вас есть установленная и настроенная СУБД MariaDB. Вы можете начинать работу с базами данных и использовать их для различных проектов на сервере Linux.
Работа с PHP и PHP-FPM на сервере
Установка PHP и PHP-FPM
Для установки PHP и PHP-FPM на сервере Linux необходимо выполнить следующие команды:
$ sudo apt install php-fpm
$ sudo apt install php
После установки PHP-FPM необходимо настроить его для работы с вашим веб-сервером. Для этого добавьте следующие строки в конфигурационный файл /etc/php/7.4/fpm/pool.d/www.conf
:
[www] user = www-data group = www-data listen = /run/php/php7.4-fpm.sock listen.owner = www-data listen.group = www-data listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
После сохранения изменений в конфигурационном файле перезапустите службу PHP-FPM следующей командой:
$ sudo systemctl restart php7.4-fpm
Настройка сервера для работы с PHP-FPM
Для настройки сервера Linux для работы с PHP-FPM добавьте следующие строки в конфигурационный файл вашего веб-сервера:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; }
После сохранения изменений в конфигурационном файле перезапустите ваш веб-сервер следующей командой:
$ sudo systemctl restart nginx
Работа с PHP и PHP-FPM
После установки и настройки PHP и PHP-FPM вы можете начать работать с PHP-скриптами на вашем сервере. Для этого создайте новый PHP-скрипт с помощью текстового редактора и сохраните его с расширением .php
.
Пример PHP-скрипта:
<?php echo "Привет, мир!"; ?>
После создания PHP-скрипта положите его в директорию, доступную вашему серверу. Затем откройте веб-браузер и введите в адресной строке URL-адрес вашего сервера, указав путь к вашему PHP-скрипту.
После отправки запроса ваш сервер должен обработать PHP-скрипт и вернуть результат веб-браузеру.
В процессе работы с PHP и PHP-FPM вы можете столкнуться с ошибками или необходимостью установки дополнительных компонентов или зависимостей. В таком случае обратитесь к документации PHP или к сообществу разработчиков на GitHub для получения дополнительной информации или помощи с вашими запросами.
Установка и настройка daloRADIUS
Установка необходимых компонентов и настройка базы данных
Для установки и настройки daloRADIUS нам потребуются некоторые компоненты. В Ubuntu/Debian выполним следующие команды:
sudo apt-get update sudo apt-get install freeradius freeradius-utils php-fpm sudo systemctl enable freeradius sudo systemctl start freeradius
В CentOS выполним следующие команды:
sudo yum update sudo yum install freeradius freeradius-utils php php-fpm sudo systemctl enable radiusd sudo systemctl start radiusd sudo systemctl enable php-fpm sudo systemctl start php-fpm
После установки необходимых компонентов, настроим базу данных RADIUS. Откроем файл /etc/freeradius/mods-enabled/sql
и проверим настройки подключения к базе данных. Убедитесь, что параметры dialect
, driver
, server
и login
/ password
правильно настроены для доступа к вашей базе данных.
sudo nano /etc/freeradius/mods-enabled/sql
После внесения изменений в файл sql
, сохраните его и закройте.
Настройка daloRADIUS
Теперь приступим к установке и настройке daloRADIUS. Скачайте последнюю версию daloRADIUS с официального сайта и распакуйте архив в директорию на вашем сервере:
wget http://sourceforge.net/projects/daloradius/files/latest/download tar xvf download
Переместите распакованную папку в директорию программной области сервера:
sudo mv daloradius-/var/www/html/daloradius sudo chown -R www-data:www-data /var/www/html/daloradius
В Ubuntu/Debian обновим файл /etc/apache2/sites-available/default
следующим образом:
sudo nano /etc/apache2/sites-available/default
В CentOS обновим файл /etc/httpd/conf.d/daloradius.conf
следующим образом:
sudo nano /etc/httpd/conf.d/daloradius.conf
Добавьте следующие строки в обновленный файл конфигурации:
Alias /daloradius /var/www/html/daloradius <Directory /var/www/html/daloradius> AllowOverride All Options FollowSymLinks DirectoryIndex index.php Order allow,deny allow from all </Directory>
Сохраните файл конфигурации и закройте его. Перезапустите веб-сервер, чтобы изменения вступили в силу:
sudo systemctl restart apache2 (для Ubuntu/Debian) sudo systemctl restart httpd (для CentOS)
Настройка FreeRADIUS для работы с daloRADIUS
Для настройки FreeRADIUS для работы с daloRADIUS откройте файл /etc/freeradius/sites-available/default
и добавьте следующие строки:
authorize { ... sql } authenticate { ... sql } preacct { ... sql } accounting { ... sql } session { ... sql }
Сохраните файл и закройте его. Перезапустите FreeRADIUS, чтобы изменения вступили в силу:
sudo systemctl restart freeradius
Настройка доступа к daloRADIUS
Для обеспечения безопасности и ограничения доступа к daloRADIUS, настройте аутентификацию с использованием аккаунта администратора. Создайте пользователя в базе данных RADIUS и предоставьте ему права доступа:
mysql -u root -p mysql> USE radius; mysql> INSERT INTO radcheck (username, attribute, op, value) VALUES ('administrator', 'Cleartext-Password', ':=', 'password'); mysql> INSERT INTO radusergroup (username, groupname, priority) VALUES ('administrator', 'admin', '1'); mysql> INSERT INTO radgroupreply (groupname, attribute, op, value) VALUES ('admin', 'Auth-Type', :=, 'Local'); mysql> exit
Внесите изменения в файл /var/www/html/daloradius/library/daloradius.conf.php
, чтобы подключиться к вашей базе данных:
sudo nano /var/www/html/daloradius/library/daloradius.conf.php
Измените следующие параметры в файле конфигурации:
$configValues['CONFIG_DB_USER'] = "root"; $configValues['CONFIG_DB_PASS'] = "password"; $configValues['CONFIG_DB_NAME'] = 'radius';
Сохраните файл конфигурации и закройте его.
Обеспечение доступа к daloRADIUS через веб-интерфейс
Чтобы обеспечить доступ к daloRADIUS через веб-интерфейс, выполните следующие действия:
- Откройте веб-браузер и введите IP-адрес или доменное имя вашего сервера.
- Введите имя пользователя и пароль администратора, который был создан ранее.
- Вы успешно вошли в веб-интерфейс daloRADIUS и можете управлять вашим сервером RADIUS.
Для того чтобы использовать функциональность daloRADIUS, сконфигурируйте ваш сервер RADIUS и клиенты. Веб-интерфейс daloRADIUS предоставляет широкий спектр возможностей для управления аутентификацией и доступом клиентов к вашей сети.
Основы работы с SELinux
Для получения информации о статусе SELinux на сервере выполним следующую команду:
sestatus
SELinux работает с помощью политик и атрибутов контекста безопасности, которые определяют, какие операции с ресурсами сервера разрешены. Политики могут быть настроены на уровне системы или на уровне отдельных сервисов или приложений.
В этом разделе мы рассмотрим основы настройки SELinux для работы с веб-сервером на базе CentOS или Ubuntu, а также рассмотрим примеры команд и настроек SELinux для разрешения доступа и устранения ошибок.
1. Установка и подготовка сервера
Прежде всего необходимо установить необходимые компоненты сервера, такие как Apache, PHP и MariaDB. Для установки данных компонентов на CentOS выполним следующие команды:
sudo yum install httpd php php-fpm mariadb-server -y
sudo systemctl start httpd
sudo systemctl start mariadb
Для Ubuntu команды будут выглядеть следующим образом:
sudo apt-get install apache2 php-fpm mariadb-server -y
sudo systemctl start apache2
sudo systemctl start mariadb
Также необходимо установить FreeRADIUS и его зависимости:
sudo yum install freeradius freeradius-mysql freeradius-utils -y
Или для Ubuntu:
sudo apt-get install freeradius freeradius-mysql freeradius-utils -y
2. Настройка FreeRADIUS
Для настройки аутентификации с помощью FreeRADIUS необходимо выполнить ряд действий:
- Создайте базу данных MySQL или MariaDB:
- Создайте схему FreeRADIUS:
- Настройте файл /etc/freeradius/3.0/mods-enabled/sql:
- Настроим соответствующую политику SELinux для FreeRADIUS:
- Запустим и включим FreeRADIUS:
mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'password';
quit
sudo mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
sudo nano /etc/freeradius/3.0/mods-enabled/sql
Измените следующие параметры:
driver = "rlm_sql_mysql"
dialect = "mysql"
# Replace "sql" with "rlm_sql_*" if you want to use another database
# like PostgreSQL or Oracle
server = "localhost"
port = 3306
login = "radius"
password = "password"
# Name of radius database
radius_db = "radius"
# Table name for access points
authorize_check_query = "SELECT id, username, attribute, value, op \
FROM ${authcheck_table} \
WHERE username = '%{SQL-User-Name}' \
ORDER BY id"
# Table name for user groups
authorize_reply_query = \
"SELECT id, groupname, attribute, value, op \
FROM ${authreply_table} \
WHERE groupname = '%{SQL-Group}' \
ORDER BY id"
# Table name for user attributes
authorize_group_check_query = \
"SELECT id, groupname, attribute, value, op \
FROM ${authgccheck_table} \
WHERE username = '%{SQL-User-Name}' AND groupname = '%{SQL-Group}' \
ORDER BY id"
# Location of 'users' file
authbadpass = /etc/freeradius/3.0/users
authgoodpass = /etc/freeradius/3.0/users
sudo semanage port -a -t radiusd_port_t -p udp 1812-1813
sudo semanage port -a -t radiusd_port_t -p tcp 1812-1813
sudo systemctl start freeradius
sudo systemctl enable freeradius
Теперь сервер FreeRADIUS настроен для работы с SELinux и готов принимать запросы на аутентификацию.
Логирование ошибок и запросов сервера
Настройка логирования
По умолчанию в Linux логирование ошибок и запросов сервера может быть настроено через компоненту php-fpm
. Для этого выполняем следующие действия:
- Открываем файл настроек
php-fpm
:sudo nano /etc/php-fpm.d/www.conf
- Находим и изменяем следующие параметры:
access.log = /var/log/php-fpm/www-access.log error.log = /var/log/php-fpm/www-error.log
- Сохраняем изменения и перезапускаем службу
php-fpm
:sudo systemctl restart php-fpm
Теперь все запросы и ошибки, связанные с PHP, будут записываться в соответствующие лог-файлы.
Хранение лог-файлов на сервере
Для удобства анализа и хранения лог-файлов рекомендуется создать отдельную директорию для каждого компонента сервера. Например:
/var/log/apache - логи Apache сервера
/var/log/mysql - логи MySQL сервера
/var/log/nginx - логи Nginx сервера
Для каждого компонента необходимо настроить права доступа к директории логов таким образом, чтобы только root и компонент сервера имели права на запись в неё.
Анализ и решение проблем
Для анализа лог-файлов и решения обнаруженных проблем можно использовать различные инструменты и сервисы. Например:
- Github — платформа для совместной разработки, на которой можно вести отдельные проекты для анализа логов;
- Mariadb — СУБД, которая может быть использована для хранения логов;
- Freeradius — сервис аутентификации, который позволяет настраивать схему хранения лог-записей и выполнять аутентификацию пользователей на основе базы данных;
- Ntlm_auth — компонента, используемая для аутентификации клиента с помощью Windows Server с доменом;
- Daloradius — программная оболочка для управления сервером Radius с поддержкой атрибутов хранения информации о клиентах;
- Radtest — инструмент для тестирования сервера Radius.
Если вы обнаружите проблемы или ошибки в лог-файлах, вам следует проверить соответствующие компоненты сервера и внести необходимые изменения в их настройки или выполнять действия для решения проблем. Например, можно изменить пароль доступа к базе данных или включить SELinux.
Необходимо также обратить внимание на логи безопасности, в которых могут быть записаны попытки несанкционированного доступа к серверу или использования неправильных учетных данных.
Настройка Freeradius для работы с Microsoft Active Directory
Если ваш Linux-сервер выполняет функции контроллера домена Microsoft Active Directory, вы можете настроить Freeradius для обработки запросов аутентификации пользователей в рамках вашей инфраструктуры AD. Для этого вам понадобятся следующие компоненты и настройки:
- Установка Freeradius на сервер Linux. Выполните следующие команды в Ubuntu 18.04:
sudo apt update sudo apt -y install freeradius freeradius-utils
- Настройка доступа к базе данных. Убедитесь, что на сервере установлена и настроена MariaDB:
sudo apt -y install mariadb-server sudo mariadb-secure-installation
Получите root-пароль для доступа к базе данных и создайте базу данных:
mysql -u root -p CREATE DATABASE radius; GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'пароль'; FLUSH PRIVILEGES; EXIT;
- Установка Freeradius компонента для работы с Microsoft Active Directory:
sudo apt -y install freeradius-krb5
- Закрытие доступа к остальным протоколам извне. Отредактируйте файл
/etc/raddb/sites-available/default
и добавьте следующий блок:
client client1 { ip-адрес = 1.2.3.4 secret = secret ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=DOMAIN -u "%{mschap:User-Name}" -p "%{User-Password}"" }
- Активация модуля
ntlm_auth
. Создайте символическую ссылку на модульntlm_auth
в папке/etc/raddb/mods-available/
:
sudo ln -s /usr/share/freeradius/ntlm_auth /etc/raddb/mods-available/
Откройте файл /etc/raddb/mods-enabled/ntlm_auth
и правим следующую строку:
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=DOMAIN -u "%{mschap:User-Name}" -p "%{User-Password}""
- Настройка сервера для работы с AD:
sudo nano /etc/raddb/sites-available/default
Добавить в блок server { }:
authorize { ... ntlm_auth ... }
- Перезапустите службу Freeradius:
sudo systemctl restart freeradius
Теперь ваш Freeradius настроен для работы с Microsoft Active Directory. Проверьте настройки и выполним тестовый запрос:
sudo /usr/sbin/radiusd -X
Если после выполнения всех действий вы не обнаружили ошибок, то ваш Freeradius работает корректно и готов для авторизации пользователей из Active Directory.
Обратите внимание, что приведенные выше настройки сделаны с использованием Ubuntu 18.04 и Freeradius 3.0. Инструкции могут отличаться для других версий и дистрибутивов Linux.
Создание и настройка Radius-сервера для Linux
Установка Freeradius и зависимостей
Перед тем как приступить к установке Radius-сервера, необходимо удостовериться в наличии всех необходимых зависимостей. Выведите список зависимостей и установите их при помощи следующей команды:
sudo apt install freeradius freeradius-utils
Настройка сервера
После установки Freeradius вам необходимо настроить компонента для работы с вашим сервером. Откройте файл /etc/raddb/mods-enabled/ntlm_auth
в текстовом редакторе и замените содержимое на следующую конфигурацию:
ntlm_auth { wait = yes program = "/usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{User-Name}} %{mschap:User-Password} --domain=MYDOMAIN --domain-controller=192.168.1.1 --client-ip=%{Packet-Src-IP-Address}" shell_escape = yes }
Замените MYDOMAIN и 192.168.1.1 на ваш домен и IP-адрес контроллера домена соответственно.
Далее откройте файл /etc/freeradius/users
и добавьте следующую запись:
DEFAULT LDAP-UserAttr += "ntlm-auth" ```Сохраните изменения и перезапустите службу Radius при помощи следующей команды:
sudo systemctl restart freeradiusНастройка клиента
Далее вам необходимо настроить клиента, который будет использовать аутентификацию через Radius-сервер. В файле
/etc/freeradius/clients.conf
добавьте следующую конфигурацию:client client1 { ipaddr = 192.168.1.100 secret = supersecret }Замените 192.168.1.100 на IP-адрес вашего клиента, а supersecret на пароль для доступа к серверу.
После внесения изменений в файл clients.conf перезапустите службу Radius.
sudo systemctl restart freeradiusПроверка работы сервера
Чтобы проверить работоспособность вашего Radius-сервера, вы можете выполнить следующую команду:
radtest testuser testpassword 127.0.0.1 0 supersecretЗдесь testuser и testpassword – это учетные данные пользователя на вашем клиенте, 127.0.0.1 – IP-адрес вашего сервера, 0 – порт, а supersecret – пароль для доступа к серверу.
Если запрос прошел успешно, вы должны увидеть ответ "Access-Accept". Если есть ошибки, проверьте настройки и логи сервера, которые находятся по пути
/var/log/freeradius/radius.log
.Например, вы можете использовать следующую команду для просмотра последних 20 записей ошибок:
sudo tail -n 20 /var/log/freeradius/radius.log | grep --color=auto -i errorПоздравляем! Вы успешно создали и настроили Radius-сервер для Linux.
Видео:
Системный администратор на собеседовании
Системный администратор на собеседовании by Artem Borodenko 72,566 views 6 years ago 1 minute, 17 seconds