# Настройка Компонентов Обеспечения Информационной Безопасности

> В этом отчете изложены все шаги по настройке Компонентов Обеспечения Информационной Безопасности. Это задание было одним из этапов сореванования по Кибербезопасности на платформе "IT PLANETA".

Author: Elnur Badalov
Published: 2025-04-23
Updated: 2025-04-23
Tags: setup, cybersec, public-event
Source: https://elnurbda.com/posts/42-it-planeta-task/
License: CC BY 4.0, please cite the source URL.

---

# Настройка Компонентов Обеспечения Информационной Безопасности

## Вступительная Часть

- Автор - Эльнур Бадалов

В этом отчете изложены все шаги по настройке Компонентов Обеспечения Информационной Безопасности. Это задание было одним из этапов сореванования по Кибербезопасности на платформе "IT PLANETA".

Текст Задания:

```
Компания пригласила вас для выполнения настройки компонентов обеспечения
информационной безопасности. В компании было закуплены новые компьютеры, на которых
было установлена операционная система REDOS. Ваша задача – настроить межсетевое
экранирование, виртуальную частную сеть. В сети участвуют два компьютера через открыто
локальную сеть 10.0.0.0/24. Туннель должен быть 10.1.1.0/32. Туннель поднимается
автоматически после запуска машины (планировщик задания). Условные обозначения –
Компьютер А и Компьютер Б. На компьютере А установлено два интерфейса, один из которых
может ходить в глобальную сеть, компьютер Б ходит в глобальную сеть через компьютер А.
На компьютере А настроен NAT. Настройки межсетевого экранирования настраивается
средством iptables и применяются каждый раз как перезагружается компьютер. Компания не
хочет, что бы пользователи ходили на ресурсы социальных сетей (vk, ok, mail). Трафик по
туннелю должен быть зашифрован и использовалась программа openvpn. По результатам
работы необходимо подготовить отчет, где необходимо отобразить все ваши действия и где
каждый раздел отмечает настройку отдельного компонента или технологии. Каждый раздел
должен быть протестирован.
```

## Условности

Технология Виртуализация примененная для решения Задания:

- `VMWare`

Условные названия Компьютеров:

- VM A
- VM B

Перед каждым шагом будет указано на какой машине испроняются команды.

Сайты поддающиеся блокировки:

- `vk.com`
- `mail.ru`
- `ok.ru`

# Подготовка виртуальной инфраструктуры

## Действия

1. Создано две виртуальные машины (**VM A** и **VM B**) в VMWare с параметрами:
   - OS: `RED OS 8`
   - RAM: 2 ГБ
   - CPU: 1 ядро
   - Диск: 20 ГБ
   - Сеть:
     - **VM A**: `vmnet8` (NAT) + `vmnet2` (Host-only, 10.0.0.0/24)
     - **VM B**: `vmnet2` (Host-only, 10.0.0.0/24).
2. Настройка `vmnet2` в Virtual Network Editor:
   - Тип: Host-only
   - Подсеть: 10.0.0.0/24
   - Отключен доступ к внешнему интерфейсу хоста.

### VM A

![_](/assets/42-it-planeta-task/1.png)

### VM B

![_](/assets/42-it-planeta-task/2.png)

### Сетевая Настройка

Настройка произведена на **"Virtual Network Editor"**:
![_](/assets/42-it-planeta-task/3.png)

### Настройка Интерфейсов на Виртуальных Машинах

#### VM A

Так как нет DHCP, следует настроить конфигурацию интерфейса вручную.

```bash
# узнаём какой интерфейс не получил IP - в моем случае интерфейс ens224
ip a
# настраиваем внутреннюю сеть
sudo nmcli con add type ethernet ifname ens224 con-name local-lan ip4 10.0.0.1/24
sudo nmcli con up local-lan
# проверяем присвоил ли IP
ip a
```

![_](/assets/42-it-planeta-task/4.png)

#### VM B

