Задание:
Необходимо разработать и настроить инфраструктуру информационнокоммуникационной системы согласно предложенной топологии (см. Рисунок 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