суббота, 30 апреля 2011 г.

Переносим контролер домена 2003 на другой сервер

Необходимо перенести контролер домена с основного на дополнительный. т.к. сервер с основным КД начал загибаться.

Собственно перенести можно несколькими способами:

  1. Используя встроенную утилитку от мелкософта Ntdsutil.exe
  2. Через консоль mmc «AD Пользователи и компьютеры»

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

По поводу первого способа можно почитать офф. мануал мелкософта ТУТ.
По поводу второго способа можно почитать офф. мануал мелкософта ТУТ.
По второму я опишусь ниже.

Собственно по первому варианту всё довольно детально расписано в мануале от мелкософта. Хотелось бы сказать пару слов по поводу второго варианта:

Обязательно перед началом операций сделайте SystemState!

Для передачи ролей другому серверу, нужно зайти на домен с которого будет передача в консоль mmc «AD Пользователи и компьютеры» и подключить в консоли к контролеру домена на который будет совершена передача ролей:

adtoother

Подключившись к другому серверу. Заходим в меню «Хозяева операции» и нажать кнопку «Изменить»

adtoother2

И обязательно, потом, удалить старые контроллеры домена из «УПРАВЛЕНИЯ УЗЛАМИ И СЛУЖБАМИ» а то репликация всё равно будет. А так же просмотреть всю службу ДНС на предмет имён старых контроллеров домена!!!

http://hidx.wordpress.com/2009/03/12/adto-other/#more-368

Архивация и востановление в Windows Server 2008

Выкладываю полезные ссылки на статьи по архивации и востановлению Windows Server 2008.

Восстановление Active Directory в Windows Server 2008 (Часть 1)
Восстановление Active Directory в Windows Server 2008 (Часть 2)

Проблемы резервного копирования и восстановления в Windows Server 2008 (часть 1)
Проблемы резервного копирования и восстановления в Windows Server 2008 (часть 2)



Выдержка:
для создания резервных копий Состояная системы удобнее написать пакетный файл вида
WBADMIN START SYSTEMSTATEBACKUP -backupTarget:e: -quiet
и поместить в планировщик на каждый день.
Важно подчищать лишние копии, имеет смысл держать 3-7 копий, поэтому добавим еще одну строку



Полный бэкап имеет смысл делать раз в неделю.


Cоздать его проще всего через gui системы архивации данных Windows, а после, в
Планировщике заданий, в разделе Backup поправить параметры времени и необходимых действий.

вторник, 19 апреля 2011 г.

SATA Controller Mode

Название опции:

SATA Controller Mode

Возможные значения:

IDE, RAID, AHCI
или
Compatible, Enhanced

Описание:

Обычно эта опция позволяет указать режим работы современного IDE/SATA-контроллера чипсета. При значении IDE для обращения к SATA-накопителям будет использоваться механизм, аналогичный обычному IDE-контроллеру. Конечно, это несколько ограничивает быстродействие дисковой подсистемы, зато вам не потребуется установка дополнительных драйверов — все необходимое уже имеется в составе любой операционной системы.

Значение RAID встречается только на материнских платах, поддерживающих RAID-массивы из накопителей, подключенных к стандартному IDE/SATA-контроллеру чипсета. Его выбор дает возможность объединять жесткие диски в RAID-массивы с целью повышения надежности хранения информации или для увеличения скорости работы. Учтите только, при установке операционной системы Windows 2000 или Windows XP вам обязательно потребуется дискета с драйверами (если в вашем компьютере нет дисковода, это может привести к неразрешимой проблеме, поскольку другие накопители не поддерживаются). Драйвера необходимы и для Windows Vista, но в этом случае помимо дискеты они могут быть записаны и на компакт-диск или Flash-накопитель.

Естественно, говорить о RAID-массиве можно только, если у вас в системе установлено два и более жестких диска. Причем, желательно, чтобы они были одной марки и объема, в идеале — с одинаковым firmware и из одной партии.

