Архив рубрики: Публикации

Опрос snmp. OID и MIB для Huawei OLT и ONU

Пример команды проверки MIB и OID из Linux:




1

snmpwalk -v 2c -c public 192.168.1.10 1.3.6.1.2.1.2.2.1.2

Собственно список с описанием OID:

Оптическая мощность ONU:




1

1.3.6.1.4.1.2011.6.128.1.1.2.51.1.4

Температура плат:




1

hwMusaBoardTemperature 1.3.6.1.4.1.2011.2.6.7.1.1.2.1.10

Температура слотов:




1

hwSlotTemprature 1.3.6.1.4.1.2011.6.3.3.2.1.13

Загрузка процессоров плат:




1

hwMusaBoardCpuRate 1.3.6.1.4.1.2011.2.6.7.1.1.2.1.5

Питание:




1

hwMusaFramePower  1.3.6.1.4.1.2011.2.6.7.1.1.1.1.11

Таблица слотов:




1

hwSlotTable 1.3.6.1.4.1.2011.6.3.3.2

Статус линка GPON портов (Online — 1, Offline — 2):




1

hwGponDeviceOltControlStatus 1.3.6.1.4.1.2011.6.128.1.1.2.21.1.10

Статус vlan (up/down):




1

hwVlanInterfaceAdminStatus 1.3.6.1.4.1.2011.5.6.1.2.1.5

Статус ONU (Online — 1, Offline — 2):




1

hwGponDeviceOntEthernetOnlineState 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.22

Температура оптики ONU:




1

hwGponOntOpticalDdmTemperature 1.3.6.1.4.1.2011.6.128.1.1.2.51.1.1

Количество mac адресов подключенных к ONU:




1

hwGponDeviceOntControlMacCount 1.3.6.1.4.1.2011.6.128.1.1.2.46.1.21

Расстояние к ONU:




1

hwGponDeviceOntControlRanging 1.3.6.1.4.1.2011.6.128.1.1.2.46.1.20

Uptime OLT:




1

sysUpTime 1.3.6.1.2.1.1.3

Общее количество SNMP пакетов к OLT:




1

2

snmpInPkts 1.3.6.1.2.1.11.1

snmpOutPkts 1.3.6.1.2.1.11.2

Еще несколько OID:




1

2

3

4

5

6

7

8

9

10

hwMaxMacLearn 1.3.6.1.4.1.2011.5.14.1.4.1.6

hwMacExpire 1.3.6.1.4.1.2011.5.14.1.3

hwOpticsMDWaveLength 1.3.6.1.4.1.2011.5.14.6.1.1.15

hwOpticsMDVendorName 1.3.6.1.4.1.2011.5.14.6.1.1.11

hwRingCheckAdminStatus 1.3.6.1.4.1.2011.5.21.1.7

hwVlanInterfaceID 1.3.6.1.4.1.2011.5.6.1.2.1.1

hwVlanInterfaceTable 1.3.6.1.4.1.2011.5.6.1.2

hwVlanName 1.3.6.1.4.1.2011.5.6.1.1.1.2

icmpInEchos 1.3.6.1.2.1.5.8

ipAddrEntry 1.3.6.1.2.1.4.20.1



2018-11-02T10:04:37
Huawei

Обзор маршрутизатора TP-LINK Archer C59

Прогресс — это локомотив развития человечества. Совсем недавно, для того чтобы передать некую мысль на расстояние, люди пользовались почтой. Теперь же достаточно набрать несколько команд на клавиатуре или запустить специальную программу, и можно общаться с человеком на другой стороне планеты или даже в космосе. Всё это обеспечивают беспроводные технологии. Причём они внедряются даже внутри дома — это ваши маршрутизаторы и роутеры. TP-LINK Archer C59 является ярким представителем технологии скоростной и беспроводной передачи данных на небольшие расстояния.

Читать

Как остановить спам регистрации WordPress на Вашем сайте?

Интернет в настоящее время играет важную роль в каждом секторе, будь то социальная, профессиональная или любая другая цель. Но это может быть довольно опасно и хлопотно. Из-за растущей популярности CMS WordPress, она стала электронная мишень ASY для спамов. Спам — это, в основном, незапрошенные коммерческие сообщения. Они содержат много похожих сообщений и комментариев о нерелевантном содержании и могут быть весьма неприятными для решения. Однако это не единственная проблема! Спам может привести к нежелательным стычкам, а иногда и довольно опасным ситуациям, когда вы выдаете свою личную информацию.

Но как работает спам или спам? Спамеры создают много спам-ботов. Это система, которая может создавать тысячи спамов одновременно. Основная цель спама — получить дешевое продвижение дочерней компании или организации. Этот спам весьма полезен для получения некоторых доходов. Они также могут деформировать системы конкурентной организации за счет заражения вредоносными программами и вирусами. Некоторый спам также создаются разработчиками антиспама, чтобы получить установку для их антиспамового программного обеспечения.

Спам может появляться через источники, такие как регистрация электронной почты, сообщения электронной почты, комментарии к веб-сайту и многое другое в WordPress. Среди них самый утомительный спам, с которым приходится иметь дело — это спам-регистрация WordPress. С помощью спам-ботов тысячи регистрации могут выполняться с поддельными адресами электронной почты. Очень сложно пройти один за другим и выбрать регистрацию, которая является спамом. Итак, в этой статье мы покажем вам, как остановить спам регистрации WordPress на вашем веб-сайте WordPress. Но сначала давайте рассмотрим, как они могут повлиять на наш сайт.

