Архив метки: Linux

Asterisk – начальная настройка

Устанавливаем Asterisk:

apt install asterisk

После установки  заходим в shell Asterisk:

asterisk -rv

Обратите внимание на ключи, c которыми запускается shell. Количество ключей «v» влияет на количество выводимой информации при звонке, их количество варьируется от 1 до 14.

Если установка прошла успешно и Астериск запустился, вы увидите вот такое приглашение:

asterisk*CLI>

Первое что вам требуется сделать — создать пиров в файле /etc/asterisk/sip.conf.

Открываем его:

mcedit /etc/asterisk/sip.conf

И сразу переходим в конец файла. Вставляем следующий текст:

[internal](!)

type=friend

insecure=invite,port

context=office

fromdomain=<имя домена или IP>

host=dynamic

disallow=all

allow=alaw

qualify=yes

canreinvite=no

nat=no



[100](internal)

secret=XXX

[101](internal)

secret=XXX

Мы завели двух внутренних пиров с номерами 100 и 101. Разберем эти настройки, так как их понимание — ключ к успешному внедрению Астериска.

[internal](!)

[internal], это имя шаблона, а (!) указатель шаблона.

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

type=friend

Доступные параметры: «peer», «user» и «friend». Очень часто встречается ошибочное мнение относительно того, чем они отличаются. Многие считают, что параметр «user» разрешает только исходящие, «peer» — только входящие звонки, а «friend» разрешает звонки в обе стороны. Это не так. Использование ключа «peer» отключает проверку соответствия имени пользователя и пароля при звонке. При использовании параметра «peer», Астериском проверяется только соответствие IP-адреса и номера порта источника вызова, при использовании «user» — проверяется поле username, а проверка адреса источника не производится. Параметр «friend» заставляет проверять поле username и IP-адрес источника.

insecure=invite,port

invite — отключается аутентификация при входящем звонке.

port — отключается проверка порта источника.

При первоначальной настройке пропишите оба ключа.

context=office 

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

fromdomain=<имя домена или IP>

Имя SIP-домена. Для первоначальной настройки укажите IP адрес сервера с Астериском.

host=dynamic

IP-адрес пира. В случае использования авторизации по логину и паролю — ставьте dynamic. Конкретный IP указывается только в том случае, если настройки пира используются для транка без регистрации.

disallow=all

allow=alaw

Указываем разрешенные кодеки.

В нашем примере первая строка запрещает использование всех кодеков, а вторая — разрешает g711-a. Настройки кодеков индивидуальны для каждого случая, однако, большинство Российских и Украинских провайдеров используют g711a и g729. Последний — пропиетарный, и Астериском поддерживается лишь в Passthrough-режиме (то есть, невозможен транскодинг).

qualify=yes

Эта строка заставляет Астериск опрашивать устройство или софтфон пакетами OPTIONS. Необходим для мониторинга и траблшутинга.

canreinvite=no

Запрещает пересылать медиа напрямую между устройствами. Рекомендую ставить «no», для упрощения настройки.

nat=no

Говорим Астериску, что пир не за натом. Описание ключей и вариантов их использования, если сервер за ним, выходит за рамки статьи. Про варианты обхода расскажу в следующей статье.

[100](internal)

secret=XXX

[101](internal)

secret=XXX

Тут мы задаем имя пира и берем настройки из шаблона. Единственные уникальные параметры в нашем примере — имя пира и пароль.

На этом мы закончили настраивать внутренних пиров, перейдем к настройке стыка с операторами. Добавим 2 записи в конец sip.conf:

[operator1]

fromdomain=<имя домена или IP>

host=1.2.3.4

insecure=invite,port

port=5060

qualify=yes

type=friend

username=YourLogin

secret=YourPass

disallow=all

allow=alaw

context=operator1

Не буду расписывать значения каждой строки, т.к. все настройки идентичны настройкам внутренних пиров, за исключением поля host. В том случае, если Астериск выступает в роли клиента (а для сервера оператора наш астериск является клиентом), нам нужно указать адрес сервера оператора или его dns-имя.

Добавим второго оператора:

[operator2]

fromdomain=<имя домена или IP>

host=5.6.7.8

insecure=invite,port

port=5060

qualify=yes

type=friend

disallow=all

allow=alaw. 

context=operator2

Отличий тоже никаких, за исключением отсутствия строк username и secret, так как, напомню, второй оператор не использует регистрацию.

Осталось настроить регистрацию на сервере оператора №1. Для этого в файле sip.conf, перед секцией описывающей настройки оператора вставим следующую строку:

register => udp://YourLogin:YourPass:YourLogin@1.2.3.4/YourLogin

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



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

asterisk -rv

В шелле Астериска пишем команду:

sip reload

Теперь вы можете зарегистрировать на своем Астериске пользователей с логинами 100 и 101. Проверяется состояние регистрации следующей командой:

sip show peers

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