Значение AHCI присутствует только на достаточно новых материнских платах, IDE/SATA-контроллер которых поддерживает интерфейс SATA II. Выбор этого варианта позволяет воспользоваться всеми преимуществами расширенного хост-контроллера SATA II (AHCI расшифровывается Advanced Host Controller Interface) — очередью команд, горячим подключением и т.д. Не следует забывать и о более высоком быстродействии дисковой подсистемы в этом режиме. Если ваши жесткие диски поддерживают SATA II, имеет смысл остановиться именно на этом значении. Только имейте в виду, для установки Windows 2000 или Windows XP вам потребуется дискета с драйверами.

Для более старых операционных систем (семейства Windows 9x) использование RAID-массивов и AHCI-контроллера вряд ли возможно — необходимых драйверов просто не существует.

Менять режим работы стандартного IDE/SATA-контроллера чипсета необходимо до установки операционной системы. Если система установлена, простая смена режима в BIOS приведет к появлению «синего экрана смерти». Если вы все же хотите включить AHCI на установленной системе, перед изменением значения этой опции принудительно смените драйвер IDE/SATA-контроллера на нужный.

В отдельных реализациях BIOS назначение этой опции совсем другое — она отвечает за режим работы стандартного IDE/SATA-контроллера чипсета (аналогично опции Onboard IDE Operate Mode): расширенный (Enhanced) или совместимый (Compatible). Первый вы можете использовать в Windows 2000, Windows XP и Windows Vista, второй необходим для Windows 95, Windows 98 и Windows Me. За более подробной информацией обращайтесь к описанию опции Onboard IDE Operate Mode.

вторник, 12 апреля 2011 г.

Команда dd и все что с ней связано

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.

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

# dd if=/dev/urandom of=/dev/null bs=100M count=5

Параметры:
  • if: указывает на источник, т.е. на то, откуда копируем. Указывается файл, который может быть как обычным файлом, так и файлом устройства.
  • of: указывает на файл назначения. То же самое, писать можем как в обычный файл, так и напрямую в устройство.
  • bs: количество байт, которые будут записаны за раз. Можно представлять этот аргумент как размер куска данные, которые будут записаны или прочитаны, а количество кусков регулируется уже следующим параметром.
  • count: как раз то число, которое указывает: сколько кусочков будет скопировано.

Таким образом, описанная команда читает 5*100 мегабайт из устройства /dev/urandom в устройство /dev/null. Придавая этой команде смысловую нагрузку получается, что система сгенерирует 500 мегабайт случайных значений и запишет их в null устройство. Конечно, единственное, что сделает эта команда: нагрузит процессор на несколько секунд. Рассмотрим примеры из практики:

Создание образа диска:

# dd if=/dev/cdrom of=image.iso

Команда будет считывать из устройства данные и записывать в файл до тех пор, пока не достигнет окончания устройства. Если диск битый, можно попробовать его прочитать, игнорируя ошибки чтения:

# dd if=/dev/cdrom of=image.iso conv=noerror

Параметр «conv» позволяет подключать несколько фильтров, применимых к потоку данных. Фильтр «noerror» как раз отключает остановку работы программы, когда наткнется на ошибку чтения. Таким образом, некоторые данные с диска все же можно будет прочитать. Точно таким образом я спас данные со своей флешки Corsair, которую погнули: подобрал подходящее положение, когда контакт есть, и сделал дамп файловой системы.
Подключить, кстати, такие образы можно при помощи команды mount с ключем "-o loop":

# mount -o loop image.iso /mnt/image

Если что-то не получается, процесс разбивается на 2 уровня:

# losetup -e /dev/loop0 image.iso
# mount /dev/loop0 /mnt/image


Если и так не работает, значит файловая система образа полетела.

Работа с носителями информации

Очень простое, хоть и не оптимальное решение клонирования жесткого диска:

# dd if=/dev/sda of=/dev/sdb bs=4096

Все то же побайтовой копирование с размером буфера 4 Кб. Минус способа в том, что при любой заполненности разделов копироваться будут все биты, что не выгодно при копировании разделов с маленькой заполненностью. Чтобы уменьшить время копирования при манипуляции с большими объемами данных, можно просто перенести MBR на новый носитель (я ниже опишу как), перечитать таблицу разделов ядра (при помощи того же fdisk), создать файловые системы и просто скопировать файлы (не забыв сохранить права доступа к файлам).

Как вариант, можно даже по расписанию делать бекап раздела по сети. Разрулив ключи ssh будет работать такая схема:

