commit 05a381c8977205f4336020d1cd081a41364eb40e Author: kimoi Date: Fri Nov 6 10:20:30 2026 +0500 Добавить материалы КИМ и пример скрипта diff --git a/example.sh b/example.sh new file mode 100644 index 0000000..13f72c0 --- /dev/null +++ b/example.sh @@ -0,0 +1,160 @@ +#!/bin/bash + +# Скрипт настройки BR-RTR (Linux): имя хоста, интерфейсы, NAT, маршрутизация +# Интерфейсы: +# enp0s3 - в сторону ISP (статический адрес, шлюз, DNS) +# enp0s8 - в сторону BR-FW (локальная сеть) + +# Проверяем, запущен ли скрипт от root +if [[ $EUID -ne 0 ]]; then + echo "Этот скрипт должен быть запущен с правами root" + exit 1 +fi + +echo "=== Настройка BR-RTR ===" + +# 1. Установка имени хоста +read -p "Введите имя хоста (например: br-rtr.au-team.irpo): " hostname +if [[ -n "$hostname" ]]; then + echo "Устанавливаем имя хоста: $hostname" + hostnamectl set-hostname "$hostname" +else + echo "Имя хоста не было введено, пропускаем этот шаг" +fi + +echo "" +echo "=== Настройка сетевых интерфейсов ===" + +# 2. Настройка enp0s8 (в сторону BR-FW) +echo "Настройка интерфейса enp0s8 (сторона BR-FW)" +read -p "Введите IP адрес для enp0s8 в формате адрес/префикс: " ip_enp0s8 + +if [[ -n "$ip_enp0s8" ]]; then + echo "Настраиваем enp0s8 с адресом: $ip_enp0s8" + + # Создаем файл конфигурации для enp0s8 + cat > /etc/NetworkManager/system-connections/enp0s8.nmconnection << EOF +[connection] +id=enp0s8 +uuid=$(uuidgen) +type=ethernet +autoconnect-priority=-999 +interface-name=enp0s8 +timestamp=$(date +%s) + +[ethernet] + +[ipv4] +address1=$ip_enp0s8 +method=manual + +[ipv6] +addr-gen-mode=eui64 +method=disabled + +[proxy] +EOF + + # Права 600 обязательны, иначе NetworkManager проигнорирует файл + chmod 600 /etc/NetworkManager/system-connections/enp0s8.nmconnection +fi + +# 3. Настройка enp0s3 (в сторону ISP) +echo "Настройка интерфейса enp0s3 (сторона ISP)" +read -p "Введите через запятую: адрес/префикс,шлюз,DNS: " ip_enp0s3 + +if [[ -n "$ip_enp0s3" ]]; then + echo "Настраиваем enp0s3 со статическим адресом" + + # Разбираем ввод: адрес/префикс,шлюз,DNS + IFS=',' read -ra ADDR <<< "$ip_enp0s3" + ip_with_mask="${ADDR[0]}" + gateway="${ADDR[1]}" + dns="${ADDR[2]}" + + cat > /etc/NetworkManager/system-connections/enp0s3.nmconnection << EOF +[connection] +id=enp0s3 +uuid=$(uuidgen) +type=ethernet +autoconnect-priority=-999 +interface-name=enp0s3 +timestamp=$(date +%s) + +[ethernet] + +[ipv4] +address1=$ip_with_mask +gateway=$gateway +dns=$dns +method=manual + +[ipv6] +addr-gen-mode=eui64 +method=disabled + +[proxy] +EOF + + chmod 600 /etc/NetworkManager/system-connections/enp0s3.nmconnection +fi + +echo "" +echo "=== Перезапуск NetworkManager ===" +systemctl restart NetworkManager +sleep 3 + +echo "" +echo "=== Настройка iptables и маршрутизации ===" + +# 4. Включение и запуск iptables +systemctl enable --now iptables +echo "Статус iptables:" +systemctl status iptables --no-pager + +# 5. Очистка правил iptables и настройка NAT +# NAT делаем на выходе в сторону ISP (enp0s3) для всего, что уходит из локальных сетей +iptables -F +iptables -t nat -F +iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE +echo "Добавлено правило NAT (MASQUERADE) на интерфейсе enp0s3" + +# 6. Сохранение правил iptables +service iptables save + +# 7. Включение IP forwarding +# Пишем в отдельный файл с перезаписью (>), чтобы при повторном запуске строки не дублировались +echo "Включаем IP forwarding..." +echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-forwarding.conf +sysctl -p /etc/sysctl.d/99-forwarding.conf + +echo "" +echo "=== Проверка настроек ===" +echo "Текущие правила iptables NAT:" +iptables -t nat -L POSTROUTING -n -v + +echo "" +echo "Текущее состояние IP forwarding:" +sysctl net.ipv4.ip_forward + +echo "" +echo "=== Тестирование соединения ===" +echo "Для проверки можно выполнить следующие команды:" +if [[ -n "$ip_enp0s3" ]]; then + ip1=$(echo "$ip_with_mask" | cut -d'/' -f1) + echo "ping ya.ru -I $ip1" +fi +if [[ -n "$ip_enp0s8" ]]; then + ip2=$(echo "$ip_enp0s8" | cut -d'/' -f1) + echo "ping ya.ru -I $ip2" +fi + +echo "" +read -p "Выполнить перезагрузку сейчас? (y/n): " reboot_now +if [[ "$reboot_now" == "y" || "$reboot_now" == "Y" ]]; then + echo "Перезагружаем систему..." + reboot +else + echo "Настройка завершена. Перезагрузите систему для применения всех изменений." + echo "Используйте команду: reboot" +fi diff --git a/tasks.md b/tasks.md new file mode 100644 index 0000000..4cc8c1d --- /dev/null +++ b/tasks.md @@ -0,0 +1,306 @@ +# КИМ 09.02.06-3-2027 — задания демонстрационного экзамена + +Специальность 09.02.06 «Сетевое и системное администрирование», квалификация «Системный администратор (Эксплуатация объектов сетевой инфраструктуры)». + +Источник: Спецификация КИМ ДЭ, Том 1 (инвариантная часть), образец заданий для ГИА ДЭ БУ. Образец задания 1 для ПА совпадает с заданием 1 ниже. Топология, таблица ВМ и требования к отчёту здесь опущены, остались только сами задания. + +Время: задание 1 — 1 ч 00 мин, задание 2 — 1 ч 00 мин, задание 3 — 1 ч 30 мин. Всего 3 ч 30 мин. + +--- + +# Задание 1. Настройка сетевой инфраструктуры + +Необходимо разработать и настроить инфраструктуру информационно-коммуникационной системы согласно предложенной топологии (рисунок 1). + +Задание включает базовую настройку устройств: + +- присвоение имён устройствам; +- расчёт IP-адресации; +- настройку коммутации и маршрутизации. + +В ходе проектирования и настройки сетевой инфраструктуры следует вести отчёт о своих действиях, включая таблицы и схемы, предусмотренные в задании. + +## 1. Произведите базовую настройку устройств + +- Настройте имена устройств согласно топологии. Используйте полное доменное имя, используйте таблицу 3, поле «Запись». +- На всех устройствах необходимо сконфигурировать IPv4: + - IP-адрес должен быть из приватного диапазона; + - локальная сеть в сторону HQ-SRV (VLAN 100): выделить сеть размером не более 32 адресов; + - локальная сеть в сторону HQ-CLI (VLAN 200): выделить сеть размером не более 16 адресов; + - локальная сеть для управления (VLAN 999): выделить сеть размером не более 8 адресов; +- между BR-FW и BR-RTR настройте сеть с минимально возможной маской подсети; +- в локальной сети в сторону BR-SRV необходимо выделить сеть из сети размером не более 16 адресов; +- сведения об адресах занесите в таблицу 2 (в качестве примера используйте Приложение 3). + +## 2. Настройте доступ к сети Интернет на маршрутизаторе ISP + +- Настройте адресацию на интерфейсах: + - интерфейс, подключённый к магистральному провайдеру, получает адрес по DHCP; + - настройте маршрут по умолчанию, DNS-сервер, если это необходимо; + - интерфейс в сторону HQ-RTR: подключён к сети 172.16.1.0/28; + - интерфейс в сторону BR-RTR: подключён к сети 172.16.2.0/28; +- на ISP настройте динамическую сетевую трансляцию портов для доступа к сети Интернет HQ-RTR и BR-RTR. + +## 3. Создайте локальные учётные записи + +На серверах HQ-SRV и BR-SRV создайте пользователя **sshuser**: + +- пароль `P@ssw0rd`; +- идентификатор пользователя `2027`; +- пользователь sshuser должен иметь возможность запускать sudo без ввода пароля. + +На маршрутизаторах HQ-RTR и BR-RTR создайте пользователя **net_admin**: + +- пароль `P@ssw0rd`; +- при настройке ОС на базе Linux: запускать sudo без ввода пароля; +- при настройке ОС, отличных от Linux: пользователь должен обладать максимальными привилегиями. + +## 4. Настройте коммутацию в сегменте HQ + +- Трафик HQ-SRV должен принадлежать VLAN 100. +- Трафик HQ-CLI должен принадлежать VLAN 200. +- Предусмотреть возможность передачи трафика управления в VLAN 999. +- Реализовать на HQ-RTR маршрутизацию трафика всех указанных VLAN с использованием одного сетевого адаптера ВМ / физического порта. +- Сведения о настройке коммутации внесите в отчёт. + +## 5. Настройте безопасный удалённый доступ на HQ-SRV и BR-SRV + +- Для подключения используйте порт `2027`. +- Разрешите подключения исключительно пользователю sshuser. +- Ограничьте количество попыток входа до двух. +- Настройте баннер «Authorized access only». + +## 6. IP-туннель между офисами HQ и BR + +На маршрутизаторах HQ-RTR и BR-RTR сконфигурируйте IP-туннель: + +- используйте протокол GRE; +- в качестве сетевого диапазона используйте сеть 10.10.10.0/24; +- для туннеля используйте минимально возможную маску подсети; +- сведения о туннеле занесите в отчёт. + +## 7. Динамическая маршрутизация + +Обеспечьте динамическую маршрутизацию на маршрутизаторах HQ-RTR и BR-RTR и межсетевом экране BR-FW. Сети одного офиса должны быть доступны из другого офиса и наоборот. + +- Разрешите выбранный протокол только на интерфейсах туннеля на HQ-RTR и BR-RTR. На BR-FW используйте в OSPF только интерфейс в сторону BR-RTR. +- Используйте OSPF. +- Используйте аутентификацию в OSPF на маршрутизаторах HQ-RTR и BR-RTR: + - в качестве пароля используйте `P@ssw0rd`; + - пароль должен передаваться с использованием хешированного ключа MD5. +- Сведения о настройке и защите протокола занесите в отчёт. + +## 8. Динамическая трансляция адресов на HQ-RTR и BR-RTR + +Настройте динамическую трансляцию адресов для обоих офисов в сторону ISP. Все устройства в офисах должны иметь доступ к сети Интернет. + +## 9. DHCP для сети в сторону HQ-CLI + +- Настройте нужную подсеть. +- В качестве сервера DHCP выступает маршрутизатор HQ-RTR. +- Клиентом является машина HQ-CLI. +- Исключите из выдачи адрес маршрутизатора. +- Адрес шлюза по умолчанию: адрес маршрутизатора HQ-RTR. +- Адрес DNS-сервера для HQ-CLI: адрес сервера HQ-SRV. +- DNS-суффикс: `au-team.irpo`. +- Сведения о настройке протокола занесите в отчёт. + +## 10. Инфраструктура разрешения доменных имён для офисов HQ и BR + +- Основной DNS-сервер реализован на HQ-SRV. +- Сервер должен обеспечивать разрешение имён в сетевые адреса устройств и обратно в соответствии с таблицей 3. +- В качестве DNS-сервера пересылки используйте любой общедоступный DNS-сервер (77.88.8.7, 77.88.8.3 или другие). + +## 11. Часовой пояс + +Настройте часовой пояс на всех устройствах (за исключением виртуального коммутатора, в случае его использования) согласно месту проведения экзамена. На всех устройствах, кроме HQ-SW, выполните настройку часового пояса согласно месту проведения экзамена. + +### Таблица 2 (заполняется участником) + +| Имя устройства | IP-адрес | Шлюз по умолчанию | +|---|---|---| +| HQ-RTR | | | +| BR-RTR | | | +| HQ-SRV | | | +| HQ-CLI | | | +| BR-SRV | | | +| BR-FW | | | + +### Таблица 3. DNS-записи + +| Устройство | Запись | Тип | +|---|---|---| +| HQ-RTR | hq-rtr.au-team.irpo | A | +| BR-RTR | br-rtr.au-team.irpo | A | +| BR-FW | br-fw.au-team.irpo | A | +| HQ-SRV | hq-srv.au-team.irpo | A, PTR | +| HQ-CLI | hq-cli.au-team.irpo | A | +| BR-SRV | br-srv.au-team.irpo | A, PTR | +| ISP (интерфейс в сторону HQ-RTR) | docker.au-team.irpo | A | +| ISP (интерфейс в сторону BR-RTR) | web.au-team.irpo | A | + +**Необходимые приложения:** +Прил_1_ОЗ_КИМ_09.02.06-3-2027.docx, Прил_2_ОЗ_КИМ_09.02.06-3-2027.docx, Прил_3_ОЗ_КИМ_09.02.06-3-2027.docx, Прил_4_ОЗ_КИМ_09.02.06-3-2027.docx + +--- + +# Задание 2. Организация сетевого администрирования операционных систем + +Необходимо разработать и настроить инфраструктуру информационно-коммуникационной системы согласно предложенной топологии (рисунок 2). + +Для задания 2 используется **отдельный стенд**. Инструкция по настройке стенда для технических администраторов площадки находится в отдельном файле. + +**В стенде преднастроены:** + +- контроллер домена samba-dc на сервере BR-SRV. Контроллер домена установлен и функционирует, учётных записей компьютеров, подразделений, пользователей нет; +- IP-адреса, маски подсетей и шлюзы по умолчанию; +- сетевая трансляция адресов; +- IP-туннель; +- динамическая маршрутизация; +- созданы пользователи sshuser на серверах и net_admin на маршрутизаторах, им предоставлены административные привилегии; +- порты ssh на серверах; +- DHCP-сервер; +- DNS-сервер; +- сервер HQ-SRV имеет два дополнительных накопителя размером 1 ГБ. + +## 1. Настройте контроллер домена Samba DC на BR-SRV + +- Введите в созданный домен машину HQ-CLI. +- Создайте 5 пользователей для офиса HQ: имена формата hquser№ (hquser1, hquser2 и т.д.), политика паролей: + - минимальная длина пароля 8 символов; + - блокировка учётной записи после 5 неудачных попыток входа. +- Создайте группу hq, введите в группу созданных пользователей. +- Убедитесь, что пользователи группы hq имеют право аутентифицироваться на HQ-CLI. +- Пользователи группы hq должны иметь возможность повышать привилегии для выполнения ограниченного набора команд: `cat`, `grep`, `id`. Запускать другие команды с повышенными привилегиями пользователи группы права не имеют. + +## 2. Файловое хранилище на HQ-SRV + +- При помощи двух подключённых к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0. +- Имя устройства: `md0`. При необходимости конфигурация массива размещается в файле `/etc/mdadm.conf`. +- Создайте и отформатируйте раздел, в качестве файловой системы используйте ext4. +- Обеспечьте автоматическое монтирование в папку `/raid`. + +## 3. Сервер сетевой файловой системы (NFS) на HQ-SRV + +- В качестве папки общего доступа выберите `/raid/nfs`. Доступ для чтения и записи исключительно для сети в сторону HQ-CLI. +- На HQ-CLI настройте автомонтирование в папку `/mnt/nfs`. +- Основные параметры сервера отметьте в отчёте. + +## 4. Служба сетевого времени chrony на маршрутизаторе ISP + +- Вышестоящий NTP-сервер на ISP: на выбор участника. +- Стратум сервера: 5. +- В качестве клиентов NTP настройте: HQ-SRV, HQ-CLI, BR-RTR, BR-SRV. + +## 5. Ansible на сервере BR-SRV + +- Сформируйте файл инвентаря. В инвентарь должны входить HQ-SRV, HQ-CLI, HQ-RTR и BR-RTR. +- Рабочий каталог ansible должен располагаться в `/etc/ansible`. +- Все указанные машины должны без предупреждений и ошибок отвечать `pong` на команду ping в ansible, посланную с BR-SRV. + +## 6. Веб-приложение в docker на BR-SRV + +- Средствами docker должен создаваться стек контейнеров с веб-приложением и базой данных. +- Используйте образы `site_latest` и `mariadb_latest`, располагающиеся в директории `docker` в образе Additional.iso. +- В качестве docker-файла используйте файл `compose.yaml`, который располагается в образе Additional.iso. +- Приложение testapp, развёрнутое через docker, доступно для внешних подключений через порт 8080. + +## 7. Веб-приложение на HQ-SRV + +- Используйте веб-сервер apache. +- В качестве СУБД используйте mariadb. +- Файлы веб-приложения и дамп базы данных находятся в директории `web` образа Additional.iso. +- Выполните импорт схемы и данных из файла `dump.sql` в базу данных `webdb`. +- Создайте пользователя `web` с паролем `P@ssw0rd` и предоставьте ему права доступа к этой базе данных. +- Файлы `index.php` и `logo.png` скопируйте в корневой каталог сайта. +- В файле `index.php` укажите правильные учётные данные для подключения к БД. +- Запустите веб-сервер и убедитесь в работоспособности приложения. +- Основные параметры отметьте в отчёте. + +## 8. Статическая трансляция портов на маршрутизаторах + +- Пробросьте порт 8080 в порт приложения testapp BR-SRV на маршрутизаторе BR-RTR, для работы testapp извне. +- Пробросьте порт 8080 в порт веб-приложения на HQ-SRV на маршрутизаторе HQ-RTR, для работы веб-приложения извне. +- Пробросьте порт 2027 на HQ-RTR в порт 2027 сервера HQ-SRV, для подключения по ssh из внешних сетей. +- Пробросьте порт 2027 на BR-RTR в порт 2027 сервера BR-SRV, для подключения по ssh из внешних сетей. + +## 9. Яндекс Браузер на HQ-CLI + +Удобным способом установите приложение Яндекс Браузер на HQ-CLI. Установку браузера отметьте в отчёте. + +**Необходимые приложения:** Прил_5_ОЗ_КИМ_09.02.06-3-2027.txt + +--- + +# Задание 3. Эксплуатация объектов сетевой инфраструктуры + +Необходимо разработать и настроить инфраструктуру информационно-коммуникационной системы согласно предложенной топологии (рисунок 3). + +Задание 3 содержит: создание пользователей с помощью сценария, развёртывание и настройку центра сертификации, выдачу сертификатов веб-серверам для шифрования трафика, принт-сервер, сервер логирования и мониторинга, автоматизацию на основе инфраструктуры открытых ключей, защиту протокола ssh от перебора, настройку программного обеспечения для создания архивных копий. + +В ходе проектирования и настройки сетевой инфраструктуры следует заносить записи в отчёт о своих действиях, когда это требуется в задании. + +## 1. Импорт пользователей в домен au-team.irpo + +- Скрипт `import.sh` располагается в корневой директории образа Additional.iso. +- В качестве файла-источника выберите файл `users.csv`, располагающийся в образе Additional.iso. +- Пользователи должны быть импортированы со своими паролями и другими атрибутами. +- Убедитесь, что импортированные пользователи могут войти на машину HQ-CLI. + +## 2. Обратный прокси-сервер на маршрутизаторе ISP + +- При обращении по доменному имени `web.au-team.irpo` у клиента должно открываться веб-приложение на HQ-SRV. +- При обращении по доменному имени `docker.au-team.irpo` у клиента должно открываться веб-приложение testapp. + +## 3. Web-based аутентификация на маршрутизаторе ISP + +При обращении к сайту `web.au-team.irpo` клиенту должно быть предложено ввести аутентификационные данные: + +- в качестве логина выберите `WEB` с паролем `P@ssw0rd`; +- при успешной аутентификации клиент должен перейти на веб-сайт. + +## 4. Центр сертификации на базе HQ-SRV + +- Рекомендуется использовать отечественные алгоритмы шифрования. +- Сертификаты выдаются на 30 дней. +- Обеспечьте доверие сертификату для HQ-CLI. +- Выдайте сертификаты веб-серверам. +- Перенастройте ранее настроенный реверсивный прокси на протокол https. +- При обращении к `https://web.au-team.irpo` и `https://docker.au-team.irpo` у браузера клиента не должно возникать предупреждений. + +## 5. atop на HQ-SRV + +- Установите и настройте утилиту atop. +- Сервис должен вести непрерывный мониторинг состояния сервера (процессор, оперативная память, дисковые операции, сетевые подключения) с интервалом сбора данных **7 минут**. + +## 6. Принт-сервер cups на HQ-SRV + +- Опубликуйте виртуальный pdf-принтер. +- На клиенте HQ-CLI подключите виртуальный принтер как принтер по умолчанию. + +## 7. Инвентаризация HQ-SRV и HQ-CLI через Ansible на BR-SRV + +- Плейбук должен собирать информацию о рабочих местах: + - имя компьютера; + - IP-адрес компьютера. +- Плейбук должен быть размещён в директории `/etc/ansible`, отчёты в поддиректории `PC-INFO`, в формате `.yml`. Файлы должны называться именем компьютера, который был инвентаризирован. +- Файл плейбука располагается в образе Additional.iso в директории `playbook`. + +## 8. fail2ban на HQ-SRV для защиты ssh + +- Укажите порт ssh. +- При 3 неуспешных авторизациях адрес атакующего попадает в бан. +- Бан производится на 1 минуту. + +## 9. Резервное копирование директории сервера HQ-SRV + +- На HQ-SRV развернуть программное обеспечение для резервного копирования и восстановления данных с защитой от вирусов-шифровальщиков. +- Рекомендуется использовать Кибер Бэкап версии 18 или аналог, совпадающий по функционалу. +- Настройте подразделение `irpo`. +- Настройте пользователя с правами администратора: имя `irpoadmin`, пароль `P@ssw0rd`. +- Установите на HQ-CLI агент с функциями узла хранилища и подключите его к серверу управления. +- На узле хранилища HQ-CLI создайте директорию `/backup` и выберите её в качестве устройства хранения. +- Создайте план резервного копирования для сервера HQ-SRV: копирование директории `/etc` и всех её поддиректорий. +- Выполните резервное копирование директории `/etc` и всех её поддиректорий сервера HQ-SRV на узел хранения HQ-CLI. + +**Необходимые приложения:** Прил_6_ОЗ_КИМ_09.02.06-3-2027.txt