asterisk*CLI> sip show peers

Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description

100/100                 10.0.0.52                              D  Yes        Yes            59080    OK (1 ms)

101/101                 10.0.0.57                              D  Yes        Yes            49973    OK (1 ms)

operator1           1.2.3.4                              No         No             5060     OK (22 ms)

operator2           5.6.7.8                              No         No             5060     OK (22 ms)


Если вы это видите, то, поздравляю, ваши устройства или софтфоны успешно зарегистрировались и Астериск увидел сервера операторов.

Состояние регистрации проверяется командой:

sip show registry

Если регистрация прошла успешно, то вы должны увидеть вот такой вывод:

asterisk*CLI> sip show registry

Host                                    dnsmgr Username       Refresh State                Reg.Time

1.2.3.4:5060                       N      YourLogin               120 Registered

1 SIP registrations.

На этом настройка пиров закончена, перейдем к настройке диалплана. Диалплан — это сердце Астериска, с помощью него обрабатываются абсолютно все звонки. Астериск понимает несколько языков, но в нашем примере мы будем использовать стандартный, появившийся в самых первых релизах Астериска. Файл конфигурации хранится в файле /etc/asterisk/extensions.conf.

Откроем его командой:

mcedit /etc/asterisk/extensions.conf

В стандартных файлах конфигурации хранится много дефолтных правил. Они нам не нужны, поэтому очистим содержимое и пропишем следующее:

[general]

static=yes

writeprotect=no



[globals]

Это параметры необходимые для нормального чтения диалплана, поэтому менять их не следует.

Начнем с простого. Нам нужно позвонить с номера 100, на номер 101. Для этого нужно прописать правило, сразу после секции globals:

[office]

exten => _1XX,1,Dial(SIP/${EXTEN})

Разберем эту строку.

[office] — имя контекста, в котором обрабатываются звонки от пира.

exten => — указатель начала шага.

_1XX — маска. На маске остановимся чуть подробнее. С помощью нее сортируются все звонки, попадающие в контекст диалплана.

Маска использует набор паттернов для сортировки звонков по caller-id:

X – любая цифра от 0-9

N – любая цифра от 2-9

[234-6] – цифры 2, 3, 4 и 6

. – любые возможные символы

Маска начинается с символа “_”, который означает что это шаблон. В случае, если вы забудете указать его, Астериск примет 1XX за вызываемый номер и передаст Dial-у паттерны вместо номера телефона, и звонок не состоится.

1 — номер действия.

Dial — это приложение. В диалплане можно использовать более 200 различных приложений, которые используются для манипуляций со звонками. Сейчас, в самом начале, мы будем использовать только одно приложение — Dial. Из названия понятно, что оно используется для совершения звонков.

(SIP/${EXTEN}) — аргументы для приложения. В нашем примере, для внутренних пиров мы используем протокол SIP, поэтому первый аргумент, который мы передаем dial-у — указывает на используемый протокол сигнализации. ${EXTEN} — текущий экстеншен, его значение берется из заголовка (из поля destination).

/ — разделитель для передаваемых аргументов.

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

dialplan reload

И снова перезагружаем диалплан через шелл Астериска.

Теперь пробуем звонить. Если вы все правильно настроили, то пир с номером 100 дозвонится до пира с номером 101. Сейчас мы можем звонить внутри офиса, между пирами, которые работают в контексте office. Для того что бы позвонить в город, нам нужно написать правило для исходящих звонков через первого оператора. Прописываем его в контекст office, выглядит оно так:

exten => _XXXXXXX,1,Dial(SIP/${EXTEN}@operator1)

Перезагружаем диалплан и пробуем звонить в город.

Теперь нам надо принять входящий звонок. Сделаем новый контекст в диалплане, пишем в конец файла:

[operator1]

 exten => s,1,Dial(SIP/100&SIP/101)

Поясню что означает «s». Это стандартная маска в Астериске, под которую попадают абсолютно все вызовы. То есть, если мы используем транк с регистрацией, входящий caller-id будет «s».

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

Сейчас нам понадобилось позвонить на сотовый телефон, с федеральным номером. Допишем еще одну строку в контекст [office]:

exten => _89XXXXXXXXX,1,Dial(SIP/${EXTEN}@operator1)

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

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

exten => _8909[89][2-9][1-3]XXXX,1,Dial(SIP/${EXTEN}@operator1)

exten => _8901[456][2-5]1XXXX,1,Dial(SIP/${EXTEN}@operator1)

exten => _XXXXXXX,1,Dial(SIP/${EXTEN}@operator1)

С такой конструкцией все звонки на телефоны с кодами из диапазонов 890982XXXXX-890999XXXXX и 8901421XXXX-8901651XXXX пойдут через первого оператора. Не совсем удобно, соглашусь с этим. В будущих статьях выложу конфигурацию диалплана для автоматического выбора оператора в зависимости от направления звонка, так как подобное опять же выходит за рамки этой статьи.

