Русский
Русский
English
Статистика
Реклама

Сетевая безопасность

Как я прошел обучение в учебном центре Специалист при МГТУ им.Н.Э.Баумана по курсу CCNA Безопасность в сетях Cisco

01.03.2021 22:20:48 | Автор: admin

Здравствуй, дорогой читатель!

В начале февраля я попал на данный курс и сразу окунулся в обучение. В ходе изучения данного курса, я понял, что он состоит из основ курса CCNA и дополнительными наработками и кейсами от преподавателя.

Курс представлял собой несколькочасовое занятие, часть которого состояло из вебинара, а вторая часть представляла собой практику в виде выполнения лабораторных работ.

В обучении я увидел несколько плюсов:

  • Доступность стендов;

  • Очень подробное описание лабораторных работ и команд;

  • Быстрое решение технических проблем (редко возникали);

  • Учебный материал можно оставлять себе;

  • Лабораторный стенд доступен после окончания обучения еще неделю, что дает возможность отточить полученные знания;

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

Из минусов могу выделить один пункт, но кому-то он может не показаться минусом:

  • Выдача сертификата/удостоверения/свидетельства без проведения тестирования на усвоения программы.

В целом, при достаточном количестве времени на выполнение лабораторных работ и закрепления материала, обучение является качественным.

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

Подробнее..

Построение карты сети

01.06.2021 16:23:51 | Автор: admin

Построение карты сети это длительный процесс. Исследование происходит за счет отслеживания откликов операционных систем на испорченные данные в заголовках сетевых протоколов. Этот подход обычно дает ~ 80% точности. И довольно сложно найти информацию о том, как точно каждая ОС отзывается на подобные воздействия. А что, если будет технология или функция операционной системы, которая на 100% точно будет говорить о состоянии сетевой подсистемы и сообщать дополнительную информацию? Статья расскажет о таких функциях ОС Windows.

Старые как мир технологии

Чтобы получить полную картину того, как ОС Windows представляет свои функции в сети, нужно вспомнить о таких механизмах, как DCOM и RPC.

Remote Procedure Call механизм межпроцессного взаимодействия (IPC). Механизм позволяет обмениваться информацией и вызывать функции в разных процессах в рамках ОС, локальной сети или через Интернет.

Distributed Component Object Model спецификация COM объектов, которая регламентирует правила взаимодействия в сети между объектами. В документации можно встретить формулировку DCOM Remote Protocol.

Два механизма соотносятся по следующей схеме:

Схема взята отсюда

Как это работает? Общая схема работы протокола представлена ниже.

Схема взята отсюда

Основная идея организация взаимодействия осуществляется по клиент-серверной модели. Клиент может запросить по идентификатору запуск процедуры через RPC на сервере. При этом сервер должен самостоятельно произвести поиск нужного обработчика для идентификатора и, если он найден, передать ему информацию в соответствии с моделью безопасности. Затем информация о доступности и, по возможности, результат возвращается клиенту.

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

Что интересного для карты сети

DCOM для Offensive уже изучался на BlackHat 2004. В выступлении было очень много информации, которая может быть использована для версий Windows вплоть до Windows Server 2003. Вот список некоторых действий, которые можно выполнять:

  • Сбор информации о конфигурации ОС (не требует авторизации);

  • Перебор паролей для учетных данных пользователей;

  • Отправка запроса на создание задач ScheduledTask, а так же удаление, просмотр;

  • Просмотр состояния сервисов (авторизация требуется).

Выступление рассказывало уже о конкретных идентификаторах, которые можно использовать для воздействий на ОС. Попробуем выяснить, всё ли так же работает спустя 17 лет, заодно и узнаем как получить конфигурацию сетевой подсистемы ОС.

Практика

Для эксперимента будем использовать 3 виртуальные машины:

  • Windows 10

  • Windows 7

  • Windows 8

Каждая виртуальная машина будет подключена как минимум к двум сетям, которые будут включать в себя разные сегменты. Тестовой виртуальной машиной станет Kali Linux. Попробуем собрать скрипты и приложения для сбора информации о системе посредством RPC. Список инструментов представлен ниже:

  • nmap script rpcinfo.nse - собирает порты rpc и пишет, по возможности имя сервиса, который их использует;

  • impacket rpcdump.py - получает информацию из rcp сервисов;

  • impacket rpcmap.py - собирает endpoint порты, которые ожидают коннекта;

  • Metasploit module auxiliary/scanner/dcerpc/endpoint_mapper - поиск endpoint;

  • Metasploit module auxiliary/scanner/dcerpc/hidden - поиск скрытого сервиса;

  • Metasploit module auxiliary/scanner/dcerpc/management - получение данный из RMI DCERPC;

  • Metasploit module auxiliary/scanner/dcerpc/tcp_dcerpc_auditor - поиск названий сервисов, которые используют DCERPC;

  • IOXIDResolver.py - скрипт для получения данных о конфигурации сетевой подсистемы;

