Free firewall как настроить

Обновлено: 04.07.2024

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

Случаи применения

Отображение и управление

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

Защита от злоумышленников

Программное обеспечение защищает вас от злоумышленников из интернета и локальной сети.

Конфиденциальность

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

Установка

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

Пользовательский интерфейс

После запуска приложения появляется пользовательский интерфейс программного обеспечения.


Обновление программного обеспечения

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

  • Бета: Эти версии программ находятся в стадии разработки и не были должным образом протестированы. Эти версии программ следует устанавливать только на тестовое устройство, которое вы не используете.
  • Preview: Эти версии программ еще не были должным образом протестированы. Эти версии программ следует устанавливать только на тестовое устройство, которое вы не используете.
  • Выпуск: Эти версии программы были должным образом протестированы и могут использоваться в продуктивных системах.
Примечание : Обновите программное обеспечение на всех устройствах одновременно.

Несовместимые обновления

Если вы хотите установить более новую версию программы, которая не имеет обратной совместимости с существующей, вы должны сделать это следующим образом:

  1. Резервное копирование всех ваших данных из существующей установки на защищенный диск.
  2. Обратите внимание на конфигурацию и настройки существующей установки.
  3. Удалить старую версию программы. When uninstalling, select the complete uninstallation.
  4. Установить обновление.
  5. Настройте новую установку с сохраненными настройками.
  6. Скопируйте ваши старые данные на облачный диск или в папку синхронизации.

Обновление с версии 1 до 2

Если вы хотите обновить версию 1 до 2, следуйте инструкциям в разделе ниже: Несовместимые обновления

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


Разрешения

Вы можете установить разрешения для каждой программы индивидуально.

  • Запрос разрешения : Каждый раз, когда вы входите в Интернет, программа отображает событие доступа в Интернет, которое вы одобряете или блокируете.
  • Разрешить все : Каждый доступ в интернет автоматически одобряется брандмауэром.
  • Отклонить все : Любой доступ в Интернет автоматически блокируется брандмауэром.
  • Применить правила : Каждый доступ в Интернет определяется автоматически на основе правил для этой программы. Правила могут быть созданы пользователем.
Примечание : Как только вы измените разрешения программ, они будут приняты программой в течение 10 секунд.

Службы

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


Предупреждение : Службы предоставляют важные функции в операционной системе. Неправильная конфигурация может вызвать проблемы с доступом к сети и Интернету.

Правила

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


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

  • Запрос разрешения : Если после обработки вышеуказанных правил совпадение не найдено, программа отображает событие доступа в Интернет, которое вы одобрили или заблокировали.
  • Разрешить все : Если после выполнения вышеуказанных правил совпадений не найдено, брандмауэр автоматически разрешает доступ в Интернет.
  • Отклонить все : Если после обработки вышеуказанных правил совпадение не найдено, брандмауэр автоматически блокирует доступ к Интернету.
  • Применить правила выбранной зоны : Если после обработки вышеуказанных правил совпадение не найдено, то правила выбранной зоны проверяются до тех пор, пока совпадение не будет найдено.

Добавление правил

Новые правила для программы могут быть созданы с помощью кнопки Добавить. Правило состоит из следующих параметров:

  • IP-адрес или доменное имя
  • Порт, диапазон портов или звезда
  • Действие правила

IP-адрес или доменное имя : IP-адрес может быть введен в виде адреса IP v4 или IP v6. Адрес может дополнительно содержать подмаску в виде длины префикса.

Примеры : IP-адрес или доменное имя

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

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

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


The software provides you with options and settings to change the behavior of the software.

Общие настройки

Запустить программу с Windows

Программа запускается автоматически каждый раз при запуске компьютера.

Проверка наличия обновлений и уведомление

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

Предотвращение спящего режима во время синхронизации

Пока файлы синхронизируются с облаком, спящий режим или режим ожидания запрещены.

Выбор языка

Выберите свой язык, нажав на флаг .

Синхронизация

Облачная стратегия назначения

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

  • Оптимизировано для скорости : Комбинация облачной службы для максимальной скорости
  • Случайный : Файлы случайным образом загружаются в облачную службу
  • Сильная фрагментация : Большие файлы распределяются по максимально возможному количеству облачных хранилищ
  • Свободное место на диске : Сначала будут заполнены облачные службы с наибольшим доступным пространством для хранения
  • Линейный : Upload are distributed in the same order to the cloud storage services as they are arranged in the list
  • Равномерное распределение : All cloud storage services have approximately the same amount of data

Путь к кешу

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

Сжатие

Файлы могут быть сжаты перед выгрузкой в ​​облако для экономии места на диске и времени передачи.

  • Без Сжатия : Файлы выгружаются без сжатия
  • Быстрое сжатие : Файлы сжимаются быстро
  • Среднее сжатие : Сжатие файлов сбалансировано
  • Сильное сжатие : Все файлы сильно сжаты перед выгрузкой

Ограничение пропускной способности выгрузки / загрузки

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

Прокси в рабочей или домашней сети

Если вы используете прокси для подключения к Интернету, программа позволяет вам настроить прокси-соединение. Программное обеспечение поддерживает различные прокси:

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

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

Часто одни и те же вопросы задают повторно. Здесь мы хотим дать вам наиболее распространенные ответы.

Должен ли я отключить брандмауэр Windows или брэндмауэр Defender?

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

Иногда получается, что при выполнении очередного проекта, я случайно открываю какие-то обстоятельства, которые, вроде, никто не скрывает, можно даже найти документацию, поясняющую суть… Но многие, включая меня, находятся в плену заблуждений, поэтому не ищут ту документацию, полагаясь на совершенно неверную картину мира. У меня уже намечается целый цикл из статей, в которых я просто сообщаю, что всё, оказывается, не так, как многие (включая меня) думали. Была у меня статья про 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-пакеты, в которых приходят строки, и отображает их на экране. Для того чтобы мы говорили об одном и том же, вот его исходный текст на С++:

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


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

Клиент

Пусть наш клиент шлёт серверу строки с крутящейся палочкой. Вот его текст:

Запускаем, указав адрес сервера и порт, который был у сервера (у меня это 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 устраняет это неудобство.

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


Занимаясь разработкой или обслуживанием веб-приложений, в какой-то момент времени приходится сталкиваться с необходимостью использовать WAF (Web Application Firewall). Если опыта работы с такого класса решением у вас нет или устали от постоянных ложных срабатываний, я расскажу, как упростить задачу, а также поделюсь советами и фишками. В качестве инструмента будем использовать Nemesida WAF Free — бесплатную версию Nemesida WAF.

Визуализация, или начнем с конца

Наблюдать за работой Nemesida WAF Free можно через браузер, поэтому после недолгой настройки системы мы получим доступ к веб-интерфейсу, в котором будет доступна информация по заблокированным атакам, причинах блокировки, информации об IP-адресах и т.д. Кроме этого появятся разделы со сводной статистикой в виде графиков, диаграмм и данными по трафику от модуля VTS (если он используется).



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

Установка Nemesida WAF Free

В предыдущем абзаце я специально разделил функционал блокирования атак на выявление и блокирование, поскольку есть 2 (даже три) режима работы продукта: IDS, IPS и PseudoIDS (режим LM).

Режим IDS

IDS режим позволяет использовать WAF на копии трафика, выявляя, но не блокируя атаки. Такой режим работы полезен, например, для первичного запуска или для пассивного мониторинга, чтобы исключить любое блокирование запросов или увеличение, пусть и незначительное, времени отклика. Для примера настройки будем использовать Nginx для передающего сервера (хотя можно использовать любой другой, например, Apache2 или IIS).

Настройка передающего сервера:

(вместо 192.168.0.1 необходимо указать адрес сервера с установленным Nemesida WAF)

После внесения изменений и перезапуска веб-сервера, поступающие на этот сервер запросы будут транслироваться на сервер 192.168.0.1 с установленным Nemesida WAF (его настройка проста и будет описана ниже). Такая схема работы позволяет мониторить атаки без их блокирования, но в то же время, без воздействия на основной сервер.

Режим IPS и PseudoIDS

Остальные 2 режима работы предполагают использование WAF «вразрез», при этом в режиме IPS выявленные инциденты безопасности блокируются, в режиме PseudoIDS — фиксируются, но не блокируются. Последний режим удобен тем, что переключение между этими двумя режими происходит с помощью простых опций: возможность перевода в режим PseudoIDS как по имени сервера (опция nwaf_host_lm ), так и по IP-адресу клиента (опция nwaf_ip_lm ).

Вообще, в Nemesida WAF Free предусмотрено множество параметров для «тонкой» настройки системы: гибкий функционал создания собственных правил блокировок и исключений, возможность добавлять IP клиента в «список исключений», опция настройка бана для всех и для каждого отдельного виртуального хоста и т.д. Всем этим хозяйством можно управлять через конфигурационный файл в бесплатной версии, а в полноценной — еще и через вызовы API.

Вернемся к процедуре установки. Nemesida WAF представлен в виде нескольких компонентов:

  • Динамический модуль для Nginx
  • Nemesida WAF API (принимает события от Nemesida WAF и помещает их в Postgres для последующего вывода в ЛК или интеграции с SIEM-системами)
  • Личный кабинет (веб-интерфейс для мониторинга за инцидентами)
  • Модуль машинного обучения Nemesida AI
  • Сканер уязвимостей Nemesida WAF Scanner
  • Nemesida WAF Signtest — веб-интерфейс для управления модулем машинного обучения

Динамический модуль Nemesida WAF

Для тех, кто устанавливает дистрибутив не в первый раз, процесс установки и запуска динамического модуля занимает примерно 5-10 минут. Динамический модуль Nemesida WAF можно подключить к уже установленному Nginx (или скомпилированному из исходников с собственными модулями).

Репозитории Nemesida WAF доступны для следующих ОС: Debian 9/10, Ubuntu 16.04/18.04/20.04, Centos 7/8. На Youtube-канале опубликованы видео-инструкции по установке и первичной настройке компонентов. Рекомендуем ознакомиться с одной из них, но установку и настройку советуем производить по документации на основном сайте, поскольку некоторые параметры могут устаревать, другие — добавляться.

Установка динамического модуля Nemesida WAF (видео)

Nemesida WAF API и Личный кабинет

После того, как динамический модуль будет установлен и запущен, пора переходить к установке оставшихся двух компонентов: Nemesida WAF API и Личный кабинет.

Nemesida WAF API представлен в виде API, написанного с использованием Flask, и предназначен для приема событий от Nemesida WAF, Nemesida WAF Scanner и Nemesida AI с последующим помещением этих событий в БД. В качестве СУБД используется PostgreSQL. В бесплатной версии Nemesida WAF в БД будут передаваться только информация о заблокированных запросах.

После того, как Nemesida WAF API будет настроен и подключен к PostgreSQL, пора приступать к запуску Личного кабинета. Согласно документации производим установку, настройку, выполняем миграцию, указываем пользователя и пароль для входа.

По опыту установка двух последних компонентов вызывает больше затруднений (обычно пропускаются какие-то шаги, например, забывают сделать миграцию или разрешить подключение к Postgres), поэтому для быстрого старта мы подготовили Virtual Appliance (виртуальный диск с Debian 10 и компонентами Nemesida WAF, 3GB до распаковки), а также сделали 2 Docker-образа: для динамического модуля и для Nemesida WAF API/Личного кабинета.

Ну что, самая скучная часть позади, теперь можем проверить WAF в действии.

Первый hack

Отправляем запрос (я это сделал через консоль, но лучше делать через браузер для наглядности):


или, если хочется что-то более приближенное к реальности:


В ответ получаем код ответа 403:


А в ЛК через несколько секунд должна появиться атака:


Если запрос не заблокировался — WAF некорректно подключен или настроен (возможно, адрес или хост добавлен в WL/LM), если блокирование запроса произошло, но в ЛК информации нет — проверьте корректность настройки взаимодействия с Nemesida WAF API и ЛК. В любом случае, всегда можно задать вопрос на форуме.

Кастомная 403 страница

По умолчанию 403 страница (страница с 403 кодом ответа) невзрачна и скупа на информацию. Nemesida WAF в связке с Nginx позволяет ее сделать красивой и более информативной.

Чтобы ваш сервер отдавал такую страницу, необходимо:

1. Создать файл конфигурации для кастомных страниц (например, в /etc/nginx/snippets/custom_pages.conf );

Описание:

error_page 403 405 = 222 /403.html; — задаем кастомный 222 код ответа для кодов ответа 403 и 405 и возвращаем локацию /403.html ;


2. Подключить созданный файл:

Подключить созданный файл к конфигурации Nginx

3. Создать кастомную страницу (например, /var/www/custom_pages/403.html ) следующего содержания (для примера):

После перезапуска Nginx (с установленным Nemesida WAF) все страницы, имеющие код ответа 403 и 405, будут выглядеть следующим образом:


При этом кастомная страница будет обновляться каждые 7 секунд, и если IP клиента не будет забанен, то возвратится корневая страница сайта.

Автоматический бан

Вы, наверняка, слышали или даже используете системы автоматического бана вроде Fail2ban и знаете об их достоинствах и недостатках. В Nemesida WAF используется встроенный и простой в настройке механизм бана, позволяющий устанавливать произвольный период блокировки для виртуальных хостов сервера. Блокирование происходит по IP-адресу, а для управления доступны следующие опции:

  • Количество атак с IP, которое приводит к блокированию;
  • Период блокирования;
  • Виртуальный хост, на который направлены атаки (опционально).

Списки исключений (While lists)

Работа WAF построена по принципу анализа поступающих на сервер запросов и реакции в случаях, когда в них содержатся признаки атаки или аномалий. Применение алгоритмов машинного обучения вкупе с улучшенной технологией нормализации в полноценной версии Nemesida WAF позволяет выявлять такие атаки точно и с ультра-минимальным количеством ложных срабатываний (порядка 0.01%), но в бесплатной версии для снижения количества ложных срабатываний мы упираемся в ограничения, заложенные в архитектуру сигнатурного анализа. Таким образом, бесплатная версия имеет большее количество ложных срабатываний, и для решения этой проблемы приходится использовать списки исключений (или «white lists»). В Nemesida WAF также доступно создание правил исключений.

Чаще всего ложные срабатывания появляются, когда администратор/модератор веб-ресурса производит обновление или изменение через веб-интерфейс, передавая в теле запроса нетипичные для пользователя конструкции:
.
$html = curl_exec($ch);
curl_close($ch);
return json_decode($html,true);
.

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

В случаях, когда администраторы приложений не могут взаимодействовать с ним в обход WAF, можно добавить IP-адрес, с которого они обращаются к ресурсу, в список исключений или же перевести адрес в режим PseudoIDS (опция nwaf_ip_lm ) для фиксации событий без блокирования. Но с такими действиями всегда нужно быть достаточно осторожными.

Кстати, Nemesida WAF позволяет добавлять не только IP-адреса, но и подсети, если в этом появляется необходимость.

Заключение

Независимо от того, насколько качественно на ваш взгляд написан код, применяются в нем функции фильтрации ввода и специальные фреймворки вроде HTML Purifier, призванные удалять если не весь вредоносный код, то большую его часть, необходимо использовать WAF для повышения уровня защищенности.

Если использовать WAF предполагается впервые, или вы устали от бесконечных добавлений правил исключения, рекомендуем попробовать бесплатную Nemesida WAF Free. Для профессионального использования (блокирование сложных атак, атак методом перебора, СМС флуда; поиск уязвимостей; наличие системы виртуального патчинга и т.д.) требуется полноценная версия Nemesida WAF с модулем машинного обучения и сканером уязвимостей. Тем не менее, для большинства нецелевых атак и массовых сканирований Nemesida WAF Free будет хорошим и удобным инструментом.

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

защита

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

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

Что такое фаерволл и зачем он нужен. Интернет-защита

Фаерволл (англ. - FireWall ) - это программа, предназначенная для защиты Вашего компьютера от несанкционированного вторжения какого-нибудь хакера Пупкина из сети\интернета, просто от гуляющих вредоносных пакетов, замедляющих работу в интернете, червей, некоторых типов вирусов, пользующихся дырами в системе безопасности ОС (операционной системы).

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

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

Вообще самое главное из того, что делает фаерволл - это защищает открытые порты от сканирования и доступа к ним, в противном случае злоумышленник может легко получить доступ к Вашему компьютеру и делать на нём всё что угодно, получая доступ к любой информации. Читая эти строки, процентов 80%-90% пользователей спросят: "А кому нафиг сдался мой компьютер, зачем получать к нему доступ, качать с него информацию, рассылать спам, замедлять мою работу и вообще вредить, если они меня даже не знают?" Ответ прост: затем же, зачем некоторые люди пишут и распространяют вирусы, а именно просто, чтобы навредить или проверить свой навык в данной области. Такие уж они люди.

Чем и как защитить себя? Какой фаерволл стоит устанавливать?

Ну вообще в ОС семейства Windows есть встроенный брандмауэр (что-то вроде фаерволла), но толку от него, откровенно говоря, не очень много.

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

Загрузка и установка фаерволла Zone Alarm

    В первом окне выбираем пункт " Custom Install ", дабы настроить все параметры установки:

zone alarm установка

zone alarm установка 5

После чего проверяем, что снята галочка, и жмем в кнопочку " Finish ":

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

Настройка и использование фаерволла Zone Alarm

После установки нам нужно попасть, собственно, в главное окно программы, где приступить к настройке программы.

zone alarm фаерволл настройка для защиты

Для того, чтобы его открыть, нажмите на синенькую иконку в трее (где часы) с буковкой Z . Теперь приступим к настройке фаерволла.

zone alarm фаерволл настройка для защиты 2

Жмакните в кнопочку " View Details " под квадратиком " Firewall ", дабы открыть вкладку с разделами фаерволла. Здесь нас интересуют две кнопочки Settings справа. Жмем первую, а именно ту, что находится напротив подраздела " Basic Firewall ".

Где я рекомендую поставить галочку " Lock hosts file ", что позволит защитить этот файл от перезаписи, а значит, спасет от возможных проблем с некоторыми вирусами-перенаправителями. Сделав оное, жмем в ОК и снова жмем по кнопочке " Firewall ", после чего выбираем вторую кнопочку " Settings ".

zone alarm фаерволл настройка для защиты 5

Здесь снова переводим ползунки в положение " Med " и жмем в кнопочку " View Programs ".

zone alarm фаерволл настройка для защиты 6


Эта вкладка отвечает за допуски в интернет, сеть и т.п. всех программ на Вашем компьютере. Если программы нет в списке, то Вы можете добавить её кнопочкой " Add ", указав на её .exe файл. Теперь что касается самого списка, а именно его колонок:

  • Trust Level - отвечает за уровень доверия приложению и его доступа в системе куда бы то ни было;
  • Outbound Trusted - грубо говоря, отвечает за исходящий трафик приложения в рамках локальной сети;
  • Outbound Internet - аналогично, только за исходящий трафик приложения в интернет;
  • Inbound Trusted - грубо говоря, отвечает за входящий трафик приложения в рамках локальной сети
  • Inbound Internet - аналогично, только за входящий трафик приложения в интернет

По клику на знак вопроса в одной из колонок (ну, или не на знак вопроса, а на галочку/крестик или что там будет стоять согласно автоматической настройке) можно для всех, кроме первой, колонок задать параметр Allow (Разрешить), Deny (Запретить) или Ask (собственно, знак вопроса, т.е. пока не определились). Отсюда простой вывод - если Вы доверяете приложению, то можете смело во всех четырёх, начиная со второй, колонках, проставить галочки, т.е использовать пункт " Allow " и разрешить приложению доступ в интернет. Если не доверяете, то " Deny" , т.е. запретить. Если Вам нужен какой-то определенный вид трафика, то, само собой, часть разрешить, часть запретить.

zone alarm фаерволл настройка для защиты 8

В первой же колонке есть пять параметров, а именно: Super (полные администраторские права), Trusted (доверенные права, т.е. почти полный уровень доступа на уровне исполнения пользователем), Restricted (ограниченные права), Ask (вопрос, т.е еще не определились), Kill (не позволяет приложение запускать вообще) и No Enforcement (что-то типа не исполнять, но вообще смысл этого параметра для меня остался туманным). Исходя из этих параметров, можно настроить работу почти любого приложения и его права в рамках системы.

zone alarm фаерволл настройка для защиты 7

Собственно, если возиться со всеми этими параметрами для Вас пока сложновато, то сделав вышеописанные настройки, а именно, проставив все упомянутые ползунки в параметр " Med. ", перезагрузите компьютер, после чего при попытке доступа приложения куда-либо, Вам будет выдаваться окошечко как на картинке выше с кнопочками " Allow " (разрешить) и " Deny " (запретить), а так же галочкой " Remember this setting " (запомнить выбор). Глядя на название программы и путь к ней, Вы можете определиться, понятно ли, что это за программа просится в интернет и запретить ей или разрешить доступ, а галочка " Remember this setting " позволит запомнить Ваш выбор и больше не будет спрашивать Вас о том, что нужно делать с этой программой. Если же выбор сделан неправильно, то, собственно, Вы можете перейти к списку программ и их прав, о котором я писал выше, а там вручную изменить параметры.

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

Ну и последнее и важное - это статистика. Открыв главное окно программы, перейдите по пути меню " Tools - Logs "

zone alarm фаерволл защита от хакеров логи

Здесь Вы сможете увидеть всю статистику по всему заблокированному, защищенному и пр.

Послесловие

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

Благодарю за внимание. Теперь Вам не страшен никакой хакер Пупкин и его злые нападения на Вашу собственность :)

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

Читайте также: