Система обеспечения защищенности локальной сети отдела воинской части

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



g;:=TRegistry.Create;.RootKey:=HKEY_CURRENT_USER;not reg.OpenKey('\Control Panel\Desktop', False) then MessageDlg('Невозможно открыть ключ реестра HKEY_CURRENT_USER\Control Panel\Desktop', mtError, [mbOk], 0);:=reg.ReadString('ScreenSaveActive');_Old:=StrToInt(value);.Tag:=StrToInt(value);value='1' then begin.Checked:=True;.Hint:='Включено';.Enabled:=True;.Enabled:=True;.Enabled:=True;.Enabled:=True;else begin.Checked:=False;.Hint:='Выключено';.Enabled:=False;.Enabled:=False;.Enabled:=False;.Enabled:=False;;

:=reg.ReadString('ScreenSaverIsSecure');_Old:=StrToInt(value);.Tag:=StrToInt(value);value='1' then begin.Checked:=True;.Hint:='Включено';else begin.Checked:=False;.Hint:='Выключено';;

:=reg.ReadString('ScreenSaveTimeOut');_Old:=StrToInt(value) div 60;.Tag:=StrToInt(value) div 60;.Value:=StrToInt(value) div 60;.Hint:='Хранитель экрана включится через '+IntToStr(ScreenSaverTime.Tag)+' мин. неактивности компьютера';.Free;;

ScreenSaver.Tag=CScreenSaver then ImageList.GetIcon(0, ScreenSaverImage.Picture.Icon)ImageList.GetIcon(1, ScreenSaverImage.Picture.Icon);ScreenSaverPass.Tag=CScreenSaverPass then ImageList.GetIcon(0, ScreenSaverPassImage.Picture.Icon)ImageList.GetIcon(1, ScreenSaverPassImage.Picture.Icon);

end;

//производит изменение параметра в реестре в соответствии с произведенными настройками

procedure Tmain.SetScreenSaverSettings;:TRegistry;:=TRegistry.Create;.RootKey:=HKEY_CURRENT_USER;not reg.OpenKey('\Control Panel\Desktop', False) then MessageDlg('Невозможно открыть ключ реестра HKEY_CURRENT_USER\Control Panel\Desktop', mtError, [mbOk], 0);_Old:=ScreenSaver.Tag;.WriteString('ScreenSaveActive',IntToStr(ScreenSaver.Tag));_Old:=ScreenSaverPass.Tag;.WriteString('ScreenSaverIsSecure',IntToStr(ScreenSaverPass.Tag));_Old:=ScreenSaverTime.Tag;

// reg.WriteString('ScreenSaveTimeOut',IntToStr(ScreenSaverTime.Tag*60));(SPI_SETSCREENSAVETIMEOUT,ScreenSaverTime.Tag*60,nil,SPIF_UPDATEINIFILE);ScreenSaver.Tag=1 then.WriteString('SCRNSAVE.EXE','C:\WINDOWS\system32\scrnsave.scr')reg.ValueExists('SCRNSAVE.EXE') then reg.DeleteValue('SCRNSAVE.EXE');.Free;;;

//получает, отмечает степень соответствия рекомендованным установкам и

//выводит информацию о номере слушающего порта MS SQL сервера

procedure Tmain.GetMSSQLPortSettings;:TRegistry;:string;:=TRegistry.Create;.RootKey:=HKEY_LOCAL_MACHINE;not reg.OpenKey('\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp', False) then begin('Невозможно открыть ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp', mtError, [mbOk], 0);.Enabled:=False;.Enabled:=False;else begin:=reg.ReadString('TcpPort');_Old:=StrToInt(value);.Tag:=StrToInt(value);.Value:=StrToInt(value);.Hint:='MS SQL Server принимает соединения на '+value+' порту';;.Free;;

(MSSQLPort.Enabled) then begin(MSSQLPort.Tag=CMSSQLPort) then ImageList.GetIcon(0, MSSQLPortImage.Picture.Icon)ImageList.GetIcon(1, MSSQLPortImage.Picture.Icon);

end;;

//производит изменение параметра в реестре в соответствии с произведенными настройками

procedure Tmain.SetMSSQLPortSettings;:TRegistry;:=TRegistry.Create;.RootKey:=HKEY_LOCAL_MACHINE;not reg.OpenKey('\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp', False) then MessageDlg('Невозможно открыть ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp', mtError, [mbOk], 0);_Old:=MSSQLPort.Tag;.WriteString('TcpPort',IntToStr(MSSQLPort.Tag)).Free;;;

//получает, отмечает степень соответствия рекомендованным установкам и

//выводит информацию о настройке расширенной хранимой процедуры xp_cmdshell

procedure Tmain.GetXP_CMDShellSettings;MSSQLPort.Enabled then begin.Open;

.SQL.Clear;.SQL.Add('select id from dbo.sysobjects where id = object_id('+QuotedStr('[dbo].[xp_cmdshell]')+')');.Open;ADOQuery.State=dsInactive then XP_CMDShell.Enabled:=FalseADOQuery.RecordCount>0 then begin_CMDShell_Old:=1;_CMDShell.Tag:=1;_CMDShell.Checked:=True;_CMDShell.Hint:='Включено'else begin_CMDShell_Old:=0;_CMDShell.Tag:=0;_CMDShell.Checked:=False;_CMDShell.Hint:='Выключено';

