Программа выполнена на языке Perl и предназначена для работы на серверах под управление операционной системы Linux.
Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен. Perl сочетает в себе лучшие черты C, shell, sed и awk. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать. dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perlе, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.
Этот язык часто используется для написания CGI-модулей, которые, в свою очередь, могут обращаться к базам данных. Таким образом может осуществляться доступ к базам данных через WWW.
Для создания и тестирования Perl-программ необходимы:
любой текстовый редактор, позволяющий сохранять файлы в ASCII-коде (например, встроенный редактор из оболочки FAR Commander);
программа конвертации ACSII-файлов в формат Unix-систем (в частности, редактор Castillo TextEditor);
интерпретатор Perl для отладки;
Web-сервер, поддерживающий работу Perl-программ (для проверки интерфейсных программ был применен Web-сервер OmniHTTPd 2.0 Professional);
FTP-клиент для загрузки файлов на сервер (больше всего для этого подходит CuteFTP 2.0, позволяющий устанавливать права доступа к файлам);
любой Web-браузер (был использован MS IE 4.0).
Программы на языке Perl с расширениями. cgi или. pl должны находиться в специальном каталоге на Web-сервере, обычно называемом CGI-BIN. Размещая в нем свои программы, пользователи могут создавать там собственные папки для обеспечения иерархичности. Если сервер работает в среде Unix, то необходимо придать ему определенные права для доступа. Для исполняемых Perl-программ следует задать атрибут 755. Если в них существует какой-либо каталог, в котором будут производиться запись и удаление файлов, то предпочтительнее поставить атрибут 777 (полный доступ). Когда сервер работает под управлением операционной системы Windows XP/Vista, то не следует преобразовывать созданные файлы в формат систем Unix. А операционные системы семейства Windows не позволяют выставлять атрибуты доступа подобно Unix-системам - в них используется другая методика.
Как было отмечено в предыдущем разделе в работе программы предусмотрено два режима: контроля и администрирования.
Режим контроля работы пользователей.
После обращения пользователя локальной сети к какому-либо внешнему ресурсу он получает приглашение ввести свое имя и пароль. Вид окна, отображаемого на машине клиента, приведен на рисунке 4.1
После проверки правильности указанных данных, в соответствии с разработанным алгоритмом, производится проверка расхода выделенных ресурсов. Если выделенный лимит исчерпан пользователь получает следующее предупреждение (см. рис.4.2).
Рисунок 4.1 - Приглашение ввести имя пользователя и пароль
Рисунок 4.2 - Запрет доступа к сети
Пройдя проверку, пользователю предоставляется требуемый доступ во внешнюю сеть.
В процессе работы пользователя программа непрерывно следит за используемыми ресурсами и ведет протокол.
Ниже приводится фрагмент такого протокола:
1005144301.524 292 192.168.59.42 TCP_DENIED/407 1329 GET http://www.rambler.ru/ - NONE/ -
1005144351.251 616 192.168.59.42 TCP_MISS/200 573 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144356.139 4885 192.168.59.42 TCP_MISS/200 11659 GET http://www.images. auto.ru/banners/paint2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144381.452 30817 192.168.59.42 TCP_MISS/200 1252 GET http://images. rambler.ru/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144387.328 31187 192.168.59.42 TCP_MISS/200 2395 GET http://images. rambler.ru/upl/info/adv145x60-6 [1]. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144403.545 84960 192.168.59.42 TCP_MISS/000 23466 GET http://www.rambler.ru/ mcdulcimer DEFAULT_PARENT/iserv. kture -
1005144403.689 53053 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt? mcdulcimer DEFAULT_PARENT/iserv. kture -
1005144403.689 16357 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/n/sonet-200x20. gif mcdulcimer DEFAULT_PARENT/iserv. kture -
1005144403.689 22233 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/other/narod_190_012. gif mcdulcimer DEFAULT_PARENT/iserv. kture -
1005144407.269 2386 192.168.59.42 TCP_MISS/200 572 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144410.282 6551 192.168.59.42 TCP_MISS/200 58746 GET http://search. rambler.ru/cgi-bin/rambler_search? mcdulcimer DEFAULT_PARENT/iserv. kture text/html
1005144412.022 4752 192.168.59.42 TCP_MISS/200 5630 GET http://images. rambler.ru/upl/clients/narod_468_016. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144415.390 5043 192.168.59.42 TCP_MISS/200 13961 GET http://images. rambler.ru/upl/clients/2citroen_150_80_2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144417.085 1692 192.168.59.42 TCP_MISS/200 492 GET http://images. rambler.ru/i-s-site1. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144447.872 42981 192.168.59.42 TCP_MISS/200 1241 GET http://images. rambler.ru/newd/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif
1005144463.935 59059 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt?
Как видно из приведенного фрагмента в протоколе хранится информация о количестве принятой информации и наименование ссылки. Однако в данном файле хранится не только информация о данном, но и об остальных пользователях сети.
Один из модулей программы производит извлечение из всего объема информации о работе пользователей только ту, которая касается данного пользователя. После чего определяется общий трафик за определенный период.
Следующий фрагмент отражает эту ситуацию:
serg. tr
192.168.59.16 1390 http://www.mail.ru/
192.168.59.16 12875 http://r. mail.ru/b1062. swf
192.168.59.16 23071 http://www.mail.ru/
192.168.59.16 23393 http://www.rambler.ru/
192.168.59.16 9080 http://search. rambler.ru/cgi-bin/rambler_search?
192.168.59.16 47352 http://search. rambler.ru/cgi-bin/rambler_search?
192.168.59.16 33726 http://search. rambler.ru/cgi-bin/rambler_search?
192.168.59.16 750 http://search. rambler.ru/click?
192.168.59.16 714 http://search. rambler.ru/click?
192.168.59.16 726 http://search. rambler.ru/click?
192.168.59.16 724 http://search. rambler.ru/click?
192.168.59.16 2001 http://www.citforum.ru/css/forum. css
192.168.59.16 2674 http://www.citforum.ru/ssi/ms_proc/y1ie. js
192.168.59.16 33333 http://www.citforum.ru/ssi/ms_proc/processor03. swf?
192.168.59.16 714 http://search. rambler.ru/click?
192.168.59.16 1039 http://www.computerinform.ru/main. css
192.168.59.16 17443 http://www.computerinform.ru/inform05_00/p_04asb. htm
192.168.59.16 1849 http://www.computerinform.ru/index.html
192.168.59.16 810 http://www.computerinform.ru/mainl. css
192.168.59.16 4001 http://www.computerinform.ru/left. htm
192.168.59.16 90 http://www.computerinform.ru/main. css
192.168.59.16 18876 http://www.computerinform.ru/praft. htm
Если в процессе работы в сети происходит превышение выделенного трафика, пользователь автоматически отключается и ему отправляется соответствующее сообщение (см. рис.4.2).
Для управления работой пользователей сети в программе предусмотрен режим администрирования.
В данном режиме администратор может просмотреть расширенный отчет о работе всех зарегистрированных пользователей. Предусмотрены следующие функциональные возможности:
удаленное администрирование прокси-сервера при помощи WEB-интерфейса;
просмотр списка пользователей;
добавление - удаление пользователей;
выбор пользователя для изменения его свойств;
определение размера получаемой информации для каждого пользователя в отдельности;
предоставление расширенного отчета о работе пользователя за определенны период.
Одной из особенностей данной программы, является возможность удаленного администрирования прокси-сервера с любой рабочей станции локальной сети. При этом используется универсальный WEB-интерфейс, что дает возможность не зависеть от платформы рабочей станции.
Для исключения возможности несанкционированного доступа к информации, при запуске программы производится проверка пользователя. Если он имеет право администрировать систему, ему открывается главное окно программы.
Для проверки имени пользователя и пароля ему открывается следующее окно (см. рис.4.3)
Рисунок 4.3 - Проверка имени и пароля пользователя
Внешний вид программы в режиме администрирования приведен на рисунке 4.4
Рисунок 4.4 - Внешний вид программы в режиме администрирования
В данном разделе дипломной работы была разработана программа контроля доступа пользователей к банковской сети через internet. В качестве языка программирования был выбран язык Perl, что позволило гибко управлять работой прокси-сервера. Для достижения поставленной задачи - возможности удаленного управления сервером, был разработан платформо-независимый WEB интерфейс. Таким образом разработанное программное средство выполняет следующие функции:
удаленное администрирование прокси-сервера при помощи WEB-интерфейса;
просмотр списка пользователей;
добавление - удаление пользователей;
выбор пользователя для изменения его свойств;
определение размера получаемой информации для каждого пользователя в отдельности;
предоставление расширенного отчета о работе пользователя за определенный период.
В результате выполнения данной дипломной работы получены следующие результаты:
Производен обзор основных видов и источников атак на информацию компьютерной сети банка. Также произведен обзор наиболее распространенных методов "взлома".
Рассмотрены возможные цели злоумышленников, которые можно классифицировать как:
получение доступа к информации,
получение несанкционированного доступа к услугам,
попытка вывода из рабочего режима определенного класса услуг,
попытка изменения информации или услуг, как вспомогательный этап какой-либо более крупной атаки.
Произведена постановка задачи исследования.
Разработана технология защиты компьютерной банковской сети от атак на информацию со стороны Интернет.