Преддипломная практика - Участие в интеграции программных модулей

Отчет по практике по предмету «Программирование»
Информация о работе
  • Тема: Преддипломная практика - Участие в интеграции программных модулей
  • Количество скачиваний: 4
  • Тип: Отчет по практике
  • Предмет: Программирование
  • Количество страниц: 13
  • Язык работы: Русский язык
  • Дата загрузки: 2020-08-28 23:23:13
  • Размер файла: 557.41 кб
Помогла работа? Поделись ссылкой
Информация о документе

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

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

08.05.2020

       Тема: Исследование возможности при помощи ОС, ПО или сетевого оборудования ограничения на скачивание ехе файлов.

       Цель работы: Исследовать возможности при помощи ОС, ПО или сетевого оборудования ограничения на скачивание ехе файлов.

Ход работы:

Mikrotik RouterOS, это достаточно гибкая, сетевая операционная система с обширным функционалом и достаточно большим количеством разнообразных функций и протоколов. Одной из таких функций, относящихся к разделу Firewall, является Layer7 protocol. И она не заслужена обделена вниманием, о ней мало информации и даже не все знают зачем она. Вот именно этот пробел, мы сегодня и постараемся заполнить, ведь данная особенность, открывает достаточно широкие возможности по определению вида трафика и его последующей сортировке. По своей сути, Layer7 protocol, является методом поиска совпадений по регулярным выражения в ICMP, TCP и UDP потоках. И работает следующим образом: с каждого соединения, берутся первые 10 пакетов или первые 2KB, в которых производится поиск совпадений. Таким образом, мы можем находить тот или иной вид трафика, и дальше обрабатывать его в Firewall - запрещать, перенаправлять, маркировать соединения и прочее.

 Чаще всего, L7 используют для блокировки тех или иных сайтов или же работы тех или иных программ, но также можно использовать для ограничения на скачивание различных файлов.

Заходим в раздел Firewall и во вкладку L7 Protocol и называем «Block Exe» и записываем выражение:

GET .*(\.exe|\.bat|\.reg|\.cmd|\.scr|\.vbs|\.vbs|\.ws|\.wsf|\.wsc|\.apk)[^a-zA-Z0-9].*HTTP.*\n

Рассмотрим подробно:

GET — начало строки в которой происходит запрос чего-либо на сайте example.com

.* — сколько угодно любых символов

(\.exe|\.bat|\.reg|\.cmd|\.scr|\.vbs|\.vbs|\.ws|\.wsf|\.wsc|\.apk) — список того что ищем

.* — сколько угодно любых символов

[^a-zA-Z0-9] — знаки, ^=НЕ входящие в множество a-z, A-Z, 0-9

.*HTTP.*\n — HTTP, обрамленное любыми символами ( HTTP.* необязательно), и \n — перевод строки.

Рис.100. Настройка L7 Protocol.

       Теперь создаем правило для Firewall.

       Во вкладке «General» в поле «Chain» определяем «forward», в поле «In. Interface» выбираем интерфейс через который наш маршрутизатор соединен с локальной сетью.

Рис.101. Добавление правила для Firewall.

       Во вкладке «Advanced» в поле «Layer7 Protocol» определяем выше созданное регулярное выражение (формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов) — Block Exe.

Рис.102. Настройка правила для Firewall.

       Во вкладке «Action» в поле «Action» выбираем действие, которое будет выполняться в случае, если правило Firewall'a сработает — drop.

Рис.103. Настройка правила для Firewall.

       Теперь пытаемся скачать .exe файл.

Рис.104. Пытаемся скачать .exe файл.

       Как итог — выполнилась блокировка скачивания.

Рис.105. Блокировка скачивания exe-файла.

09.05.2020

       Тема: Организовать ограничения по расписанию.

       Цель работы: Организовать ограничения по расписанию.

Ход работы:

Для реализации задуманного нам потребуется использовать в роутере MikroTik скрипт и планировщик.

Сначала нужно привязать MAC адреса всех домашних устройств к IP адресам, и составить два списка с IP-адресами родительских устройств и устройств детей. Если вы это уже делали выше, то пропустите этот шаг.

Чтобы привязать MAC адреса, подключите все необходимые устройства к роутеру. Откройте меню IP - DHCP Server, перейдите на вкладку Leases, кликните правой кнопкой мыши на каждом устройстве и выберите Make Static.

Рис.106.  Создание списков с IP-адресами.

Теперь составим два списка с IP-адресами:

  • Parents-List - список IP-адресов устройств родителей
  • Kids-List - список IP-адресов устройств детей

Списки добавляются в меню IP - Firewall на вкладке Address Lists. Проще всего это сделать командами ниже. Не забудьте поменять IP адреса на соответствующие вашим устройствам.

/ip firewall address-list add list=Parents-List address=192.168.88.254

/ip firewall address-list add list=Parents-List address=192.168.88.253

/ip firewall address-list add list=Kids-List address=192.168.88.252

/ip firewall address-list add list=Kids-List address=192.168.88.251

Добавляем правила NAT для разрешения доступа к интернету каждому списку IP адресов.

/ip firewall nat add chain=srcnat out-interface=ether1 src-address-list=Parents-List action=masquerade comment=Internet-For-Parents

/ip firewall nat add chain=srcnat out-interface=ether1 src-address-list=Kids-List action=masquerade comment=Internet-For-Kids

Старое правило NAT можно деактивировать, чтобы если к сети подключится незнакомое устройство, то у него не было интернета. Но если придут гости, включите его, чтобы у них появился интернет.

  1. Откройте меню IP - Firewall и перейдите на вкладку NAT.
  2. Нажмите левой кнопкой мыши на правило с комментарием "defconf: masquerade" и перетащите ниже созданных правил.
  3. Нажмите "красный крестик", чтобы деактивировать правило.

 

