Skip to content

Повышение безопасности папки обмена на файловом сервере

04.07.2018

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

Так, в папках обмена мне реально и неоднократно приходилось находить отсканированные копии паспортов, относящиеся к категории персональных данных, доступ к которым должен быть строго ограничен, а также другие конфиденциальные документы.

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

Таким образом, принцип работы очень похож на публичные файлообменники, когда для передачи файла пользователь загружает его на веб-сайт и затем сообщает ссылку для скачивания файла тем, кто заинтересован в его получении. При этом URL ссылки генерируется сайтом-файлообменником, и получить файл, не зная ссылки на него, нельзя.  Рассмотрим подробнее, как выглядит работа пользователей с безопасной папкой обмена.

1) На все клиентские компьютеры следует распространить сценарий exfld.vbs, текст которого приведен ниже. Последний может находиться и в сетевой папке. На Рабочем столе или в Панели задач следует создать ярлык, запускающий данный сценарий.

2) Пользователь, желающий передать информацию другим пользователям внутри папки обмена, запускает скрипт exfld.vbs. В результате создается и открывается на Рабочем столе пустая папка внутри сетевой папки обмена.

 

 

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

3) Для открытия папки получателю достаточно перейти по полученной ссылке. Если имя папки сообщается по телефону, то получатель запускает на своем компьютере скрипт exfld.vbs, игнорирует в данном случае созданную папку, однако в адресной строке папки изменяет конечное имя папки на то, которое отправитель сообщил по телефону.

 

 

Как уже упоминалось, если любой пользователь, не обладающий правами локального администратора, пожелает просмотреть папку обмена (TMP), то он увидит, что папка пустая.

 

 

Открыть вложенную папку TMP, указав в адресной строке прямой путь, тоже не получится, возникнет ошибка.

 

 

Тем не менее, информация в папке есть. Если открыть папку обмена в контексте администратора, то она будет иметь примерно такой вид

 

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

Сценарий exfld.vbs, создающий папку внутри папки обмена и автоматически генерирующий имя папки, имеет очень простой вид. В нем легко разобраться, даже если вы не разрабатываете (и не собираетесь писать) сценарии на vbScript.

 


Option Explicit
Const strRootFolder = "\\cloudlab.com\org\tmp\tmp"
Function Rnd3()
Rnd3 = Mid(CStr(1000+Int(Rnd()*1000)),2,3)
End Function
Dim oShell, oFSO, oFolder
Dim strFoldername, strPath

Randomize
strFolderName = Rnd3() & "-" & Rnd3() & "-" & Rnd3()
strPath = strRootFolder & "\" & strFolderName
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.CreateFolder(strPath)
Set oShell = CreateObject("WScript.Shell")
oShell.Run "file://" & strPath,1,false

 

В качестве значения константы strRootFolder следует подставить ваш сетевой путь к папке обмена, включая вложенную папку.

Корневая папка обмена должна быть предоставлена в совместное использование. Опционально, она может быть добавлена в пространство имен DFS. В свойствах разделяемой папки рекомендуется включить Access Based Enumeration, как показано на скриншоте.

 

 

На папке обмена (Tmp) и папке tmp внутри папки обмена должны быть настроены следующие разрешения NTFS. На корневую папку обмена следует предоставить разрешения Read&Execute для Authenticated Users и только для текущей папки.

 

 

На папку tmp внутри корневой папки обмена должны быть установлены следующие разрешения для группы Authenticated Users:

1) для текущей папки детальные разрешения:

  • Traverse folder/execute file
  • Create folders/append data
  • Write attributes
  • Write extended attribute

2) для подпапок и файлов — Modify

 

 

Указанные разрешения NTFS обеспечивают доступ на запись к создаваемым папкам для группы Authenticated Users, но при условии, что пользователь знает точный путь к папке.

Осталось только создать назначенное задание для очистки папки обмена. Оно может выполняться по расписанию в нерабочее время и запускаться на сервере от имени Local System. В простейшем случае это может быть сценарий командной строки, удаляющий все файлы и папки во вложенной папке tmp, например, следующий:

 


@echo off
for /D %%i in ("c:\tmp\tmp\*.*") do rmdir "%%i" /s /q

 

Да, чтобы не забыть… Сценарий exfld.vbs, ввиду своей простоты, не содержит проверки ситуации, что создаваемая новая папка уже существует. Такую проверку, в принципе, можно добавить но вероятность этого события крайне мала: даже крупные выигрыши в лотерею случаются чаще. 🙂

 

Реклама
Добавить комментарий

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s

%d такие блоггеры, как: