Tag: Asterisk

  • Подключение разделов TrueCrypt с помощью сервера Asterisk

    \"\"Предисловие

    Частью моей работы является ежедневное монтирование контейнеров TrueCrypt на удаленном сервере (1С с «серыми» базами… ну, вы понимаете).

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

    Мысль об использовании Asterisk пришла сразу. Необходимо было это реализовать.

    Решение

    Конфигурация оборудования такая:

    1. сервер Asterisk — Ubuntu Server 10.04, Asterisk v1.6.
    2. терминальный сервер — Windows Server 2003 R2, TrueCrypt v6.1a, два жестких диска с разделами TrueCrypt.

    Логическая цепочка размышлений была такая:

    1. TrueCrypt позволяет управлять собой из командной строки.
    2. Asterisk позволяет запускать любые скрипты, достаточно прописать их в extensions.conf.
    3. Есть виндовая утилита psexec.exe, позволяющую запускать процессы на удаленном виндовом компьютере из командной строки.
    4. Asterisk стоит на Ubunte, значит необходим аналог psexec для линукса — найден winexe.

    Дальше привожу сами скрипты.

    extentions.conf:

    ... exten => 777777,1,Playback(beep) exten => 777777,n,Read(auth,,3,5) exten => 777777,n,GotoIf($[\"${auth}\" = \"123\"]?m:u) exten => 777777,n(m),System(/etc/asterisk/scripts/mount.sh) exten => 777777,n,Goto(end) exten => 777777,n(u),GotoIf($[\"${auth}\" = \"321\"]?ok:end) exten => 777777,n(ok),System(/etc/asterisk/scripts/umount.sh) exten => 777777,n(end),Playback(vm-goodbye) exten => 777777,n,Hangup ...

    Пояснение:

    звоним на внутренний номер 777777, вводим пароль 123, выполняется скрипт mount.sh (монтирование разделов) либо вводим пароль 321 и выполняется скрипт umount.sh (размонтирование разделов, так называемая «КРАСНАЯ КНОПКА»)

    mount.sh:

    #!/bin/sh /etc/asterisk/scripts/winexe -U DOMAIN\\LOCALROOT%PASS //IPADDRESS \'c:\\Progra~1\\TrueCrypt\\TrueCrypt.exe /v \\Device\\Harddisk1\\Partition1 /lE /a /p \"CJIo}i{HbIU\'napoJIb\" /q /s\' /etc/asterisk/scripts/winexe -U DOMAIN\\LOCALROOT%PASS //IPADDRESS \'c:\\Progra~1\\TrueCrypt\\TrueCrypt.exe /v \\Device\\Harddisk2\\Partition1 /lF /a /p \"CJIo}i{HbIU\'napoJIb\" /q /s\'

    /etc/asterisk/scripts/winexe — путь к утилите winexe, которая находится в папке со скриптами.
    DOMAIN — имя вашего домена,
    LOCALROOT — локальный админ на терминальном сервере,
    PASS — пароль локального админа,
    IPADDRESS — IP-адрес терминального сервера,
    дальше путь к TrueCrypt.exe на терминально сервере с параметрами
    \\Device\\Harddisk1\\Partition1 — жесткий диск 1 (для того, чтобы определить путь к разделу, запустите TrueCrypt и щелкните Выбрать устройство / Select Device),
    /lE — закрепляемая за диском буква (E:\\)
    /p «CJIo}i{HbIU\’napoJIb» — пароль к разделу TrueCrypt,
    \\Device\\Harddisk2\\Partition1 — жесткий диск 2 и дальше по аналогии с первым диском.

    umount.sh

    #!/bin/sh /etc/asterisk/scripts/winexe -U \"DOMAIN\\LOCALROOT%PASS\" //IPADDRESS \'c:\\Progra~1\\TrueCrypt\\TrueCrypt.exe /d E /q /s /w /f\' /etc/asterisk/scripts/winexe -U \"DOMAIN\\LOCALROOT%PASS\" //IPADDRESS \'c:\\Progra~1\\TrueCrypt\\TrueCrypt.exe /d F /q /s /w /f\' # Варианты удаления либо перезаписи содержимого файлов со скриптами: # 1. Использование urandom # dd if=/dev/urandom of=/etc/asterisk/scripts/mount.sh bs=512 count=1 # dd if=/dev/urandom of=/etc/asterisk/scripts/umount.sh bs=512 count=1 # 2. Использование shred, который забивает файл случайными числами из /dev/urandom (рекомендуется) shred -f /etc/asterisk/scripts/{mount,umount}.sh # или полное удаление скриптов (не рекомендуется) # rm -f /etc/asterisk/scripts/*mount.sh

    Здесь происходит форсированное тихое размонтирование разделов E:\\ и F:\\ и рандомная запись в содержимое скриптов для скрытия информации.

    Все скрипты и winexe находятся в папке scripts (/etc/asterisk/scripts/)

    Итог

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

    Применение связки Asterisk+скрипты может существенно упростить жизнь и расширить возможности системного администратора, например, создание бэкапа или перезапуск служб по звонку.
    Лень толкает на подвиги!

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

    http://habrahabr.ru/blogs/sysadm/127997/