Skip to content

abdurrah1m/DEMO2024

Repository files navigation

Эту репу открыли столько раз:

На кофе:

aveek.saha

Исошники и документация

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

Все действия выполняются на ALTSERVER И ALTSTATION 10.1


Модуль 1 задание 1

  1. Выполните базовую настройку всех устройств:
      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

image

Присвоение имён:

HQ-R

hostnamectl set-hostname hq-r.hq.work;exec bash

BR-R

hostnamectl set-hostname br-r.branch.work;exec bash

HQ-SRV

hostnamectl set-hostname hq-srv.hq.work;exec bash

BR-SRV

hostnamectl set-hostname br-srv.branch.work;exec bash

HQ-SRV

Смотрим название адаптера:

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

Модуль 1 задание 2

Настройте внутреннюю динамическую маршрутизацию по средствам 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

image

NAT_1

NAT и открывание портов с помощью firewalld ISP,HQ-R,BR-R:

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

image

image


NAT_2

NAT 2 способ ISP,HQ-R,BR-R:

Включаем пересылку пакетов:

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

NAT 3 способ ISP,HQ-R,BR-R:

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

NAT 4 способ HQ-R,BR-R

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

Модуль 1 задание 3

Настройте автоматическое распределение 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

Модуль 1 задание 4

Настройте локальные учётные записи на всех устройствах в соответствии с таблицей.

Учётная запись Пароль Примечание
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

Модуль 1 задание 5

Измерьте пропускную способность сети между двумя узлами 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

Модуль 1 задание 6

Составьте 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

№1.6 UrBackup BR-R,HQ-R

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

Клиенты

image

В настройках меняются:

  • Количество и интервал инкрементальных файловых бэкапов
  • Количество и интервал полных файловых бэкапов
  • Количество и интервал полных образов
  • Количество и интервал инкрементальных образов
  • Тома и каталоги
    Выбираем каталог /etc/frr и сохраняем

image

Теперь можно делать бэкапы

image

Модуль 1 задание 7

Настройте подключение по 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

Модуль 1 задание 8

Настройте контроль доступа до HQ-SRV по SSH со всех устройств, кроме CLI.

КЛИКНИ

HQ-SRV:

nano /etc/openssh/sshd_config

Выбор пользователей

Модуль 2 задание 2

Настройте синхронизацию времени между сетевыми устройствами по протоколу 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

image

Конфигурация на клиентах (в зависимости от сети):
image

image

Просмотр клиентов:

chronyc clients

image

Модуль 2 задание 1

Настройте 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

image

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

image

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

image

nano /var/lib/bind/etc/zone/branch.db

image

nano /var/lib/bind/etc/zone/0.db

image

Проверка:

named-checkconf -z

image

systemctl restart bind
nslookup hq-r.hq.work

image

image

Модуль 2 задание 3

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

Вот такие настройки

image

ОБЯЗАТЕЛЬНО ПЕРЕЗАГРУЗИТЬ МАШИНУ
При входе получаем билет

image

Просмотр полученного билета

image

Настройка kerberos:

cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

Клиенты домена

CLI

Установка active directory:

apt-get install task-auth-ad-sssd

Настройки адаптера

image

Аутентификация

image

image

image

BR-SRV

Установка 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'

image

image

№2.1 DNS HQ-SRV

Смотрим созданные доменом зоны:

samba-tool dns zonelist 127.0.0.1 -U administrator

image

Создадим зону 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

Проверка

image

Модуль 2 задание 4

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:

Открой

Создание RAID

apt-get install -y mdadm

Смотрим утилитой lsblk, созданные диски

image

Стираем данные суперблоков:

/sbin/mdadm --zero-superblock --force /dev/sd{b,c}

Если мы получили ответ:

image

то значит, что диски не использовались ранее для RAID.

Нужно удалить старые метаданные и подпись на дисках:

/sbin/wipefs --all --force /dev/sd{b,c}

Создание RAID:

/sbin/mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sd{b,c}

image

где:

  • /dev/md0 — устройство RAID, которое появится после сборки;
  • -l 0 — уровень RAID;
  • -n 2 — количество дисков, из которых собирается массив;
  • /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.

Проверяем:

lsblk

image

Создание файла 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

image

Создание файловой системы для массива:

/sbin/mkfs.ext4 /dev/md0

image

Автозагрузка раздела с помощью fstab. Смотрим идентификатор раздела:

/sbin/blkid | grep /dev/md0

image

Открываем fstab и добавляем строку:

nano /etc/fstab

image

в данном случае массив примонтирован в каталог /mnt

Выполняем монтирование и проверяем

image

Настройка NFS-сервера

Установка пакетов для 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

image

где:

  • /mnt/nfs_share - общий ресурс
  • 192.168.0.0/25 - клиентская сеть, которой разрешено монтирования общего ресурса
  • rw — разрешены чтение и запись
  • no_root_squash — отключение ограничения прав root

Экспорт файловой системы:

/usr/sbin/exportfs -arv

image

exportfs с флагом -a, означающим экспортировать или отменить экспорт всех каталогов, -r означает повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d, а флаг -v включает подробный вывод:

Запускаем и добавляем в автозагрузку NFS-сервер:

systemctl enable --now nfs-server

Настройка NFS-клиента

Установка пакетов для NFS-клиента:

apt-get update && apt-get install -y nfs-{utils,clients}

Создадим директорию для монтирования общего ресурса:

mkdir /opt/share
chmod 777 /opt/share

Настраиваем автомонтирование общего ресурса через fstab:

nano /etc/fstab

image

где: 192.168.0.40 - адрес файлового сервера

Монтируем:

mount -a

Проверяем:

df -h

image

image

image

Сервер HQ-SRV

Создание общих папок на сервере:

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

Клиент HQ-SRV

Создаём папку:

mkdir /opt/admin

Задаём права:

chmod 777 /opt/admin/

Автозагрузка в fstab:

192.168.0.40:/mnt/admin_files /opt/admin nfs defaults 0 0

Монтаж:

mount -a

image

Модуль 2 задание 5

Сконфигурируйте веб-сервер 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
Выбираем русский язык

image

Потверждаем пути

image

Драйвер базы данных MariaDB

image

Сервер баз данных localhost
Название БД moodle
Пользователь БД moodleuser
Пароль moodlepasswd
Префикс имен таблиц mdl_
Порт БД 3106

image

Продолжить

image

Меняем количество максимальных переменных:

nano /etc/php/8.0/apache2-mod_php/php.ini

Убираем ; перед max_input_vars = 1000

max_input_vars = 6000

image

Должно появиться такое

image

В следующей массивной странице должны вывестись все записи Успешно, продолжаем

image

Логин admin
Пароль P@ssw0rd
e-mail любой
Часовой пояс Азия/Екатеринбург

Дальше задаём имя ресурса и т. д.
Попадаем на главную страницу

image

Создание пользователя manager(Администрирование -> Пользователи -> Добавить пользователя)
Дальше по таблице создаём других
Создание групп (Администрирование -> Пользователи -> Глобальные группы -> Добавить глобальную группу)
Остальное всё легко

image

image

Модуль 2 задание 6

Запустите сервис 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 успешно установлена

image

Модуль 3 задание 1

  1. Реализуйте мониторинг по средствам 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 закомментировать всё

Модуль 3 задание 2

Выполните настройку центра сертификации на базе HQ-SRV:
a. Выдайте сертификаты для SSH;
b. Выдайте сертификаты для веб серверов.

Открой

Создадим директорию которую будем использовать как корневую:

mkdir /ca

Найдём путь, где расположен конфиг:

openssl ca

image

Сделаем бэкап конфига:

cp /var/lib/ssl/openssl.{cnf,cnf.backup}

Редактируем конфиг /var/lib/ssl/openssl.conf

image

image

cd /ca
mkdir certs newcerts crl private
touch index.txt
echo -n '00' > serial
policy = policy_anything
commonName = supplied

image

countryName_default = RU
0.organizationName_default = hq.work

image

[ v3_ca]
...
basicConstraints = CA:true

image

Генерируем ключ:

openssl req -nodes -new -out cacert.csr -keyout private/cakey.pem -extensions v3_ca

image

. значит пустой

Модуль 3 задание 3

Настройте 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

image

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:

image

Перезапускаем sshd:

systemctl restart sshd

Подключаемся:

image

Чтобы при подключении не прописывать порт, пропишите в .ssh/config:

Port 2222

Модуль 3 задание 4 (переделать)

Реализуйте антивирусную защиту по средствам 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

Модуль 3 задание 5

Настройте систему управления трафиком на роутере 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

Модуль 3 задание 6

Настройте виртуальный принтер с помощью 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

Заходим по пути Система -> Администрирование -> Параметры печати

image

Проверяем работу виртуального принтера:

  • Создаем текстовый файл

image

  • Файл -> Напечатать... -> Cups-PDF -> Печать

image

Модуль 3 задание 7

Между офисами 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

image

Задаём общий секрет:

nano /etc/strongswan/ipsec.secrets

image

Перезапускаем:

systemctl restart ipsec

BR-R
Те же самые настройки, меняем местами ip-адреса
Проверка

image

Модуль 3 задание 8

По средствам уже настроенного мониторинга установите следующие параметры:
a. Warning
i. Нагрузка процессора больше или равна 70%
ii. Заполненность оперативной памяти больше или равна 80%
iii. Заполненность диска больше или равна 85%
b. Напишите план действия при получении Warning сообщений

Открой

Figushki

Модуль 3 задание 9

Настройте программный RAID 5 из дисков по 1 Гб, которые подключены к машине BR-SRV.

Открой
apt-get install -y mdadm

Смотрим утилитой lsblk, созданные диски

image

Стираем данные суперблоков:

/sbin/mdadm --zero-superblock --force /dev/sd{b,c}

Если мы получили ответ:

image

то значит, что диски не использовались ранее для RAID.

Нужно удалить старые метаданные и подпись на дисках:

/sbin/wipefs --all --force /dev/sd{b,c}

Создание RAID:

/sbin/mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sd{b,c}

image

где:

  • /dev/md0 — устройство RAID, которое появится после сборки;
  • -l 5 — уровень RAID;
  • -n 3 — количество дисков, из которых собирается массив;
  • /dev/sd{b,c,d} — сборка выполняется из дисков sdb и sdc.

Проверяем:

lsblk

image

Создание файла 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

image

Создание файловой системы для массива:

/sbin/mkfs.ext4 /dev/md0

image

Автозагрузка раздела с помощью fstab. Смотрим идентификатор раздела:

/sbin/blkid | grep /dev/md0

image

Открываем fstab и добавляем строку:

nano /etc/fstab

image

в данном случае массив примонтирован в каталог /mnt

Выполняем монтирование и проверяем

image

Модуль 3 задание 10

Настройте Bacula на сервере HQ-SRV для резервного копирования etc на сервере BR-SRV.

Открой

a netu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published