# dd if=/dev/DEVICE | ssh user@host «dd of=/home/user/DEVICE.img».

Когда-то читал исследование, согласно которому очень большая доля жестких дисков на барахолке подвергается восстановлению данных без привлечения чего-то специализированного, и содержит конфиденциальную информацию. Чтобы на носителе ничего нельзя было восстановить — можно забить его нулями:

# dd if=/dev/zero of=/dev/DEVICE

Думаю, понятно на что нужно заменить DEVICE. После проведения лекций по Linux, я очень тщательно стал следить за тем, что пишу.
Проверить можно тем же dd, но преобразовав данные в hex:

# dd if=/dev/sda | hexdump -C

Должны посыпаться нули.

Операции с MBR

MBR расположена в первых 512 байтах жесткого диска, и состоит из таблицы разделов, загрузчика и пары доп. байт. Иногда, ее приходится бекапить, восстанавливать и т.д. Бекап выполняется так:

# dd if=/dev/sda of=mbr.img bs=512 count=1

Восстановить можно проще:

# dd if=mbr.img of=/dev/sda

Причины этих махинаций с MBR могут быть разные, однако хочу рассказать одну особенность, взятую из опыта: после восстановления давней копии MBR, где один из разделов был ext3, а позже стал FAT и использовался Windows, раздел перестал видиться виндой. Причина — ID раздела, который хранится в MBR. Если UNIX монтирует файловые системы согласно суперблоку, то винды ориентируются на ID разделов из MBR. Поэтому всегда нужно проверять ID разделов при помощи fdisk, особенно если на компьютере есть винды.

Генерация файлов

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

# dd if=/dev/zero of=image.crypted bs=1M count=1000

Создался файл размером почти в гигабайт. Теперь нужно сделать этот файл блочным устройством и, при этом, пропустить его через механизм шифрования ядра linux. Я выберу алгоритм blowfish. Подгрузка модулей:

# modprobe cryptoloop
# modprobe blowfish


Ассоциация образа с блочным устройством со включенным шифрованием:

# losetup -e blowfish /dev/loop0 image.crypted

Команда запросит ввести пароль, который и будет ключем к образу. Если ключ введен не правильно, система не смонтируется. Можно будет заново создать данные в образе, используя новый ключ, но к старым данным доступа не будет.
Создаем файловую систему и монтируем:

# mkfs.ext2 /dev/loop0
# mount /dev/loop0 /mnt/image


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

# umount /dev/loop0
# losetup -d /dev/loop0


Теперь шифрованный образ готов.

Основные идеи я расписал, однако множество задач, которые можно решить при помощи маленькой программки, имя которой состоит из двух букв, намного шире. Программа «dd» — яркий пример того, что IT'шники называют «UNIX way»: одна программа — часть механизма, выполняет исключительно свою задачу, и выполняет ее хорошо. В руках человека, который знает свое дело, которому свойственен не стандартный подход к решению задачи, такие маленькие программки помогут быстро и эффективно решать комплексные задачи, которые, на первый взгляд, должны решать крупные специализированные пакеты.

P.S. Скопировано как заметка для себя

Оригинал http://habrahabr.ru/blogs/nix/117050/

понедельник, 11 апреля 2011 г.

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

На новом месте работе в Event Viewer постоятнно сыпалась ошибка о невозможности репликации

Тип события: Ошибка
Источник события: NTDS Replication
Категория события: DS RPC-клиент
Код события: 2087
Дата: 08.04.2011
Время: 1:46:57
Пользователь: NT AUTHORITY\АНОНИМНЫЙ ВХОД
Компьютер: DC1
Описание:
Active Directory не может разрешить следующее DNS-имя исходного контроллера домена в IP-адрес. Эта ошибка препятствует репликации добавлений, удалений и изменений в Active Directory с одного или нескольких контроллеров домена в этом лесе. Пока эта ошибка не будет устранена, информация о группах безопасности, групповой политике, пользователях и компьютерах и их паролях может стать несогласованной на различных контроллерах домена, что может нарушить проверку подлинности при входе или доступ к сетевым ресурсам.

Исходный контроллер домена:
DC2
Ошибочное имя узла DNS:
108635e4-ae7e-4023-bccc-9f39ec355f97._msdcs.legco.dom

Примечание: по умолчанию, не более 10 ошибок DNS отображаются для любого 12-часового периода, даже если произошло более 10 ошибок. Чтобы записывать в журнал отдельные ошибки, установите следующее диагностическое значение реестра равным 1:

Раздел реестра:
HKLM\System\CurrentControlSet\Services\NTDS\Diagnostics\22 DS RPC Client

Действие пользователя:

1) Если исходный контроллер домена больше не функционирует, или его операционная система была переустановлена с использованием другого имени компьютера или другого GUID объекта NTDSDSA, удалите метаданные исходного контроллера домена с помощью NTDSUTIL.EXE, выполнив шаги, перечисленные в статье 216498 базы знаний MSKB.

2) Убедитесь, что исходный контроллер домена несет службу каталогов Active Directory и доступен в сети, введя команду "net view \\" или "ping ".

3) Проверьте, что исходный контроллер домена использует правильный DNS-сервер для служб DNS, и что запись узла и запись CNAME исходного контроллера домена правильно зарегистрированы, воспользовавшись расширенной для DNS версией программы DCDIAG.EXE, имеющейся на http://www.microsoft.com/dns

dcdiag /test:dns

4) Проверьте, что конечный контроллер домена использует правильный DNS-сервер для служб DNS, воспользовавшись расширенной для DNS версией программы DCDIAG.EXE на консоли конечного контроллера домена, выполнив следующую команду:

dcdiag /test:dns

5) При дальнейшем исследовании ошибок DNS ознакомьтесь со статьей KB 824449:
http://support.microsoft.com/?kbid=824449

Дополнительные данные
Значение ошибки:
11004 Запрошенное имя верно, но данные запрошенного типа не найдены.


Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp".


По ссылке вышел на статью MS - http://support.microsoft.com/kb/216498/ru
где суть

  1. Нажмите кнопку Пуск и последовательно выберите пункты Программы, Стандартные и Командная строка.
  2. В командной строке введите ntdsutil и нажмите клавишу ВВОД.
  3. Введите metadata cleanup и нажмите клавишу ВВОД. Для фактического выполнения удаления необходимо указать дополнительные параметры.
  4. Введите команду connections и нажмите клавишу ВВОД. Это меню предназначено для подключения к серверу, на котором происходят изменения. Если текущий пользователь не обладает правами администратора, перед подключением следует указать другую учетную запись. Для этого введите команду set creds имя_доменаимя_пользователяПароль и нажмите клавишу ВВОД. В случае использования пустого пароля введите null.
  5. Введите команду connect to server имя_сервера и нажмите клавишу ВВОД. Появится сообщение о подключении к серверу. При возникновении ошибки убедитесь, что доступен контроллер домена, который используется для подключения, а текущая учетная запись обладает правами администратора на сервере.

    Примечание. Если выполняется подключение к удаляемому серверу, то при попытке его удаления (действие 15) может появиться следующее сообщение об ошибке:
    Ошибка 2094. Невозможно удалить объект DSA0x2094
  6. Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
  7. Введите команду select operation target и нажмите клавишу ВВОД.
  8. Введите команду list domains и нажмите клавишу ВВОД. Появится список доменов леса с номерами.
  9. Введите команду select domain номер и нажмите клавишу ВВОД, где номер – номер домена, которому принадлежит удаляемый сервер. Выбранный домен используется для проверки того, является ли удаляемый сервер последним контроллером в этом домене.
  10. Введите команду list sites и нажмите клавишу ВВОД. Появится список узлов с номерами.
  11. Введите команду select site номер и нажмите клавишу ВВОД, где номер – номер узла, которому принадлежит удаляемый сервер. Появится подтверждение выбранного домена и узла.
  12. Введите команду list servers in site и нажмите клавишу ВВОД. Появится список серверов узла с номерами.
  13. Введите команду select server номер, где номер – номер удаляемого сервера. Появится подтверждение, которое содержит имя выбранного сервера, его DNS-имя и местонахождение учетной записи.
  14. Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
Либо через остнастку dssite.msc (Active Directory - сайты и службы)

