Система обеспечения защищенности локальной сети отдела воинской части
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
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