From dbadec27ef604f87634435804c4b37696031a747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=A4=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D0=B2?= Date: Tue, 19 Mar 2024 21:49:50 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'labs/lab2/README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labs/lab2/README.md | 349 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 297 insertions(+), 52 deletions(-) diff --git a/labs/lab2/README.md b/labs/lab2/README.md index 4f940cb..8ff49f2 100644 --- a/labs/lab2/README.md +++ b/labs/lab2/README.md @@ -1,4 +1,270 @@ # Лабораторная работа 2 + +*** + +## Выполнение лабораторной работы + +### Подключение к серверу + +Выполняются лабораторные работы на двух серверах: + +1. Пункты 1. - 2.1. выполняются на сервере (**hostname : user@G-studentXX-L2-server**): +```sh +IP-SERVER:PORT +``` + +2. Пункт 2.3. (клиентская часть OpenVPN в ОС Linux/Ubuntu) выполняется на сервере (**hostname : user@G-studentXX-L2-client**): + +```sh +10.5.143.101:PORT +``` + +Где порт подключения (*PORT*) у каждого студента индивидуальный: + +
+ А-01м-23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СтудентSSHEXTERNAL 1EXTERNAL 2VPN
Антимонов Марк Евгеньевич10122101801018110190
Антипов Дмитрий Алексеевич10222102801028110290
Вареско Сергей Константинович10322103801038110390
Зимовин Михаил Юрьевич10422104801048110490
Капкин Егор Вячеславович10522105801058110590
Кирьянов Борис Юрьевич10622106801068110690
Ковалев Артур (Ин)10722107801078110790
Козлов Игорь Алексеевич10822108801088110890
Кононенко Александр Вячеславович10922109801098110990
Кочурова Виктория Артёмовна11022110801108111090
Ли Егор Андреевич11122111801118111190
Медведев Игорь Сергеевич11222112801128111290
Поташов Сергей Евгеньевич11322113801138111390
Солдатов Михаил Дмитриевич11422114801148111490
Черемных Юрий Алексеевич11522115801158111590
+
+ +
+ А-02м-23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СтудентSSHEXTERNAL 1EXTERNAL 2VPN
Викторов Глеб Олегович20122201802018120190
Градов Алексей Олегович20222202802028120290
Китайский Артём Сергеевич20322203802038120390
Макаров Кирилл Олегович20422204802048120490
Мосалов Кирилл Дмитриевич20522205802058120590
Наников Игорь Яковлевич20622206802068120690
Савин Вадим Евгеньевич20722207802078120790
Сметанин Александр Сергеевич20822208802088120890
Соколов Игорь Алексеевич20922209802098120990
Фенске Александр Вячеславович21022210802108121090
Шашерина Александра Всеволодовна21122211802118121190
Шепелев Дмитрий Дмитриевич21222212802128121290
Юрченков Глеб Андреевич21322213802138121390
+
+ +Логин: **root** + +Пароль: **root** + +***Рекомендуется изменить пароль** + +### Требования к отчёту: +- Титульный лист +- Описание проделанной работы и вводимых команд +- Скриншоты результатов выполнения и их описание +- Вывод + +*** + ## Часть 1. Настройка межсетевого экрана в Linux-системах ### Цель работы @@ -153,13 +419,13 @@ PORT STATE SERVICE ``` ### 3. Задание -Необходимо сделать перенаправление вызова с соответствующих портов. +Необходимо сделать перенаправление вызова с \*EXTERNAL 2\* на \*EXTERNAL 1\*. Для начала потребуется установить дополнительные пакеты ```ssh apt-get update -apt install -y screen python3-pip net-tools +apt install -y screen python3-pip net-tools nano pip install simple-http-server ``` @@ -171,18 +437,17 @@ pip install simple-http-server Комбинация клавиш `Ctrl+A+D` выйти в главное окно терминала. -Для проверки доступа по указанному порту, в новом окне терминала выполните следующую команду (вместо слова `port` укажите номер порта) -
- "port" - port задается в формате 8GVV, где G - номер группы, а VV - вариант из первой лабораторной работы -
+Для проверки доступа по указанному порту, в новом окне терминала выполните следующие команды ```ssh $ screen -S server -$ python3 -m http.server port +$ python3 -m http.server *EXTERNAL 1* ``` -После запуска команды, в браузере необходимо проверить доступность вашего сервера, для этого наберите строку ip_adress:port. +После запуска команды, в браузере необходимо проверить доступность вашего сервера, для этого наберите строку +```ssh +http://*IP-SERVER*:*EXTERNAL 1*. +``` **узнать свой ip-адрес можно с помощью команды `ifconfig`* @@ -194,12 +459,12 @@ $ python3 -m http.server port Это означает, что порт открыт и вы можете получить доступ к запущенному Web-server. После запуска запустите команду **nmap** и посмотрите, какие порты открыты сейчас. -После внесения правила перенаправления, проверьте доступность вашего сервера в браузере, перейдя по адресу: ip_adress:redirect_port +После внесения правила перенаправления, проверьте доступность вашего сервера в браузере, перейдя по адресу +```ssh +http://*IP-SERVER*:*EXTERNAL 2*. +``` + ***Скриншот** -
- "redirect_port" - redirect_port задается в формате 80 + VV, где VV - вариант из первой лабораторной работы (VV = 01 -> redirect_port = 81) -
Повторно запустите команду **nmap** и проверьте вывод. @@ -357,11 +622,9 @@ apt-get update apt install -y openvpn ``` -Настраиваем переадресацию (IP forwarding) (при выключении/перезапуске сервера это повторяем): +Маскарадинг (или маскирование) исходящих пакетов из подсети 10.4.0.1/2, направленных к интерфейсу *eth0* ```ssh -modprobe iptable_nat -- -echo 1 | tee /proc/sys/net/ipv4/ip_forward -- iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE ``` @@ -369,7 +632,7 @@ iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE ```ssh cd /etc/openvpn -openvpn --genkey --secret ovpn.key -- openvpn --genkey secret ovpn.key +openvpn --genkey secret ovpn.key ``` Создаем файл конфигурации OpenVPN, назовем его openvpn.conf, для этого воспользуемся редактором `nano` работающим в консоли: @@ -381,7 +644,7 @@ nano openvpn.conf В файл вставляем: ```ssh -port *vpn_port* +port *VPN* proto tcp-server dev tun1 ifconfig 10.4.0.1 10.4.0.2 @@ -392,11 +655,6 @@ secret ovpn.key **Выделенные `*` строки необходимо изменить на реальные значения** -
- vpn_port - Задается в формате 1194 + VV, где VV - вариант из первой лабораторной работы (VV = 01 -> vpn_port = 1195) -
- ***Скриншот** Нажимаем `CTRL+S` и подтверждаем запись в файл, выходим из редактора — `CTRL+X`. @@ -407,7 +665,7 @@ secret ovpn.key service openvpn start ``` -Проверяем, есть ли у нас открытый порт `*vpn_port*` на системе +Проверяем, есть ли у нас открытый порт `*VPN*` на системе ```ssh netstat -nlpt @@ -439,7 +697,7 @@ netstat -nlpt ```ssh ... Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name -tcp 0 0 0.0.0.0:*vpn_port* 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:*VPN* 0.0.0.0:* LISTEN - ... ``` @@ -457,19 +715,14 @@ tcp 0 0 0.0.0.0:*vpn_port* 0.0.0.0:* LISTEN ```ssh proto tcp-client -remote *ip_adress* -port *vpn_port* -dev tun -secret ovpn.key -providers legacy default -redirect-gateway def1 +remote *IP-SERVER* +port *VPN* +dev tun +secret ovpn.keY +providers legacy default +redirect-gateway def1 ifconfig 10.4.0.2 10.4.0.1 ``` - -
- ip_adress - IP-адрес сервера -
***Скриншот** @@ -481,7 +734,7 @@ ifconfig 10.4.0.2 10.4.0.1 ### 2.3. Установка и настройка клиентской части OpenVPN (Linux) -Открываем окно терминала (можно использовать машину первой лабораторной работы) и устанавливаем OpenVPN: +Открываем окно терминала (второй сервер) и устанавливаем OpenVPN: ```ssh apt-get update @@ -497,7 +750,7 @@ mkdir ~/OpenVPNconf && cd ~/OpenVPNconf Копируем файл `/etc/openvpn/ovpn.Key` (на сервере) в `~/OpenVPNconf`. Например, с помощью `scp`: ```ssh -scp -p port root@ip_adress:/etc/openvpn/ovpn.key ~/OpenVPNconf/ +scp -P *SSH* root@*IP-SERVER*:/etc/openvpn/ovpn.key ~/OpenVPNconf/ ``` В `~/OpenVPNconf/` создадим файл с настройками OpenVPN, назовем его openvpn.client.conf: @@ -510,8 +763,8 @@ nano openvpn.client.ovpn ```ssh proto tcp-client -remote *ip_adress* -port *vpn_port* +remote *IP-SERVER* +port *VPN* dev tun secret *path*/ovpn.key redirect-gateway def1 @@ -568,16 +821,8 @@ echo "IP: $(curl -s ipinfo.io/ip)" В ней происходит запрос на сервер, отображающий IP-адрес подлючения. Убедитесь, что полученный IP-адрес и адрес удалённой машины совпадают. -Если результат выполнения следующей команды возвращает `IP: `, то необходимо сделать следующие действия: +Если результат выполнения следующей команды возвращает `IP: `, то необходимо сделать следующее действие: ```ssh -nano /etc/resolv.conf -``` - -Добавить в конец файла строку и сохранить файл: - -```ssh -nameserver 8.8.8.8 -``` - -## **Каждый скриншот должен сопровождаться подробным описанием вводимых команд/настроек и результатов их выполнения** \ No newline at end of file +echo "nameserver 8.8.8.8" >> /etc/resolv.conf +``` \ No newline at end of file