Эта запись опубликована
03.06.2009 в 15:45. Рубрики: безопасность. Вы можете следить
за ответами к этой записи через RSS 2.0.
Вы можете оставить отзыв или трекбек со своего сайта.




Безопасное сохранение конфигурации ISA 2006
Настройка ISA сервера для большой сложной сети, использующей множество сервисов представляет из себя…если уж откровенно…относительно несложную задачу. Но очень уж долгую. Особенно, если время не ждет и каждая минута является минутой простоя компании.
По этой незамысловатой причине, ISA в плане наличия политики резервного копирования, ничем не должна отличаться от любого другого сервиса.
Но есть несколько тонкостей, которые необходимо учесть на этапе планирования данной политики:
- Мы имеем дело с защищенным сервером. И не имеем никакого морального права эту защищенность понижать. Шлюз безопасности не может называться таковым, если хотя бы в одной сети он представлен с открытыми 135 и 445 портами, на которых отвечает стандартный сервис. Неплохо также единственным средством удаленного администрирования оставить терминальный доступ из отдельной технической подсети.
- Защищенный гейт должен не только защищать себя, но и при своем падении не дать злоумышленнику тут же получить легкий доступ к головным сервисам сети. Не будем рассматривать случай получения полного управления сервером, так как это излишне трагично. Но для большего спокойствия, правила доступа самого сервера во внутреннюю сеть не должны содержать обобщений и диапазонов.
- Нельзя недооценивать и опасность, исходящую изнутри защищенного периметра. Есть, конечно, надежда на добросовестность работы и высокий профессионализм службы безопасности. То есть на гарантированное отсутствие злоумышленников среди сотрудников компании. Но как говорилось в старом анекдоте, сервера ломают не только хакеры. А любопытством обычно двигает гораздо более сильное упорство, чем то, которое заставляет злоумышленников добиваться своих целей.
- Если резервная копия может защитить нас от потери информации, то анализ изменений настроек может нас защитить от работы в ошибочной конфигурации. Да, разумеется, есть штатное средство отслеживания изменений. Но оно больше подходит для доказательства авторства изменений, чем для их своевременного отслеживания.
- В ISA сервер не существует штатного встроенного средства для автоматического экспорта конфигурации.
Итак, мы определились с рабочим окружением, ограничениями и собственными задачами.
Мы будем делать резервную копию конфигурации и анализировать ее на предмет неизменности. При этом нам необходимо внести минимальные правки в настройки сервера.
Задачу же экспорта конфигурации сервисов ISA можно решить при помощи скрипта на VB.
Отлично. Начнем претворять свои желания в жизнь. И, традиционно, с конца задачи.
Для этого напишем следующий скрипт:
Dim backupfold: backupfold = «c:\FWbackup»
Dim fwbackup : set fwbackup = CreateObject(«Msxml2.DOMDocument»)
Dim fpc : set fpc = WScript.CreateObject(«Fpc.Root»)
Dim array : set array = fpc.GetContainingArray
set WSHNetwork = CreateObject(«WScript.Network»)
fileName=backupfold & «\» & WSHNetwork.ComputerName & «.xml»
array.Export fwbackup, 0
fwbackup.save(fileName)
Теперь у нас есть копия конфигурации, но в виде локального файла. При помощи стандартной утилиты сравнения двух файлов мы можем получить необходимый для анализа результат. Но поскольку мы получили результат лишь локально на сервере, как до нашей резервной копии конфигурации удастся добраться при выходе сервера из строя, мягко говоря, непонятно.
Поэтому мы изменим наш скрипт, чтобы он не сохранял файл, а передавал данные на сервер анализа. Поскольку мы обязаны внести минимальные правки в конфигурацию, пусть данные передаются методом HTTP POST — открытие ровным счетом одного произвольно заданного порта (например, 43322) для инициации соединения от ISA, не повлечет существенного падения уровня безопасности.
Примерный код измененного скрипта может быть таким:
Dim fwbackup : set fwbackup = CreateObject(«Msxml2.DOMDocument»)
Dim httpsnd : set httpsnd = CreateObject(«MSXML2.XMLHTTP»)
Dim fpc : set fpc = WScript.CreateObject(«Fpc.Root»)
Dim array : set array = fpc.GetContainingArray
set WSHNetwork = CreateObject(«WScript.Network»)
array.Export fwbackup, 0
call httpsnd.Open («POST», «http://analyzer.libertine.su:43322/», False)
httpsnd.Send fwbackup
Соответственно, при необходимости лишь только отслеживания изменений (например, если у нас более одного сервера конфигурации) мы можем передавать не копию настроек, а результат сравнения конфигурации с предыдущей.
На какой конкретно платформе будет работать сервер анализа — вопрос личных пристрастий к операционным системам, веб серверам и языкам программирования.
Ваш отзыв
