По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сразу перейду к делу. Пользователями FreePBX 14 замечен крайне серьёзный баг в утилите fail2ban. Версия fail2ban, на которой замечен баг - 0.8.14-11 и ниже. Проверить можно командой rpm -qa | grep fail2ban: fail2ban-fpbx-0.8.14-11.sng7.noarch Данный баг заключается в том, что после установки чистой FreePBX Distro 14 сервис fail2ban хоть и в активном статусе, однако никаких “тюрем" (jails) он не подгружает и их количество = 0. Проверить можно командой fail2ban-client status, если Ваш сервер подвержен багу, то Вы увидите: [root@merionlab]# fail2ban-client status Status |- Number of jail: 0 `- Jail list: Это значит, что например, максимальное число попыток ввода пароля для доступа к вэб-интерфейсу FreePBX или попыток регистрации SIP-клиента с неверным паролем - не ограничено, а IP-адрес, с которого приходят эти запросы не блокируется. Естественно, что модуль Intrusion Detection во FreePBX также не будет работать. "Тюрьмы" или jails - это такие секции в файле /etc/fail2ban/jail.local, в которых указано, логи какого сервиса необходимо мониторить, чтобы выявлять и блокировать несанкционированные попытки доступа к этому сервису, а также такие параметры как время блокировки, максимальное число попыток и действие, которое необходимо предпринять в случае выявления. Например, вот секция [asterisk-iptables]: [asterisk-iptables] enabled = true filter = asterisk-security action = iptables-allports[name=SIP, protocol=all] sendmail[name=SIP, dest=none@yourpbx.com, sender=none@yourpbx.com] logpath = /var/log/asterisk/fail2ban maxretry = 5 bantime = 1800 В ней указано, что нужно мониторить лог /var/log/asterisk/fail2ban, искать в нём 5 попыток неуспешной регистрации (например SIP телефон пытается зарегистрироваться с неверным паролем) и банить IP-адрес на 30 минут. Ну и ещё можно отправку по email настроить о данном факте. По умолчанию, в файле /etc/fail2ban/jail.local должно быть 7 таких секций - [apache-tcpwrapper], [recidive], [ssh-iptables], [apache-badbots], [pbx-gui], [asterisk-iptables], [vsftpd-iptables]. В каждой указан путь к логам соответствующего сервиса. Решение Итак, есть два решения данной проблемы. Первое – остановить сервис fail2ban командой systemctl stop fail2ban и внести следующие изменения в файл /usr/lib/systemd/system/fail2ban.service: [Unit] Description=Fail2Ban Service After=httpd.service [Service] Type=forking ExecStartPre=/bin/mkdir -p /var/run/fail2ban ExecStart=/usr/bin/fail2ban-client -x start ExecStop=/usr/bin/fail2ban-client stop ExecReload=/usr/bin/fail2ban-client reload PIDFile=/var/run/fail2ban/fail2ban.pid Restart=always [Install] WantedBy=default.target Затем запустить сервсис fail2ban командой systemctl start fail2ban и сделать так, чтобы сервис включался после ребута автоматически systemctl enable fail2ban. И вторая – обновить сам fail2ban. Для этого вводим следующие команды: yum install sangoma-devel yum update Проверяем версию fail2ban после обновления - rpm -qa | grep fail2ban: fail2ban-fpbx-0.8.14-75.sng7.noarch После данных действий, команда fail2ban-client status должна отобразить верное количество jails и fail2ban с Intrusion Detection должны вновь встать на стражу Вашего сервера: [root@merionlab]# fail2ban-client status Status |- Number of jail: 7 `- Jail list: apache-tcpwrapper, recidive, ssh-iptables, apache-badbots, pbx-gui, asterisk-iptables, vsftpd-iptables Чтобы случайно не заблокировать свой адрес и игнорировать любые неуспешные попытки доступа к серверу с адресов, находящихся в локальной сети или других доверенных адресов, внесите их или всю доверенную подсеть в секцию [DEFAULT] в поле ignoreip в том же файле /etc/fail2ban/jail.local
img
Благодаря Интернету любой человек в мире может получить доступ к ресурсам, на благодаря которым можно научиться программировать за небольшие деньги или вообще без них. Хотя это прекрасно для тех, кто хочет стать разработчиком программного обеспечения, это также создает проблемы, особенно если вы только начинаете. Каждый новый клик приводит к новой рекомендуемой статье, учебному пособию или видео на YouTube для изучения. Но как сделать правильный выбор? Эта статья должна помочь выбрать язык программирования, с которого можно начать изучать программирование или на котором можно сосредоточиться если вы уже изучаете несколько языков. А выбор то действительно большой. Какие сегодня используются языки программирования и что популярно? Веб-приложения: JavaScript, PHP, Ruby, HTML / CSS, TypeScript Мобильные приложения: Swift, Java, JavaScript, Object-C Операционные системы: C, C ++ Распределенные системы: Go Корпоративные приложения: Java, C #, C ++, ErLang Аналитика и машинное обучение: Python, R, Clojure, Julia Математические и научные вычисления: Matlab, FORTRAN, ALGOL, APL, Julia, R, C ++ Визуализация данных: Python, R, Java, C # Большие данные: Java, Python, R, Scala, Clojure Хранение данных: SQL, C #, Java, Python Не уверены, где начать? Вот важный совет - выучите язык общего назначения - general-purpose language. Почему стоит начинать именно с них? Потому что они широко используется и не ограничивается одной областью, это очень важно. Python Простой и понятный синтаксис Python делает его отличным языком общего назначения для освоения. Язык обладает динамической системой типов, автоматическим управлением памятью и поддерживает несколько парадигм программирования, таких как объектно-ориентированная, функциональная и императивная. Многие домены приложений используют его всеобъемлющую стандартную библиотеку. Веб-приложения и приложения для настольных компьютеров, серверы, машинное обучение и приложения для искусственного интеллекта используют Python. Он постоянно входит в число лучших языков программирования каждый год, а количество вакансий с ним просто огромное. JavaScript Согласно ежегодному опросу разработчиков по Stack Overflow, более 70% всех разработчиков используют JavaScript. Он универсален, может применяться практически в любой области программного обеспечения и является одним из основных интерфейсных языков Всемирной паутины. JavaScript также позволяет интерактивные веб-страницы и имеет важное значение для большинства веб-приложений. JavaScript является мультипарадигмальным языком и поддерживает множество стилей программирования от объектно-ориентированного до функционального. У этого также есть огромное, быстро растущее число библиотек, включая некоторые внутренние серверы. Самые известные – React, Angular и Vue.Он настолько популярен, что у него даже есть фреймворки в тех областях, где это не самый лучший вариант, например, в разработке игр и виртуальной реальности. Ruby Как и другие языки, Ruby поддерживает несколько парадигм программирования, таких как объектно-ориентированная, функциональная и императивная. Это также показывает динамическую систему типов и автоматическое управление памятью. Ruby в основном используется в веб-приложениях с платформой Ruby on Rails, но также используется на внутренних серверах и базах данных. Одним из главных достоинств Ruby является его дружелюбие к начинающим. Это один из самых прощающих языков в списке - вы все равно сможете скомпилировать и запустить свою программу до появления проблемы. Его также легко освоить, потому что его синтаксис близок к разговорной речи, и он может делать то же, что и другие языки, с гораздо меньшим количеством строк кода. Java Знаменитый слоган Java - «пиши один раз, запускай где угодно», поскольку он работает на любой платформе, которая его поддерживает. Java является одним из наиболее широко известных языков среди новых разработчиков и вторым наиболее используемым языком в Stack Overflow. Java - это мультипарадигмальный язык, основанный на классах, объектно-ориентированный и разработанный с наименьшей зависимостью от реализации. Благодаря своей структуре он имеет широкий спектр применения в разных областях применения. Одним из наиболее известных применений является разработка приложений для Android, но он также популярен для настольных, веб, серверных и сетевых приложений. Хотя синтаксис Java поначалу может показаться сложным, его освоение может стоить того, чтобы получить первую работу в качестве разработчика. Думаете о конкретной области? Если у вас уже есть конкретная цель - работать над машинным обучением, стать разработчиком мобильных приложений или присоединиться к стартапу, подумайте над освоением языка, соответствующего этой цели. Какой язык программирования нужен для машинного обучения Согласно отчету о GitHub, Python был наиболее часто используемым языком для машинного обучения в 2018 году. Объедините свои знания Python с библиотекой TensorFlow, и вы получите прекрасную возможность получить захватывающую работу, связанную с машинным обучением. Язык программирования R будет следующим лучшим выбором для машинного обучения. Он наиболее эффективен для анализа и обработки данных в статистических целях. Он также предлагает множество пакетов, которые облегчают реализацию алгоритмов машинного обучения. Какой язык программирования изучить для мобильной разработки Если вы заинтересованы в разработке мобильных приложений, вам придется решить, хотите ли вы разрабатывать для устройств Android или Apple. Java - ваш лучший выбор для разработки на Android. Тем не менее, разработка мобильной Java отличается от обычной Java из-за ограниченной мощности смартфонов. Например, обычная Java-программа работает до тех пор, пока вы ее не выключите, а приложение Android можно закрыть в любое время, если оно не запущено на переднем плане. Со стороны iOS, вам стоит изучить Swift, официальный язык Apple для iOS, macOS и другой код, написанный для продуктов Apple. Также можно предложить Objective-C, потому что вы можете создавать графические пользовательские интерфейсы и многофункциональные фреймворки, но Swift легче учить, легче читать, и он одобрен самими Apple. JavaScript - еще один хороший вариант для мобильной разработки. В сочетании с HTML и CSS вы можете создавать приложения, которые можно конвертировать в собственные приложения с помощью Cordova. Другим примером является стек .NET, который также можно использовать для создания приложений и их преобразования с использованием Xamarin. Конечно, эти примеры подчеркивают важность изучения языка общего назначения еще больше. Какой язык программирования выучить для того чтобы запустить стартап Если вы знаете, что хотите создать или присоединиться к стартапу, ничто не сравнится с знанием Ruby и Ruby on Rails. Ruby дружелюбен к новичкам и позволяет разработчикам быстро создавать прототипы, что делает его отличным выбором для быстроразвивающихся стартапов. Каких языков избегать? Есть много других языков на выбор. Некоторые из самых популярных в настоящее время включают Go, Scala, TypeScript, C ++ и Rust. Однако, если вы начинаете изучать разработку программного обеспечения, вам следует избегать большинства из них. Многие языки сложны, продвинуты или слишком сфокусированы на одной области приложения. Итог Гиперфокус на овладение одним языком, а не на изучение нескольких языков Если вы не знаете, с какого языка начать, выберите язык общего назначения Не переживайте о том, какой из них вы должны выбрать, потому что есть рабочие места для каждого языка. Важнее всего ваша мотивация, решимость и способность сосредоточиться на изучении и овладении выбранным вами языком.
img
На дворе 1988 год – «Microsoft» выпустила операционную систему «MS DOS 4.0», на вершине Эвереста проведена первая в истории телетрансляция, а за окном неспешно протекает эпоха дутых, бесформенных курток :). Казалось бы, все здорово, но ребята из CCITT решают подлить масла в огонь и релизят первое описание ISDN (Integrated Services Digital Network), о котором мы и поговорим. А что это? В целом, ISDN это набор стандартов для передачи голоса, видео, блоков данных сети передачи данных и других сервисов по обычным каналам ТфОП (PSTN) - телефонной сети общего пользования. Одновременно. До появления Integrated Services Digital Network, телефонные системы рассматривались как инструмент передачи голоса, с некоторыми сервисами на сети. ISDN использует временное мультиплексирование TDM (Time Division Multiplexing) и может работать с голосом и данными по одним и тем же линиям. В классических телефонных системах такого и близко не было :) Сам по себе ISDN представляет гибрид, обеспечивая как доступ в сеть с коммутацией каналов, так и в сеть с коммутацией пакетов. Обеспечивая цифровую передачу голоса или данных, ISDN обеспечивает высокое качество передаваемых данных. По скорости: разгон до 64 кбит/с по абонентской линии и до 128 кбит/с по BRI интерфейсу в обе стороны (загрузка/передача). В контексте семиуровневой модели OSI (Open Systems Interconnection), ISDN уютно расположился на 1, 2 и 3 уровнях (физический, канальный и сетевой). К первому уровню мы можем отнести BRI/PRI интерфейсы, то есть именно физические соединения, ко второму, протокол контроль ошибок физический линии (LAPD), а на третьем, то есть сетевом, расположился ОКС7 (SS7, Signaling System 7). ISDN интерфейсы Мы можем отметить следующие интерфейсы стандарта ISDN: Basic Rate Interface (BRI) - в BRI интерфейсе существуют два B – канала, которые созданы для передачи данных и 1 D – канал, которые переносит сигнализацию. B – каналы разгоняются до 64 кбит/с, а D – канал гоняет на скорости 16 кбит/c. Кстати, B – канала живут свои жизнью независимо – например, по первому может установиться TCP/IP сессия, а по второму передаваться факс; Более подробно про BRI можно почитать в нашей статье; Primary Rate Interface (PRI) - слышали про Е1 - поток? ИКМ 30? Это оно и есть. Условно говоря, PRI состоит из D – сигнального канала (двух, в случае Е1) и от 23 до 30 B – каналов, или как их еще называют, тайм слотов (от TDM).; Мы тут сравнивали PRI и SIP. Почитать можно тут :) Broadband-ISDN (B-ISDN) - это так называемый «широкополосный ISDN». Это некое уточнение, спецификация к стандарту, которая расширяет параметры обычного ISDN. Он создан для сетевых служб, которые требуют широкую полосу пропускания; ISDN службы Условно, сервисы, которые отдает ISDN можно поделить на три категории: Передача информации - если говорить прямым языком, «перенос» данных (голос, видео и данные) между пользователями. Сервис живет на нижних трех уровнях модели OSI. ISDN сможет «переносить» данные поверх сетей с коммутацией – каналов/пакетов/фреймов. В данном случае, ISDN не производит никаких манипуляций с содержимым блоков данных; Телеслужбы - то, что живет от 4 до 7 уровня модели OSI. Вот тут, сеть может менять содержимое пакетов по определенным алгоритмам. ISDN сможет работать с телетекстом, факсом, видеоконференциями. То есть по факту, это некие данные, которые исходят от приложений; Дополнительные услуги - голосовая почта, вторая линия прочие сервисы, которые могут строить компании поверх ISDN. И зарабатывать на этом :); Основные принципы ISDN Как мы сказали в начале статьи, ISDN живет по правилам, описанные CCITT (сейчас это всем известный ITU-T). Вот на чем ребята из ITU – T делают основные акценты: Поддержка разнородных приложений в ISDN; Поддержка не только голосовых сервисов; Акцент на 64 кбитных коннекциях; Интеллектуальность сети; Распределенная по уровням архитектура ISDN (по аналогии с OSI); Огромное разнообразие конфигурации сети;
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59