fl1=/var/www/html/modules/pbxadmin/js/libfreepbx.javascripts.js
fl2=/var/www/html/modules/pbxadmin/js/script.legacy.js
cp $fl1 ${fl1}-orig
cp $fl2 ${fl2}-orig
txt_old='function isLetter[(]c[)]'
txt_new='function isLetter(c) { return (1==1); } function isLetter_old(c)'
sed "s/$txt_old/$txt_new/g" – i $fl1
sed "s/$txt_old/$txt_new/g" – i $fl2
txt_old='function isCallerIDChar[(]c[)]'
txt_new='function isCallerIDChar(c) { return (1==1); } function isCallerIDChar_old(c)'
sed "s/$txt_old/$txt_new/g" – i $fl1
sed "s/$txt_old/$txt_new/g" – i $fl2
txt_old='function isAlphanumeric[(]c[)]'
txt_new='function isAlphanumeric(c) { return (1==1); } function isAlphanumeric_old(c)'
sed "s/$txt_old/$txt_new/g" – i $fl1
sed "s/$txt_old/$txt_new/g" – i $fl2
Запустите созданный скрипт и перезапустите mySQL:
sudo bash /root/tasks/astdb2utf.sh
service mysqld restart
Проверьте, что теперь Вы можете создавать абонентов (Extensions) с русскими именами. Откройте меню «Extensions» в разделе «PBX». Обновите страницу браузера, чтобы обновился скрипт, проверяющий корректность ввода. Добавьте новый телефон, указав русское имя в поле «Display Name»:
Сохраните изменения и проверьте, что в поле Display Name имя осталось написанным по-русски.
Меры повышения безопасности
Если Elastix находится в открытом доступе, перечисленные в данном приложении мероприятия по защите станции жизненно необходимы. Без должной защиты через несколько недель или месяцев станция будет взломана и начнет использоваться злоумышленниками для звонков за счет вашей компании.
Для Elastix, установленных в локальной сети предприятия, описанные ниже меры не столь критичны, но настоятельно рекомендуются. Не забывайте про компьютеры пользователей – наличие антивирусов не спасает компьютеры от заражения и рано или поздно они станут источником взлома станции. Для взломщиков станция из локальной сети представляет не меньший интерес – злоумышленники получат пароли подключения к вашим провайдерам и будут использовать их услуги за Ваш счет.
Кроме описанных ниже настроек рекомендую приобрести и установить дополнение Anti-Hacker. Дополнение стоит $15 и позволяет существенно упростить процесс настройки защиты, защищая Elastix от атак «грубой силы» – атак, перебирающих пароли. Конечно, из чисто спортивного интереса можно самостоятельно настроить Fail2ban, но практичнее приобрести и настроить Anti‑Hacker, проделать описанные ниже настройки по изменению портов используемых сервисов и активировать FireWall, встроенный в Elastix.
Дополнительную информацию по защите Elastix и его компонентов не сложно найти в Интернет. Например, полезно, в дополнение к описанному ниже, прочитать:
• «9 правил, как защитить свой Asterisk» (http://habrahabr.ru/company/myasterisk/blog/130325/)
• «Семь шагов по улучшению безопасности Asterisk» (http://habrahabr.ru/company/myasterisk/blog/145024/)
• «Грабли, или 5 типичных ошибок настройки Asterisk (http://habrahabr.ru/post/157545/)
Усложнение перебора паролей
Рекомендуется включать опцию Asterisk «alwaysauthreject=yes», чтобы усложнить задачу злоумышленников по подбору паролей. В Elastix эта опция активируется через WEB-интерфейс. Зайдите в меню PBX\Tools\Asterisk File Editor, найдите файл «sip_general_custom.conf», нажмите на него и добавьте в него «alwaysauthreject=yes»:
Установка и настройка дополнения Anti-Hacker
Установка и настройка модуля требует лишь пары минут:
• откройте WEB-панель управления Elastix
• откройте закладку Addons
• дождитесь загрузки списка доступных дополнений
• нажмите BUY напротив дополнения Anti-Hacker
• откройте закладку Anto-Hacker в разделе Security
• настройте параметры модуля, загрузите полученный ключ лицензии, нажмите Update
• запустите службу Anti-Hacker, нажав Service Start
Чтобы убедиться, что деньги на защиту потрачены не зря, зайдите на закладку Anti-Hacker через месяц, оцените количество попыток добраться до ваших секретов. Если станция установлена в корпоративной сети и недоступна извне, скорее всего, список заблокированных адресов будет пуст, но лучше и в этом случае не экономить на спичках – однажды хакеры задействуют свою бот-нет из зараженных компьютеров, среди которых могут оказаться компьютеры и вашей сети.
Защита консольного доступа по SSH
Подключитесь к Elastix через SSH-соединение как пользователь root и создайте пользователя, например, «admin1», назначьте пароль, предоставьте пользователю необходимый доступ:
groupadd sudoers
adduser – G sudoers admin1
passwd admin1
echo '%sudoers ALL = (ALL) ALL' >>/etc/sudoers
sed – i '2i\PATH=$PATH:/sbin:/usr/sbin' /home/admin1/.bashrc
Откройте файл настроек SSH
mcedit /etc/ssh/sshd_config