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

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

Published: at 02:27 PM

Table of contents

Open Table of contents

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

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

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

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

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

Условности

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

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

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

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

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

Действия

  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

_

VM B

_

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

Настройка произведена на “Virtual Network Editor”: _

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

VM A

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

# узнаём какой интерфейс не получил 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

_

VM B

# узнаём какой интерфейс не получил 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"

_

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

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

VM A

_ Ping прошел успешно.

VM B

_ 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:

Действия

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

sudo dnf install iptables-services -y

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

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

_

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

_

Настройка Iptables

# Добавление правила маскарадинга для 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 будет издан запрос на веб ресурс: _ Запрос на веб ресурс прошел успешно.

Настройка Openvpn

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

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

sudo dnf install openvpn easy-rsa -y

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

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

# Создание директории для 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

_ _ _ _ _

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

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

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

_

# Копирование ключей
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/

_ Настройка автозапуска OpenVPN сервера:

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

_

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

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

_

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

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

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

_

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

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

_ Настройка автозапуска OpenVPN клиента:

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

_

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

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

VM A

_

VM B

_

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

VM A

_

VM B

_

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

Запрос на веб ресурс проходит успешно. _

Схема Сети после Настройки 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

# Создаем новую цепочку
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

_

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

Для Тестирования, веб запросы будут отправлены этим сайтам и сайту на которую нет блокировки. На VM B: _ Сайты заблокированы успешно.