```bash
# узнаём какой интерфейс не получил IP - в моем случае интерфейс ens160
ip a
# настраиваем интерфейс ens160
sudo nmcli con mod "ens160" \
    ipv4.addresses 10.0.0.2/24 \
    ipv4.gateway 10.0.0.1 \
    ipv4.dns "8.8.8.8" \
    ipv4.method manual

sudo nmcli con down "ens160" && sudo nmcli con up "ens160"
```

![_](/assets/42-it-planeta-task/01.png)

## Тестирование

Для тестирования сети с каждой машины будет запущен `ping`:

### VM A

![_](/assets/42-it-planeta-task/5.png)
Ping прошел успешно.

### VM B

![_](/assets/42-it-planeta-task/02.png)
Ping прошел успешно.

## Схема Сети на Начальный Момент

```
[Интернет]
    |
[Компьютер A]
| ens160 (NAT): 192.168.209.142
| ens224 (LAN): 10.0.0.1
    |
[Компьютер B]
  ens160: 10.0.0.2 (шлюз: 10.0.0.1)
```

# Настройка IP Forwarding

На VM A:

## Действия

### Скачивания Пакетов

```bash
sudo dnf install iptables-services -y
```

### Управление параметрами ядра Linux

```bash
# изменить конфигурацию:
sudo nano /etc/sysctl.conf
# добавить
net.ipv4.ip_forward = 1
```

![_](/assets/42-it-planeta-task/6.png)

```bash
# применить изменения
sudo sysctl -p
```

![_](/assets/42-it-planeta-task/7.png)

### Настройка Iptables

```bash
# Добавление правила маскарадинга для NAT
sudo iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE
# Разрешение пересылки трафика с интерфейса ens224
sudo iptables -A FORWARD -i ens224 -j ACCEPT
# Разрешение пересылки трафика на интерфейс ens224
sudo iptables -A FORWARD -o ens224 -j ACCEPT
# Сохранение текущих правил iptables в файл конфигурации, чтобы они сохранялись после перезагрузки
sudo iptables-save | sudo tee /etc/sysconfig/iptables
# Включение и запуск службы iptables, чтобы правила применялись автоматически при загрузке системы
sudo systemctl enable --now iptables
```

## Тестирование

Для тестирования IP Forwarding, с VM B будет издан запрос на веб ресурс:
![_](/assets/42-it-planeta-task/03.png)
Запрос на веб ресурс прошел успешно.

# Настройка Openvpn

## Действия На VM A

### Скачивания Пакетов

```bash
sudo dnf install openvpn easy-rsa -y
```

### Генерация Ключей

Генерация Ключей для шифрования туннеля VPN.

```bash
# Создание директории для easy-rsa и копирование необходимых файлов
mkdir -p ~/easy-rsa && cp -r /usr/share/easy-rsa/3/* ~/easy-rsa
# Переход в директорию easy-rsa
cd ~/easy-rsa
# Инициализация инфраструктуры PKI (
./easyrsa init-pki
# Создание центра сертификации
./easyrsa build-ca
# Генерация запроса на сертификат для сервера
./easyrsa gen-req server
# Подписание сертификата сервера с использованием CA
./easyrsa sign-req server server
# Генерация параметров Диффи-Хеллмана для безопасного обмена ключами
./easyrsa gen-dh
# Создание ключа для TLS-аутентификации
openvpn --genkey secret ta.key
```

![_](/assets/42-it-planeta-task/8.png)
![_](/assets/42-it-planeta-task/9.png)
![_](/assets/42-it-planeta-task/10.png)
![_](/assets/42-it-planeta-task/11.png)
![_](/assets/42-it-planeta-task/12.png)

### Создание Конфига Сервера

Создание конфига /etc/openvpn/server/server.conf

```bash
cat <<EOF | sudo tee /etc/openvpn/server/server.conf
dev tun
proto udp
port 1194
server 10.1.1.0 255.255.255.0
topology subnet
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
tls-auth /etc/openvpn/server/ta.key 0
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
push "route 10.0.0.0 255.255.255.0"
verb 3
EOF
```

![_](/assets/42-it-planeta-task/13.png)