except('Не удалось подключиться к локальной базе данных "." на компьютере', mtError, [mbOk], 0);

XP_CMDShell.Enabled:=False;.Close;.Close;;XP_CMDShell.Enabled:=False;

(XP_CMDShell.Enabled) then begin(XP_CMDShell.Tag=CXP_CMDShell) then ImageList.GetIcon(0, XP_CMDShellImage.Picture.Icon)ImageList.GetIcon(1, XP_CMDShellImage.Picture.Icon);

end;;

//производит изменение параметра в реестре в соответствии с произведенными настройками

procedure Tmain.SetXP_CMDShellSettings;XP_CMDShell.Enabled then beginXP_CMDShell.Tag<>XP_CMDShell_Old then begin.Open;

.SQL.Clear;XP_CMDShell.Checked then.SQL.Add('exec sp_addextendedproc '+QuotedStr('xp_cmdshell')+', '+QuotedStr('xplog70.dll')).SQL.Add('exec sp_dropextendedproc '+QuotedStr('[dbo].[xp_cmdshell]'));

ADOQuery.ExecSQL;('Не удалось подключиться к локальной базе данных "." на компьютере', mtError, [mbOk], 0);

XP_CMDShell.Enabled:=False;.Close;_CMDShell_Old:=XP_CMDShell.Tag

end;;;;

//получает, отмечает степень соответствия рекомендованным установкам и

//выводит информацию о настройке уровня аудита MS SQL сервера

procedure Tmain.GetAuditLevelSettings;:TRegistry;:integer;MSSQLPort.Enabled then begin:=TRegistry.Create;.RootKey:=HKEY_LOCAL_MACHINE;not reg.OpenKey('\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', False) then MessageDlg('Невозможно открыть ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', mtError, [mbOk], 0);:=reg.ReadInteger('AuditLevel');_Old:=value;.ItemIndex:=value;.Free;;begin.Enabled:=False;.Enabled:=False;;

(AuditLevel.Enabled) then begin(AuditLevel.ItemIndex=CAuditLevel) then ImageList.GetIcon(0, AuditLevelImage.Picture.Icon)ImageList.GetIcon(1, AuditLevelImage.Picture.Icon);

end;;

//производит изменение параметра в реестре в соответствии с произведенными настройками

procedure Tmain.SetAuditLevelSettings;:TRegistry;:=TRegistry.Create;.RootKey:=HKEY_LOCAL_MACHINE;not reg.OpenKey('\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', False) then MessageDlg('Невозможно открыть ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', mtError, [mbOk], 0);_Old:=AuditLevel.ItemIndex;.WriteInteger('AuditLevel',AuditLevel.ItemIndex).Free;;;

//процедура, вызываемая при открытии формы, задесь устанавливаем параметры оп умолчанию

//вызываем соответствеющие процедуры получения настроекTmain.FormShow(Sender: TObject);

begin_Old:=1433;_Old:=0;_CMDShell_Old:=0;

;;;;;;_CMDShellSettings;;;

//процедура обработки функции "Отмена"Tmain.CancelClick(Sender: TObject);CAD_Old of

: begin.Checked:=True;.Hint:='Включено';;

: begin.Checked:=False;.Hint:='Выключено';;

: begin.State:=cbGrayed;

CAD.Hint:='Не установлено';;

end;

RestrictAnonymous_Old of

: begin.Checked:=True;.Hint:='Включено';;

: begin.Checked:=False;.Hint:='Выключено';;;

AutoShare_Old of

: begin.Checked:=True;.Hint:='Включено';;

: begin.Checked:=False;.Hint:='Выключено';;;

ScreenSaver_Old of

: begin.Checked:=True;.Hint:='Включено';;

: begin.Checked:=False;.Hint:='Выключено';;;

ScreenSaverPass_Old of

: begin.Checked:=True;.Hint:='Включено';;

: begin.Checked:=False;.Hint:='Выключено';;;

.Value:=ScreenSaverTime_Old;.Hint:='Хранитель экрана включится через '+IntToStr(ScreenSaverTime.Tag)+' мин. неактивности компьютера';

.Value:=MSSQLPort_Old;.Hint:='MS SQL Server принимает соединения на '+IntToStr(MSSQLPort.Value)+' порту';

XP_CMDShell_Old of

: begin_CMDShell.Checked:=True;_CMDShell.Hint:='Включено';;

: begin_CMDShell.Checked:=False;_CMDShell.Hint:='Выключено';;;

.ItemIndex:=AuditLevel_Old;

end;

//процедура проверки необходимости применения параметров

procedure Tmain.CheckApply;(CAD.Tag=CAD_Old) and (RestrictAnonymous.Tag=RestrictAnonymous_Old) and

(AutoShare.Tag=AutoShare_Old) and (ScreenSaver.Tag=ScreenSaver_Old) and

(ScreenSaverPass.Tag=ScreenSaverPass_Old) and (Scr