Почему должен быть остановлен регистрационный спам в WordPress?

  • Они занимают много места:  много спама регистрации WordPress могут появляться сразу на вашем сайте. Спам также занимает большое место на ваших устройствах и серверах. Несмотря на то, что спам регистрации WordPress имеет очень маленький размер, они могут занять много нежелательного пространства, когда их много. Если вы прекратите спам и немедленно их удалите, вы можете использовать хранилище с пользой.
  •  Конкурентные рынки. Спам также может нарушить работу вашего веб-сайта или даже устройств с помощью вредоносных программ. Это может привести к прекращению работы веб-сайта, если надлежащие резервные копии не будут выполнены. Отправка спама регистрации WordPress со вредоносным ПО в основном осуществляется конкурентными агентствами для удобства бизнеса.
  • Автоматическая передача спама зарегистрированным пользователям:  с помощью вредоносного ПО спам также может быть автоматически перенаправлен зарегистрированным пользователям на вашем веб-сайте. Это может случиться, когда вы случайно нажмете на спам. Это может быть плохое воздействие на пользователя на вашем сайте.
  • Медленная производительность веб-сайта:  спам, как правило, использует много ресурсов вашего сервера и делает ваш сайт очень медленным и непригодным для использования. В конечном итоге вы также потеряете большую пропускную способность и снизите скорость и производительность вашего веб-сайта.
  • Другие угрозы безопасности:  вредоносное ПО в спамах также может изменять учетные данные редакторов, авторов или даже администраторов веб-сайта. В роли пользователей также может быть изменена с помощью этих сигнатур, которые могут привести ваш сайт к взлому.

Как заблокировать спам регистрации WordPress?

Теперь, когда вы знаете, насколько вреден и невыгоден спам, мы теперь перейдем к процессу предотвращения или прекращения процесса рассылки спама на вашем сайте WordPress! Самый эффективный способ сделать это — использовать плагин регистрации, который имеет возможности остановить его.

Для этой демонстрации мы можем порекомендовать плагин User Registration, разработанную WPEverest. Это бесплатный плагин, который имеет все основные функции, чтобы остановить спам от регистрации на вашем сайте. Есть четыре способа, с помощью которых вы можете остановить спам регистрации WordPress с помощью этого плагина. Но перед этим все, что вам нужно сделать, это установить плагин и следовать методам, указанным ниже:

1. Подтверждение электронной почты:

Один из лучших способов заблокировать спам регистрации WordPress — использовать одобрение с подтверждением электронной почты. Когда новый пользователь зарегистрирован на вашем сайте, вы можете отправить ссылку подтверждения на адрес электронной почты пользователя. Это будет гарантировать, является ли поддельным адресом электронной почты или нет. Если это поддельный адрес электронной почты, невозможно будет открыть ссылку подтверждения, поскольку ссылка никогда не будет доставлена. Если это реальная учетная запись, ссылка на подтверждение может быть нажата реальным пользователем. Затем пользователь может быть проверен.

Для этого перейдите в раздел «Регистрация пользователя>> Настройки вашей панели инструментов». Вам будет предоставлена опция «Вход в систему» в разделе «Общие». Затем выберите «Подтверждение электронной почты» для входа в систему..

Как остановить спам регистрации WordPress на Вашем сайте?

 

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

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

2. Подтверждение администраторами:

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

Чтобы активировать одобрение администратора, все, что вам нужно сделать, это открыть панель управления и перейти в «Регистрация пользователя >> Настройки». Затем в разделе «Вход пользователя» в разделе «Общие» выберите «Утверждение администратора после регистрации». Вы можете внести дальнейшие изменения в раздел электронной почты, чтобы ваше одобрение администратора функционировало по вашему желанию.

Как остановить спам регистрации WordPress на Вашем сайте?

 

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

3. Google ReCAPTCHA:

Одним из самых простых и наиболее распространенных способов блокировки спам-ботов является использование reCAPTCHA Google. Это система, разработанная Google, чтобы отличить, является ли пользователь человеком или нет. Он использует множество методов для определения пользователя как человека. Самый распространенный метод — использовать флажок «Я не робот». После того, как пользователь проверит его, он или она должны будут выбрать некоторые изображения из заданного набора из 9 изображений. Эта задача может выполняться только людьми. Любая попытка бота, несомненно, приведет к его провалу. Итак, если спам регистрации WordPress создан со спам-ботами, они никогда не смогут пройти это препятствие.

Как остановить спам регистрации WordPress на Вашем сайте?

 

Чтобы включить его, вам нужно перейти в «Регистрация пользователя >> Настройки панели управления». Затем нажмите «Интеграция»» и введите ключ сайта и секретный ключ и сохраните изменения. Вы можете получить ключи с официального сайта reCaptcha под кнопкой My reCAPTCHA.

Затем откройте регистрационную форму в разделе «Регистрация пользователя вашей панели управления» и перейдите в «Настройки формы» и выберите «Да» для включения поддержки reCAPTCHA и нажмите «Обновить форму».

4. Перенаправление регистрации по умолчанию на некоторые другие страницы:

Некоторые из спама регистрации WordPress отправляются на страницу входа на ваш веб-сайт WordPress, например «http://yourwebsite.com/wp-login». Чтобы этого не произошло, вы можете перенаправить страницу wp-login непосредственно на страницу регистрации вашего веб-сайта. Вы можете использовать плагин перенаправления страницы для этого, как плагин Redirection.

