Перезапись конфигурации Cisco ASA с использованием только консольного доступа

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

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

Я ценю, что могу сделать следующее:

  1. Вставлять фрагменты и устранять ошибки по мере их возникновения
  2. Сравните полученную текущую конфигурацию с моей заранее записанной
  3. Удалите все элементы, являющиеся остатками из базовой конфигурации

... но это подвержено ошибкам и требует много времени. Если есть способ выполнить прямую перезапись / замену, это будет полезно в будущем.

Мне не обязательно заменять работающую конфигурацию; замена стартовой конфигурации и перезагрузка были бы предпочтительнее.

Итак, I: \ Пользователи могут редактировать файлы в H: \, но не в I: \. Я хочу, чтобы пользователи могли с помощью сценария перемещать свои файлы на диск I: \, если ...

Предположим, в NTFS / Active Directory у меня есть два подключенных диска:

H:\
I:\

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

Как я могу настроить это безопасным способом?

2
задан 11 June 2016 в 01:29
4 ответа

После кучи проб и ошибок этот сценарий PowerShell, похоже, делает это:

$worm="C:\WORM"
mkdir -Force $worm
cd $worm

<#  https://serverfault.com/a/17869

SYSTEM - Full Control - Apply onto: This folder, subfolders, and files
Administrators - Full Control - Apply onto: This folder, subfolders, and files
Authenticated Users - Read - Apply onto: This folder, subfolders, and files
Authenticated Users - Create Files / Write Data - Apply onto: This folder and subfolders

#>

$acl  = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', `
        'CreateDirectories, CreateFiles, ListDirectory, Read', `
        'ContainerInherit, ObjectInherit', `
        'None', `
        'Allow'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm

$acl  = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', `
        'DeleteSubdirectoriesAndFiles,Delete', `
        'ContainerInherit, ObjectInherit', `
        'None', `
        'Deny'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm

$acl  = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', `
        'WriteData', `
        'ObjectInherit', `
        'InheritOnly', `
        'Deny'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm

Это не надежно. поскольку администратор может вернуть управление с помощью:

icacls C:\WORM /T /Q /C /RESET

Я скажу, что если вам нужно решение промышленного уровня для соответствия требованиям SEC или что-то еще, вам, возможно, придется инвестировать в NetApp и SnapLock:

https: //library.netapp .com / ecmdocs / ECMP1196889 / html / GUID-7334EEB5-94E9-4500-BA40-681DEC572420.html

2
ответ дан 3 December 2019 в 09:33

Это возможно с помощью комбинации сценария, запланированной задачи и разрешений NTFS.

Предполагая, что у вас нет подпапок и есть только файлы в одной папке, вот как добиться it:

Группы

  • Настройка группы пользователей
  • Настройка группы администраторов

(при желании используйте встроенные)

Разрешения NTFS для папки назначения (I:)

  • Чтение, перечисление содержимого папки, выполнение, запись - только эта папка, группе пользователей
  • Полный доступ - эта папка, подпапка, файлы группе администраторов

Запланированная задача

  • Сценарий, удаляющий все разрешения на запись из каждого файла, имеющего права на запись
  • Может быть пакетным сценарием с использованием icacls.exe, Powershell, vbscript, чего угодно
  • Установить задачу на запуск вручную
  • Требуется запускать от имени пользователя, который имеет полный контроль над папкой и файлы (группа администраторов)
  • Дайте группе пользователей соответствующие права для запуска запланированной задачи (может быть задачей на их локальном или удаленном компьютере)

Скрипт

  • C может быть практически любым языком (PS, вероятно, предпочтительнее)
  • Копирует файлы, только если они не существуют
  • После копирования, используя Powershell вызывает Start-ScheduledTask или при использовании другого сценария язык используйте schtasks.exe для запуска запланированной задачи. Работает на локальных или удаленные машины.

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

1
ответ дан 3 December 2019 в 09:33

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

Возможно, у вас есть запланированная задача, выполняющаяся с разрешениями на запись на диск I, которая тянет файлы. Возможно, они могли бы создать файл под названием "readytocopy.txt" или что-то в этом роде. Когда запланированная задача найдет этот файл в пользовательском каталоге, она скопирует эти файлы (за исключением readytocopy.txt).

Какую конкретную проблему Вы пытаетесь решить?

.
2
ответ дан 3 December 2019 в 09:33

Вы должны иметь возможность делать это с обычными NTFS разрешениями. Я нашел эту статью. Ей около 10 лет, но в ней довольно четко показан этот пример:

https://technet.microsoft.com/en-us/magazine/2006.01.howitworksntfs.aspx

  1. Предоставьте разрешения на чтение и выполнение и запись только для этой папки (выбранной в списке Apply on list) пользователям, которые вам нужны доступ к папке.
  2. Предоставьте разрешение на чтение и выполнение вложенных папок и файлов только тем же пользователям.
  3. Предоставьте разрешение на запись специальному пользователю Creator Owner.

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

0
ответ дан 3 December 2019 в 09:33

Теги

Похожие вопросы