Попробуем работоспособность инструментов на виртуальных машинах:

Windows 7

Результаты nmap:

Результаты Metasploit:

На картинке представлена часть endpoint сервисов.На картинке представлена часть endpoint сервисов.

Hidden services

Management

TCP Auditpr

Результаты IOXIDResolver:

Windows 8

Результаты nmap:

Результаты Metasploit:

endpoint_mapper

На картинке представлена часть endpoint сервисов. На картинке представлена часть endpoint сервисов.

Hidden services

Management

TCP auditor

Результаты IOXIDResolver:

Windows 10

Результаты nmap:

Результаты Metasploit:

На картинке представлена часть endpoint сервисов. На картинке представлена часть endpoint сервисов.

Hidden services

Management

TCP auditor

Результаты IOXIDResolver:

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


Статья подготовлена Александром Колесниковым, преподавателем курса Пентест. Практика тестирования на проникновение. Если интересно узнать о курсе больше, приходите на день открытых дверей онлайн, где Александр расскажет о формате и программе обучения.

Подробнее..

Hack Me на TryHackMe, или Небезопасное изучение инфобеза на известной платформе

15.06.2021 16:19:06 | Автор: admin

Привет, Хабрчане. Сегодня мы поговорим об одной проблеме, которую обнаружил мой хороший знакомый Иван Глинкин.

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

Написать эту статью меня подтолкнули 3 причины:

  1. Прошло уже более двух недель, а воз и ныне там. Никаких действий со стороны платформы TryHackMe не последовало;

  2. Платформа ответила только хамством, а затем забанила аккаунт Ивана (об этом далее);

  3. Автору оригинала очень лень переписывать статью на русском языке.

DSCLAIMER

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

Завязка сюжета

Есть много разных платформ для обучения инфобезу. И коль скоро эти платформы затрагивают такой важный в IT-отрасли сегмент, то неплохо было бы им самим соответствовать. Так мы думаем, когда заходим на них.

Однако, как показала практика, тут тоже работает славный принцип х*як, х*як, и в продакшн.

Когда мы подключаемся по VPN к платформе, мы не можем взаимодействовать с другими хостами в сети, кроме самих виртуальных машин для взлома. Верно? Верно!

Ну, а что по поводу самих виртуальных стендов? Они-то, наверное, тоже не могут взаимодействовать с кем попало?

А вот и нет! Виртуальный стенд, как оказалось, видит всех и вся в сети.

В качестве тестовой точки я выбрал виртуалку Basic Pentesting.

В роли атакующего у нас ...В роли атакующего у нас ...

Быстренько получив пользователя kay по сюжету виртуалки, начнем проверять, как же TryHackMe решила проблему с тем, что виртуалка может взаимодействовать с абсолютно всеми пользователями. Проверяем свою же подсеть. В моем случае это была 10.9.5.0

for ip in {1..254}; do ping -w 1 10.9.5.$ip | grep -i "ttl"; done
Ищем живых соседейИщем живых соседей

Жизнь есть. Так, а другие подсети видим? Ну, например, 10.9.4.0

Ищем ещеИщем еще

Видим ...

Так, отставить панику! Это же еще ничего не доказывает и не значит, что я смогу подключиться по SSH или проверить, есть ли там поднятый Apache.

Сводим все живые IP адреса в вордлист и пробегаем их nc по 80 порту, благо nc заботливо установлен админами платформы.

for ip in $(cat ips.txt); do nc -nvw 1 $ip 80; done
Ищем открытый 80 портИщем открытый 80 порт

А вот и первые претенденты. CURLлуем 10.9.4.252 и видим там типичный листинг директории www человека, который решает виртуалки:

Уверен, что у многих директория веб-сервера на Kali выглядит примерно такжеУверен, что у многих директория веб-сервера на Kali выглядит примерно также

Кульминация

А вот давайте и проверим, че там по SSH. Тут тоже применим немножко автоматизации. Закидываем на стенд sshpass, благо и curl, и wget уже заботливо установлены админами платформы заранее. Как говорится, всё для вас, даже вода из-под крана.

Опа! Не ставится.

Прав нет. А если найду?Прав нет. А если найду?

Ну root-то точно на стенде закрыт! Для итогового выполнения упражнения стенда root не нужен, а, стало быть, и у пользователя kay не должно быть прав на sudo. Верно же?

Ну, тут даже без комментариев Ну, тут даже без комментариев

Устанавливаем sshpass и колдуем легкий скрипт в bash для перебора:

#!/bin/bashfor ip in {2..255}do ip_check=$(ping -w 1 10.9.5.$ip | grep -i "icmp_seq" | cut -d " " -f 4 | cut -d ":" -f 1)if [ ! -z $ip_check ]thenecho -e "\e[01;32mHost $ip_check is up. Cheking SSH\e[00m";nc -vz -w 2 $ip_check 22 > log.txt 2>&1;ssh_refused=$(grep -o "refused" log.txt)ssh_timeout=$(grep -o "timed" log.txt)if [ ! -z $ssh_refused ]thenecho -e "\e[01;31mSSH is closed. Going further. \e[00m";echo " ";elif [ ! -z $ssh_timeout ]thenecho -e "\e[01;31mSSH doesn't respond. Going further. \e[00m";echo " ";elseecho -e "\e[01;32mSSH is open. Trying to connect... \e[00m";sshpass -p "kali" ssh -o StrictHostKeyChecking=no kali@$ip_check;sshpass -p "toor" ssh -o StrictHostKeyChecking=no user@$ip_check;sshpass -p "toor" ssh -o StrictHostKeyChecking=no root@$ip_check;echo " ";fifidonerm log.txt;echo -e "\e[01;32mEnumeration has been finished! \e[00m";

Развязка

Проверять будем 3 самые основные связки логин/пароль для Kali и Parrot OS:

  • kali:kali

  • root:toor

  • user:toor

ПОЕХАЛИ!ПОЕХАЛИ!

А вот и первый БЕЗОПАСНИК с дефолтными логином и паролем. И сразу натыкаемся на ovpn файл для доступа к TryHackMe. Если у человека оплачен VIP, то мы только что сэкономили на подписке

Привет привет ovpn файлПривет привет ovpn файл

Пробуем sudo

Ну как бы вот ...Ну как бы вот ...

Эпилог

Какие из всего этого следуют практические выводы?

Ну, самый очевидный: система инфобеза TryHackMe полное **** нужно менять дефолтные пароли на своих Kali и Parrot OS на более безопасные. Обезопасит ли это в полной мере вас при вот таком вот уровне защиты сети на платформе TryHackMe? Определённо нет.

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

  1. Включить вашу рабочую машину в ботнет;

  2. Покопаться во внутрикорпоративной сети компании и вашей личной инфе;

  3. Провести атаки на другие ресурсы с использованием вашей пентест-машины и из-под вашего IP;

  4. Помайнить криптовалюты на вашем оборудовании (а почему бы, собственно, и нет?);

  5. Всё, что пришло вам в голову к этому моменту

А также не забываем, что после перезагрузки стенда вся информация с него удаляется, в том числе и логи. Можно, конечно, уповать на то, что у TryHackMe всё обязательно логируется и записывается, особенно все действия пользователя на виртуалках, но что-то мне мало верится в реальность этого варианта.

Особенно меня порадовала реакция платформы TryHackMe на багрепорт всей этой ситуации.

Первичный отчет был направлен в TryHackMe 2 мая 2021. Оригинальная статья вышла 25 мая 2021. Вместо того, чтобы заняться решением этой проблемы, руководство платформы TryHackMe прислало письмо, в котором просто решило прикрыться пунктом 9 правил пользования платформой.

TryHackMe на полном серьёзе считает, что всё у них нормально, и что вместо принятия технических мер можно ограничиться вот этой вот писулькой в правилах пользования платформой. Она как-то сможет оградить пользователей от реальных злоумышленников?

Ну и вишенка на торте:

Бан аккаунта. Отличная работа, TryHackMe. Вместо решения проблемы вы просто забанили человека, который указал вам на косяк в системе инфобеза

Решайте сами, стоит ли пользоваться вот такими образовательными порталами, которые спокойно позволяют взламывать своих пользователей.

Лично моё мнение: в случае реальной атаки на вас платформа просто открестится от ответственности всё тем же замечательным пунктом 9 своего соглашения.

Ну а что? Это же не платформа положила болт на защиту пользователей, а злоумышленник, наплевав на все писульки TryHackMe, просто взял и использовал ваш Kali для противоправных действий в адрес третьих лиц.

Подробнее..

Неожиданные детали работы Windows Firewall, настроенного по умолчанию. И эксперименты по перенастройке

05.08.2020 14:08:45 | Автор: admin
Иногда получается, что при выполнении очередного проекта, я случайно открываю какие-то обстоятельства, которые, вроде, никто не скрывает, можно даже найти документацию, поясняющую суть Но многие, включая меня, находятся в плену заблуждений, поэтому не ищут ту документацию, полагаясь на совершенно неверную картину мира. У меня уже намечается целый цикл из статей, в которых я просто сообщаю, что всё, оказывается, не так, как многие (включая меня) думали. Была у меня статья про DMA, была статья про производительность шины PCI Express. К этому же циклу можно отнести статью про конфигурационные ПЗУ для ПЛИС Altera.

Сегодня мне хотелось бы рассказать пару слов про работу Windows Firewall, или, как его называют в русифицированной ОС брандмауэра. В целом, это очень хорошая штука, но в частности Оказывается, по умолчанию он работает в достаточно интересном режиме. Как говорится: А пацаны и не знают. Итак, начинаем разбираться, что там к чему.




Введение


Сначала поясню суть задачи, которую я решал. Мне надо было проверить, насколько корректно работает очередная плата с нашим сервисом All Hardware. Но не та, которую я проверял в одной из прошлых статей, а более навороченная, с ПЛИС Xilinx.

Что представляет собой сервис All Hardware. Это сайт, на который пользователь заходит, авторизуется и получает список различных плат, физически размещённых на сервере. Зачем он это делает? Чтобы поработать с платой, не покупая её. Например, посмотреть, подойдёт ли она ему, или просто поупражняться в работе с конкретным контроллером. Платы предоставляют производители, а сервис даёт сеанс работы с ними, ограниченный по времени. Пользователь выбирает плату из списка и получает три вещи: IP адрес, номер порта и видео с камеры, которая смотрит на эту макетку. На самом деле, там ещё можно через SSH пробрасывать порты, но в них я не специалист. По моей части именно адрес, порт и видео.

Дальше пользователь в среде разработки, которая стоит на его локальной машине, должен выбрать удалённый отладчик (для большинства сред это старый добрый GDB, для Кейла более извратный, но если интересно про это можно сделать отдельную статью, к фаерволу это не относится). Туда вбиваются выданные IP и порт, после чего можно начинать сеанс удалённой отладки, ориентируясь о происходящем с платой по картинке с камеры и по проброшенным через SSH-портам.

Таким образом, любой желающий может пощупать работу с различными отладочными платами, не покупая их. При этом, как и в случае с Redd, среда разработки и исходные коды размещаются на локальной машине. На сервер уходит только двоичный код. Но по истечении сеанса работы, автоматика стирает ПЗУ, так что следующий пользователь считать код уже не сможет.

Итак, возвращаемся к теме статьи. Каким боком здесь фаервол? Всё просто. Мне предстояло поработать с ПЛИС Xilinx. А их среда разработки совершенно официально обладает функцией WebTalk. Мне совершенно не хотелось, чтобы она сообщала о моих действиях куда следует, поэтому среда стояла на несетевой машине. Даже если бы очень захотела руки у неё коротки. Нет физического канала и всё тут! Но концепция сервиса All Hardware такова, что сеть быть должна. Для проверки машину пришлось временно подключать к проводу (на самом деле, отсутствие сети это скорее привычка, на той машине всё равно ничего интересного нет). Что делать? Наступить на горло своей паранойе? Ну уж нет! Я решил ограничить среде разработки перечень разрешённых адресов, чтобы она могла работать только с localhost и сервером All Hardware. Не знаю, что будет потом, а сейчас у сервера All Hardware IP-адрес один и тот же. Просто от сеанса к сеансу выдаются новые порты. Итак, цель ясна, приступаем к реализации.

Какой фаервол взять?