Все, что вам нужно сделать, это установить плагин и открыть «Инструменты >> Перенаправление»  на панели управления. Затем нажмите «Добавить новое»  и введите URL-адрес страницы входа WordPress в  URL-адрес источника. Поместите ссылку на страницу регистрации пользователя вашего сайта в  целевом URL. Затем нажмите «Добавить перенаправление».

Как остановить спам регистрации WordPress на Вашем сайте?

 

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

Альтернативные плагины для остановки регистрации спама в WordPress:

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

1. Stop Spammers:

Как остановить спам регистрации WordPress на Вашем сайте?

 

Это плагин, который помогает вам блокировать спам, поступающий на ваш сайт. Stop Spammers использует множество методов для мониторинга вашего сайта за любые подозрительные действия со спамом. Он также блокирует плохие хосты, которые позволяют активности спама на вашем сайте. Список всех этих хостов также поддерживается для будущих ссылок. Это также поможет вам заблокировать спам регистрации WordPress в ближайшем будущем. он также будет полезен для ваших других веб-сайтов, если вы владеете или управляете несколькими веб-сайтами.

2. Akismet:

Как остановить спам регистрации WordPress на Вашем сайте?

 

Разработанный разработчиками из самого WordPress,  Askimet считается одним из лучших плагинов для предотвращения спама. Он автоматически анализирует комментарии на веб-сайте и фильтрует те, которые выглядят как спам. Несмотря на то, что он специально ориентирован на спам из комментариев и контактов, он также может помочь вам в спам-регистрации WordPress. Вы можете остановить их, установив плагин и сняв  флажок: Любой может зарегистрировать. Этот флажок можно найти в  разделе Настройки >> Общие  для вашей панели.

 

Итого

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

Если у вас есть какие-либо советы или отзывы по плагинам, не стесняйтесь упоминать их в комментариях.



2018-11-01T11:36:26
Лучшие учебники по Wodpress

Настройка firewall на mikrotik

Firewall на микротик состоит из следующих составляющих, это цепочки (chain) и действия в этих цепочках (Action), а также различные фильтры к трафику который обрабатывается в цепочках.

Firewall Chain

В Mikrotik существуют следующие цепочки

Input – цепочка для обработки пакетов поступающих на маршрутизатор, имеющих в качестве адреса назначение ip  самого маршрутизатора.

Forward – в этой цепочки обрабатываются пакеты проходящие через маршрутизатор

Output – цепочка для обработки пакетов созданных маршрутизатором, например когда мы с маршрутизатора пингуем или подключаемся по telnet

Из описания понятно, что для защиты маршрутизатора нужно использовать цепочку input. А для обработки трафика от пользователей и к пользователям использовать chain forward. Использование Output мне не приходилось.

Firewall Action

В цепочках можно осуществлять следующие действия















ПараметрДействие
AcceptРазрешить
add-dst-to-address-listДобавить ip назначение в список адресов указанный в Address List
add-src-to-address-listДобавить ip источника  в список адресов указанный в Address List
Dropзапретить
fasttrack-connectionОбрабатывать пакеты включив FastTrack т.е пакеты будут проходить по самому быстрому маршруту, минуя остальные правила firewall и обработку в очередях
JumpПрыжок, переход на другую цепочку заданную в Jump target
logЗапись в лог
passthroughПерейти к следующему правилу не делая никаких действий(полезно для сбора статистики)
RejectОтбить пакет с причиной указанной в Reject with
ReturnВернуть пакет в цепочку из который он пришел
tarpitзахватывает и поддерживает TCP-соединения (отвечает с SYN / ACK на входящий пакет TCP SYN)

 

Фильтрация в firewall

Фильтрация пакетов которые могут попасть в цепочки может осуществляться по

Src.Address – адрес источника

Dst.Address – адрес назначения

Protocol – Протокол(TCP, UDP и т.д)

Src.Port – порт источника

Dst.Port –порт назначения

In.Interface –входящий интерфейс

Out.Interface – исходящий интерфейс

Packet.Mark – метка  пакета

Connection.Mark –метка  соединения

Routing Mark – метка  маршрута

Roting table — адрес получателя которых разрешен в конкретной таблице маршрутизации

Connection Type – тип соединения

Connection State — состояние соединения (установлено, новое и т.д)

Connection NAT State – цепочка NAT (srcnat, dstnat)

Примеры настройки firewall

Рассмотрим некоторые примеры по настройки firewall на маршрутизаторе микротик.

Настройка безопасности Микротик

Для начала настроим безопасность на наше маршрутизаторе, Для этого сделаем следующие

1.Запретим пинговать наше устройство

2.Запретим доступ к микротику всем  кроме локальной сети и разрешенных ip адресов

Для настройки подключаемся к роутеру с помощью утилиты winbox и  идем в меню IP-Firewall. Вкладка Filter Rules и нажимаем добавить.

Запрещаем пинги на наше устройство, для этого,  на вкладке general,   chain выбираем input protocol icmp

На вкладке Action выбираем drop

Запрещаем доступ к управлению маршрутизатора. Для начала создаем лист с нашими разрешенными адресами, переходим в IP-Firewall, вкладка Address Lists, добавляем новый лист

Name – название нашего листа

Address – адреса относящиеся к этому листу, можно указывать как отдельные адреса так и сети.

Дальше создаем новое правило, снова переходим в Filter rules и добавляем его

Затем переходим на вкладку Advanced и в качестве Src. List выбираем созданный лист

В действии Action выбираем разрешить accept.

Можно было не создавать лист, а на вкладке General в параметре Src. Address прописать нашу сеть, просто мне удобнее работать со списками адресов, в будущем для добавления нового адреса нужно его просто добавить в лист allow_ip.

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

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

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

