Skip to content

Latest commit

 

History

History

06_tcpudp

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «Протоколы транспортного уровня: TCP, UDP»

В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.

Задание Firewall

Firewall (межсетевой экран) - это устройство или программный продукт (есть разные исполнения), которое просматривает входящий и исходящий трафик и на основании определённых правил безопасности принимает решения о том, пропустить данный трафик (к сети, хосту или приложениям хоста) или нет.

Рекомендуем вам ознакомиться с методическими документами ФСТЭК, посвящённым межсетевым экранам.

В рамках данной лабораторной работы сделаем базовые настройки МЭ для Linux.

Для выполнения этого ДЗ потребуются две виртуальные машины: Ubuntu и Kali

Для установки на машине с Kali выполните следующие команды:

sudo apt update
sudo apt install telnet

Запустим виртуальную машину Ubuntu и установим следующие программы:

  • nginx - веб-сервер (возможность публикации веб-страниц)
  • openssh-server - сервер ssh (Secure Shell - возможность управления с использованием интерпретатора команд на удалённом сервере)
  • vsftpd - сервер ftp (File Transfer Protocol - протокол передачи файлов)

Для установки на машине с Ubuntu выполните следующие команды:

sudo apt update
sudo apt install nginx openssh-server vsftpd telnet

Установленные приложения запустятся после установки сразу в виде сервисов и откроют следующие порты:

  • nginx откроет порт 80
  • openssh-server откроет порт 22
  • vsftpd откроет порт 21

С прошлой лекции вы уже знаете, что по умолчанию в режиме NAT каждая VM работает изолированно. Поэтому нам необходимо внести некоторые изменения.

1. Откройте свойства сети виртуальной машины и выберем внутреннюю сеть:

VB net

2. Запустите Ubuntu и настройте сеть:

Ubuntu 1

Ubuntu 2

Ubuntu 3

3. Выполните аналогичные настройки для Kali (но в качестве адреса укажите 192.168.0.1):

4. После всех проверьте, что всё работает с помощью утилиты ping (обе VM должны быть запущены):

Ping Kali

Ping Ubuntu

5. Запустите виртуальную машину Kali

6. Проверьте доступность сервисов, для этого воспользуйтесь программой telnet

О программе telnet

Программа telnet является одним из самых простых средств проверки доступности сервисов на удаленном хосте.

Проверка производится следующим образом:

telnet \<адрес\> \<порт\>

У нас адрес уже известен - это адрес Ubuntu (192.168.0.2)

Если появится сообщение: telnet: Unable to connect to remote host: Connection refused или долго "висит": Trying XXX.XXX.XXX.XXX значит, на данном порту сервис недоступен.

Примечание: для выхода из сеанса telnet, нужно:

  1. Нажать Ctrl и ] на клавиатуре, после этого приглашение изменит свой вид на telnet>
  2. Ввести q и нажать Enter на клавиатуре

Перейдите в терминал Kali и выполните следующие проверки:

1. Проверка порта 80:

kali@kali:~$ telnet 192.168.0.2 80
Trying 192.168.0.2...
Connected to 192.168.0.2.

2. Проверка порта 22

kali@kali:~$ telnet 192.168.0.1 22

Во время этой проверки может быть задан вопрос о ключах:

The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.
ECDSA key fingerprint is SHA256: ----------------------------------------------.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

В этом случае нужно набрать слово yes

3. Проверка порта 21:

kali@kali:~$ telnet 192.168.0.2 21
Trying 192.168.0.2...
Connected to 192.168.0.2.
Escape character is '^]'.
220 (vsFTPd 3.0.3)

Если все проверки завершились успешно, значит все сервисы запущены.

Нам поступила задача закрыть FTP для доступа из сети, оставив открытыми только 80 и 22 порты. Для этого воспользуемся МЭ, входящим в состав Ubuntu и закроем доступ.

1. Перейдите в Ubuntu:

2. Введите команду:

user@user-VirtualBox:~$ sudo ufw status verbose
Status: inactive
# это означает, что МЭ выключен

Напоминаем, что документацию вы можете почитать прямо в консоли с помощью команды man ufw (выход с помощью клавиши q, навигация с помощью стрелок или пробела).

3. Включите МЭ:

user@user-VirtualBox:~$ sudo ufw enable
Firewall is active and enabled on system startup

(для отключения нужно ввести команду: sudo ufw disable)

4. Теперь МЭ работает, чтобы убедиться в этом, перейдите в Kali и повторите запросы telnet:

telnet 192.168.0.2 80

telnet 192.168.0.1 22

telnet 192.168.0.2 21

На все ваши попытки должен быть получен следующий ответ:

Trying 192.168.0.2...

Т.е. соединение не устанавливается.

5. Перейдите в Ubuntu и выполните следующие команды:

# разрешение http (порт 80)
user@user-VirtualBox:~$ sudo ufw allow http
Rule added
Rule added (v6)

# разрешение ssh (порт 21)
user@user-VirtualBox:~$ sudo ufw allow ssh
Rule added
Rule added (v6)

6. Вернитесь в Kali и проверьте команды telnet:

kali@kali:~$ telnet 192.168.0.2 80
Trying 192.168.0.2...
Connected to 192.168.0.2.
Escape character is '^]'.
^]
telnet> q
Connection closed.

kali@kali:~$ telnet 192.168.0.2 22
Trying 192.168.0.2...
Connected to 192.168.0.2.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
^]
telnet> q
Connection closed.

Попытка подключения к 21 порту закончится безуспешно.

Таким образом, мы познакомились с базовой работой МЭ, позволяющей открывать доступ к определённым портам. По умолчанию применяется правило "всё, что явно не разрешено - запрещено".

В качестве результата работы пришлите вывод команды sudo ufw status verbose.

На странице документации вы можете прочитать примеры расширенного синтаксиса настройки правил, позволяющих вам разрешать доступ с определённых ip, подсетей и т.д.

Задание Wireshark

Откройте в Kali Wireshark и проследите, как происходит процесс соединения при отключенном МЭ и при включенном (на 21 порт не стоит allow).

В качестве ответа опишите разницу в процессе установления соединения (или попытках установления соединения) при отключенном МЭ и при включенном МЭ (на 21 порт не стоит allow).