Установка CDR-Stats под FreeBSD

CDR-Stats for FreeBSDUPD: Свежая версия скрипта для установки на FreeBSD 10.1 был запилен в официальный репозиторий CDR-Stats на Github.

Есть хорошая система для учёта звонков в системах IP-телефонии Asterisk. Однако разработчики предоставляют установочный скрипт лишь для Ubuntu и CentOS Linux. Предлагаю вам небольшой скрипт для установки CDR-Stats в системе FreeBSD. Конечно, что-то нужно допилить самостоятельно, но кто вы, если не админы? 🙂
Continue reading Установка CDR-Stats под FreeBSD

Ping для HTTP

Иногда полезно узнать время отклика какого-нибудь веб-сервиса. Есть небольшая утилитка httping, которая позволяет это делать. Устанавливаем:

sudo emerge -av net-analyzer/httping

Пробуем пинговать какой-нибудь веб-сервис. Под катом…
Continue reading Ping для HTTP

Настройка Huawei E173 на FreeBSD + Asterisk

GSM-модем Huawei E173Дорогие читатели, сегодня поделюсь инструкцией, как настроить GSM-модем Huawei E173 на программной АТС Asterisk, работающей под управлением FreeBSD. Настроим исходящие и входящие звонки. Не сказать, что это очень уж секретные сведения, но мне всё-таки пришлось наступить на некоторые грабли в процессе настройки, а значит, материал достоин публикации. Итак, начнем – у нас имеется FreeBSD 8.3, Asterisk 1.8.17.0 и GSM-шлюз Huawei E173, подключающийся к USB-порту.

Подключаем USB-модем. Сперва нужно проверить, что он определяется в системе…
Continue reading Настройка Huawei E173 на FreeBSD + Asterisk

Подключение SIP-транков RingCentral к Asterisk

Радио начала XX векаЕсть такой американский провайдер IP-телефонии RingCentral, который официально не поддерживает SIP-транки Asterisk. Говорит, что “for best user experience”. Возможно и так, но мне надо было подключить напрямую к Asterisk. Долго я мучился, пытаясь приспособить их к своей любимой программной АТС, и, наконец, получилось. Полную историю и способы нахождения этой информации я рассказывать не буду, скажу только, что ни одно животное в ходе этого не пострадало. Ниже инструкция, как подключить номера VoIP-провайдера RingCentral на наш Asterisk PBX по протоколу SIP – как для входящих звонков, так и для исходящих.
Continue reading Подключение SIP-транков RingCentral к Asterisk

Sopcast в Gentoo

Peer-to-Peer television

Sopcast представляет собой программу класса P2PTV. Протокол Sopcast похож на BitTorrent, за той лишь разницей, что позволяет скачивать из многих мест одновременно не файлы, а смотреть видео в реальном времени. Конечно, задержки зависят . Картинка в топике – со страницы википедии P2PTV. В топике под катом я расскажу, как установить эту программу в системе Gentoo Linux. Для Windows-версий таких инструкций пруд пруди.
Continue reading Sopcast в Gentoo

Как мы сайт от вируса лечили

БактерияОдин мой знакомый пожаловался, что его сайт периодически подглючивал. Стоит отметить, что сайт работал под управлением CMS Joomla. Я стал исследовать сервер, и мое внимание зацепила вот такая строка кода в одном из php-файлов:

<?php eval(base64_decode("DQplcn...KfQ=="));

Внутри этого base64-кода скрывался редирект на сайт сомнительного содержания. Стало очевидно, что сайт подвергся заражению, и надо было его лечить. Беглый подсчет показал, что заражены практически все php-файлы сайта – вхождений такой строки было около 16 тысяч. Под катом несколько шагов, которые я предпринял для устранения этой проблемы.
Continue reading Как мы сайт от вируса лечили

Дружим Card Reader + Gentoo Linux

На моем Dell Latitude E6520 долгое время не работал кардридер. Оно и понятно – нужды не было, а т.к. система Gentoo, то особо с модулями ядра не заморачивался. Вот теперь пришлось заморочиться.
Continue reading Дружим Card Reader + Gentoo Linux

Полный бекап с помощью tar+scp+expect

Девушка и пивоКоллеги, сегодня я хочу поделиться с вами небольшим скриптом полного бекапирования сервера и выгрузки архива на внешний SFTP-сервер. Архивирование производилось как обычно, с помощью tar, с игнорированием некоторых ненужных каталогов. Затем следовало бы выгрузить этот архив по протоколу SCP на другой сервер, однако последний не поддерживал доступ по ключам.

Немного поискав в инете, я нашел, что можно передавать пароль программе scp с помощью утилиты expect. Вкратце, expect позволяет имитировать действия пользователя, выполняя определенные инструкции в зависимости от текстового вывода в консоли. Например, с помощью expect можно организовать беспарольный SSH-доступ, когда сам сервер не поддерживает доступ по ключам.
Continue reading Полный бекап с помощью tar+scp+expect

Собеседование на знание языка C – 12 вопросов и ответов

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

1. Функция gets()

Вопрос: В приведенной программе есть проблема. Можете её найти?

#include <stdio.h>

int main(void)
{
    char buff[10];
    memset(buff,0,sizeof(buff));

    gets(buff);

    printf("\n The buffer entered is [%s]\n",buff);

    return 0;
}

Ответ: Скрытая проблема в этом коде – это использование функции gets(). Эта функция принимает строку со стандартного ввода без проверки размера буфера, в который будет помещена эта строка. Это запросто может привести к переполнению буфера. В данном случае лучше использовать другую стандартную функцию – fgets().
Continue reading Собеседование на знание языка C – 12 вопросов и ответов

Защита Asterisk при помощи Perl (без fail2ban)

Верблюды PerlДля защиты программных АТС Asterisk от злоумышленников, пытающихся подобрать пароли к SIP-аккаунтам, как правило, используют fail2ban с набором правил для Asterisk. Однако не всегда есть возможность установки этой программы. Например, на сервере не установлен интерпретатор языка Python, но в то же время есть Perl. Под катом – скрипт, позволяющий отфильтровывать IP-адреса злоумышленниов после 4 неверных попыток аутентификации. Написан на Perl, с минимумом зависимостей, заточен для файрволла pf. Отмечу только, что его нужно поместить в список задач cron, на ежеминутное выполнение.
Continue reading Защита Asterisk при помощи Perl (без fail2ban)