На самом деле, правило по запрете ping  можно было не создавать, т.к последнее правило блокирует все попытки доступа к роутеру, в том числе и пинг.

Доступ пользователей в интернет

Допустим нам нужно дать доступ в интернет только для определенной сети. Для этого создаем два разрешающих  правила в chain  forward. Первое правило разрешает исходящий трафик из нашей сети

Action ставим accept. Можно как указать Src. Address, так и использовать Address Lists, как мы это делали выше.  Следующим правилом разрешаем прохождение пакетов в нашу сеть.

B следующим правилом запрещаем все остальные сети,

Action выбираем drop. В результате получится следующее

Запрет доступа пользователя в интернет

Если нам нужно запретить доступ в интернет определенным пользователям, давайте сделаем это через Address Lists, что бы в дальнейшем проще было добавлять или удалять правила, переходим на вкладку address Lists и создаем список block в который добавим адреса для блокировки.

Создаем запрещающее правило firewall в chain forward, в котором на вкладке Advanced в Src. Address  List выбираем наш список для блокировки

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

Аналогично можно запретить доступ к внешним ресурсам, так же создаем список для блокировки, но в настройка firewall уже указываем его в качестве Dst. Address List. Кроме ip адреса в список можно вносить и доменные имена, например если мы хотим запретить доступ пользователей в соцсети, одноклассники или вконтакте.

Доступ только к сайтам

В следующим примере рассмотрим как разрешить пользователям выход в интернет только по 80 и 443 порту и запретить все остальные, для этого создадим разрешающее правило в chain  forward, Protocol выбираем tcp и в параметре Dst.Prort указываем разрешенные порты

Тоже самое можно сделать с помощью запрещающего правила, используя оператор отрицания «!», а Action установить drop

Это означает,  запретит все порты кроме 80 и 443.

Конечно,  все возможности firewall на микротик я показать не смогу, но основные параметры думаю понятны.

Внимание! при настройке  firewall  на MikroTIK, настоятельно рекомендую проводить их в «Safe Mode» как ее включить описано здесь, в противном случае вы рискуете потерять доступ к маршрутизатору.

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-11-01T11:32:57
Микротик

Как на Windows узнать, сколько файлов хранится в папках

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

ПРИМЕЧАНИЕ. Методы подсчета файлов и папок, которые мы покажем в этой статье, работают аналогично в Windows 10, Windows 8.1 и Windows 7. Для простоты мы будем использовать только скриншоты, сделанные в Windows 10.

Метод 1. Используйте Проводник для выбора файлов и папок, которые вы хотите подсчитать

Первый метод предполагает использование Проводника / Проводника Windows . Откройте «Проводник» и перейдите к папке, в которой хранятся элементы, которые вы хотите подсчитать.

Общее количество элементов (файлов и папок), хранящихся внутри, отображается в нижнем левом углу пользовательского интерфейса File Explorer.

Если вы хотите считать только некоторые из файлов или папок, хранящихся в вашей папке, выберите их все и посмотрите на нижнюю левую часть интерфейса File Explorer. Он отобразит количество выбранных элементов.

Способ 2. Используйте окно «Свойства» для рекурсивного подсчета всех файлов и папок

Хотя предыдущий метод во многих случаях полезен, он не работает рекурсивно. Он считает файлы и папки на первом уровне дерева папок, но эти папки, скорее всего, содержат другие файлы и папки внутри. Что, если вы хотите точно знать, сколько папок и файлов хранится внутри определенной папки и всех ее подпапок? Легкий способ найти эту информацию — использовать окно Свойства выбранной папки. Щелкните правой кнопкой мыши или коснитесь и удерживайте значок папки. В контекстном меню нажмите или коснитесь Свойства.

Обратите внимание, что еще более быстрый способ открыть окно свойств папки — выбрать его, а затем одновременно нажать клавиши Alt + Enter на клавиатуре.

Когда откроется окно «Свойства», Windows автоматически начнет подсчет файлов и папок внутри выбранной папки. Вы увидите эту информацию в поле «Содержит».

Метод 3. Используйте командную строку для рекурсивного подсчета всех файлов и папок

Вы также можете использовать командную строку. Чтобы подсчитать папки и файлы, хранящиеся в определенной папке, откройте командную строку и перейдите к этой папке. Для этого запустите команду cd [path], где [путь] — это местоположение вашей папки. Вы можете увидеть пример на скриншоте ниже.

Затем, чтобы подсчитать все папки и файлы внутри родительской папки, выполните следующую команду:

dir *.* /w /s

После нажатия клавиши «Ввод» в командной строке будут перечислены все файлы и папки внутри родительской папки, и в конце она покажет вам сводку ее содержимого. В этом резюме также будет показано, сколько файлов и папок хранится в вашей папке. Обратите внимание, что эта информация рекурсивна — она ​​включает в себя все подпапки и все файлы.

Метод 4. Используйте PowerShell для подсчета всех файлов и папок

Другим тривиальным способом подсчета файлов и папок, хранящихся в родительской папке, является использование PowerShell . Откройте окно PowerShell и направляйтесь в папку родительской папки. Запустите команду cd [path], где [путь] — путь вашей папки. Вот пример:

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

Get-ChildItem | Measure-Object | %{$_.Count}

Если вы хотите подсчитать только папки внутри родительской папки, выполните следующую команду:

Get-ChildItem -Directory | Measure-Object | %{$_.Count}

Если вы хотите знать только количество файлов, запустите эту команду:

Get-ChildItem -File | Measure-Object | %{$_.Count}

