По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В том случае, если на вашем предприятии организован мощный отдел продаж и ежедневно вы обрабатываете большое количество вызовов, то база данных, в которую складываются записи CDR (Call Detail Record) начинается переполняться и наращивать объем. Со временем, это может негативно сказаться на производительности сервера, приводя к замедлению обработки процессов резервного копирования и обновления системы.
Если вы не хотите удалять старые записи в базе данных, то элегантным решением данной проблемы будет перемещение базы данных для CDR на отдельный сервер. О том, как это осуществить мы расскажем в этой статье.
Рабочие условия
Предположим, что в нашем корпоративном контуре имеются следующие виртуальные машины:
192.168.1.2 - сервер IP – АТС Asterisk с графической оболочкой FreePBX;
192.168.1.3 - сервер, на котором развернута база данных MySQL;
Поддерживаемые типы баз данных это MySQL (MariaDB) и PostgreSQL;
Предварительно, настройте разрешения на подключения с IP – адреса АТС (файл pg_hba.conf в PostgreSQL и командно через консоль в случае MySQL) и создайте пользователя freepbxuser. Произведем тест на связность. Дадим команду с консоли сервера Asterisk:
mysql --host=192.168.1.3 -ufreepbxuser -p asteriskcdrdb
Введите пароль для подключения. Если все ОК, переходим к настройке FreePBX.
Настройка FreePBX
Переходим в раздел Settings → Advanced Settings. Убеждаемся, что параметры Display Readonly Settings и Override Readonly Settings установлены в значение Yes.
Remote CDR DB Host - IP – адрес хоста, на котором развернута база данных. В нашем примере это 192.168.1.3;
Remote CDR DB Name - имя базы данных. Укажите здесь asteriskcdrdb;
Remote CDR DB Password - пароль для подключения к MySQL от пользователя freepbxuser;
Remote CDR DB Port - порт, на котором база данных на удаленном хосте слушает запросы;
Remote CDR DB Table - таблица, внутри БД, с которой мы будет работать. Указываем здесь cdr;
Remote CDR DB Type - тип базы данных. Мы указываем MySQL;
Remote CDR DB User - имя пользователя, под которым мы производим подключение;
Более подробно почитать про базу данных asteriskcdrdb вы можете почитать в этой статье;
Сохраняем изменения и переходим в консоль сервер АТС. Останавливаем FreePBX:
fwconsole stop
Редактируем файл odbc.ini. Там, в параметре server, нам необходимо указать IP – адрес хоста, на котором у нас развернута внешняя БД:
vim /etc/odbc.ini
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=192.168.1.3 //замену производим вот тут
database=asteriskcdrdb
Port=3306
Socket=/var/lib/mysql/mysql.sock
option=3
Charset=utf8
Сохраняем изменения в файле и запускаем FreePBX:
fwconsole start
Теперь остается только проверить функционал. Сделайте пару тестовых звонков и проверьте их наличие в БД на удаленном хосте.
OpenSSH позволяет выполнять удаленное подключение к серверу, производить манипуляции с файлами и управлять системой. Сегодня хотим рассказать про лучшие методы, которые позволят увеличить безопасность системы на базе OpenSSH.
Конфигурационные файлы
/etc/ssh/sshd_config - файл конфигурации сервера OpenSSH;
/etc/ssh/ssh_config - файл конфигурации клиентской части OpenSSH;
~/.ssh/ - директория, в которой хранятся пользовательские SSH настройки;
~/.ssh/authorized_keys или ~/.ssh/authorized_keys - список ключей (RSA или DSA), которые используются для подключения к пользовательским аккаунтам;
/etc/nologin - если данный файл существует в системе, то sshd запретит подключаться всем пользователям кроме root в систему;
/etc/hosts.allow и /etc/hosts.deny - система запрета (часть безопасности). Работает по аналогии с ACL;
SSH порт по умолчанию - 22
Не нужен - выключай
Если вашему серверу не требуется удаленное подключение по SSH, то обязательно отключите его. В таких системах как CentOS/RHEL делается это так:
chkconfig sshd off
yum erase openssh-server
Используйте SSH второй версии
Протокол SSH первой версии имеет проблемы с безопасностью, которые закрыты во второй версии. Поэтому, используйте вторую версию. Убедитесь, что в файле /etc/ssh/sshd_config указана опция Protocol 2.
Ограничивайте SSH доступ
По умолчанию, все системные пользователи имеют возможность подключаться к системе по SSH. Рекомендуем ограничить SSH доступ в целях безопасности. Например, разрешить SSH для пользователей root, merion и networks:
AllowUsers root merion networks
С другой стороны, вы можете разрешить доступ всем пользователям, кроме указанных:
DenyUsers root merion networks
Время неактивности
Важно указывать время, в течение которого, неактивная сессия будет терминирована (завершена). Это можно сделать следующими опциями:
ClientAliveInterval 300
ClientAliveCountMax 0
В данной настройке мы указали время бездействия равным 300 секунд (5 минут).
Про файлы .rhosts
Дело в том, что данный файл содержит список хостов и пользователей. Если в данном файле содержится комбинация хоста и юзера, то данный пользователь сможет подключиться к системе по SSH без запроса пароля. Рекомендуем отключить эту «замечательную» фичу:
IgnoreRhosts yes
Никакой аутентификации на базе хоста!
Так называемая Host-Based Authentication позволяет пользователю с определенного хоста подключаться к серверу. Отключаем:
HostbasedAuthentication no
Прямое подключение через root
Не нужно открывать root. Максимум, советуем использовать прямое root подключение на время проведения работ. Затем отключать. Лучше давать su (sudo) доступ для некоторых категория пользователей. Закрыть можно вот так:
PermitRootLogin no
Сделайте баннер
Для каждого подключающегося сделайте баннер, в котором можно угрожать злоумышленникам, которые пытаются совершить несанкционированный доступ. За настройку баннера отвечает параметр Banner.
22 порт только изнутри!
Сделайте доступ к 22 порту системы только через цепочку фаервол правил. Лучше всего, оставить доступ только изнутри LAN. Например, в Iptables можно дать доступ для 192.168.11.0/24:
-A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
Где слушать
По умолчанию SSH слушает подключения на всех доступных интерфейсах. Мы рекомендуем сменить порт по умолчанию и указать IP – адрес, на котором необходимо ожидать подключения. Например, мы укажем порт 962 и IP – адрес 192.168.11.24
Port 962
ListenAddress 192.168.11.24
Криптостойкие пароли
Используйте устойчивые к защите пароли. В сети множество инструментов, которые сгенерируют криптостойкий пароль онлайн, бесплатно и без смс :)
Запретить пустые пароли
Бывают пользователи без паролей. Их доступ к SSH так же необходимо запретить с помощью опции:
Port 962
PermitEmptyPasswords no
Анализируйте логи
Установите логирование событий в режим INFO или DEBUG – это позволит иметь расширенный контроль над системой:
LogLevel INFO
Всем привет! Иногда настаёт момент, когда необходимо удалить FreePBX или Asterisk. Например, для того чтобы использовать сервер, на котором они были установлены для других приложений или для того, чтобы начать всё «с чистого листа» после неудачного обновления/установки/манипуляций с конфигурационными файлами.
Поэтому в данной статье, мы покажем как правильно удалить FreePBX 13 версии и Asterisk версии 13.7.1.
Удаление FreePBX
Внимание! Описанные ниже действия полностью удалят FreePBX с вашего сервера без возможности восстановления. Поэтому рекомендуем сделать резервную копию
Внимание! Данные действия удалят только FreePBX, но оставят Asterisk. Однако, если Вы устанавливали Asterisk из источников и затем ставили на него FreePBX, то после удаления, настройки Asterisk не восстановятся.
Первое, что необходимо сделать – это подключиться к нашему серверу по SSH, далее есть два способа удаления FreePBX:
Найдите или перезагрузите с помощью SVN файл ./install_amp и просто запустите следующую команду: ./install_amp --uninstall
Удалите FreePBX и его компоненты вручную, данные действия применимы только на системах CentOS:
Удаление таблиц MySQL
Подключаемся к MySQL с правами root’а: mysql -u root
Инициируем удаление таблиц asterisk и asteriskcdrdb:
DROP DATABASE asterisk;
DROP DATABASE asteriskcdrdb;
Выходим из MySQL: exit;
Придаем забвению файлы, связанные с FreePBX, прописав следующие команды:
rm /usr/sbin/amportal
rm -rf /var/lib/asterisk/bin/*
rm -rf /var/www/html/*
rm /etc/amportal.conf
rm /etc/asterisk/amportal.conf
rm /etc/freepbx.conf
rm /etc/asterisk/freepbx.conf
rm -f /etc/asterisk/*.conf
На этом всё. Можете быть уверенными, что от FreePBX не осталось и следа… При попытке зайти на web-интерфейс, вас ожидает ошибка 404. Однако, Asterisk всё ещё доступен и работает.
Удаление Asterisk
Внимание! Описанные ниже действия полностью удалят Asterisk с вашего сервера без возможности восстановления. Поэтому рекомендуем сделать резервную копию рабочей системы.
Для того, чтобы удалить Asterisk, первым делом необходимо остановить процесс, связанный с ним и удалить соответствующие модули. Обычно необходимо остановить сам процесс Asterisk и связанные с ним процессы DAHDI (на более ранних версиях – Zaptel). Но не торопитесь останавливать DAHDI, он нам ещё понадобится. Остановим Asterisk:
service asterisk stop
Затем необходимо удалить драйверы, использующиеся DAHDI. Для того, чтобы проверить какие драйверы загружены – используем команду:
lsmod | grep dahdi
Видим, что DAHDI использует много подмодулей, все их необходимо удалить по порядку и завершить процедуру удалением самого DAHDI. Вводим следующие команды:
Останавливаем процесс:
service dahdi stop
Отключаем модули:
modprobe -r wctc4xxp
modprobe -r wctdm24xxp
Повторяем для всех модулей, а в самом конце:
modprobe -r dahdi
Теперь приступаем к удалению Asterisk. Как только команды, которые описаны ниже будут введены – обратного пути нет:
rm -rf /etc/asterisk
rm -f /etc/dahdi.conf
rm -rf /var/log/asterisk
rm -rf /var/lib/asterisk
rm -rf /var/spool/asterisk
rm -rf /usr/lib/asterisk
Готово, теперь Asterisk полностью удалён с Вашего сервера. Надеемся, что данная статья Вам помогла.