Назад | Перейти на главную страницу

GDPR - ведение журнала доступа к серверу в точке аутентификации

В Великобритании проводится большая реформа политики защиты данных, известная как GDPR. Для одного клиента нам нужно усилить аудит доступа к определенным серверам нашей командой поддержки и разработки. Я хочу знать не только, кто вошел в систему на удаленном рабочем столе сервера, но и почему. Я мог бы просто создать электронную таблицу Excel или запись в службе поддержки и просить людей заполнять их каждый раз при входе в систему, но на самом деле это недостаточно надежно.

В других средах я видел, что в момент входа на сервер (в форме входа в систему) отображается вторичная форма с вопросом, почему человек входит в систему. Вход в систему не разрешен, пока вторичная форма не будет заполнена.

Я искал такой продукт, но не могу его найти. Кто-нибудь может порекомендовать какие-либо решения?

Server Fault действительно не для рекомендаций по продукту. Был аналогичный вопрос в SF в 2013 году, и OP в итоге создал сценарий входа в систему, запрашивая причину, пока она не будет указана, то есть не пуста:

<!-- language: lang-vb -->

' Display an input dialog asking the reason for a login and writes it to the event viewer with information of the user.

Const EVENT_TYPE = "Information" 'Available Values: Success, Error, Warning, Information
Const EVENT_SOURCE = "LoginAudit" 'Setting the event source requires that the script runs with administrative privileges

firstname = GetUserFirstname()
username = GetUsername()

loginReason = ""
Do While (loginReason = "")
    loginReason = InputBox("Hi " + firstname + ", please describe the reason of your login:", "Login Audit")
Loop

eventDescription = "User '" & username & "' logged in, providing the following reason: " & Chr(13) & Chr(13) & loginReason

Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = "eventcreate /T " & EVENT_TYPE & " /ID 100 /L Application /SO LoginAudit /D " & _
    Chr(34) & eventDescription & Chr(34)
WshShell.Run strcommand

Function GetUserFirstname()
  Set objSysInfo = CreateObject("ADSystemInfo")
  Set objCurrentUser = GetObject("LDAP://" & objSysInfo.UserName)
  GetUserFirstname = objCurrentUser.givenName
End Function

Function GetUsername()
  Set objNetwork = CreateObject("Wscript.Network")
  GetUsername = objNetwork.UserName
End Function

Вы можете изменить это в соответствии со своими потребностями. Я думаю, что этот подход с открытой формой поля привлекает однобуквенные ответы вместо реальных причин. Выпадающее меню могло бы быть лучше, если бы все действия соответствовали известным стандартным процедурам. Поскольку это часть работы, связанной с GDPR, вы, вероятно, уже думали об этих процедурах для обработки личная информация.