Если вы хотите рекурсивно подсчитывать папки и/или файлы в родительской папке, добавьте параметр Recurse в предыдущие команды следующим образом:

  • Рекурсивно подсчитывать все файлы и папки: Get-ChildItem -Recurse | Measure-Object | %{$_.Count} Get-ChildItem -Recurse | Measure-Object | %{$_.Count}
  • Рекурсивно подсчитывать только папки: Get-ChildItem -Recurse -Directory | Measure-Object | %{$_.Count} Get-ChildItem -Recurse -Directory | Measure-Object | %{$_.Count}
  • Рекурсивно считать только файлы: Get-ChildItem -Recurse -File | Measure-Object | %{$_.Count} Get-ChildItem -Recurse -File | Measure-Object | %{$_.Count}

Заключение

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



2018-11-01T10:17:43
Вопросы читателей

Настройка fail2ban для защиты asterisk

Зачем fail2ban нужен для  asterisk?

Как Вам известно, asterisk является приложением (сервером) для IP-телефонии. То есть позволяет подключившимся к нему клиентам звонить друг другу и во внешний мир, используя (помимо всего прочего) линии телефонной связи. При этом возникают следующие риски:

  1. клиенты идентифицируются по логину/паролю, а также (как правило) по IP адресу. При этом существует возможность подобрать пароль (раньше или позже, в зависимости от его сложности, но в любом случае это возможно), причем крайне часто ограничения по IP адресам далеко не такие жесткие, как хотелось бы (в идеале для каждого клиента должен быть свой уникальный IP адрес)
  2. входящие звонки из интернета (например, с других серверов asterisk). С этими подключениями все сложнее, поскольку asterisk (в базовой конфигурации) не предусматривает отображение IP адресов, с которых производится подключение.

Программа fail2ban в связке с брандмауэром (например, iptables) и правильно настроенным asterisk (отображающим в логах полную информацию, в том числе IP адреса клиентов и других серверов) позволяет эффективно заблокировать попытки подключения и подбора пароля.

Перед началом настройки Вам необходимо установить iptables и fail2ban. Кроме того, iptables должен быть уже настроен (и разрешать подключения к asterisk) до начала настройки fail2ban! Прочитать, как настроить iptables можно здесь: настройка iptables для работы asterisk. Вы также можете установить fail2ban до установки самого asterisk, и в этом случае (по крайней мере, теоретически) в процессе установки последние версии asterisk обнаруживают установленный fail2ban и настраивают его автоматически. Однако:

  1. Не всегда вопрос безопасности IP-телефонии рассматривается до установки asterisk. То есть скорее всего, Вы захотите установить fail2ban на систему с уже установленным (и настроенным) астериском.
  2. Не во всех случаях автоматическое конфигурирование срабатывает вообще, не говоря уже о том, чтобы оно сработало правильно (и начало блокировать все атаки на asterisk).

Настройка ведения логов asterisk

В первую очередь имеет смысл настроить ведение логов asterisk, чтобы информация сразу же начала собираться в нужном нам формате и виде. Для этого в каталоге конфигурации asterisk (по умолчанию это /etc/asterisk) найдите файл logger.conf и внесите в него следующие изменения: раскомментируйте (уберите точку с запятой в начале строки):

dateformat=%F %T ; ISO 8601 date format

Это нужно для того, чтобы asterisk писал в логи дату в правильном формате:

год-месяц-день часы:минуты:секунды

Начиная с 10-й версии asterisk, Вы можете включить Asterisk Security Framework. Для этого в файле logger.conf найдите и раскомментируйте (или добавьте) строку:

security => security

В этой строке с левой стороны от стрелки указано имя файла, в котором будут сохраняться события, а с правой стороны – уровни (типы событий), которые будут сохраняться. В данном примере события, относящиеся к уровню security (и только они), будут сохраняться в файл с именем security в папке логов asterisk.

Разумеется, после внесения изменений необходимо, чтобы asterisk перечитал конфигурацию. Для этого можно либо перезагрузить сервис астериска, либо только конфигурацию логов (logger reload из asterisk CLI).

После этого в папке логов asterisk (по умолчанию /var/log/asterisk) появится файл с именем security. Не забудьте настроить ротацию логов для этого файла (так же, как и для остальных логов asterisk)!

Настройка правил фильтрации

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

Правила фильтрации можно прописать в файле /etc/fail2ban/filter.d/asterisk.conf. Вот образец содержимого этого файла:

# Fail2Ban configuration file

#

#

# $Revision: 250 $

#



[INCLUDES]



# Read common prefixes. If any customizations available -- read them from

# common.local

#before = common.conf





[Definition]



#_daemon = asterisk



# Option:  failregex

# Notes.:  regex to match the password failures messages in the logfile. The

#          host must be matched by a group named "host". The tag "" can

#          be used for standard IP/hostname matching and is only an alias for

#          (?:::f{4,6}:)?(?PS+)

# Values:  TEXT

#



# Asterisk 1.8 uses Host:Port format which is reflected here