```bash
# Копирование ключей
sudo mkdir -p /etc/openvpn/server
sudo cp ~/easy-rsa/pki/{ca.crt,dh.pem} /etc/openvpn/server/
sudo cp ~/easy-rsa/pki/issued/server.crt /etc/openvpn/server/
sudo cp ~/easy-rsa/pki/private/server.key /etc/openvpn/server/
sudo cp ~/easy-rsa/ta.key /etc/openvpn/server/
```

![_](/assets/42-it-planeta-task/14.png)
Настройка автозапуска OpenVPN сервера:

```bash
# Автозапуск
sudo systemctl enable --now openvpn-server@server
```

![_](/assets/42-it-planeta-task/15.png)

### Генерация клиентских ключей

```bash
# Генерация клиентских ключей
cd ~/easy-rsa
./easyrsa gen-req client
./easyrsa sign-req client client
```

![_](/assets/42-it-planeta-task/16.png)

## Действия На VM B

### Копирование ключей на клиент

```bash
# Следует создать нужную диреторию
sudo mkdir -p /etc/openvpn/client
# Поместить туда файлы: ca.crt, client.crt, client.key, ta.key
```

![_](/assets/42-it-planeta-task/17.png)

### Поместить конфигурацию OpenVPN для клиента

```bash
cat <<EOF | sudo tee /etc/openvpn/client/client.conf
client
dev tun
proto udp
remote 10.0.0.1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
tls-auth /etc/openvpn/client/ta.key 1
cipher AES-256-CBC
verb 3
EOF
```

![_](/assets/42-it-planeta-task/18.png)
Настройка автозапуска OpenVPN клиента:

```bash
# Автозапуск
sudo systemctl enable --now openvpn-client@client
```

![_](/assets/42-it-planeta-task/19.png)

## Тестирование

### Проверка Интерфейсов на Виртульных Машинах

#### VM A

![_](/assets/42-it-planeta-task/20.png)

#### VM B

![_](/assets/42-it-planeta-task/0.png)

### Проверка Сервисов Сервера и Клиента OpenVPN

#### VM A

![_](/assets/42-it-planeta-task/21.png)

#### VM B

![_](/assets/42-it-planeta-task/22.png)

### Проверка Досягаемости Интернета Виртуальной Машиной B через A

Запрос на веб ресурс проходит успешно.
![_](/assets/42-it-planeta-task/23.png)

## Схема Сети после Настройки OpenVPN

```
[Интернет]
    |
[Компьютер A (10.0.0.1)]
|— ens160 (NAT: 192.168.209.142)
|— ens224 (LAN: 10.0.0.1)
|— tun0 (VPN: 10.1.1.1)
    |
[Компьютер B (10.0.0.2)]
|— ens160 (LAN: 10.0.0.2)
|— tun0 (VPN: 10.1.1.6)
```

# Настройка Блокирование указанных Веб Ресурсов

## Действия

На VM A

```bash
# Создаем новую цепочку
sudo iptables -N STREAM

# Добавляем правила для vk.com
sudo iptables -I OUTPUT -m string --string "vk.com" --algo bm --from 1 --to 600 -j STREAM
sudo iptables -I FORWARD -m string --string "vk.com" --algo bm --from 1 --to 600 -j STREAM

# Добавляем правила для ok.ru
sudo iptables -I OUTPUT -m string --string "ok.ru" --algo bm --from 1 --to 600 -j STREAM
sudo iptables -I FORWARD -m string --string "ok.ru" --algo bm --from 1 --to 600 -j STREAM

# Добавляем правила для mail.ru
sudo iptables -I OUTPUT -m string --string "mail.ru" --algo bm --from 1 --to 600 -j STREAM
sudo iptables -I FORWARD -m string --string "mail.ru" --algo bm --from 1 --to 600 -j STREAM

# Устанавливаем действие REJECT для цепочки STREAM
sudo iptables -A STREAM -j REJECT

# Сохраняем правила
sudo iptables-save | sudo tee /etc/sysconfig/iptables
```

![_](/assets/42-it-planeta-task/24.png)

## Тестирование

Для Тестирования, веб запросы будут отправлены этим сайтам и сайту на которую нет блокировки.
На VM B:
![_](/assets/42-it-planeta-task/25.png)
Сайты заблокированы успешно.