Рис.107. Создание правил NAT.

Проверьте, что на роутере правильно установлена дата и время в меню System – Clock.

Рис.108. Установка даты и времени.

Ниже указан скрипт включения / отключения интернета по расписанию. Отредактируйте в нем время, необходимое вам. Если вы использовали другой текст комментариев в правилах NAT, то измените параметр NatComment.


 ####################################

## Script to On / Off internet access for kids

####################################


:log warning "KidsInternetOnOff Script started.";


################################

## Set the internet ON and OFF times here


:local InternetOnTime "6:00";

:local InternetOffTime "9:00";


:local InternetOnTime2 "17:00";

:local InternetOffTime2 "22:00";


:local NatComment "Internet-For-Kids";


##

#################################


#################################

## Get Current Day Of Week


:local date [/system clock get date]


# Math Calculation here

:local result ""

:local months [:toarray "jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec"]

:local daytbl [:toarray "sun,mon,tue,wed,thu,fri,sat"]


:local month [:pick $date 0 3]

:local day [:pick $date 4 6]

:local dayc [:pick $date 5 6]

:local year [:pick $date 7 11]


# if the first char is a 0 (zero) only read last char, else script fails

:if ([:pick $date 4 5] = 0) do={ :set day ($dayc)}


:local sum 0

:local aaa 0

:local yyy 0

:local mmm 0

:local nmonth 1


:for mindex from=0 to=[:len $months] do={

:if ([:pick $months $mindex] = $month) do={:set nmonth ($mindex + 1) }

}


:set aaa ((14 - $nmonth) / 12)

:set yyy ($year - $aaa)

:set mmm ($nmonth + 12 * $aaa - 2)

:set sum (7000 + $day + $yyy + ($yyy / 4) - ($yyy / 100) + ($yyy / 400) + ((31 * $mmm) / 12))

:set sum ($sum - (($sum / 7) * 7))

:set result [:pick $daytbl $sum]

:log info "Today is $result."


##

##################################


##################################

## Get Current Time and NAT Status


:local CurrentTime [/system clock get time];


## Setup log prefix

:local LogPrefix "KidsInternet $CurrentTime";


## Check current ON or OFF status of Kids NAT#

:local InternetDisabled [/ip firewall nat get [find comment=$NatComment] disabled];

:log info "$LogPrefix Disabled = $InternetDisabled";


##

##################################


##################################

## Check Time If It Is Workday


:local workday [:toarray "mon,tue,wed,thu,fri"]

:if ($workday ~ $result) do={

:log info "Today is Workday.";


## Where the ON time is set earlier than the OFF time #

:if (($InternetOnTime < $InternetOffTime) || ($InternetOnTime2 < $InternetOffTime2)) do {

## Internet should be ON between these times #

:if ((($CurrentTime > $InternetOnTime) and ($CurrentTime < $InternetOffTime)) || (($CurrentTime > $InternetOnTime2) and ($CurrentTime < $InternetOffTime2))) do {

if ($InternetDisabled=true) do {

:log warning "$LogPrefix was OFF, now switching ON.";

/ip firewall nat enable [find comment=$NatComment];

}

} else {

if ($InternetDisabled=false) do {

:log warning "$LogPrefix was ON, now switching OFF.";

/ip firewall nat disable [find comment=$NatComment];

}

}

}


##################################

## Kids Internet ON If It Is NOT Workday


} else={

:log info "Today is NOT Workday."

if ($InternetDisabled=true) do {

:log warning "$LogPrefix was OFF, now switching ON.";

/ip firewall nat enable [find comment=$NatComment];

}

}

##

##################################


:log warning "KidsInternetOnOff Script completed.";

Добавим скрипт в MikroTik.

  1. Откройте меню System - Scripts.
  2. На вкладке Scripts нажмите "синий плюсик".
  3. В поле Name укажите название скрипта KidsInternetOnOff.
  4. Ниже в поле Source вставьте текст скрипта.
  5. Нажмите кнопку OK.

 Рис.109. Создание скрипта.

Проверим работу скрипта.

  1. Откройте меню IP - Firewall и перейдите на вкладку NAT, чтобы отслеживать активацию/деактивацию правила NAT с комментарием "Internet-For-Kids".
  2. Откройте меню Log, чтобы отслеживать выполнение скрипта.
  3. В меню System - Scripts выберите добавленный скрипт и нажмите кнопку Run Script.
    После этого вы увидите в логах процесс выполнения скрипта и сможете отслеживать активацию/деактивацию правила NAT.

Рис.110. Лог активация и деактивации правила NAT.

 Теперь добавим в планировщик выполнение данного скрипта каждую минуту.

  1. Откройте меню System - Sheduler.
  2. Нажмите "синий плюсик", чтобы добавить задание.
  3. В поле Name укажите название KidsInternetOnOff.
  4. В поле Start Time укажите время 00:00:00
  5. В поле Interval укажите 00:01:00.
  6. В поле On Event укажите команду /system script run KidsInternetOnOff, которая будет запускать скрипт с названием KidsInternetOnOff.
  7. Нажмите кнопку OK.

Рис.111. Создание планировщика.

 После этого в меню Log вы увидите, как каждую минуту выполняется скрипт.

Если вы не хотите, чтобы информационные сообщения выводились в лог и забивали его, откройте текст скрипта и поставьте символ решетки # перед командами, которые начинаются на ":log". Оставьте не закомментированными строки :log warning "$LogPrefix was OFF, now switching ON."; и :log warning "$LogPrefix was ON, now switching OFF."; , чтобы отслеживать время включения / отключения интернета.

Рис.112. Просматривание логов.