failregex = NOTICE.* .*: Registration from '.*' failed for ':.*' - Wrong password

            NOTICE.* .*: Registration from '.*' failed for ':.*' - No matching peer found

            NOTICE.* .*: Registration from '.*' failed for ':.*' - Username/auth name mismatch

            NOTICE.* .*: Registration from '.*' failed for ':.*' - Device does not match ACL

            NOTICE.* .*: Registration from '.*' failed for ':.*' - Not a local domain

            NOTICE.* .*: Registration from '.*' failed for ':.*' - Peer is not supposed to register

            NOTICE.* .*: Registration from '.*' failed for ':.*' - ACL error (permit/deny)

            NOTICE.* .*: Registration from '.*' failed for '' - Wrong password

            NOTICE.* .*: Registration from '.*' failed for '' - No matching peer found

            NOTICE.* .*: Registration from '.*' failed for '' - Username/auth name mismatch

            NOTICE.* .*: Registration from '.*' failed for '' - Device does not match ACL

            NOTICE.* .*: Registration from '.*' failed for '' - Not a local domain

            NOTICE.* .*: Registration from '.*' failed for '' - Peer is not supposed to register

            NOTICE.* .*: Registration from '.*' failed for '' - ACL error (permit/deny)

            NOTICE.* .*: Registration from '".*".*' failed for ':.*' - No matching peer found

            NOTICE.* .*: Registration from '".*".*' failed for ':.*' - Wrong password

            NOTICE.* .*: No registration for peer '.*' (from )

            NOTICE.* .*: Host  failed MD5 authentication for '.*' (.*)

            NOTICE.* .*: Failed to authenticate user .*@.*

            NOTICE.*  failed to authenticate as '.*'$

            NOTICE.* .*: Sending fake auth rejection for device .*<sip:.*@>;tag=.*

            NOTICE.* .*:  tried  to authenticate with nonexistent user '.*'

            VERBOSE.*SIP/-.*Received incoming SIP connection from unknown peer



# Option:  ignoreregex

# Notes.:  regex to ignore. If this regex matches, the line is ignored.

# Values:  TEXT

#

ignoreregex =


 

В asterisk версии 1.4 и более ранних используются строки типа “… failed for ‘<HOST>’ …”, а в asterisk 1.8 и выше – строки “… failed for ‘<HOST>:.*’ …”, поскольку начиная с версии asterisk 1.8 в логах появилась информация о номере порта, которой нет в asterisk 1.4. Приведенный выше вариант учитывает как старые, так и новые версии asterisk, так что Вам нет необходимости в нем что-либо менять.

Для asterisk версии 10 и выше, если Вы включили ведение логов security, не забудьте прописать правила фильтрации для этих логов!

Правила фильтрации можно прописать в файле /etc/fail2ban/filter.d/asterisk-security.conf. Вот образец содержимого этого файла:

# Fail2Ban configuration file

#

#

# $Revision: 250 $

#



[INCLUDES]



# Read common prefixes. If any customizations available -- read them from

# common.local

#before = common.conf





[Definition]



#_daemon = asterisk



# Option:  failregex

# Notes.:  regex to match the password failures messages in the logfile. The

#          host must be matched by a group named "host". The tag "" can

#          be used for standard IP/hostname matching and is only an alias for

#          (?:::f{4,6}:)?(?PS+)

# Values:  TEXT

#



failregex = SECURITY.* SecurityEvent="FailedACL".*RemoteAddress=".+?/.+?//.+?".*

            SECURITY.* SecurityEvent="InvalidAccountID".*RemoteAddress=".+?/.+?//.+?".*

            SECURITY.* SecurityEvent="ChallengeResponseFailed".*RemoteAddress=".+?/.+?//.+?".*

            SECURITY.* SecurityEvent="InvalidPassword".*RemoteAddress=".+?/.+?//.+?".*



# Option:  ignoreregex

# Notes.:  regex to ignore. If this regex matches, the line is ignored.

# Values:  TEXT

#

ignoreregex =


Настройка изоляторов (jails) для fail2ban

Теперь нам необходимо создать описания так называемых “изоляторов” (jails) для fail2ban, т.е. “привязать” наши фильтры к fail2ban: объяснить, в каких файлах эти строки искать, и что потом делать.

Для этого откройте файл /etc/fail2ban/jail.conf

  1. Убедитесь, что нет (или не включено) других правил, связанных с asterisk! Для этого достаточно сделать поиск по файлу по имени “asterisk” (без кавычек) и убедиться, что если такие правила есть, для каждого из них свойство enabled установлено в false:

    enabled = false
  2. В случае, если версия asterisk меньше 10-й, либо Вы не хотите использовать логи security (использование логов security крайне рекомендуется), то Вам достаточно будет создать только одно правило. В противном случае Вам понадобится создать 2 правила.

Правило № 1

Это правило необходимо создать для всех версий asterisk. Вы можете создать новое правило, или модифицировать любое из уже имеющихся, но отключенных. Новое правило (поскольку в нашем примере используется fail2ban в связке с iptables) будет называться asterisk-iptables и будет применяться к файлу, в котором сохраняются все основные виды событий астериска (notice, warning, error, …). По умолчанию в астериске этот основной файл логов называется messages, но (например) в FreePBX это будет файл под названием full (как называется файл у Вас – см. настройки астериска в файле logger.conf). Итак, само правило:

# настраиваем изоляторы fail2ban для основных событий asterisk:

[asterisk-iptables]

# правило включено:

enabled  = true

# фильтр, которым будет пользоваться правило, называется asterisk 

# (название фильтра - это имя файла в каталоге /etc/fail2ban/filter.d):

filter   = asterisk

# к какому файлу (логам астериска) применять фильтр для поиска потенциально опасных событий:

logpath  = /var/log/asterisk/messages

# количество потенциально опасных событий, найденных фильтром, для срабатывания действия:

maxretry = 3

# на какой период времени (в секундах) применять действие action:

bantime = 86400

# за какой период времени (в секундах) искать в logpath потенциально опасные события:

findtime = 3600

# что делать, если фильтр обнаружил атаку (за период findtime секунд в логах logpath обнаружено

# maxretry потенциально опасных действий с одного IP адреса) - блокируем все порты 

# для этого IP и посылаем письмо для root:

action   = iptables-allports[name=ASTERISK, protocol=all]

           sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@asterisk]

# список IP адресов/подсетей, для которых все потенциально опасные события игнорируются:

ignoreip = 127.0.0.1/8


Правило № 2

Это правило будет работать только в случае, если версия asterisk – 10 или новее, а также если включено ведение логов security (см. выше). Вы также можете создать новое правило, или модифицировать любое из уже имеющихся, но отключенных. Новое правило (поскольку в нашем примере используется fail2ban в связке с iptables) будет называться asterisk-security-iptables и это правило будет использовать для анализа файл security в каталоге логов астериска:



# настраиваем изоляторы fail2ban для событий безопасности asterisk:

[asterisk-security-iptables]

# правило включено:

enabled  = true

# фильтр, которым будет пользоваться правило, называется asterisk-security 

# (название фильтра - это имя файла в каталоге /etc/fail2ban/filter.d):

filter   = asterisk-security

# к какому файлу (логам астериска) применять фильтр для поиска потенциально опасных событий:

logpath  = /var/log/asterisk/security

# количество потенциально опасных событий, найденных фильтром, для срабатывания действия:

maxretry = 3

# на какой период времени (в секундах) применять действие action:

bantime = 86400

# за какой период времени (в секундах) искать в logpath потенциально опасные события:

findtime = 3600

# что делать, если фильтр обнаружил атаку (за период findtime секунд в логах logpath обнаружено

# maxretry потенциально опасных действий с одного IP адреса) - блокируем все порты 

# для этого IP и посылаем письмо для root:

action   = iptables-allports[name=ASTERISK-security, protocol=all]

           sendmail-whois[name=ASTERISK-security, dest=root, sender=fail2ban@asterisk]

# список IP адресов/подсетей, для которых все потенциально опасные события игнорируются:

ignoreip = 127.0.0.1/8


Запуск fail2ban

Теперь необходимо запустить (или перезапустить) fail2ban и (если это необходимо, например iptables еще не был запущен) iptables.

Для запуска iptables (его нужно запустить первым) выполните следующую команду:

/etc/init.d/iptables start

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

/etc/init.d/fail2ban restart

Для проверки, что fail2ban запущен успешно и правило загружено, выполните следующую команду:

fail2ban-client status asterisk-iptables

и (если есть второе правило)

fail2ban-client status asterisk-security-iptables

Для отображения списка правил iptables выполните следующую команду:

iptables -L -n

В случае, если Вы только что установили fail2ban / iptables, не забудьте убедиться, что они настроены у Вас стартовать автоматически при загрузке системы!

 

Проверка работы fail2ban

Главное в процессе проверки fail2ban – иметь под рукой другой компьютер (или локальный доступ к серверу asterisk), чтобы в случае, когда fail2ban заблокирует Ваш IP адрес, Вы смогли подключиться и удалить эту блокировку!

Необходимо обязательно проверить работу связки fail2ban + iptables, поскольку, даже если Вы все настроили (или скопировали) правильно, возможно множество комбинаций событий, в результате которых настренные Вами блокировки работать не будут.