На Windows XP и Windows 7 я пользовался Outpost Firewall. Это отечественная разработка. Очень надёжная и удобная. Я даже купил себе по акции пожизненную лицензию на три машины. Однажды этот фаервол помог мне выявить трояна, которого не видел ни один антивирус. Когда я сумел взять файл с телом вируса, я скормил его нескольким антивирусам, поставляющимся на LiveCD. Ни один не заметил ничего подозрительного. А фаервол у меня просто был в параноидальном режиме, откуда я и узнал о подозрительной активности программы.

Всё было хорошо, пока производитель этого фаервола не закрылся при странных обстоятельствах. После этого, я сильно загрустил. Настолько загрустил, что на основном моём ноутбуке до сих пор стоит семёрка с Outpost, так как я не стал искать ему замену. Но среда разработки Xilinx хочет десятку! Прекрасно! Значит, пришла пора осваивать работу с фаерволом, встроенным в эту ОС!

Все мы знаем, что когда какая-то программа пытается получить доступ к сети, этот стандартный фаервол спрашивает у нас, разрешить ей работу с сетью или нет. Мы можем запретить сразу, а можем снять галочку разрешения после, об этом в сети имеется масса руководств. Вот эти галочки:



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

Сервер


Первое приложение будет прикидываться сервером. Оно принимает UDP-пакеты, в которых приходят строки, и отображает их на экране. Для того чтобы мы говорили об одном и том же, вот его исходный текст на С++:
#include <iostream>#include <winsock2.h>#include <ws2tcpip.h>// Need to link with Ws2_32.lib#pragma comment (lib, "Ws2_32.lib")#define DEFAULT_BUFLEN 16int main(int argc, char** argv){if (argc != 2){printf("usage: ServerTest.exe port");return -1;}WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);    // The socket address to be passed to bind    sockaddr_in addr;addr.sin_family = AF_INET;addr.sin_addr.s_addr = INADDR_ANY;addr.sin_port = htons((u_short)strtoul (argv[1],0,0));SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0/*IPPROTO_UDP*/);bind(sock, (struct sockaddr*) &addr, sizeof(addr));while (true){struct sockaddr from;int len = sizeof(from); char buf[DEFAULT_BUFLEN];memset(buf, 0, DEFAULT_BUFLEN);recvfrom(sock, buf, DEFAULT_BUFLEN-1, 0, &from, &len);printf(buf);}return 0;}

Запускаем эту программу, передав в качестве аргумента номер порта (скажем, 1234) и предсказуемо получаем запрос от фаервола:



Разрешим ему сетевую активность Пусть он пока ждёт, а мы напишем клиентскую часть в виде другого EXE-шника.

Клиент


Пусть наш клиент шлёт серверу строки с крутящейся палочкой. Вот его текст:
#include <iostream>#include <winsock2.h>#include <ws2tcpip.h>#include "Windows.h"// Need to link with Ws2_32.lib#pragma comment (lib, "Ws2_32.lib")#define DEFAULT_BUFLEN 16int main(int argc, char** argv){if (argc != 3){printf("usage: ClientTest.exe address port");return -1;}WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);struct sockaddr_in server, client = { AF_INET,INADDR_ANY,INADDR_ANY };memset(&server, 0, sizeof(server));server.sin_family = AF_INET;server.sin_port = htons((u_short)strtoul (argv[2],0,0));InetPton(AF_INET, argv[1], &server.sin_addr.s_addr);SOCKET sock = socket(PF_INET, SOCK_DGRAM, 0);bind(sock, (sockaddr*)& client, sizeof(client));for (int i=0;;i++){static const char* sticks[] = { "\\\r","|\r","/\r","-\r" };sendto(sock, sticks[i%4], strlen(sticks[i%4])+1, 0, (sockaddr*)& server, sizeof(server));Sleep(250);}}

Запускаем, указав адрес сервера и порт, который был у сервера (у меня это 192.168.1.95 и 1234), после чего в серверном окне начинает бежать чуть иная, чем я хотел, но всё же палочка:



Но волнует меня не то, что символ \r не возвращает каретку в начало строки, а то, что клиент это отдельный процесс Запускаемый из совершенно отдельного файла!.. А фаервол не запросил у меня разрешения на его сетевую активность. Вместо этого, он разрешил её сам, даже не поставив меня в известность о том, что программа куда-то полезет. Как так?

Немного теории о режимах работы фаервола


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

Собственно, вот соответствующая настройка фаервола:



Разрешено всё, что не запрещено. Приложению можно явно запретить активность. Именно этому посвящено огромное количество статей в Интернете Но троян заберётся на нашу машину незаметно, мы и не догадаемся, что именно его надо занести в запрещённые приложения. Опять же, это не решает моей задачи, вынесенной во введение статьи. Мне надо оставить доступ к тем адресам, которые я разрешил и запретить все остальные.

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



И там сначала выбираем вкладку, соответствующую активному профилю (на моём рисунке это был Общий профиль, а затем переключаем список выбора Исходящие подключения из Разрешить (по умолчанию) в Блокировать.



Всё, мы можем спать спокойно? Увы, нет. Если бы всё было так просто уверен, компания Microsoft сразу выбирала бы режим Блокировать для всех. Жаль, но всё только начинается.

Немного о прикладном мазохизме


Итак. Допустим, вы включили режим блокировки для исходящих Сразу умерло всё, включая браузеры. В целом, никто не мешает в любой момент вернуть выбор в старое положение и откатиться к исходному варианту. Но давайте посмотрим, что нам вообще даёт новый режим. Мы получаем список правил. И у этих правил можно задать безусловное условие разрешения, а можно задать для приложения список открытых портов и список открытых адресов. Адреса можно задавать группой. Вот окно настройки портов:



Вот окно настройки адресов:





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

Всё замечательно, кроме одного. Если список правил для входящих соединений нам формирует система, то для исходящих всё надо добавлять самому. Как я говорил, у меня умер браузер мне пришлось добавить его в разрешённые исходящие самостоятельно. Как настраиваются адреса, я не буду описывать, статья не об этом. Статей про настройку правил (с целью блокировки, правда) пруд пруди. В целом, обычно я находил подходящее правило для входящих, копировал имя файла оттуда, после чего создавал правило для исходящих, указав тот же файл. Ну, и разрешал активность этой программе.

Когда у меня возникла проблема с подключением к VPN в офисе, я поисследовал список готовых правил и нашёл вот такое (я заранее знал, что у нас VPN подключение идёт по протоколу L2TP):



Правило создано за нас, но не активировано. Я зашёл в его свойства, активировал его, после чего слева в списке появился зелёный шарик с галочкой, а VPN-соединение с офисом заработало.

Но так или иначе, а в целом, работа с таким фаерволом попахивает мазохизмом. Надо иметь железную волю, чтобы не закричать: А надоело это всё и не вернуться к старому режиму работы. Я уже почти дошёл до этого состояния (благо опыты с Xilinx для All Hardware уже были завершены), но один мой знакомый подсказал мне красивое решение.

Надстройка над штатным фаерволом


Оказывается, есть официально бесплатная программа Windows Firewall Control.



Она сама по себе ничего не делает, а просто управляет фаерволом, встроенным в Windows, предоставляя очень удобные интерфейсы. Теперь не надо бегать через кучу меню, чтобы что-то настроить. Все настройки удобно и компактно собраны на нескольких вкладках. Расписывать все функции этой программы я не буду. Цель статьи не описать её, а просто отметить её существование. Дальше все желающие смогут найти специализированные статьи, зная имя Windows Firewall Control.

И вот теперь при запуске клиентской части из примера выше, я наконец-то получил сообщение:



Я могу разрешить ему доступ, после чего будет автоматически создано правило, я могу запретить доступ, я могу заблокировать приложение однократно.

Вот я ради интереса нашёл автоматически созданное правило в штатном списке фаервола и ограничил ему список доступных адресов:



В общем, с этим приложением жизнь стала намного проще даже при использовании штатного Windows Firewall. Настолько лучше, что эта машина с Windows 10 осталась в сети, ведь она уже не так беззащитна, как была до того.

Заключение


Штатный Windows Firewall по умолчанию работает в таком режиме, что любая программа может начать отсылать данные, о чём пользователь даже не будет проинформирован. Это никто не скрывает, но не все об этом знают. Можно, конечно, поставить сторонний фаервол, но вполне достаточно перевести штатный Windows Firewall в режим запрещено всё, что не разрешено. К сожалению, при этом поддержка сетевой работоспособности штатными средствами превращается в ад. Но сторонняя официально бесплатная программа Windows Firewall Control устраняет это неудобство.

Будете ли вы пользоваться связкой из штатного фаервола и этой программы, либо достанете сторонний фаервол, вопрос открытый. Но то, что использовать штатный фаервол в режиме по умолчанию несколько боязно, по-моему, не подлежит сомнению.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru