вторник, 16 декабря 2008 г.

LDAP Timestamp conversions

Два простеньких скрипта для преобразования LDAP Timestamps во время и обратно:

'---------- Ldap to Time --------------
intTime =inputbox("LDAP timestamp:")
intTime = intTime / (60 * 10000000)
intTime = intTime / 1440
WScript.Echo "Time: " & intTime + #1/1/1601#

'---------- Time to Ldap --------------
dtmTime =inputbox("Time:")
lngSeconds = DateDiff("s", #1/1/1601#, dtmTime)
str64Bit = CStr(lngSeconds) & "0000000"
WScript.Echo "Ldap timestamp: " & str64Bit

среда, 3 декабря 2008 г.

Скрыть OU в консоли Active Directory - Users and Computers

В числе прочих мер защиты критичных точек AD от вмешательства пользователей с повышенными привилегиями (например, младших системных администраторов), можно использовать сокрытие наличия определенных OU (например, содержащих учетные записи других администраторов). Скрыть OU из дерева просмотра можно, определив соответствующие разрешения (или запреты):



При таких разрешениях, пользователь Андрей Баранов не увидит в дереве OU Hide (если он будет внимателен, он увидит объект типа Unknown при просмотре корня AD). При этом, у него остается право читать свойства объектов внутри данной OU (если он, конечно, знает об этих объектах). Но, как я написал ранее, этот способ имеет смысл использовать в комбинации с другими способами защиты критичных объектов AD.

четверг, 6 ноября 2008 г.

Слэш в свойстве объекта AD distinguishedName

Совершенно случайно столкнулся с проблемой - при попытке обратиться к объекту AD в строке типа Set objGroup=GetObject("LDAP://" & groupname) возникала ошибка типа E_ADS_BAD_PATHNAME (т.е. типа объект не найден, хотя в ADSI смотрю - вот же он!). Оказывается, слэш в distinguishedName (и некоторые другие символы) плохо воспринимаются при обращении к AD (т.е., например, слэш в названии группы). Какой же выход? Предварять все "опасные символы" обратным слэшем (т.е. строчка обращения к объекту должна выглядить приблизительно так:
Set objGroup=GetObject("LDAP://" & replace(groupname,"/","\/"))

Источник: http://blogs.dirteam.com/blogs/tomek/archive/2006/12/27/Slash-character-in-AD-object-distinguishedName.aspx

понедельник, 20 октября 2008 г.

Система безопасности обнаружила попытку атаки для понижения роли сервера name. Учетная запись пользователя автоматически заблокирована

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

rundll32.exe keymgr.dll,KRShowKeyMgr

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

Источник: http://www.tweakxp.com/article37352.aspx

The IPSec driver has entered Block mode. IPSec will discard all inbound and outbound TCP/IP network traffic that is not permitted by boot-time IPSec..

Вот такое интересное сообщение возникает на машине, если файл локальных политик был случайно поврежден (например, некорректной перезагрузкой). Машина при этом не пингуется, не отвечает ни на какие запросы, но при этом вполне нормально работает. Временно обойти проблему можно, задизаблив службу IpSec. А корректно вылечить политику можно, удалив ветку реестра HKEY_LOCAL_MACHINE \SOFTWARE\ Policies\ Microsoft\ Windows \IPSec \Policy \Local и выполнив затем команду regsvr32 polstore.dll. В источнике, правда, описана ситуация с доменным контроллером, но с рядовым сервером тоже вполне сработало.

Источник: http://support.microsoft.com/kb/912023

четверг, 16 октября 2008 г.

Automatic certificate enrollment for local system failed to enroll for one Domain Controller certificate (0x80070005). Access is denied.

EventId: 13
Источник: AutoEnrollment
Automatic certificate enrollment for local system failed to enroll for one Domain Controller certificate (0x80070005). Access is denied.

В моем случае эта ошибка возникала на трех из четырех доменных контроллерах (кроме того, на котором стоял CA). Вылечилась добавлением группы Domain Controllers в группу CERTSVC_DCOM_ACCESS, после этого все контроллеры домена получают от CA свои сертификаты и довольны.

среда, 15 октября 2008 г.

The query has been canceled because the estimated cost of the query exceeds the configured treshold of

На одной из прошлых работ столкнулся с проблемой загрузки базы данных, забэкапленной стандартными средствами 1С, в MS SQL. Ошибка была такого вида:


Explorer "Run As Administrator"

Недавно столкнулся на работе с необходимостью, работая под учетной записью с ограниченными правами, запускать Explorer под правами доменного администратора. Для чего это может понадобиться - например, для изменения разрешений на сетевых ресурсах. Как известно, задача эта не очень тривиальна - эксплорер при запуске проверяет наличие своих инстансов в памяти компьютера и, при наличии оных, тихо умирает. Каждый решает эту задачу как умеет - можно работать с third-party файловым менеджером, запущенным под правами администратора, можно запустить Internet Explorer (который замечательно работает в качестве обычного файл-менеджера), а можно слегка подправить реестр, позволяя Explorer иметь несколько экземпляров в памяти. Подправить необходимо следующее:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Изменить SeparateProcess DWORD с 0 на 1.
После этого потребуется перезагрузка компьютера.

Источник: http://blogs.msdn.com/aaron_margosis/archive/2004/07/07/175488.aspx

вторник, 14 октября 2008 г.

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