Теперь нам осталось пустить междугородние звонки через второго оператора. Добавляем строку в контекст [office]:

exten => _[78][3-689]XXXXXXXXX,1,Set(CALLERID(num)=74991234567)

same => n,Dial(SIP/${EXTEN}@operator2)

Как вы заметили, тут появились новые приложения, которые обрабатывают звонки. Set(CALLERID(num)=74991234567) — так как мы используем транк без регистрации, то это значит что мы должны отсылать оператору caller-id. Этот номер не обязательно должен существовать. Тут мы просто представляемся провайдеру и не более. Какой номер подставлять — зависит от оператора. Некоторые предоставляют услугу подмены caller-id на номер другого оператора, для совершения исходящих вызовов по межгороду или для зоновуй связи. За подробностями обращайтесь к оператору. same => n — указатель, который позволяет не писать каждый раз маску и номер действия. К примеру:

exten => 78121234567,1,Answer

exten => 78121234567,1,Set(CALLERID(name)=Trunk_1

exten => 78121234567,1,Dial(SIP/1000)

Можно заменить на:

exten => 78121234567,1,Answer

same => n,Set(CALLERID(name)=Trunk_1

same => n,Dial(SIP/1000)

Во втором случае все гораздо проще, не так ли?

На этом все, мы настроили Астериск. Теперь мы можем звонить в город, на сотовые, по межгороду и у нас есть внутренняя связь между пирами. Получаем вот такой, вполне рабочий диалплан:

[general]

static=yes

writeprotect=no



[globals]



[office]

exten => _8909[89][2-9][1-3]XXXX,1,Dial(SIP/${EXTEN}@operator1)

exten => _8901[456][2-5]1XXXX,1,Dial(SIP/${EXTEN}@operator1)

exten => _[78][3-689]XXXXXXXXX,1,Set(CALLERID(num)=74991234567)

same => n,Dial(SIP/${EXTEN}@operator2)

exten => _XXXXXXX,1,Dial(SIP/${EXTEN}@operator1)

exten => _1XX,1,Dial(SIP/${EXTEN})



[operator1]

exten => s,1,Dial(SIP/100&SIP/101)

На этом базовая минимальная настройка завершена.

По материалам



2018-10-29T09:33:08
Asterisk

Для чего нужен протокол SFTP?

SFTP, который обозначает протокол SSH (или Secure) File Transfer Protocol, обычно работает на порте 22 (но может быть назначен любой порт, который вы хотите), и является способом передачи файлов между машинами через Secure и Encrypted Connection, в отличие от FTP, который передает данных по небезопасному и незашифрованному соединению.

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

Определение и RFC

SFTP был разработан в 1990-х годах и подробно описан в этой спецификации проекта RFC . В отличие от протокола передачи файлов (FTP), STFP обменивается защищенным соединением, инициированным через SSH2, и является протоколом на основе пакетов, вместо текстового протокола, такого как FTP, который, в свою очередь, будет быстрее из-за меньшего количества данных, передаваемых по кабелю, чем Протокол на основе протокола FTP. В отличие от FTP/S, вы не можете отключить шифрование с помощью SFTP, что приятно, когда вы пытаетесь обеспечить, чтобы все соединения были обеспечены и зашифрованы для всех, кто передает файлы.

С помощью SFTP файлы передаются по сети через основное управляющее соединение, вместо того, чтобы открывать новое отдельное соединение для передач, таких как FTP. В результате преимущества этого метода — единое, эффективное и безопасное соединение, передающее данные через брандмауэр, что приводит к более быстрой скорости передачи.

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

Сервер SFTP

Чтобы использовать SFTP, вам понадобятся как клиентская программа, так и программное обеспечение Server / Daemon. Серверное программное обеспечение либо уже установлено для вас на веб-сервере (в этом случае, если вы подключены к поставщику веб-хостинга для загрузки файлов на свой веб-сайт) или корпоративный сервер, на котором будут загружать / загружать файлы.

Чтобы правильно настроить SFTP-сервер, вам необходимо будет подключиться к веб-серверу через Интернет с настройкой «Правильный порт» (обычно это порт 22), перенаправленной на сервер с вашего брандмауэра и службы SFTP / установки Daemon и установленной в системе. После установки программного обеспечения сервера SFTP создается ключ хоста SSH, затем вы можете создать и назначить разрешения / пароли для пользователей и групп, чтобы разрешить доступ к системе.

Серверы / демоны SFTP могут быть установлены либо в Windows Systems, Unix / Linux Systems, Mac OSX и на других устройствах, поддерживающих SFTP-сервисы.

Клиент SFTP

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

Чтобы настроить клиент STFP, вам понадобится следующая информация:









ИнформацияОписаниеПример
Имя хоста сервераУкажите имя хоста или IP-адрес сервераhostname.server.com
Номер портаНомер порта, к которому вы хотите подключиться (обычно порт 22)22
Протокол безопасностиВыберите протокол для подключения (FTP, SFTP, FTP / S, SCP и т. Д.).SFTP
Имя пользователяSSH Имя пользователя, которое клиент использует для подключения к хосту / серверу сверхуadmin
ПарольПароль, присвоенный имени пользователя вышеpassword

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



2018-10-25T10:45:09
Вопросы читателей

Релиз Ubuntu 18.10. Обзор.



























5/5 — (2 голоса)

Релиз Ubuntu 18.10

Используя приятное совпадение чисел, компания Canonical, объявила о выходе релиза Ubuntu 18.10  – 18-го октября (18.10). Совпадение? Не думаем. В первую очередь скажем, что новая финальная сборка получила кодовое название Cosmic Cuttlefish («космическая каракатица»).

Что нового?

Не будем перечислять все изменения, остановимся на главных:

В первую очередь системные изменения.

Система:

Рис.1 Ubuntu 18.10 интерфейс
Рис.1 Ubuntu 18.10 интерфейс

  • версия ядра теперь 4.18;
  • прекращение формирование 32-х битных вариантов почти на всех сборках на основе дистрибутива. Постепенно остается, только x86-64;
  • исправление ошибок совместимости с графическими адаптерами AMD Radeon RX Vega M;
  • улучшение средств виртуализации;
  • прочие улучшения, повышающие стабильность и производительность системы.

Внешний вид:

Рис.2 Ubuntu 18.10 интерфейс
Рис.2 Ubuntu 18.10 интерфейс

  • теперь в составе сборки GNOME 3.3. Тема по умолчанию Yaru (Communitheme) –разработанная сообществом;
  • включен набор иконок Suru, добавлены аватарки для пользователей;
  • оптимизирована работа оболочки GNOME. Добавлены механизмы кэширования и адаптации эффектов к мощностям хоста.

 

Наконец, о защите новой сборки.

Безопасность:

Рис.3 Ubuntu 18.10 Параметры HDD
Рис.3 Ubuntu 18.10 Параметры HDD

  • поддержка пакета , для шифрования разделов;
  • библиотека для распознования отпечатков пальцев и разблокировки на их основе;
  • поддержка протокола OpenSSL 1.1.1;
  • приложение GS Connect для GNOME Shell, обеспечивающее интеграцию с приложением KDE Connect. Используется для полной интеграции со смартфоном, включая звонки, смс, уровень заряда батареи и прочее. Приложение под Android.

Данный релиз доступен для всей линейки продуктов: desktop, server, cloud.

Следующий релиз по расписанию будет не ранее 04.2019, по нумерации это должен быть 19.04.

Напомним, что на данный момент стабильным релизом (LTS) является Ubuntu 18.04.

Все дистрибутивы можно скачать с официального сайта проекта: ubuntu.com.


2018-10-22T16:40:21
Linux

Настройка и использование Wake-on-LAN

Wake-on-LAN (WoL) — это сетевой стандарт, который позволяет удаленному подключению компьютера, будь то спящий, спящий или даже полностью отключенный. Он работает, получая так называемый «волшебный пакет», который отправляется с WoL-клиента.

Также не имеет значения, в какую операционную систему загрузится компьютер (Windows, Mac, Ubuntu и т.д.), Wake-on-LAN можно использовать для включения любого компьютера, который получает волшебный пакет. Аппаратное обеспечение компьютера должно поддерживать Wake-on-LAN с совместимой BIOS и сетевой интерфейсной картой , поэтому не каждый компьютер автоматически может использовать Wake-on-LAN.

Двухступенчатая настройка WoL

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

Первый шаг с BIOS действителен для каждого компьютера, но после выполнения настройки BIOS перейдите к инструкциям операционной системы, будь то для Windows, Mac или Linux.

Шаг 1: Настройка BIOS

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

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

  1. Войдите в BIOS вместо загрузки в вашу операционную систему.
  2. Найдите раздел, который относится к власти, например, Power Management. Это может быть в разделе Advanced. Другие производители могут назвать это Resume On LAN, например, на Mac . На большинстве экранов BIOS есть секция помощи в стороне, которая описывает, что делает каждая настройка при включении. Возможно, что имя параметра WoL в BIOS вашего компьютера неясно.

    Если ваша мышь не работает в BIOS, попробуйте использовать клавиатуру для навигации по ней. Не все страницы настройки BIOS поддерживают мышь.

  3. Как только вы найдете настройку WoL, вы, скорее всего, можете нажать Enter, чтобы сразу переключить его или показать небольшое меню, которое позволяет включать и выключать его, а также включать и отключать.
  4. Сохраните изменения. Это не то же самое на каждом компьютере, но на многих клавишах F10 будет сохраняться и выходить из BIOS. Нижняя часть экрана BIOS должна дать некоторые инструкции о сохранении и выходе.

Шаг 2. Установка WoL операционной системы Windows

Windows Wake-on-LAN настроена через диспетчер устройств. Здесь можно настроить несколько настроек:

  1. Откройте диспетчер устройств.
  2. Найдите и откройте раздел Сетевые адаптеры . Вы можете игнорировать любые соединения Bluetooth и виртуальные адаптеры. Дважды щелкните (или дважды нажмите) Сетевые адаптеры или выберите небольшую + или > рядом с ней, чтобы развернуть этот раздел.
  3. Щелкните правой кнопкой мыши или коснитесь и удерживайте адаптер , принадлежащий активному интернет-соединению. Примеры того, что вы можете увидеть, это Realtek PCIe GBE Family Controller или Intel Network Connection, но это зависит от вашего компьютера.
  4. Выберите « Свойства».
  5. Откройте вкладку « Дополнительно».
  6. В разделе «Свойства» щелкните или выберите « Просыпаться по магическому пакету» . Если вы не можете найти это, перейдите к шагу 8; Wake-on-LAN все равно может работать.
  7. Перейдите в значение меню справа и выберите «Включено».
  8. Откройте вкладку «Управление питанием». Его можно назвать Power в зависимости от вашей версии Windows или сетевой карты.
  9. Убедитесь, что эти два параметра включены: разрешите этому устройству разбудить компьютер и разрешить только волшебный пакет, чтобы разбудить компьютер . Вместо этого эти настройки могут находиться под секцией Wake-on-LAN и быть одной настройкой под названием Wake on Magic Packet.

    Если вы не видите эти параметры или они неактивны, попробуйте обновить драйверы устройства сетевого адаптера ; но помните, что возможно, ваша сетевая карта просто не поддерживает WoL. Это, скорее всего, справедливо для карт беспроводного сетевого интерфейса (NIC).

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

Шаг 2. Операционная система MacOS. Настройка Wake-on-Demand.

Mac Wake-on-Demand должен быть включен по умолчанию в версии 10.6 или новее. В противном случае выполните следующие действия:

  1. Откройте «Системные настройки» в меню Apple.
  2. Выберите «Энергосбережение» в окне «Системные настройки» или в верхнем меню выберите « Просмотр» > « Энергосбережение».
  3. Поместите чек в поле рядом с Wake для доступа к сети . Обратите внимание, что эта опция называется Wake для доступа к сети, только если ваш Mac поддерживает Wake on Demand по Ethernet и AirPort. Если Wake on Demand работает только над одним из этих двух, вместо этого он называется Wake for Ethernet для доступа к сети или Wake для доступа к сети Wi-Fi.

Шаг 2: Установка операционной системы Linux в WoL

Шаги по включению Wake-on-LAN для Linux, скорее всего, не одинаковы для каждой ОС Linux, но мы рассмотрим, как это сделать в Ubuntu:

  1. Найдите и откройте терминал или нажмите комбинацию клавиш Ctrl + Alt + T.
  2. Установите ethtool с помощью этой команды:
    sudo apt-get install ethtool

  3. Посмотрите, поддерживает ли ваш компьютер Wake-on-LAN:
    sudo ethtool eth0

  4. Найдите значение «Поддерживает пробуждение». Если там есть «g», можно активировать функцию Wake-on-LAN. Примечание. Eth0 может не быть вашим сетевым интерфейсом по умолчанию, и в этом случае вам нужно изменить команду, чтобы отразить это. Команда ifconfig -a отобразит все доступные интерфейсы; вы ищете только те, у которых есть действительный «inet addr» (IP-адрес).
  5. Настройка Wake-on-LAN на Ubuntu:
    sudo ethtool -s eth0 wol g

  6. После запуска команды вы можете выполнить повторную настройку со второго шага, чтобы убедиться, что значение Wake-on равно «g» вместо «d».

Как использовать Wake-on-LAN

Теперь, когда компьютер полностью настроен для использования Wake-on-LAN, вам нужна программа, которая может отправить волшебный пакет, необходимый для запуска запуска. TeamViewer — один из примеров бесплатного инструмента удаленного доступа, который поддерживает Wake-on-LAN. Поскольку TeamViewer создан специально для удаленного доступа, его функция WoL удобна для тех случаев, когда вам нужно на свой компьютер во время простоя, но забыл включить ее перед тем, как вы ушли.

TeamViewer может использовать Wake-on-LAN двумя способами. Один из них — через общедоступный IP-адрес сети, а другой — через другую учетную запись TeamViewer в той же сети (при условии, что этот другой компьютер включен). Это позволяет вам разбудить компьютер, не настраивая порты маршрутизатора (подробнее об этом ниже), поскольку другой локальный компьютер, на котором установлен TeamViewer, может ретранслировать запрос WoL внутренне.

Еще один отличный инструмент Wake-on-LAN — Depicus, и он работает из разных мест. Вы можете использовать свою функцию WoL через свой сайт, не загружая ничего, но у них также есть инструмент графического интерфейса и командной строки, доступный как для Windows (бесплатно), так и для MacOS, а также для мобильных приложений Wake-on-LAN для Android и iOS.

Некоторые другие бесплатные приложения Wake-on-LAN включают Wake On LAN для Android и RemoteBoot WOL для iOS. WakeOnLan — еще один бесплатный инструмент WoL для macOS, а пользователи Windows также могут выбирать пакеты Wake On Lan Magic.

Один инструмент Wake-on-LAN, который работает на Ubuntu, называется powerwake. Установите его с помощью следующей команды:

sudo apt-get install powerwake

После установки введите powerwake, за которым следует IP-адрес или имя хоста, которое должно быть включено, например:

powerwake 192.168.1.115

или же:

powerwake my-computer.local

Устранение неполадок при пробуждении по локальной сети

Если вы выполнили указанные выше шаги, выяснилось, что ваше устройство поддерживает Wake-on-LAN без каких-либо проблем, но при попытке включить компьютер все равно не работает, возможно, вам также потребуется включить его через маршрутизатор. Для этого вам необходимо войти в свой маршрутизатор, чтобы внести некоторые изменения.

Волшебный пакет, который запускается на компьютере, обычно отправляется как датаграмма UDP через порт 7 или 9. Если это так происходит с программой, которую вы используете для отправки пакета, и вы пытаетесь сделать это из-за пределов сети, вы необходимо открыть эти порты на маршрутизаторе и перенаправить запросы на каждый IP-адрес в сети.

Перенаправление магических пакетов WoL на конкретный IP-адрес клиента будет бессмысленным, поскольку компьютер с выключенным питанием не имеет активного IP-адреса. Однако, поскольку для пересылки портов необходим определенный IP-адрес, вы должны убедиться, что порт (ы) перенаправлены на так называемый широковещательный адрес, чтобы он попадал на каждый клиентский компьютер. Этот адрес находится в формате *. *. *.

Например, если вы определяете IP-адрес вашего маршрутизатора как 192.168.1.1, используйте адрес 192.168.1.255 в качестве порта пересылки. Если это 192.168.2.1, вы должны использовать 192.168.2.255. То же самое верно для других адресов, таких как 10.0.0.2, которые будут использовать IP-адрес 10.0.0.255 в качестве адреса пересылки.

Вы также можете подумать о подписке на службу динамического DNS (DDNS), например No-IP. Таким образом, даже если IP-адрес, привязанный к сети WoL, изменится, служба DNS обновится, чтобы отразить это изменение и все-таки позволит вам разбудить компьютер. Служба DDNS действительно полезна только при включении компьютера извне сети, например, с вашего телефона, когда вы не дома.

Wake on Wireless LAN (WoWLAN)

Большинство ноутбуков не поддерживают Wake-on-LAN для Wi-Fi, официально называемый Wake on Wireless LAN или WoWLAN. Те, которые нуждаются в поддержке BIOS для Wake-on-LAN и должны использовать технологию Intel Centrino Process Technology или новее.

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

Для большинства компьютеров Wake-on-LAN работает через Wi-Fi только в том случае, если беспроводное устройство является одним отправителем запрос WoL. Другими словами, он работает, если ноутбук, планшет, телефон или другое устройство пробуждает компьютер, но не наоборот.



2018-10-19T10:31:54
Вопросы читателей

Настройка, прокачка, запуск и автоматизация OpenVAS на Kali Linux

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

К счастью, Kali включает в себя очень способный OpenVAS, который является бесплатным и c открытым исходным кодом.

Хотя мы вкратце рассмотрели OpenVAS в прошлом, мы решили посвятить более тщательную публикацию о том, как настраивать, запускать и автоматизировать OpenVAS на Kali Linux.

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

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

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

Системные Требования

Основная жалоба, которую получают о OpenVAS (или любом другом сканере уязвимостей), можно резюмировать как «она слишком медленная и сбойная и не работает, и это плохо, и очень плохо».

Почти во всех случаях медленность и / или сбои связаны с недостаточными системными ресурсами.

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

Для некоторых коммерческих сканеров уязвимостей требуется как минимум 8 ГБ ОЗУ и рекомендуется еще больше.

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

Для этого урока  наша виртуальная машина Kali имеет 3 процессора и 3 ГБ оперативной памяти, что обычно достаточно для сканирования небольшого количества хостов одновременно.

Начальная установка OpenVAS в Кали

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

К счастью, Kali содержит простую в использовании утилиту под названием «openvas-setup», которая занимается настройкой OpenVAS, загрузкой сигнатур и созданием пароля для пользователя admin.

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

В конце настройки будет отображаться автоматически созданный пароль для пользователя admin.

Обязательно сохраните этот пароль где-нибудь в безопасности.

root@kali:~# openvas-setup

ERROR: Directory for keys (/var/lib/openvas/private/CA) not found!

ERROR: Directory for certificates (/var/lib/openvas/CA) not found!

ERROR: CA key not found in /var/lib/openvas/private/CA/cakey.pem

ERROR: CA certificate not found in /var/lib/openvas/CA/cacert.pem

ERROR: CA certificate failed verification, see /tmp/tmp.7G2IQWtqwj/openvas-manage-certs.log for details. Aborting.ERROR: Your OpenVAS certificate infrastructure did NOT pass validation.

See messages above for details.

Generated private key in /tmp/tmp.PerU5lG2tl/cakey.pem.

Generated self signed certificate in /tmp/tmp.PerU5lG2tl/cacert.pem.

...

/usr/sbin/openvasmd

User created with password 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'.

Работа с ошибками установки

Иногда скрипт «openvas-setup» будет отображать ошибки в конце загрузки NVT, аналогичные приведенным ниже.

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory

(openvassd:2272): lib kb_redis-CRITICAL **: redis_new: cannot access redis at '/var/run/redis/redis.sock'

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory

openvassd: no process found

Если вам посчастливилось столкнуться с этой проблемой, вы можете запустить «openvas-check-setup», чтобы узнать, какой компонент вызывает проблемы.

В этом конкретном случае мы получаем следующее из скрипта:

...

ERROR: The number of NVTs in the OpenVAS Manager database is too low.

FIX: Make sure OpenVAS Scanner is running with an up-to-date NVT collection and run 'openvasmd --rebuild'.

...

Скрипт «openvas-check-setup» обнаруживает проблему и даже предоставляет команду для запуска (надеюсь) решения этой проблемы.

После восстановления коллекции NVT рекомендуется пройти все проверки.

root@kali:~# openvasmd --rebuild

root@kali:~# openvas-check-setup

openvas-check-setup 2.3.7

Test completeness and readiness of OpenVAS-9

...

It seems like your OpenVAS-9 installation is OK.

...

Управление пользователями OpenVAS

Если вам нужно (или хотите) создать дополнительных пользователей OpenVAS, запустите ‘openvasmd’ с параметром -create-user, который добавит нового пользователя и отобразит случайно сгенерированный пароль.

root@kali:~# openvasmd --create-user=dookie

User created with password 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyy'.

root@kali:~# openvasmd --get-users

admin

dookie

К счастью, изменение паролей пользователей OpenVAS легко осуществляется с помощью опции «openvasmd» и «new-password».

root@kali:~# openvasmd --user=dookie --new-password=s3cr3t

root@kali:~# openvasmd --user=admin --new-password=sup3rs3cr3t

Запуск и остановка OpenVAS

Сетевые службы по умолчанию отключены в Kali Linux, поэтому, если вы не настроили OpenVAS для запуска при загрузке, вы можете запустить необходимые службы, запустив «openvas-start».

root@kali:~# openvas-start

Starting OpenVas ServicesПосле того, как у вас есть список хостов, вы можете импортировать их в разделе «Цели» в меню «Конфигурация».

Когда службы завершают инициализацию, вы должны найти TCP-порты 9390 и 9392, которые прослушивают ваш loopback-интерфейс.

root@kali:~# ss -ant

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 128 127.0.0.1:9390 *:*

LISTEN 0 128 127.0.0.1:9392 *:*

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

OpenVAS можно остановить, запустив «openvas-stop».

root@kali:~# openvas-stop

Stopping OpenVas Services

Использование Greenbone Security Assistant

Greenbone Security Assistant – это веб-интерфейс OpenVAS, доступный на вашем локальном компьютере (после запуска OpenVAS) на https://localhost: 9392.

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

Настройка учетных данных

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

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

Вы можете добавить учетные данные через запись «Credentials» в меню «Configuration».

Конфигурация цели

OpenVAS, как и большинство сканеров уязвимостей, может сканировать удаленные системы, но это сканер уязвимостей, а не сканер портов.

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

root@kali:~# nmap -sn -oA nmap-subnet-86 192.168.86.0/24

root@kali:~# grep Up nmap-subnet-86.gnmap | cut -d " " -f 2 > live-hosts.txt

После того, как у вас есть список хостов, вы можете импортировать их в разделе «target» в меню «Configuration».

Конфигурация сканирования

Перед запуском сканирования уязвимостей вы должны точно настроить Scan Config/,

Это можно сделать в разделе “Scan Configs” в меню “Config”.

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

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

Конфигурация задачи

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

В OpenVAS сканирование уязвимостей проводится как «tasks».

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

С нашей системой с 3 ГБ оперативной памяти мы скорректировали наши настройки задач, как показано ниже.

Благодаря нашим более точно настроенным параметрам сканирования и целевому выбору результаты нашего сканирования намного полезнее.

Автоматизация OpenVAS

Одной из менее известных функций OpenVAS является интерфейс командной строки, с которым вы взаимодействуете с помощью команды «omp».

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

Первый – openvas-automate.sh от mgeeky, полуинтерактивный скрипт Bash, который предлагает вам тип сканирования и заботится обо всем остальном.

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

root@kali:~# apt -y install pcregrep

root@kali:~# ./openvas-automate.sh 192.168.86.61:: OpenVAS automation script.

mgeeky, 0.1[>] Please select scan type:

1. Discovery

2. Full and fast

3. Full and fast ultimate

4. Full and very deep

5. Full and very deep ultimate

6. Host Discovery

7. System Discovery

9. Exit



--------------------------------

Please select an option: 5



[+] Tasked: 'Full and very deep ultimate' scan against '192.168.86.61'

[>] Reusing target...

[+] Target's id: 6ccbb036-4afa-46d8-b0c0-acbd262532e5

[>] Creating a task...

[+] Task created successfully, id: '8e77181c-07ac-4d2c-ad30-9ae7a281d0f8'

[>] Starting the task...

[+] Task started. Report id: 6bf0ec08-9c60-4eb5-a0ad-33577a646c9b

[.] Awaiting for it to finish. This will take a long while...



8e77181c-07ac-4d2c-ad30-9ae7a281d0f8 Running 1% 192.168.86.61

Мы также наткнулись на сообщение в блоге по code16, которое представляет и объясняет их скрипт Python для взаимодействия с OpenVAS.

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

root@kali:~# ./code16.py 192.168.86.27

------------------------------------------------------------------------------

code16

------------------------------------------------------------------------------

small wrapper for OpenVAS 6[+] Found target ID: 19f3bf20-441c-49b9-823d-11ef3b3d18c2

[+] Preparing options for the scan...

[+] Task ID = 28c527f8-b01c-4217-b878-0b536c6e6416

[+] Running scan for 192.168.86.27

[+] Scan started... To get current status, see below:zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz

...

zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz



[+] Scan looks to be done. Good.

[+] Target scanned. Finished taskID : 28c527f8-b01c-4217-b878-0b536c6e6416

[+] Cool! We can generate some reports now ... :)

[+] Looking for report ID...

[+] Found report ID : 5ddcb4ed-4f96-4cee-b7f3-b7dad6e16cc6

[+] For taskID : 28c527f8-b01c-4217-b878-0b536c6e6416



[+] Preparing report in PDF for 192.168.86.27



[+] Report should be done in : Report_for_192.168.86.27.pdf

[+] Thanks. Cheers!

 



2018-10-18T09:42:08
Аудит ИБ

Резервирование сервера Elastix с помощью heartbeat и rsync

Одним из простых способов построения отказоустоичивой системы телефонии на основе elastix является использование heartbeat для резервироания серверов и rsync для синхронизации конфигурации. Для начала устанавливаем и настраиваем heartbeat и rsync.

После настройки heartbeat и rsync создаем на основном сервере файл mysqldump.sh

mysqldump -u root -ppassword asterisk > /home/backup/asterisk.sql

mysqldump -u root -ppassword asteriskcdrdb > /home/backup/asteriskcdrdb.sql

mysqldump -u root -ppassword meetme > /home/backup/meetme.sql

cp /etc/sysconfig/iptables /home/backup/

Изменяем права на запуск:

chmod 750 /home/mysqldump.sh

Добавляем его в cron, для этого в файл /var/spool/cron/root добавляем строчку

00 00 * * * * /home/mysqldump.sh

Перезапускаем крон.

/etc/init.d/crond restart

На резервном сервере создадим скрипт который будет синхронизировать конфигурацию с основным сервером.

nano /home/sync_config.sh

Его содержание

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/home/backup/ /home/backup

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/etc/asterisk/ /etc/asterisk

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/lib/asterisk/ /var/lib/asterisk

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/spool/asterisk/monitor/ /var/spool/asterisk/monitor

mysql -u root -ppassword asterisk < /home/backup/asterisk.sql

mysql -u root -ppassword meetme < /home/backup/meetme.sql

mysql -u root -ppassword meetme < /home/backup/asteriskcdrdb.sql

cp /home/backup/iptables /etc/sysconfig/iptables service iptables restart /bin/asterisk.reload

Изменяем права

chmod 750 /home/sync_config.sh

И тоже добавляем его в cron

30 00 * * * * /home/sync_config.sh

Для корректной работы астериска, нужно прописать в  /etc/asterisk/sip.conf

bindaddr=192.168.0.12

Где 192.168.0.12 — общий ip адрес на который переключается сервер с помощью heartbeat.

Для этого в WEB интерфейсе elastix заходим во вкладку PBX->Unembedded freePBX. И на вкладке Tools в меню Asterisk Sip Seting в самом низу есть строка «Bind Address». Здесь прописываем наш адрес.

Так же настраиваем авторизацию по ключу. Чтобы работала синхронизация конфигурации через cron.



2018-10-01T12:04:16
Asterisk