Последовательность действий для проверки работы связки fail2ban + iptables:

  1. Убедитесь, что у Вас настроен запуск iptables и fail2ban при старте компьютера
  2. Если Вы настроили 2 правила для fail2ban, настоятельно рекомендуем проверить работу каждого из них по отдельности. Для этого отключите одно из правил (enabled = false), например asterisk-security-iptables
  3. перезагрузите компьютер и проверьте, что:

    1. службы iptables и fail2ban запущены:

      service fail2ban status

      service iptables status
    2. одно из правил включено, а другое – выключено:

      fail2ban-client status asterisk-iptables

      fail2ban-client status asterisk-security-iptables

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

      Sorry but the jail 'asterisk-security-iptables' does not exist ,

      а для включенного – сообщение вида:

      Status for the jail: asterisk-iptables

      |- filter

      | |- File list: /var/log/asterisk/messages

      | |- Currently failed: 0

      | `- Total failed: 0

      `- action

      |- Currently banned: 0

      `- Total banned: 0

  4. Запустите SIP-клиент (обязательно не с самого сервера asterisk, а с другого компьютера!), и указав неверные данные для авторизации (IP адрес для подключения должен быть IP адресом сервера asterisk!), попробуйте авторизоваться 3 раза или более (количество авторизаций, после которых IP адрес блокируется, задается в параметре maxretry для каждого правила отдельно). В качестве тестового sip клиента можно использовать программу sipsak, которая работает из командной строки.
  5. Если Вы запустили SIP клиента с того же компьютера, с которого подключались к серверу asterisk, и если fail2ban + iptables были настроены правильно, то на данный момент Ваш IP адрес заблокирован, и Вы не можете подключиться к серверу asterisk с этого компьютера (проверьте это!). Подключитесь к asterisk с другого компьютера (или локально) и продолжайте выполнение команд.
  6. Запустите команду вида:

    fail2ban-client status asterisk-iptables

    для включенного правила, и убедитесь, что IP адрес, с которого подключался SIP клиент, находится в списке заблокированных IP (banned).
  7. Теперь по аналогии с действиями из пункта 2 разблокируйте второе правило (например asterisk-security-iptables) и заблокируйте первое (asterisk-iptables).
  8. Выполните действия с пункта 3 по пункт 6, только вместо перезагрузки компьютера (что тоже можно сделать) достаточно перезагрузить службу fail2ban. После этого сразу разблокируется IP адрес компьютера, на котором Вы запускали SIP клиент, и его можно будет (и нужно, как в пункте 4) запустить еще раз – для проверки работы второго правила. Обратите внимание, что может и не разблокировать (точнее, разблокировать и снова заблокировать) – в этом случае Вам лучше сделать паузу findtime секунд, после чего еще раз перезагрузить сервис fail2ban.
  9. После того, как Вы проверили работу обоих правил по отдельности, не забудьте обязательно включить их оба (для asterisk-iptables и для asterisk-security-iptables параметр enabled = true). После этого, разумеется, не забудьте перезагрузить сервис fail2ban.
  10. И последний пункт: если Вы выполнили предыдущие пункты достаточно быстро (в течение нескольких минут), то может оказаться, что после включения обоих правил (и последующей перезагрузки fail2ban) у Вас снова заблокируется IP адрес, с которого Вы запускали SIP клиента.

    Будьте внимательны!

 

Управление правилами fail2ban

Временное отключение блокировки IP адреса

Для этого Вам необходимо воспользоваться услугой iptables. Сначала мы выведем список правил на консоль, а затем выбрав нужные IP, удалим их из бана.

Для просмотра списка правил введите команду:

iptables -L -n

Вы увидите сообщение следующего вида:

Chain INPUT (policy ACCEPT)

target prot opt source destination

...

fail2ban-ASTERISK all -- 0.0.0.0/0 0.0.0.0/0

...

Chain fail2ban-ASTERISK

target prot opt source destination

DROP all -- 1.2.3.4 0.0.0.0/0

RETURN all -- 0.0.0.0/0 0.0.0.0/0

RETURN all -- 0.0.0.0/0 0.0.0.0/0

...

Нас интересует удалить из бана IP адрес 1.2.3.4, который (как мы видим) находится в цепочке правил (chain) под названием fail2ban-ASTERISK. Набираем команду:

iptables -D fail2ban-ASTERISK -s 1.2.3.4 -j DROP

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

iptables -L -n

то увидим, что IP адрес исчез из блокировки iptables (хотя и остался в блокировке fail2ban!). При этом мы снова можем подключаться к серверу asterisk

 

Постоянное отключение блокировки IP адреса

Для того, чтобы fail2ban не блокировал определенный IP адрес (или несколько IP адресов) независимо от того, сколько неудачных попыток подбора пароля (и прочих “неправомерных” действий) они совершили, необходимо произвести дополнительную настройку jails в файле /etc/fail2ban/jail.conf

В каждом правиле файла jail.conf может присутствовать параметр ignoreip, который задает список IP адресов, попадающих в “белый список” для этого правила. Поскольку правил у нас может быть два, обратите внимание, что Ваш IP необходимо прописывать в обоих правилах!

Параметр имеет следующий вид:

ignoreip = 127.0.0.1/8 192.168.0.0/16 1.2.3.4

То есть Вы можете прописывать как подсети, так и отдельные IP адреса (в данном случае в “белый список” попадают IP 127.0.0.1-127.0.0.255, 192.168.0.1-192.168.255.255 и 1.2.3.4).

Разблокировка IP адреса, с которого производилось тестирование

Во время проверки правильности настройки fail2ban Вы неоднократно запускали SIP клиента для тестирования работы по блокировке будущих атак из интернета. И в процессе последующей работы Вам, возможно, также понадобится время от времени производить действия, последствиями которых может быть блокировка со стороны fail2ban / iptables. Хотелось бы не дожидаться, когда fail2ban “соизволит” разблокировать IP сам (а это может быть довольно долго – поскольку параметр bantime можно выставить хоть на час, хоть на день, хоть на год).

Существуют 2 пути решения подобной проблемы:

  1. Внести IP адрес в правилах fail2ban в список ignoreip. Но иногда это может быть нежелательно (чтобы, например, производить периодическое тестирование работы fail2ban)
  2. Обычно время findtime (это длительность интервала в секундах, за которое событие [атака, подбор пароля] должно повториться maxretry раз, после чего бан вступит в силу) намного меньше, чем bantime (это время бана в секундах, по истечении которого IP адрес удаляется из списка заблокированных). Например, findtime выставляется в 10 минут, а bantime – час. Либо findtime – час, а bantime – день или даже больше. И так далее. Поэтому имеет смысл сделать паузу длительностью не менее, чем findtime с момента последнего тестирования (и забанивания Вашего IP адреса), после чего перезагрузить сервис fail2ban. При перезагрузке сервиса fail2ban все блокировки аннулируются. Однако при последующей загрузке fail2ban логи анализируются снова, и если в логах в течение findtime было maxretry неудачных попыток подключения с одного IP, этот IP будет снова забанен сразу после запуска fail2ban.

Тестирование конфигурации fail2ban

Вы можете проверить, как будет применяться фильтр fail2ban к тому или иному логу. Для этого можно запустить команду:

fail2ban-regex /var/log/asterisk/messages /etc/fail2ban/filter.d/asterisk.conf

Где /var/log/asterisk/messages – это пример пути к файлу с логами, который будет фильтроваться, а /etc/fail2ban/filter.d/asterisk.conf – сам фильтр, который содержит те фрагменты [сообщения об ошибках], которые должны быть в логе [чтобы забанить IP адреса атакующих].

 

И напоследок: вместо перезагрузки fail2ban с помощью service fail2ban restart можно выполнить следующую команду fail2ban-client reload



2018-11-01T10:11:28
Asterisk