Исошники и документация
https://sysahelper.gitbook.io/sysahelper/main/complex_works/main/demo2024
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/index.html
Astra Linux https://dl.astralinux.ru/astra/stable/2.12_x86-64/iso/
RedOS https://redos.red-soft.ru/product/downloads/
alt server https://www.basealt.ru/alt-server/download
alt workstation https://www.basealt.ru/alt-workstation/download
- Выполните базовую настройку всех устройств:
a. Присвоить имена в соответствии с топологией
b. Рассчитайте IP-адресацию IPv4 и IPv6. Необходимо заполнить таблицу №1, чтобы эксперты могли проверить ваше рабочее место.
c. Пул адресов для сети офиса BRANCH - не более 16
d. Пул адресов для сети офиса HQ - не более 64
ТЫКНИ
Имя устройства | Интерфейс | Ip-адрес | Маска/Префикс | Шлюз | IPv6 | NIC |
---|---|---|---|---|---|---|
ISP | ens18 | 10.10.201.191 | /24 255.255.255.0 | 10.10.201.254 | - | INTERNET |
ens19 | 11.11.11.1 | /30 255.255.255.252 | 2001:11::1/64 | ISP-HQ | ||
ens20 | 22.22.22.1 | /30 255.255.255.252 | 2001:22::1/64 | ISP-BR | ||
ens22 | 33.33.33.1 | /30 255.255.255.252 | 2001:33::1/64 | ISP-CLI | ||
BR-R | ens18 | 192.168.100.1 | /27 255.255.255.224 | 2000:200::f/124 | BR | |
ens20 | 22.22.22.2 | /30 255.255.255.252 | 22.22.22.1 | 2001:22::22/64 | BR-ISP | |
HQ-R | ens19 | 11.11.11.2 | /30 255.255.255.252 | 11.11.11.1 | 2001:11::11/64 | HQ-ISP |
ens18 | 192.168.0.1 | /25 255.255.255.128 | 2000:100::3f/122 | HQ | ||
BR-SRV | ens18 | 192.168.100.2 | /27 255.255.255.224 | 192.168.100.1 | 2000:200::1/124 | BR |
HQ-SRV | ens18 | 192.168.0.2 | /25 255.255.255.128 | 192.168.0.1 | 2000:100::1/122 | HQ |
Присвоение имён:
hostnamectl set-hostname hq-r.hq.work;exec bash
hostnamectl set-hostname br-r.branch.work;exec bash
hostnamectl set-hostname hq-srv.hq.work;exec bash
hostnamectl set-hostname br-srv.branch.work;exec bash
Смотрим название адаптера:
ip -с a
Настройка ip-адреса:
echo 192.168.0.2/25 > /etc/net/ifaces/ens18/ipv4address
Настройка шлюза по умолчанию:
echo default via 192.168.0.1 > /etc/net/ifaces/ens18/ipv4route
Параметры интерфейса:
nano /etc/net/ifaces/ens18/options
BOOTPROTO=static
TYPE=eth
NM_CONTROLLED=no
DISABLED=no
CONFIG_IPV4=yes
CONFIG_IPV6=yes
DNS-сервер:
echo nameserver 8.8.8.8 > /etc/resolv.conf
Создание нового интерфейса (предположительно свериться в ip a):
cp /etc/net/ifaces/ens18 /etc/net/ifaces/ens19
Перезагрузка адаптера:
service network restart
или
systemctl restart network.service
Настройте внутреннюю динамическую маршрутизацию по средствам FRR. Выберите и обоснуйте выбор протокола динамической маршрутизации из расчёта, что в дальнейшем сеть будет масштабироваться.
a. Составьте топологию сети L3.
ТЫКНИ
Установка пакета:
apt-get -y install frr
Автозагрузка:
systemctl enable --now frr
Включение демона службы ospf:
sed -i 's/ospfd=no/ospfd=yes/g' /etc/frr/daemons
systemctl restart frr
Вход в среду роутера:
vtysh
Показать интерфейсы:
sh in br
Interface | Status | VRF | Adresses |
---|---|---|---|
ens18 | up | default | 192.168.0.162/30 |
ens19 | up | default | 192.168.0.129/27 |
lo | up | default |
Активировать ospf:
router ospf
Вводим СЕТИ:
net 192.168.0.160/30 area 0
net 192.168.0.128/27 area 0
Показать соседей:
do sh ip ospf neighbor
СОХРАНИТЬ КОНФИГИ:
do w
NAT_1
https://www.dmosk.ru/miniinstruktions.php?mini=firewalld-centos&ysclid=lq6h7dyu12576099184 https://www.dmosk.ru/miniinstruktions.php?mini=firewalld-centos&ysclid=lq6lwe2gxx781068118
опция CONFIG_FW (в файле /etc/net/ifaces/default/options) =yes
Отключить NetworkManager:
systemctl disable NetworkManager
Настройки интерфейсов должны быть такими:
...
NM_CONTROLLED=no
DISABLED=no
...
Установка firewalld:
apt-get update && apt-get -y install firewalld && systemctl enable --now firewalld
Правила к исходящим пакетам:
firewall-cmd --permanent --zone=public --add-interface=ens33
Правила к входящим пакетам:
firewall-cmd --permanent --zone=trusted --add-interface=ens34
Включение NAT:
firewall-cmd --permanent --zone=public --add-masquerade
Сохранение правил:
firewall-cmd --reload
Включаем пересылку всех пакетов на ISP между BR-R и HQ-R
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens35 -o ens34 -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens34 -o ens35 -j ACCEPT
Открываем порты OSPF:
firewall-cmd --permanent --zone=trusted --add-port=89/tcp
firewall-cmd --permanent --zone=trusted --add-port=89/udp
HQ-R и BR-R Включаем пересылку между интерфейсом смотрящим в ISP и туннелем:
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens160 -o iptunnel -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i iptunnel -o ens160 -j ACCEPT
Открываем порты OSPF:
firewall-cmd --permanent --zone=trusted --add-port=89/tcp
firewall-cmd --permanent --zone=trusted --add-port=89/udp
NAT_2
Включаем пересылку пакетов:
nano /etc/net/sysctl.conf
net.ipv4.ip_forward = 1
Правило:
iptables -A POSTROUTING -t nat -j MASQUERADE
Применение правил, работает только до перезагрузки:
iptables-save
Сохранение правил:
nano /etc/net/scripts/nat
#!/bin/sh
/sbin/iptables -A POSTROUTING -t nat -j MASQUERADE
chmod +x /etc/net/scripts/nat
Автозагрузка:
systemctl enable --now iptables
NAT_3
iptables (предполагается, что внешний интерфейс носит имя enp1s0):
iptables -t nat -A POSTROUTING -s 192.0.2.0/24 -o enp1s0 -j SNAT --to-source 198.51.100.234
iptables -A INPUT -i wlp3s2 -j ACCEPT
iptables -A FORWARD -i wlp3s2 -o enp1s0 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
NAT_4
nftables
apt-get update && apt-get -y install nftables
nft flush ruleset # для удаления всех правил и таблиц в системе, которые были настроены с использованием nftables
nft add table nat # используется для создания новой таблицы с именем "nat"
Prerouting
nft -- add chain nat prerouting { type nat hook prerouting priority -100 \; }
Postrouting
nft add chain nat postrouting { type nat hook postrouting priority 100 \; }
Применяем правило к интерфейсу, который смотрит в сторону Интернета
nft add rule nat postrouting oifname "ens33" masquerade
Сохранение правил
echo "#!/usr/sbin/nft -f" > /etc/nftables/nftables.nft
echo "flush ruleset" >> /etc/nftables/nftables.nft
nft list ruleset >> /etc/nftables/nftables.nft
systemctl restart nftables
Настройте автоматическое распределение IP-адресов на роутере HQ-R.
a. Учтите, что у сервера должен быть зарезервирован адрес.
КЛИКНИ
Установка пакета:
apt-get -y install dhcp-server
/etc/sysconfig/dhcpd
, указываю интерфейс внутренней сети:
DHCPDARGS=ens19
Копирую образец:
cp /etc/dhcp/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd.conf
параметры раздачи:
ddns-update-style-none;
subnet 192.168.0.0 netmask 255.255.255.128 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.128;
option domain-name-servers 8.8.8.8, 8.8.4.4;
range dynamic-bootp 192.168.0.20 192.168.0.50;
default-lease-time 21600;
max-lease-time 43200;
}
host HQ-SRV
{
hardware ethernet 00:50:56:b6:89:75;
fixed-address 192.168.0.5;
}
systemctl restart dhcpd
systemctl status dhcpd.service
Автозагрузка:
chkconfig dhcpd on
service dhcpd start
HQ-SRV (клиент):
nano /etc/net/ifaces/ens18/ipv4address
#192.168.0.40
nano /etc/net/ifaces/ens18/options
BOOTROTO=dhcp
TYPE=eth
NM_CONTROLLED=yes
DISABLED=no
CONFIG_IPV4=yes
service network restart
ens18:
inet 192.168.0.38/25 brd 192.168.0.127
Настройте локальные учётные записи на всех устройствах в соответствии с таблицей.
Учётная запись | Пароль | Примечание |
---|---|---|
Admin | P@ssw0rd | CLI, HQ-SRV, HQ-R |
Branch admin | P@ssw0rd | BR-SRV, BR-R |
Network admin | P@ssw0rd | HQ-R, BR-R, HQ-SRV |
КЛИКНИ
Пользователь admin
на HQ-SRV
adduser admin
usermod -aG wheel admin
passwd admin
P@ssw0rd
P@ssw0rd
Измерьте пропускную способность сети между двумя узлами HQ-R-ISP по средствам утилиты iperf 3. Предоставьте описание пропускной способности канала со скриншотами.
КЛИКНИ
apt-get -y install iperf3
ISP как сервер:
если надо открыть порт
iptables -A INPUT -p tcp --dport 5201 -j ACCEPT
iperf3 -s
HQ-R:
iperf3 -c 192.168.0.161 -f M
[ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 345 MBytes 344 MBytes/sec 0 538 KBytes
[ 5] 1.00-2.00 sec 338 MBytes 338 MBytes/sec 0 676 KBytes
[ 5] 3.00-4.00 sec 341 MBytes 341 MBytes/sec 0 749 KBytes
Составьте backup скрипты для сохранения конфигурации сетевых устройств, а именно HQ-R BR-R. Продемонстрируйте их работу.
КЛИКНИ
Создаём папку для бэкапа:
mkdir /etc/networkbackup
Заход в планировщик заданий:
EDITOR=nano crontab -e
минута | час | день | месяц | день недели | "команда, например reboot
":
9 15 * * * cp /etc/frr/frr.conf /etc/networkbackup
ls /etc/networkbackup
frr.conf
UrBackup
UrBackup - система резервного копирования типа "клиент-сервер"
ISP выступает в роли сервера:
apt-get -y install urbackup-server
mkdir -p /mnt/backups
Каталог принадлежит пользователю urbackup:
chown -R urbackup:urbackup /mnt/backups
systemctl enable --now urbackup-server
urbackup прослушивает порты 55413 и 55414
Есть веб-интерфейс <IP-сервера:55414>
Установка на клиентах BR-R,HQ-R:
apt-get -y install urbackup-client
systemctl enable --now urbackup-client
Клиенты
В настройках меняются:
- Количество и интервал инкрементальных файловых бэкапов
- Количество и интервал полных файловых бэкапов
- Количество и интервал полных образов
- Количество и интервал инкрементальных образов
- Тома и каталоги
Выбираем каталог/etc/frr
и сохраняем
Теперь можно делать бэкапы
Настройте подключение по SSH для удалённого конфигурирования устройства HQ-SRV по порту 2222. Учтите, что вам необходимо перенаправить трафик на этот порт по средствам контролирования трафика.
КЛИКНИ
HQ-SRV:
apt-get -y install openssh-server
systemctl enable --now sshd
nano /etc/openssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication yes
Подключение
ssh [email protected] -p 2222
Настройте контроль доступа до HQ-SRV по SSH со всех устройств, кроме CLI.
КЛИКНИ
HQ-SRV:
nano /etc/openssh/sshd_config
Выбор пользователей
Настройте синхронизацию времени между сетевыми устройствами по протоколу NTP.
a. В качестве сервера должен выступать роутер HQ-R со стратумом 5
b. Используйте Loopback интерфейс на HQ-R, как источник сервера времени
c. Все остальные устройства и сервера должны синхронизировать свое время с роутером HQ-R
d. Все устройства и сервера настроены на московский часовой пояс (UTC +3)
Открой
Переставить часовой пояс на всех машинах:
timedatectl set-timezone Asia/Yekaterinburg
Установить chrony
на всех устройствах:
apt-get install -y chrony
Автозагрузка:
systemctl enable --now chronyd
Конфигурация HQ-R
:
nano /etc/chrony.conf
Конфигурация на клиентах (в зависимости от сети):
Просмотр клиентов:
chronyc clients
Настройте DNS-сервер на сервере HQ-SRV:
a. На DNS сервере необходимо настроить 2 зоны
Зона hq.work, также не забудьте настроить обратную зону.
Имя | Тип записи | Адрес |
---|---|---|
hq-r.hq.work | A, PTR | IP-адрес |
hq-srv.hq.work | A, PTR | IP-адрес |
br-r.branch.work | A, PTR | IP-адрес |
br-srv.branch.work | A | IP-адрес |
Открой
https://sysahelper.gitbook.io/sysahelper/main/linux_admin/main/altdnsserversetup
Установка:
apt-get update && apt-get install bind -y
nano /var/lib/bind/etc/options.conf
systemctl enable --now bind
nano /etc/resolv.conf
search hq.work
search branch.work
nameserver 127.0.0.1
nano /var/lib/bind/etc/local.conf
cp /var/lib/bind/etc/zone/{localdomain,hq.db}
chown named. /var/lib/bind/etc/zone/champ.db
chmod 600 /var/lib/bind/etc/zone/champ.db
nano /var/lib/bind/etc/zone/hq.db
nano /var/lib/bind/etc/zone/branch.db
nano /var/lib/bind/etc/zone/0.db
Проверка:
named-checkconf -z
systemctl restart bind
nslookup hq-r.hq.work
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/install-package.html
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/ch02s03.html
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/testing-samba-dc.html
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/ch02s02s03.html
https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/index.html
Настройте сервер домена на базе HQ-SRV через web интерфейс, выбор его типа и технологий обоснуйте.
a. Введите машины BR-SRV и CLI в данный домен
b. Организуйте отслеживание подключения к домену
Открой
Перед установкой отключить конфликтующие службы krb5kdc, slapd, bind, smb, nmb:
systemctl stop krb5kdc
systemctl disable krb5kdc
systemctl status krb5kdc
Поменять порт к web-интерфейсу:
nano /etc/ahttpd/ahttpd.conf
server-port 8082
Установка:
apt-get install -y task-samba-dc admc
Имя узла и домена
hostnamectl set-hostname hq-srv.hq.work; exec bash
domainname hq.work
Для корректного распознования dns-запросов, /etc/resolv.conf
:
nameserver 127.0.0.1
resolvconf -u
Начальное состояние samba:
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba
rm -rf /var/cache/samba
mkdir -p /var/lib/samba/sysvol
Через веб-браузер входим в среду настройки домена:
192.168.0.40:8080
Вот такие настройки
ОБЯЗАТЕЛЬНО ПЕРЕЗАГРУЗИТЬ МАШИНУ
При входе получаем билет
Просмотр полученного билета
Настройка kerberos:
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Установка active directory:
apt-get install task-auth-ad-sssd
Настройки адаптера
Аутентификация
Установка active directory:
apt-get install task-auth-ad-sssd
nano /etc/resolv.conf
search hq.work
search branch.work
nameserver 192.168.0.40
Ввод в домен system-auth write ad <Домен> <Имя компьютера> <Рабочая группа> <Имя пользователя> <Пароль>:
system-auth write ad hq.work br-srv hq 'administrator' 'P@ssw0rd'
Смотрим созданные доменом зоны:
samba-tool dns zonelist 127.0.0.1 -U administrator
Создадим зону branch.work и две обратные:
samba-tool dns zonecreate 127.0.0.1 branch.work -U administrator
samba-tool dns zonecreate 127.0.0.1 0.168.192.in-addr.arpa -U administrator
samba-tool dns zonecreate 127.0.0.1 100.168.192.in-addr.arpa -U administrator
Создание записи типа А:
samba-tool dns add 127.0.0.1 hq.work hq-r A 192.168.0.1 -U administrator
samba-tool dns add 127.0.0.1 hq.work hq-srv A 192.168.0.40 -U administrator
samba-tool dns add 127.0.0.1 branch.work br-r A 192.168.100.1 -U administrator
samba-tool dns add 127.0.0.1 branch.work br-srv A 192.168.100.2 -U administrator
Создание записи типа PTR:
samba-tool dns add 127.0.0.1 0.168.192.in-addr.arpa 1 PTR hq-r.hq.work -U administrator
samba-tool dns add 127.0.0.1 0.168.192.in-addr.arpa 40 PTR hq-srv.hq.work -U administrator
samba-tool dns add 127.0.0.1 100.168.192.in-addr.arpa 1 PTR br-r.branch.work -U administrator
Проверка
https://sysahelper.gitbook.io/sysahelper/main/linux_admin/main/fileserver_nfs
https://www.altlinux.org/NFS_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D1%81_Kerberos_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B5%D0%B9
Реализуйте файловый SMB или NFS (выбор обоснуйте) сервер на базе сервера HQ-SRV.
a. Должны быть опубликованы общие папки по названиям:
i. Branch_Files - только для пользователя Branch admin;
ii. Network - только для пользователя Network admin;
iii. Admin_Files - только для пользователя Admin;
b. Каждая папка должна монтироваться на всех серверах в папку /mnt/<name_folder> (например, /mnt/All_files) автоматически при входе доменного пользователя в систему и отключаться при его выходе из сессии. Монтироваться должны только доступные пользователю каталоги.
Выберу NFS, потому что легче Samba:
Открой
apt-get install -y mdadm
Смотрим утилитой lsblk
, созданные диски
Стираем данные суперблоков:
/sbin/mdadm --zero-superblock --force /dev/sd{b,c}
Если мы получили ответ:
то значит, что диски не использовались ранее для RAID.
Нужно удалить старые метаданные и подпись на дисках:
/sbin/wipefs --all --force /dev/sd{b,c}
Создание RAID:
/sbin/mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sd{b,c}
где:
- /dev/md0 — устройство RAID, которое появится после сборки;
- -l 0 — уровень RAID;
- -n 2 — количество дисков, из которых собирается массив;
- /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.
Проверяем:
lsblk
Создание файла mdadm.conf:
В файле mdadm.conf находится информация о RAID-массивах и компонентах, которые в них входят.
mkdir /etc/mdadm
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
/sbin/mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Содержимое mdadm.conf
Создание файловой системы для массива:
/sbin/mkfs.ext4 /dev/md0
Автозагрузка раздела с помощью fstab
. Смотрим идентификатор раздела:
/sbin/blkid | grep /dev/md0
Открываем fstab
и добавляем строку:
nano /etc/fstab
в данном случае массив примонтирован в каталог
/mnt
Выполняем монтирование и проверяем
Установка пакетов для NFS сервера:
apt-get install -y nfs-server
apt-get install -y rpcbind
apt-get install -y nfs-clients
apt-get install -y nfs-utils
Автозагрузка:
systemctl enable --now nfs
Создание директории общего доступа:
mkdir /mnt/nfs_share
chmod 777 /mnt/nfs_share
Редактируем exports
:
nano /etc/exports
где:
- /mnt/nfs_share - общий ресурс
- 192.168.0.0/25 - клиентская сеть, которой разрешено монтирования общего ресурса
- rw — разрешены чтение и запись
- no_root_squash — отключение ограничения прав root
Экспорт файловой системы:
/usr/sbin/exportfs -arv
exportfs с флагом -a, означающим экспортировать или отменить экспорт всех каталогов, -r означает повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d, а флаг -v включает подробный вывод:
Запускаем и добавляем в автозагрузку NFS-сервер:
systemctl enable --now nfs-server
Установка пакетов для NFS-клиента:
apt-get update && apt-get install -y nfs-{utils,clients}
Создадим директорию для монтирования общего ресурса:
mkdir /opt/share
chmod 777 /opt/share
Настраиваем автомонтирование общего ресурса через fstab
:
nano /etc/fstab
где: 192.168.0.40 - адрес файлового сервера
Монтируем:
mount -a
Проверяем:
df -h
Создание общих папок на сервере:
mkdir /mnt/network -p
mkdir /mnt/admin_files -p
mkdir /mnt/branch_files -p
Заносим в exports
:
nano /etc/exports
/mnt/network 192.168.0.0/25 192.168.100.0/27(rw,sync,no_root_squash)
/mnt/branch_files 192.168.100.0/27(rw,sync,no_root_squash)
/mnt/admin_files 192.168.0.0/25 4.4.4.0/30(rw,sync,no_root_squash)
Экспортируем:
/usr/sbin/exportfs -arv
Создаём папку:
mkdir /opt/admin
Задаём права:
chmod 777 /opt/admin/
Автозагрузка в fstab
:
192.168.0.40:/mnt/admin_files /opt/admin nfs defaults 0 0
Монтаж:
mount -a
Сконфигурируйте веб-сервер LMS Apache на сервере BR-SRV:
a. На главной странице должен отражаться номер места
b. Используйте базу данных mySQL
c. Создайте пользователей в соответствии с таблицей, пароли у всех пользователей «P@ssw0rd»
Пользователь | Группа |
---|---|
Admin | Admin |
Manager1 | Manager |
Manager2 | Manager |
Manager3 | Manager |
User1 | WS |
User2 | WS |
User3 | WS |
User4 | WS |
User5 | TEAM |
User6 | TEAM |
User7 | TEAM |
Открой
Установка Moodle:
apt-get update && apt-get install -y moodle
apt-get install -y moodle-apache2
apt-get install -y moodle-local-mysql
Автозагрузка базы данных:
systemctl enable --now mariadb
Автозагрузка Apache2 (В AltLinux назывется httpd2):
systemctl enable --now httpd2
Входим в СУБД:
mysql -u root
Создаём базу данных:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Ставим максимальные права пользователя moodleuser
в БД moodle
, пароль moodlepasswd
:
GRANT ALL ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepasswd';
Обновляем политики:
FLUSH PRIVILEGES;
Выходим:
EXIT
Перезапускаем сервисы:
systemctl restart httpd2
systemctl restart mariadb
Заходим по адресу http://localhost/moodle
Выбираем русский язык
Потверждаем пути
Драйвер базы данных MariaDB
Сервер баз данных localhost
Название БД moodle
Пользователь БД moodleuser
Пароль moodlepasswd
Префикс имен таблиц mdl_
Порт БД 3106
Продолжить
Меняем количество максимальных переменных:
nano /etc/php/8.0/apache2-mod_php/php.ini
Убираем ;
перед max_input_vars = 1000
max_input_vars = 6000
Должно появиться такое
В следующей массивной странице должны вывестись все записи Успешно
, продолжаем
Логин admin
Пароль P@ssw0rd
e-mail любой
Часовой пояс Азия/Екатеринбург
Дальше задаём имя ресурса и т. д.
Попадаем на главную страницу
Создание пользователя manager
(Администрирование -> Пользователи -> Добавить пользователя)
Дальше по таблице создаём других
Создание групп (Администрирование -> Пользователи -> Глобальные группы -> Добавить глобальную группу)
Остальное всё легко
Запустите сервис MediaWiki используя docker на сервере HQ-SRV.
a. Установите Docker и Docker Compose.
b. Создайте в домашней директории пользователя файл wiki.yml для приложения MediaWiki:
i. Средствами docker compose должен создаваться стек контейнеров с приложением MediaWiki и базой данных
ii. Используйте два сервиса;
iii. Основной контейнер MediaWiki должен называться wiki и использовать образ mediawiki;
iv. Файл LocalSettings.php с корректными настройками должен находиться в домашней папке пользователя и автоматически монтироваться в образ;
v. Контейнер с базой данных должен называться db и использовать образ mysql;
vi. Он должен создавать базу с названием mediawiki, доступную по стандартному порту, для пользователя wiki с паролем DEP@ssw0rd;
vii. База должна храниться в отдельном volume с названием dbvolume.
MediaWiki должна быть доступна извне через порт 8080.
Открой
Установка Docker и Docker-compose:
apt-get update && apt-get install -y docker-engine
apt-get install -y docker-compose
Автозагрузка Docker
:
systemctl enable --now docker
Привязка пользователя к Docker
:
usermod student -aG docker
Переходим к домашней директории пользователя:
cd /home/student
Создаём файл wiki.yml:
touch wiki.yml
Привести к следующему виду:
version: '3'
services:
mediawiki:
image: mediawiki
restart: always
ports:
- 8080:80
links:
- database
container_name: wiki
volumes:
- images:/var/www/html/images
# Сначала устанавливаем вручную до конца, потом убираем комментарий
# - ./LocalSettings.php:/var/www/html/LocalSettings.php
database:
image: mariadb
container_name: mariadb
restart: always
environment:
MYSQL_DATABASE: mediawiki
MYSQL_USER: wiki
MYSQL_PASSWORD: DEP@ssw0rd
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
TZ: Asia/Yekaterinburg
volumes:
- db:/var/lib/mysql
volumes:
images:
db:
Запускаем контейнеры:
docker-compose -f wiki.yml up -d
Если всё правильно переходим по localhost:8080
и должно появиться - 'Please set up the wiki first'
Настройка базы данных
Для того, чтобы узнать хост базы данных:
docker exec -it mariadb bash
hostname -i
Вывод
172.18.0.2
Заполняем таблицу основываясь на wiki.yml файле и полученном хосте
Потом создаём Админа
После этого должен скачаться LocalSettings.php
Копируем:
cp /home/user/Downloads/LocalSettings.php /home/student/
Снимаем комментарий ./LocalSettings.php:/var/www/html/LocalSettings.php в wiki.yml
Перезапускаем контейнеры:
docker-compose -f wiki.yml up -d
Mediawiki успешно установлена
- Реализуйте мониторинг по средствам rsyslog на всех Linux хостах.
a. Составьте отчёт о том, как работает мониторинг
Открой
Установка rsyslog
:
apt-get install rsyslog-classic
Автозагрузка:
systemctl enable --now rsyslog
Конфиг /etc/rsyslog.d/00_common.conf
:
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
/etc/rsyslog.d/myrules.conf
:
$template RemoteLogs,"/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~
Название шаблона
RemoteLogs
, который принимает логи всех категорий; логи будут сохраняться в каталоге/var/log/rsyslog/<имя компьютера, откуда пришел лог>/<приложение, чей лог пришел>.log
; конструкция& ~
прекращает дальнейшую обработку логов
Перезапускаем службу логов:
systemctl restart rsyslog
Установка пакета:
apt-get install -y rsyslog-classic
Автозагрузка:
systemctl enable --now rsyslog
Добавляем в /etc/rsyslog.d/all.conf
:
*.* @@192.168.0.2:514
Отправлять все логи всех важностей по tcp на сервак
В файле /etc/rsyslog.d/20_extrasockets.conf
закомментировать всё
Выполните настройку центра сертификации на базе HQ-SRV:
a. Выдайте сертификаты для SSH;
b. Выдайте сертификаты для веб серверов.
Открой
Создадим директорию которую будем использовать как корневую:
mkdir /ca
Найдём путь, где расположен конфиг:
openssl ca
Сделаем бэкап конфига:
cp /var/lib/ssl/openssl.{cnf,cnf.backup}
Редактируем конфиг /var/lib/ssl/openssl.conf
cd /ca
mkdir certs newcerts crl private
touch index.txt
echo -n '00' > serial
policy = policy_anything
commonName = supplied
countryName_default = RU
0.organizationName_default = hq.work
[ v3_ca]
...
basicConstraints = CA:true
Генерируем ключ:
openssl req -nodes -new -out cacert.csr -keyout private/cakey.pem -extensions v3_ca
.
значит пустой
Настройте SSH на всех Linux хостах:
a. Banner ( Authorized access only! );
b. Установите запрет на доступ root;
c. Отключите аутентификацию по паролю;
d. Переведите на нестандартный порт;
e. Ограничьте ввод попыток до 4;
f. Отключите пустые пароли;
g. Установите предел времени аутентификации до 5 минут;
h. Установите авторизацию по сертификату выданным HQ-SRV.
Открой
HQ-SRV
Генерация пары ключей:
ssh-keygen -t rsa -b 2048 -f alt_key
mv alt_key* .ssh/
Создаём config
для подключений:
nano .ssh/config
chmod 600 .ssh/config
Копируем публичные ключи на сервера HQ-R,BR-R,BR-SRV:
ssh-copy-id -i .ssh/alt_key.pub [email protected]
ssh-copy-id -i .ssh/alt_key.pub [email protected]
ssh-copy-id -i .ssh/alt_key.pub [email protected]
Все действия по порядку, начиная с создания пары ключей выполнить на HQ-R,BR-R,BR-SRV
На HQ-R,HQ-SRV,BR-R,BR-SRV в файле /etc/openssh/sshd_config
:
Перезапускаем sshd
:
systemctl restart sshd
Подключаемся:
Чтобы при подключении не прописывать порт, пропишите в .ssh/config
:
Port 2222
Реализуйте антивирусную защиту по средствам ClamAV на устройствах HQ-SRV и BR-SRV:
a. Настройте сканирование системы раз в сутки с сохранением отчёта
i. Учтите, что сканирование должно проводится при условии, что от пользователей нет нагрузки
Открой
Установка clamav:
apt-get update && apt-get install clamav
Автозагрузка:
systemctl enable --now clamav-daemon.service
nano /usr/local/sbin/clam_all.sh
#!/bin/bash
SCAN_DIR="/"
LOG_FILE="/var/log/clamav/manual_clamscan.log"
/usr/bin/clamscan -i -r $SCAN_DIR >> $LOG_FILE
Разрешение на запуск скрипта:
chmod +x /usr/local/sbin/clam_www_scan.sh
Создаем файл лога:
touch /var/log/clamav/manual_clamscan.log
Запуск по расписанию:
EDITOR=nano crontab -e
Каждый день в час ночи запускать сканирование:
1 1 * * * /usr/local/sbin/clam_all.sh > /dev/null
Настройте систему управления трафиком на роутере BR-R для контроля входящего трафика в соответствии со следующими правилами:
a. Разрешите подключения к портам DNS (порт 53), HTTP (порт 80) и HTTPS (порт 443) для всех клиентов. Эти порты необходимы для работы настраиваемых служб.
b. Разрешите работу выбранного протокола организации защищенной связи. Разрешение портов должно быть выполнено по принципу "необходимо и достаточно".
c. Разрешите работу протоколов ICMP (протокол управления сообщениями Internet).
d. Разрешите работу протокола SSH (Secure Shell) (SSH используется для безопасного удаленного доступа и управления устройствами).
e. Запретите все прочие подключения.
f. Все другие подключения должны быть запрещены для обеспечения безопасности сети.
Открой
Разрешаем порты:
firewall-cmd --permanent --zone=public --add-port=53/{tcp,udp}
firewall-cmd --permanent --zone=trusted --add-port=53/{tcp,udp}
firewall-cmd --permanent --zone=public --add-port=80/{tcp,udp}
firewall-cmd --permanent --zone=trusted --add-port=80/{tcp,udp}
firewall-cmd --permanent --zone=public --add-port=443/{tcp,udp}
firewall-cmd --permanent --zone=trusted --add-port=443/{tcp,udp}
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=trusted --add-port=22/tcp
Разрешаем протоколы
firewall-cmd --permanent --zone=public --add-protocol={icmp,gre,ospf}
firewall-cmd --permanent --zone=trusted --add-protocol={icmp,gre,ospf}
Разрешаем сервисы:
firewall-cmd --permanent --zone=public --add-service={ssh,ipsec,ntp}
firewall-cmd --permanent --zone=trusted --add-service={ssh,ipsec,ntp}
Блокируем остальные подключения и всё ненужное:
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens34 -j DROP
Настройте виртуальный принтер с помощью CUPS для возможности печати документов из Linux-системы на сервере BR-SRV.
Открой
Установка cups
:
apt-get update && apt-get install -y cups
Установка наиболее популярных драйверов на принтеры:
apt-get install -y gutenprint-cups
Добавить в автозагрузку:
systemctl enable --now cups-browsed.service
systemctl enable --now cups-lpd.socket
Установка виртуального принтера:
apt-get install -y cups-pdf
Заходим по пути Система -> Администрирование -> Параметры печати
Проверяем работу виртуального принтера:
- Создаем текстовый файл
- Файл -> Напечатать... -> Cups-PDF -> Печать
Между офисами HQ и BRANCH установите защищенный туннель, позволяющий осуществлять связь между регионами с применением внутренних адресов.
Открой
HQ-R
mkdir /etc/net/ifaces/iptunnel
nano /etc/net/ifaces/iptunnel/ipv4address
10.20.30.1/30
nano /etc/net/ifaces/iptunnel/options
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=11.11.11.2
TUNREMOTE=22.22.22.2
TUNOPTIONS='ttl 64'
HOST=ens18
nano /etc/net/ifaces/iptunnel/ipv4route
10.20.30.0/30 via 10.20.30.2
systemctl restart network
BR-R
mkdir /etc/net/ifaces/iptunnel
nano /etc/net/ifaces/iptunnel/ipv4address
10.20.30.2/30
nano /etc/net/ifaces/iptunnel/options
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=22.22.22.2
TUNREMOTE=11.11.11.2
TUNOPTIONS='ttl 64'
HOST=ens18
nano /etc/net/ifaces/iptunnel/ipv4route
10.20.30.0/30 via 10.20.30.1
systemctl restart network
Установим strongswan:
apt-get update && apt-get install -y strongswan
Включим и добавим в автозагрузку службы для работы IPSec:
systemctl enable --now strongswan-starter.service
systemctl enable --now ipsec
HQ-R
Конфигурационный файл "/etc/strongswan/ipsec.conf":
nano /etc/strongswan/ipsec.conf
Задаём общий секрет:
nano /etc/strongswan/ipsec.secrets
Перезапускаем:
systemctl restart ipsec
BR-R
Те же самые настройки, меняем местами ip-адреса
Проверка
По средствам уже настроенного мониторинга установите следующие параметры:
a. Warning
i. Нагрузка процессора больше или равна 70%
ii. Заполненность оперативной памяти больше или равна 80%
iii. Заполненность диска больше или равна 85%
b. Напишите план действия при получении Warning сообщений
Открой
Figushki
Настройте программный RAID 5 из дисков по 1 Гб, которые подключены к машине BR-SRV.
Открой
apt-get install -y mdadm
Смотрим утилитой lsblk
, созданные диски
Стираем данные суперблоков:
/sbin/mdadm --zero-superblock --force /dev/sd{b,c}
Если мы получили ответ:
то значит, что диски не использовались ранее для RAID.
Нужно удалить старые метаданные и подпись на дисках:
/sbin/wipefs --all --force /dev/sd{b,c}
Создание RAID:
/sbin/mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sd{b,c}
где:
- /dev/md0 — устройство RAID, которое появится после сборки;
- -l 5 — уровень RAID;
- -n 3 — количество дисков, из которых собирается массив;
- /dev/sd{b,c,d} — сборка выполняется из дисков sdb и sdc.
Проверяем:
lsblk
Создание файла mdadm.conf:
В файле mdadm.conf находится информация о RAID-массивах и компонентах, которые в них входят.
mkdir /etc/mdadm
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
/sbin/mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Содержимое mdadm.conf
Создание файловой системы для массива:
/sbin/mkfs.ext4 /dev/md0
Автозагрузка раздела с помощью fstab
. Смотрим идентификатор раздела:
/sbin/blkid | grep /dev/md0
Открываем fstab
и добавляем строку:
nano /etc/fstab
в данном случае массив примонтирован в каталог
/mnt
Выполняем монтирование и проверяем
Настройте Bacula на сервере HQ-SRV для резервного копирования etc на сервере BR-SRV.
Открой
a netu