Смекни!
smekni.com

Разработка автоматизированной технологии защиты системы доступа к банковской компьютерной сети (стр. 9 из 9)

Рассмотрены различные схемы подключения брандмауэров, которые отличаются как экономическими показателями, так и степенью защиты локальной сети.

Показано, что наиболее предпочтительной с точки зрения безопасности и надежности защиты, является схема, изображенная на рис.2.3

Кроме того показано, что важным компонентом брандмауэра является система сбора статистики и предупреждения об атаке.

Разработан алгоритм работы программы контроля доступа пользователей к банковской сети.

Разработанный алгоритм предусматривает два режима работы:

режим контроля за работой пользователя в сети;

режим администрирования.

Разработана программа контроля доступа пользователей к банковской сети. В качестве языка программирования был выбран язык Perl, что позволило гибко управлять работой прокси-сервера. Для достижения поставленной задачи - возможности удаленного управления сервером, был разработан платформо-независимый WEB интерфейс. Таким образом, разработанное программное средство выполняет следующие функции:

удаленное администрирование прокси-сервера при помощи WEB-интерфейса;

просмотр списка пользователей;

добавление - удаление пользователей;

выбор пользователя для изменения его свойств;

определение размера получаемой информации для каждого пользователя в отдельности;

предоставление расширенного отчета о работе пользователя за определенный период.

Перечень ссылок

1. Сервер RedHadLinux для Windows: Пер. с англ. / Пол Сэри - К.: Издательство "Диа Софт", 2001. - 400с.

2. Освой самостоятельно Perl за 24 часа: Пер. с англ.: Уч. пос. - М.: Издательский дом "Вильямс", 2000. - 384с.: ил. - Парал. тит. англ.

3. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер. - СПб: Издательство "Питер", 1999. - 672 с.: ил.

4. Фоминов О. "Диагностика сетей как средство выживания" - Компьютер Пресс 1996, №4, с 72-76.

5. Михаил Федотов. "Системы сетевого/системного управления: принципы создания".

6. Нессер Д. Дж. Оптимизация и поиск неисправностей в сетях. - К.: "Диалектика", 1996. - 384 с., ил.

7. Фаронов В.В. Delphi 4. Учебный курс. - М.: "Нолидж", 1998. - 464 с., ил.

8. Клепчинов И. "Произвол в локальной сети. Кнуты и пряники системного администратора". - Компьютеры + программы, 1999, №9.

9. Галушка С. "Введение в локальные сети", - Компьютерное обозрение, 1996, №7 (31).

10. ДСТУ 3008-95. Документация. Отчеты в сфере науки и техники. Структура и правила оформления.

Приложения

Приложение А

Листинг программы контроля доступа пользователей к банковской сети.

#! /usr/bin/perl

$passwd_file = ". /passwd";

$squid_copylog_file = ". /access. log";

$passwdnew_file = ">. /passwd. new";

$squid_file = "/etc/init. d/squid reload";

$users_cvota_file = ". /users";

init_cvota ();

sum_traf ();

razbor_passwd ();

$i = @cnames;

$j = 0;

print_traf ();

$j = 0;

$flag = 0;

open (PASLISTNEW, $passwdnew_file) || die "can't open file users";

while ($j<$i) {

# print $cnames [$j]," ", $traf {$cnames [$j] },"&bsol;n";

$a=index ($passwd {$cnames [$j] },"*");

if ( ($cvota {$cnames [$j] } < $traf {$cnames [$j] }) && ($a==-1)) {

print PASLISTNEW ($cnames [$j],": *",$passwd {$cnames [$j] },"&bsol;n");

$flag = 1;

}

else

{

print PASLISTNEW $cnames [$j],": ",$passwd {$cnames [$j] },"&bsol;n";

};

$j = $j + 1;

};

close (PASLISTNEW) || die "can't close file users";

if ($flag == 1) {

rename (". /passwd. new",$passwd_file);

system ($squid_file);

};

sub razbor_passwd {

open (PASLIST, $passwd_file) || die "can't open file users";

while (defined ($pas = <PASLIST>)) {

chomp ($pas);

$pname = $pas;

$pname =~ s/:. * //;

$ppas = $pas;

$ppas =~ s/&bsol;w*: //;

$passwd {$pname} = $ppas;

# print $pname," ",$passwd {$pname},"&bsol;n";

};

close (PASLIST) || die "can't close file users";

};

sub init_cvota {

open (USERLIST, $users_cvota_file) || die "can't open file users";

while (defined ($fname = <USERLIST>)) {

chomp ($fname);

$fcvota = <USERLIST>;

chomp ($fcvota);

$cvota {$fname} = $fcvota;

@cnames = (@cnames, $fname);

};

close (USERLIST) || die "can't close file users";

};

sub razbor_str {

$date = $str;

$date =~ s/. * //;

#print $date," ";

$date =~s/^&bsol;d+&bsol;. &bsol;d+/localtime $&/e;

#print $date,"&bsol;n";

$s2 = $str;

$s2 =~ s/&bsol;S* * //;

$s2 =~ s/. * //;

$IP = $str;

$IP =~ s/&bsol;S* *&bsol;S* * //;

$IP =~ s/. * //;

$rez = $str;

$rez =~ s/&bsol;S* *&bsol;S* *&bsol;S* * //;

$rez =~ s/. * //;

$raz = $str;

$raz =~ s/&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* * //;

$raz =~ s/. * //;

$metod = $str;

$metod =~ s/&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* * //;

$metod =~ s/. * //;

$addr = $str;

$addr =~ s/&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* * //;

$addr =~ s/. * //;

$name = $str;

$name =~ s/&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* *&bsol;S* * //;

$name =~ s/. * //;

};

sub sum_traf {

open (LOG, $squid_copylog_file) || die "can't open file users";

while (defined ($str = <LOG>)) {

chomp ($str);

razbor_str ();

if (! ($name eq "-")) {

$traf {$name} = $traf {$name} + $raz;

};

};

close (LOG) || die "can't close file users";

};

sub print_traf {

open (SUMTRAF,">. /sumtraf. log") || die "can't open sum-log file";

$j=0;

while ($j<$i) {

print SUMTRAF $cnames [$j]," ", $traf {$cnames [$j] },"&bsol;n";

$j++;

};

close (SUMTRAF) || die "can't close sum-log file";

};