разворачиваем дерево мертвого DC1 и с конца удаляем ветку


После в Eventviewer увидим сообщения о Проверке согласованности знаний, позже о Оперативной дефрагментации и Ведение журнала/Восстановлении.

понедельник, 4 апреля 2011 г.

Первичная защита вашего Win-сервера

  1. Настройте lockout policy. По умолчанию Windows-сервер не защищен от брут-форса — атаки через подбор пароля. Хакер может создать, например, тысячу RDP-соединений (ака «Удаленный Рабочий Стол»), пробуя разные логины/пароли. Или терзать ваш FTP-сервер бесконечными подключениями… Именно поэтому стоит настроить «lockout» — временную блокировку пользователя после нескольких неудачных попыток.

    Идем в «Start — Run — secpol.msc — Security Settings — Account Policies — Account Lockout Policy». И ставим, например, «5 попыток» и «5 минут» — это заблокирует пользователя на 5 минут после 5 неудачных авторизаций.

  2. Заблокируйте support-пользователя Если вы арендуете сервер, наверняка в нем настроен саппорт-пользователь для вашего хостера. Что-нибудь типа «Support User» или «support_user». Заблокируйте его. Иногда опасность приходит именно от хостера. И его наивных индийских юношей, которые раздают доступы направо и налево. Именно это со мной и случилось.

  3. Отключите FTP, если не нужен Если вашим клиентам или приложениям не нужен постоянный FTP — вырубайте. Включайте его только когда нужно залить файлы. И разрешите доступ только со своего IP. А еще лучше — переведите сервер в режим «blind-put». Так называют сервера, которые разрешают доступ только на запись. В настройках IIS FTP-сервера поставьте галку «write» и снимите галку «read».

  4. Установите менеджер паролей. Куча моих знакомых (реально — куча) пользуются схемой «один сложный пароль — для всего». Даже знакомые программеры, админы, дизайнеры… Неглупые, в общем, люди. Одумайтесь. Даже для сервисных учетных записей (типа пользователи БД и тд) используйте только сложные сгенеренные пароли. И держите их в пасс-менеджере. Лично я пользую «LastPass» — он бесплатный, классный и доступен в виде экстеншена для Chrome.

  5. Бекап! Бекап, бекап всего, всегда и везде. Создайте ежедневные джобы на SQL-сервере, которые будут сохранять базы и локально, и куда-нибудь в онлайн. Даже в бесплатном MS SQL Server Express можно создать некое подобие джобов (через Task-Scheduler).

    Лично у меня бекап работает так: два раза в день делается локальная копия всех баз. И два раза в неделю — удаленная копия. Для удаленных копий я пользуюсь Microsoft SkyDrive — это 25 гигабайт онлайн-хранилища. Бесплатно. Неплохо, да? Тулза для синхронизации папок прилагается (называется Windows Live Mesh). Если не любите MS по религиозным соображениям — пользуйтесь DropBox или чем-то еще, но ПОЛЬЗУЙТЕСЬ!

  6. Firewall Ну, тут все понятно. Главное правило — «запретить все». В Windows 2008 R2 встроен довольно неплохой брандмауер, можно начать с него. Оставьте открытыми порты 80 и 443 (и, возможно, 3389 для RDP) — и все.

  7. Не используйте стандартные порты. Если кроме веб-сервера вам все-таки нужно что-то выставить «наружу» — например, терминальный сервер (для того же RDP) или SQL-сервер — используйте нестандартные порты. Какие-нибудь идиотские значения, вроде 15089.

    Порт терминального сервиса (тот самый «Удаленный рабочий стол») меняется в реестре вот тут: «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber» (не забудьте открыть этот порт на файрволле и перезапустить RDP-сервис).

    Порты SQL Server'а меняются в утилите «SQL Server Configuration Manager» — «Network Configuraion» — «Protocols for [имя сервера]» — «TCP-IP» — right-click — «Properties».

  8. Нет папке "/admin/" и другим «стандартным» именам.
    • CMS вашего сайта не должна лежать в папке «site.com/admin/».
    • Учетная запись администратора не должна называться «administrator».
    • Страницы логина не должны называться «login.aspx/login.php/signin.py»
    • И тд. и тд. — продолжите список сами.