В ПК «АРМА» реализована система оповещения администраторов в случае отказа оборудования ШПД. Система производит мониторинг работы всех монтированных и добавленных в БД комплекса плат. Это позволяет своевременно обнаруживать неисправность и сокращает время простоя оборудования, тем самым повышая качество обслуживания потребителей услуг.
Общий алгоритм работы системы :
1) подключение к БД комплекса.
2) выборка IP адресов всех монтированных плат.
3) проверка доступности хоста.
4) запись в журнал в случае отсутствия связи.
Детальный алгоритм действий системы в случае отсутствия связи представлен на рисунке 5.1
5.1 Механизм оповещения администраторов
Оповещения персонала о неполадках происходит следующим образом.
1) При отсутствии связи с конкретным IPдо 10 минут происходит отправка соответствующего сообщения только на компьютеры администраторов, с указанием IP адреса устройства с которым нет связи.
2) При отсутствии связи более 10 минут происходит отправка СМС сообщений на мобильные телефоны администраторов комплекса.
3) При отсутствии связи более 15 минут происходит повторная отправка СМС сообщений на мобильные телефоны администраторов комплекса.
4) При отсутствии связи более 20 минут происходит повторная отправка СМС сообщений на мобильные телефоны администраторов комплекса и дальнейшее оповещение при отсутствии связи не производиться до момента устранения неисправности в работе оборудования DSLAM.
5) Оповещение администраторов производиться при восстановлении связи о нормальной работе оборудования с которым возникли проблемы.
Часть кода системы и его описание приведены ниже.
Отправка сообщений на копьютеры администраторов комплекса :
system("echo $name $ip ALARM | smbclient -M serg -I 192.168.123.9");
system("echo $name $ip ALARM | smbclient -M Yurec -I 192.168.123.5");
system("echo $name $ip ALARM | smbclient -M Geka -I 192.168.123.3");
Используемые модули и подключение к серверу БД для выборки IP адресов :
use DBI;use Net::Ping;use Switch;my $host = "***.***.***.***"; # MySQL-серверmy $port = "3306"; # порт, на который открываем соединениеmy $user = "arma"; # имя пользователяmy $pass = "********"; # парольmy $db = "*****"; # имя базы данных$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass); #подключаемся.my $zap = $dbh->prepare("select * from arma.plata "); # готовимзапрос$zap->execute; # исполняем запрос.Отправка СМС сообщения администратору системы :
smtp = Net::SMTP->new('***.**.**.**'); # Указываем SMTP сервер.
$smtp->mail('arma_robot@ukr.net'); # Указываем от кого письмо.
$smtp>to('380681234567@sms.beeline.ua'); # Указываем кому письмо.
$smtp->data(); # Начинаем посылку данных
$smtp->datasend("To:Admin \n"); # Указываем информацию для поля "Кому"
$smtp->datasend("\n"); # Пустая строка
$smtp->datasend("Внимание !!! 15 минут нет пинга \n"); # Сообщение
$smtp->dataend(); # Заканчиваем посылку даных
$smtp->quit; # Закрываем соединение
Проверка доступности хоста :
$p = Net::Ping->new(); if ($p->ping($ip)) { …….. } else {……..
}
Система реализована с использованием языка программирования PERL.
В алгоритме работы системы предусмотрена защита от ложного срабатывания.
Отправка СМС сообщений происходит при помощи SMTP сервера предприятия, а также почтового шлюза оператора мобильной связи.
Использование системы показало необходимость в её наличии так как многократно увеличивается эффективность работы обслуживающего персонала.
6 Описание системы защиты от несанкционированного доступа
В ПК «АРМА» присутствуют следующие механизмы защиты от несанкционированного доступа, в частности на сервере БД MySQL осущественна настройка системы доступа к базе данных только с определенных IP адресов, и отсутствует доступ на удаление самой базы данных или её частей. В клиентской части узла Интернет присутствует система блокировки учётных записей в случае неправильного выхода из системы. Также пароли к учётным записям администраторов шифруются с использованием алгоритма MD5 (Message Digest Algorithm 5) который представляет собой надежный алгоритм хэширования, разработанный компанией RSA Data Security, Inc. Он может использоваться для хэширования строки байт произвольной длины в 128-битное значение. MD5 широко используется и считается достаточно надежным. Алгоритм md5 позволяет создавать хеш (контрольную сумму), которую достаточно сложно подделать. Он используется для всевозможных проверок подлинности данных, когда необходима передача их в зашифрованном виде. Обратное кодирование (расшифровка) в данном алгоритме невозможна.
Схема информационных потоков также исключает возможность несанкционированного доступ к системе так как клиентские части ПК не работают с оборудованием на прямую и не могу получить полный доступ или выполнить другую команду кроме разрешенных, это позволяет обеспечивает необходимый уровень безопасности при использовании ПК с внешних сетей.
Поэтому можно сделать вывод что безопасность данных и оборудования обеспечена на приемлемом уровне и использование ПК «АРМА» не ведёт к увеличению рисков связанных с несанкционированным доступом из внешнего мира.
4 ТЕСТИРОВАНИЕ КОМПЛЕКСА И АНАЛИЗ РЕЗУЛЬТАТОВ ЕГО РАБОТЫ
Для того чтобы оценить работу всего комплекса «АРМА» до его внедрения необходимо провести ряд тестов. Они проводятся с целью выявления логических ошибок, проверки безопасности и оценки результатов работы всех систем входящих в комплекс.
Оценка работы комплекса производилось в следующем порядке, в начале было произведено тестирование каждой части комплекса с целью определить недостатки и способы их дальнейшего устранения, а после была дана оценка эффективности и корректности работы всего комплекса.
Тестирование клиентской части узла проводилось на протяжении всего этапа разработки и найденные логические ошибки в коде были сразу устранены. В процессе работы с клиентской частью узла были выявлены следующие недостатки :
– применение в SQL запросе лимита на кол-во возвращаемых строк
существенно замедляло работу приложения при выборке большого
количества данных;
– примененный механизм установки привилегий администраторам
системы не позволяет расширить список прав без изменения
исходного кода программы;
– при принудительной остановки вывода данных в MSExcel
дальнейшая работа с программой может быть затруднена, либо
выполнение завершиться ошибкой.
– в случаи долговременного просмотра состояния порта в течении
получаса, возможно зависание приложения;
– формирование некоторых типов отчётов требует значительного
времени и на текущий момент составляет не более одной минуты.
Первый тест, который был проведен – это тест на «usability» или на удобство использования. Данный тест определяет удобство интерфейса и легкость в его использовании. В ходе этого тестирования внимание уделялось следующим характеристикам: обучаемость, эффективность, запоминаемость, ошибки и удовлетворенность. Обучаемость - количественный параметр, характеризующий, время которое необходимо неподготовленному пользователю на обучение работы с системой. Запоминаемость – фактор, определяющий как быстро пользователь сможет начать работу с системой после продолжительного перерыва, например плановый отпуск. Ошибки – количество ошибок, которые может допустить пользователь при работе с системой. Последний , но не последний по значимости, удовлетворенность пользователя от использования интерфейса. Основным методом проведения данного теста является опрос потенциальных пользователей и проведение среди них анкетирования. В итоги было установлено что интерфейс в целом удовлетворяет требованиям пользователей системы, а также но всё же были внесены изменения и дополнения в интерфейс системы по пожеланиям персонала работающего в данном комплексе.
Для устранения выше перечисленных недостатков необходимо произвести обновление программного обеспечения сервера где непосредственно расположен комплекс, в частности обновления версии сервера баз данных MySQL позволит применить двойные запросы к базе данных что существенно увеличит производительность системы, а также потребует изменения значительной части кода всего комплекса. Также в случае с зависанием приложения при длительном просмотре информации о состоянии порта возможно изменить механизм получения информации от оборудования, что снимет данную проблему но повлияет на универсальность получения данных и также потребует значительных изменений в исходном коде приложения.
Тестирование клиентской части абонентского отдела происходило по тем же принципам что и тестирование клиентской части узла. Также был проведён тест на удобство использования, для чего операторам которые не разу не работали с данной программой предлагалось осуществить необходимые действия в результате чего, были выявлены некоторые недостатки данной части комплекса. Так были определенны функциональные недостатки, исправление которых напрямую бы повлияло на безопасность системы в целом поэтому недостатком ряда функций можно пренебречь.
Также проведён другой важный тест, который является тестированием на устойчивость к большим нагрузкам — Load-testing, stress-test или performancetest. Такой тест имитирует одновременную работу нескольких сотен или тысяч пользователей, проверяя, будет ли устойчивой работа комплекса под большой нагрузкой. В таком тесте проверяется не только и не столько сам комплекс, сколько совместная слаженная работа всего комплекса — аппаратной части сервера, веб-сервера, программного ядра и других компонентов системы.
Отдельно следует отметить тест на безопасность. Это очень важный тип тестов, так как от безопасности сервера зависит практически все. Правда, в отличие от других тестов, тестирование безопасности следует проводить регулярно. Кроме того, тестированию подвергается не только сам веб часть комплекса, а весь сервер полностью — и веб-сервер, и операционная система, и все сетевые сервисы. Как и в случае других тестов, программа «прикидывается» реальным пользователем-взломщиком и пытается применить к серверу все известные ей методы атаки и проверяет все уязвимости. Результатом работы будет отчет о найденных уязвимостях и рекомендации по их устранению. Обычно такие сканнеры безопасности продаются как самостоятельный продукт — к примеру, один из лучших сканнеров, Xspider. Производиться запись специального тестового макроса-сценария, который имитирует действия реальных пользователей —> «заходим на первую страницу —> вводим логин и пароль —> нажимаем на кнопку —> переходим по ссылке и т.д.». Потом программным образом создаются несколько виртуальных пользователей (тысячи и более при серьезном тестировании) и они «ходят» по страницам системы, проверяя её работу. За этим всем следит менеджер (обычный, человек ?), строя на основе полученных данных отчет о работе исследуемого веб-приложения.