Решение третьего модуля Демоэкзамена СиСА 2025

Задание:

Необходимо разработать и настроить инфраструктуру информационно­коммуникационной системы согласно предложенной топологии (см. Рисунок 3). Для модуля 3 используется дополнительная виртуальная машина BR-DC.

Задание Модуля 3 содержит миграцию пользователей, подразделений, файловых служб, развёртывание и настройку центра сертификации, выдачу сертификатов веб серверам для шифрования трафика, настройку шифрованного туннеля, настройку межсетевого экрана, принт-сервера, сервера логирования и мониторинга, автоматизации на основе инфраструктуры открытых ключей. В ходе проектирования и настройки сетевой инфраструктуры следует вести отчеты (два отчета) о своих действиях, включая таблицы и схемы, предусмотренные в задании. Отчеты по окончании работы следует сохранить на диске рабочего места.

Рисунок 3. Топология сети

миграция на новый контроллер домена BR-SRV с BR-DC

https://www.altlinux.org/ActiveDirectory/Migration/ADMT Удачи все это настроить


Выполните настройку центра сертификации на базе HQ-SRV

apt-get install -y openssl #Установка 
openssl genrsa -out rootCA.key 4096 #Генерация ключа ЦС
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.crt -subj "/C=RU/ST=State/L=City/O=Organization/OU=Unit/CN=Root-CA" #Генерация сертификата ЦС

openssl genrsa -out wildcard.key 2048 #генерация ключа сертификата
cat > v3.ext << EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = *.au-team.irpo
DNS.2 = au-team.irpo
EOF
#расширения сертификата (нужно)

openssl req -new -key wildcard.key -out wildcard.csr -subj "/C=RU/ST=State/L=City/O=Organization/OU=Unit/CN=*.au-team.irpo" # создание запроса сертификата

openssl x509 -req -in wildcard.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out wildcard.crt -days 365 -sha256 -extfile v3.ext #Выпуск сертификата

Перекиньте ключ и сертификат на HQ-RTR командой и переместите их в папку с nginx

scp wildcard.crt net_admin@192.168.1.1:/home/net_admin/
scp wildcard.key net_admin@192.168.1.1:/home/net_admin/

на HQ-RTR:
cp /home/sshuser/wildcard.crt /etc/nginx/
 cp /home/sshuser/wildcard.key /etc/nginx/

Приведите конфигурацию которую вы настраивали во втором модуле — /etc/nginx/sites-enabled/proxy.conf к следующему виду:

server  {
        listen 80;
        server_name moodle.au-team.irpo;
        location / {
            proxy_pass http://192.168.1.10:80;
        }
}
server  {
        listen 443 ssl;
        server_name moodle.au-team.irpo;
        ssl_certificate /etc/nginx/wildcard.crt;
        ssl_certificate_key /etc/nginx/wildcard.key;
        location / {
            proxy_pass http://192.168.1.10:80;
        }
}
server {
        listen 80;
        server_name wiki.au-team.irpo;
        location / {
            proxy_pass http://192.168.3.10:8080;
        }
}
server  {
        listen 443 ssl;
        server_name wiki.au-team.irpo;
        ssl_certificate /etc/nginx/wildcard.crt;
        ssl_certificate_key /etc/nginx/wildcard.key;
        location / {
            proxy_pass http://192.168.3.10:8080;
        }
}

чтобы клиент доверял сертификату, нужно скопировать rootCA.crt (через scp) на HQ-CLI

Включите sshd 
на HQ-CLI
systemctl enable --now sshd
на HQ-SRV
scp rootCA.crt user@192.168.2.10:/home/user/
адрес может отличаться
на HQ-CLI
su -
cp /home/user/rootCA.crt /etc/pki/ca-trust/source/anchors/ && update-ca-trust

Защита туннеля

Установите пакет strongswan на обоих роутерах

На HQ-RTR

mcedit /etc/strongswan/ipsec.conf
conn vpn
        type=tunnel
        authby=secret
        left=172.16.4.4
        leftprotoport=gre
        right=172.16.5.5
        rightprotoport=gre
        auto=start
mcedit /etc/strongswan/ipsec.secrets
172.16.4.4 172.16.5.5 : PSK "P@ssw0rd"

systemctl enable --now ipsec 

На BR-RTR

mcedit /etc/strongswan/ipsec.conf
conn vpn
        type=tunnel
        authby=secret
        left=172.16.5.5
        leftprotoport=gre
        right=172.16.4.4
        rightprotoport=gre
        auto=start
mcedit /etc/strongswan/ipsec.secrets
172.16.5.5 172.16.4.4 : PSK "P@ssw0rd"

systemctl enable --now ipsec 

проверить работу защиты можно проверить командой ipsec status


Настройка сетевого экрана


Настройка сервера печати

На HQ-SRV

установите пакеты cups и cups-pdf

после установки запустите сервис systemctl enable —now cups

в файле /etc/cups/cupsd.conf

Замените Listen localhost:631 на Port 631

приведите следующие блоки к следующему виду (надо добавить строку Allow @LOCAL)

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @LOCAL
</Location>

На HQ-CLI через графический интерфейс ( в настройках принтеров) установите сетевой generic (производитель) CUPS-PDF (модель) принтер


логи

На HQ-SRV

apt-get install rsyslog
mkdir -p /opt/HQ-RTR /opt/BR-RTR /opt/BR-SRV
nano /etc/rsyslog.conf
#Добавьте следующие строки
   module(load="imudp")
   input(type="imudp" port="514")
   
   module(load="imtcp")
   input(type="imtcp" port="514")
if $fromhost-ip == '192.168.1.1' and $syslogseverity <= 4 then /opt/HQ-RTR/syslog.log
   & stop
   
   # Логи от BR-RTR
   if $fromhost-ip == '192.168.3.1' and $syslogseverity <= 4 then /opt/BR-RTR/syslog.log
   & stop
   
   # Логи от BR-SRV
   if $fromhost-ip == '192.168.3.10' and $syslogseverity <= 4 then /opt/BR-SRV/syslog.log
   & stop

systemctl restart rsyslog #перезапустите rsyslog

Настройка ротации

apt-get install logrotate
nano /etc/logrotate.d/remote-logs
/opt/HQ-RTR/syslog.log /opt/BR-RTR/syslog.log /opt/BR-SRV/syslog.log {
       weekly
       rotate 4
       compress
       delaycompress
       missingok
       notifempty
       size 10M
       create 0640 syslog syslog
       postrotate
           systemctl restart rsyslog
       endscript
   }

logrotate -d /etc/logrotate.d/remote-logs

На остальных

apt-get install rsyslog
nano /etc/rsyslog.conf
#Добавьте следующие строки
*.warning @192.168.1.10:514

systemctl restart rsyslog #перезапустите rsyslog

Мониторинг

ставить zabbix, инструкций куча


Инвентаризация через Ansible

Плейбук для инвентаризации:

   ---
   - name: Инвентаризация компьютеров
     hosts: targets
     become: yes
     tasks:
       - name: Сбор информации о машине
         setup:
         register: system_info
         
       - name: Создание каталога для отчетов
         file:
           path: "./PC_INFO"
           state: directory
         delegate_to: localhost
         
       - name: Сохранение информации в YAML-файл
         copy:
           content: |
             hostname: "{{ system_info.ansible_facts.ansible_hostname }}"
             ip_address: "{{ system_info.ansible_facts.ansible_default_ipv4.address }}"
           dest: "./PC_INFO/{{ system_info.ansible_facts.ansible_hostname }}.yml"
         delegate_to: localhost

Резервное копирование через Ansible